标题:
用于单片机跑马灯的汇编语言程序
[打印本页]
作者:
77777790
时间:
2017-9-29 15:55
标题:
用于单片机跑马灯的汇编语言程序
一个有多功能的跑马灯
ORG 0000H
LJMP MAIN1
ORG 0040H
MAIN1: MOV A,#0001H
MOV 10H,#0001H
MOV 40H,#0003H
MOV 50H,#0007H
MOV 60H,#000FH
SETB EX0
SETB ET0
SETB EA
MOV R0,#30H
MOV R1,#70H
MOV 30H,#00H
MOV R5,#00H
MOV R6,#00H
MAIN2:
MOV @R0,P0
ANL 30H,#0003H
CJNE R6,#0001H,LOOP2
LOOP1:MOV A,10H
CJNE @R0,#0003H,CC11
MOV P2,A ;将控制字送端口
RL A ;控制字循环左移
MOV 10H,A
LCALL DELAY ;延时
LJMP MAIN2
LOOP2: MOV A,10H
CJNE @R0,#0003H,CC21
MOV P2,A
RR A
MOV 10H,A
LCALL DELAY
LJMP MAIN2
CC11:
MOV A,40H
CJNE @R0,#0002H,CC12
MOV P2,A
RL A
MOV 40H,A
LCALL DELAY ;延时
LJMP MAIN2
CC12:
MOV A,50H
CJNE @R0,#0001H,CC13
MOV P2,A
RL A
MOV 50H,A
LCALL DELAY ;延时
LJMP MAIN2
CC13:
MOV A,60H
MOV P2,A
RL A
MOV 60H,A
LCALL DELAY ;延时
LJMP MAIN2
CC21:
MOV A,40H
CJNE @R0,#0002H,CC22
MOV P2,A
RR A
MOV 40H,A
LCALL DELAY
LJMP MAIN2
CC22: MOV A,50H
CJNE @R0,#0001H,CC23
MOV P2,A
RR A
MOV 50H,A
LCALL DELAY
LJMP MAIN2
CC23: MOV A,60H
MOV P2,A
RR A
MOV 60H,A
LCALL DELAY ;延时
LJMP MAIN2
DELAY: ;延时大概1秒
MOV @R1,P0
ANL 70H,#000CH
CJNE @R1,#000CH,DD1
MOV R2,#10
DLY1:
MOV R3,#200
DLY2:
MOV R4,#250
DJNZ R4,$
DJNZ R3,DLY2
DJNZ R2,DLY1
RET
DD1:CJNE @R1,#0008H,DD2
MOV R2,#5
DLY3:
MOV R3,#100
DLY4:
MOV R4,#250
DJNZ R4,$
DJNZ R3,DLY4
DJNZ R2,DLY3
RET
DD2: CJNE @R1,#0004H,DD3
MOV R2,#5
DLY5:
MOV R3,#100
DLY6:
MOV R4,#100
DJNZ R4,$
DJNZ R3,DLY6
DJNZ R2,DLY5
RET
DD3:
MOV R2,#20
DLY7:
MOV R3,#250
DLY8:
MOV R4,#250
DJNZ R4,$
DJNZ R3,DLY8
DJNZ R2,DLY7
RET
END
复制代码
paomadeng.zip
2017-9-29 15:54 上传
点击文件名下载附件
下载积分: 黑币 -5
718 Bytes, 下载次数: 5, 下载积分: 黑币 -5
asm
作者:
sadlucky1996
时间:
2017-9-29 21:43
刚学了单片机。看到汇编不错,谢谢分享
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1