LED_ASM.S
资源名称:arm_exam.rar [点击查看]
上传用户:mhstny
上传日期:2022-08-05
资源大小:793k
文件大小:1k
源码类别:
微处理器开发
开发平台:
Unix_Linux
- GPFCON EQU 0x56000050
- GPFDAT EQU 0x56000054
- GPFUP EQU 0x56000058
- EXPORT LEDTEST
- AREA testasm,CODE,READONLY
- CODE32
- LEDTEST
- ;设置GPF4-GPF7为output
- ldr r0,=GPFCON
- ldr r1,[r0]
- bic r1,r1,#0xff00
- orr r1,r1,#0x5500
- str r1,[r0]
- ;禁止GPF4-GPF7端口的上拉电阻
- ldr r0,=GPFUP
- ldr r1,[r0]
- orr r1,r1,#0xf0
- str r1,[r0]
- ;将数据端口F的数据寄存器的地址附给寄存器r2
- ldr r2,=GPFDAT
- ledon
- ldr r3,[r2]
- bic r3,r3,#0x80
- str r3,[r2] ;GPF7 output 0,灯亮
- ldr r0,=0x1fffff
- adr r4,delay1+1
- bx r4 ;调用延迟子程序
- ledoff
- ldr r3,[r2]
- orr r3,r3,#0x80
- str r3,[r2] ;GPF7 output 1
- ldr r0,=0x1fffff
- adr r4,delay2+1
- bx r4 ;调用延迟子程序
- AREA testasm,CODE,READONLY
- CODE16
- delay1
- sub r0,r0,#1 ;r0=r0-1
- cmp r0,#0x0 ;将r0的值与0相比较
- bne delay1 ;比较的结果不为0(r0不为0),继续调用delay1,否则执行下一条语句
- ldr r1,=ledoff ;返回
- bx r1
- delay2
- sub r0,r0,#1 ;r0=r0-1
- cmp r0,#0x0 ;将r0的值与0相比较
- bne delay2 ;比较的结果不为0(r0不为0),继续调用delay2,否则执行下一条语句
- ldr r1,=ledon ;返回
- bx r1
- END ;程序结束符