×
嵌入式开发 > 详情

单片机的跑马灯简单汇编程序

发布时间:2020-06-29 发布时间:
|

使用取反(CPL)实现跑马灯的闪烁,随后给P0口赋值实现移动。

注;使用的是12MHZ频率,

    ORG 0000H LJMP LOOP1 ORG 0030H LOOP1:
MOV A,#11111111B clr p1.4  ;打开使能MOV R1,#5 ;闪烁5次 
LOOP: CPL A ;取反 MOV P0 , A ;输出 
ACALL DEL CPL A MOV P0 , A ACALL DEL DJNZ R1 , LOOP ;减一非零判断 
MOV P0,#11100111B ACALL DEL MOV P0,#11011011B ACALL DEL 
MOV P0,#10111101B ACALL DEL MOV P0,#01111110B ACALL DEL LJMP LOOP1 LOOP3: 
ACALL DEL SJMP LOOP1 DEL: MOV R5,#6H ;延时子程序部分 F3: MOV R6,#0FFH ;BCD码为255 F2: MOV R7,#0FFH ;总延时为0.7803s F1: DJNZ R7,F1 DJNZ R6,F2 DJNZ R5,F3 RET END 

带C循环做移动,使用一条跳转转移指令就可实现一直循环下去,延时为1.3s!

    ORG 0000H SJMP BEGAIN ORG 0030H BEGAIN: 
MOV P0, #0FFH ;初始状态 clr  p1.4 ;打开led使能
mov  P2,  #00110101B ; 锁存2个74hc573,防止数码管点阵干扰.
MAIN : CLR A MOV A ,#11111110B ; 0FEH LOOP: RLC A MOV P0 , 
A ACALL DEL LJMP LOOP DEL: MOV R5,#10H F3: 
MOV R6,#0FFH F2: MOV R7,#0FFH F1: 
DJNZ R7,F1 DJNZ R6,F2 DJNZ R5,F3 RET END 




『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
MSP430单片机硬件知识-复位