
求一种用汇编语言设计的简单的跑马灯程序
展开全部
ORG 0000H
LJMP MAIN
ORG 000BH
T0MS EQU NOT 50000 ; 50 mS 晶振 12.000 MHz
PJSBZ EQU 20H
PJSBZY EQU 21H
PST0: MOV TL0, #LOW T0MS ; T0 中断
MOV TH0, #HIGH T0MS
SETB PJSBZ ; 50 mS 标志
DJNZ R6, PST02
MOV R6, #40 ; 50 mS * 40 = 2 S
SETB PJSBZY ; 2 S 标志
PST02: RETI
MAIN: MOV TMOD, #01H
MOV IE, #82H ; 开 T0 中断
MOV SP, #30H
MOV TL0, #LOW T0MS ; TO 50MS 中断 计时 0
MOV TH0, #HIGH T0MS
SETB TR0
MOV R6, #40 ; 计时初值
MAIN1: MOV A, #7FH
MAIN2: JNB PJSBZ, $ ; 50 mS
CLR PJSBZ
RR A ; 顺流
MOV P1, A
JNB PJSBZY, MAIN2 ; 2 S
CLR PJSBZY
MAIN3: JNB PJSBZ, $ ; 50 mS
CLR PJSBZ
RL A ; 逆流
MOV P1, A
JNB PJSBZY, MAIN3 ; 2 S
CLR PJSBZY
AJMP MAIN1
END
LJMP MAIN
ORG 000BH
T0MS EQU NOT 50000 ; 50 mS 晶振 12.000 MHz
PJSBZ EQU 20H
PJSBZY EQU 21H
PST0: MOV TL0, #LOW T0MS ; T0 中断
MOV TH0, #HIGH T0MS
SETB PJSBZ ; 50 mS 标志
DJNZ R6, PST02
MOV R6, #40 ; 50 mS * 40 = 2 S
SETB PJSBZY ; 2 S 标志
PST02: RETI
MAIN: MOV TMOD, #01H
MOV IE, #82H ; 开 T0 中断
MOV SP, #30H
MOV TL0, #LOW T0MS ; TO 50MS 中断 计时 0
MOV TH0, #HIGH T0MS
SETB TR0
MOV R6, #40 ; 计时初值
MAIN1: MOV A, #7FH
MAIN2: JNB PJSBZ, $ ; 50 mS
CLR PJSBZ
RR A ; 顺流
MOV P1, A
JNB PJSBZY, MAIN2 ; 2 S
CLR PJSBZY
MAIN3: JNB PJSBZ, $ ; 50 mS
CLR PJSBZ
RL A ; 逆流
MOV P1, A
JNB PJSBZY, MAIN3 ; 2 S
CLR PJSBZY
AJMP MAIN1
END
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询