📄 1.asm
字号:
ORG 0000H
JMP BEGIN
ORG 0030H
BEGIN: ANL TMOD, #0F0H
ORL TMOD, #00H ;由软件控制的MODE0模式下的定时器0
CLR C ;C=0
MOV 30H, #8 ;设置右移次数
MOV A, #0FFH ;A=FFH,设定A中的初始值
NEXT1: RRC A ;循环右移一位
MOV P1, A ;输出至P1
MOV 20H, #250 ;延时程序执行250次
CALL DELAY ;调用延时程序
DJNZ 30H, NEXT1
MOV 31H, #7 ;设置右移次数
NEXT2: MOV P1, A ;输出至P1
RLC A ;循环左移一位
MOV 20H, #250 ;延时程序执行250次
CALL DELAY ;调用延时程序
DJNZ 31H, NEXT2 ;左移7次
JMP BEGIN
DELAY: SETB TR0 ;启动计时器0,开始计时
MORE: MOV TH0 , #0A0H ; 初始计时值高8位设定
MOV TL0 , #00 ;初始计时值低5位设定
NEXT3: JBC TF0 , NEXT4 ;TF0是否为1,是则跳转到NEXT3,并将TF0清0;否则执行下一条指令
JMP NEXT3 ;等待即使时间结束
NEXT4: DJNZ 20H , MORE ;延时时间是否结束,
CLR TR0 ;停止计时器0计时
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -