📄 a4_4_1.asm
字号:
;///////////////////////////////////////////
;本程序源代码由单片机培训网提供.
;单片机培训网,让更多人学习单片机更容易.
;第一网址----www.mcuedu.com
;第二网址----http://51_train.nease.net
;创办人------刘永忠
;热线电话----(0755)27529998
;email-------aa815@163.com
;延时时间使用TIMER0在MODE0下工作.
;程序难易等级--------稍难
;///////////////////////////////////////////
org 0000h ;起始地址
jmp main
org 0030h
main:
mov tmod,#00h ;设定TIMER0工作在MODE0
start:
clr c
mov a,#0ffh ;ACC=FFH,左移初值
mov r2,#08 ;R2=08,设左移八次
loop:
rlc a ;左移一位
mov p2,a ;输出至P2
mov r3,#100 ;0.2秒
call delay ;2000微秒
djnz r2,loop ;左移八次
mov r2,#07 ;R2=07,设右移七次
loop1:
rrc a ;右移一位
mov p2,a ;输出至P2
mov r3,#100 ;0.2秒
call delay ;2000微秒
djnz r2,loop1 ;右移七次
jmp start
delay:
setb tr0 ;启动TIMER0开始计时
again:
mov tl0,#(8192-2000) mod 32 ;设定TL0的值
mov th0,#(8192-2000)/32 ;设定TH0的值
loop2:
jbc tf0,loop3 ;TF0是否为1,是则跳至LOOP3,并清除TF0
jmp loop2 ;不是则跳到LOOP2
loop3:
djnz r3,again ;R3是否为0?不是则跳到AGAIN
clr tr0 ;是则停止TIMER0计数
ret
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -