加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

S3C2410 MDK实验---ARM汇编语言达成跑马灯

发布时间:2021-11-22 10:38:17 所属栏目:PHP教程 来源:互联网
导读:具体思路: 由于开发板是将GPF4-7与灯相连,所以通过设置GPFCON控制寄存器将将LED灯相连的引脚4,5,6,7设置为输出功能,将他们的上拉电阻设置为禁用(设置GPFUP为0),通过修改GPFDAT寄存器的数值来实现灯的亮和灭,主要是将具体引脚对应的GPFUP设置为0,

具体思路:
 
由于开发板是将GPF4-7与灯相连,所以通过设置GPFCON控制寄存器将将LED灯相连的引脚4,5,6,7设置为输出功能,将他们的上拉电阻设置为禁用(设置GPFUP为0),通过修改GPFDAT寄存器的数值来实现灯的亮和灭,主要是将具体引脚对应的GPFUP设置为0,使之为低电平,从而使灯可以亮。再设置几个延迟将灯亮的时间延长。最后用C语言的mian函数调用LEDTEST函数即可。
 
主要ARM代码部分:
 
GPFCON  EQU    0x56000050   
GPFDAT  EQU    0x56000054
GPFUP    EQU    0x56000058
    AREA  LEDTESTARM,CODE,READONLY
    EXPORT LEDTEST
    IMPORT main
    ENTRY
LEDTEST
    ;设置每个引脚的功能,设置GPF4-7为output
    LDR R0,=GPFCON
    LDR R1,=0x5500
    STR R1,[R0]
    ;禁止他们的上拉电阻
    LDR R0,=GPFUP
    LDR R1,=0xff00
    STR R1,[R0]
    LDR R2,=GPFDAT
    ;下面进行跑马灯的循环
 
LOOP2
    LDR R1,=0xdf   
    STR R1,[R2]
    BL DELAY2         
LOOP3
    LDR R1,=0x7f   
    STR R1,[R2]
    BL DELAY3   
LOOP1
    LDR R1,=0xef  ;低电平设置
    STR R1,[R2]
    BL DELAY1      ;延迟
LOOP4
    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 LOOP4
    MOV PC,LR                    ;返回
 
 
DELAY2
    LDR R3,=0x8ffff             
           
DELAY6
    SUB R3,R3,#1                         
    CMP R3,#0x0               
    BNE DELAY6                 
    B LOOP3
    MOV PC,LR                   
 
DELAY3
    LDR R3,=0x8ffff               
DELAY7
    SUB R3,R3,#1                           
    CMP R3,#0x0               
    BNE DELAY7               
    B LOOP1
    MOV PC,LR                     
 
DELAY4
    LDR R3,=0x8ffff               
DELAY8
    SUB R3,R3,#1                           
    CMP R3,#0x0               
    BNE DELAY8               
    B LOOP2
    MOV PC,LR               
     
    END         
 
 
 

(编辑:云计算网_泰州站长网)

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

    热点阅读