您的位置 首页 汽车

arm汇编完成的跑马灯试验

平台:fs2410用arm汇编编写的跑马灯单文件可以很好运行,不需要包其他的头文件和一些初始化函数。GPFCONEQU0x56000050GPFDATEQU0x5…

渠道:fs2410

arm汇编编写的跑马灯单文件能够很好运转,不需要包其他的头文件和一些初始化函数。

GPFCON EQU 0x56000050
GPFDAT EQU 0x56000054
GPFUP EQU 0x56000058
EXPORT LEDTEST
AREA LEDTESTASM,CODE,READONLY ;界说了一个代码段,段名为LEDTESTASM,特点只读

LEDTEST
;设置GPF4-GPF7为output
ldr r0,=GPFCON
ldr r1,=0x5500
str r1,[r0]

;制止GPF4-GPF7端口的上拉电阻
ldr r0,=GPFUP
ldr r1,=0xff00
str r1,[r0]

;将数据端口F的数据寄存器的地址赋值给寄存器r2
ldr r2,=GPFDAT

;跑马灯循环
ledloop1
ldr r1,=0xef
str r1,[r2] ;使GPF4输出低电平,灯亮
bl delay1;调用推迟
ledloop2
ldr r1,=0xdf
str r1,[r2]
bl delay2
ledloop3
ldr r1,=0x7f
str r1,[r2]
bl delay3
ledloop4
ldr r1,=0xbf
str r1,[r2]
bl delay4

;推迟程序
delay1
ldr r3,=0x8ffff ;设置推迟的时刻
delay5
sub r3,r3,#1 ;r3=r3-1
cmp r3,#0x0 ;将r3的值与0相比较
bne delay5;比较的成果不为0(r3不为0),持续调用delay1,不然履行下一条句子
b ledloop2
mov pc,lr ;回来

;推迟程序
delay2
ldr r3,=0x8ffff
delay6
sub r3,r3,#1
cmp r3,#0x0
bne delay6
b ledloop3
mov pc,lr

delay3
ldr r3,=0x8ffff
delay7
sub r3,r3,#1
cmp r3,#0x0
bne delay7
b ledloop4
mov pc,lr

delay4
ldr r3,=0x8ffff
delay8
sub r3,r3,#1
cmp r3,#0x0
bne delay8
b ledloop1
mov pc,lr

END ;程序结束符

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/275012.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部