加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

mini2440(4) 我的第一个ARM汇编程序---LED灯裸机硬件控制程序

发布时间:2020-12-15 07:11:06 所属栏目:百科 来源:网络整理
导读:原理图及相关寄存器,请参考:mini2440(2) LED灯裸机硬件控制程序 这个裸机控制LED灯的程序通过JLink和AXD在mini2440开发板上运行,产生的效果是mini2440上的4个LED不停的循环亮、灭,程序的汇编语言代码源码: AWTCON EQU 0x53000000 VWTCON EQU (~(15)) AI

原理图及相关寄存器,请参考:mini2440(2) LED灯裸机硬件控制程序

这个裸机控制LED灯的程序通过JLink和AXD在mini2440开发板上运行,产生的效果是mini2440上的4个LED不停的循环亮、灭,程序的汇编语言代码源码:


AWTCON EQU 0x53000000
VWTCON EQU (~(1<<5))

AINTMSK EQU 0x4A000008
VINTMSK EQU 0xFFFFFFFF

AINTSUBMSK EQU 0x4A00001C
VINTSUBMSK EQU 0x7FF

AREA Init,CODE,READONLY
ENTRY

LDR R0,=AWTCON
LDR R1,=VWTCON
STR R1,[R0]

LDR R0,=AINTMSK
LDR R1,=VINTMSK
STR R1,=AINTSUBMSK
LDR R1,=VINTSUBMSK
STR R1,[R0]

LED_FLASH
BL LED_ON

BL LED_DELAY

BL LED_OFF

LDR R0,=LED_FLASH
MOV PC,R0

LOOP B LOOP

AGPBCON EQU 0x56000010
VGPBCON EQU (1<<10|1<<12|1<<14|1<<16)
AGPBDAT EQU 0x56000014
VLEDON EQU (~(1<<5|1<<6|1<<7|1<<8))
VLEDOFF EQU ((1<<5|1<<6|1<<7|1<<8))

LED_ON
LDR R0,=AGPBCON
LDR R1,=VGPBCON
STR R1,=AGPBDAT
LDR R1,=VLEDON
STR R1,[R0]

MOV PC,R14

LED_OFF
LDR R0,=AGPBDAT
LDR R1,=VLEDOFF
STR R1,R14

VLEDDELAY EQU 0x0000FFFF
LED_DELAY
LDR R0,=VLEDDELAY
MOV R1,#0x0
LED_SUB
SUB R0,R0,#0x1
CMP R1,R0

MOVEQ PC,R14

LDR R2,=LED_SUB
MOV PC,R2

END


目前LED_DELAY代码段使用JLink调试似乎有问题,不知道是因为使用JLink的问题呢还是程序代码本身的问题?后面将程序烧写到Flash中再行测试,期待结果!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读