a4_4_1a.asm
来自「单片机汇编例程学习,大量的汇编例程」· 汇编 代码 · 共 50 行
ASM
50 行
;///////////////////////////////////////////
;本程序源代码由单片机培训网提供.
;单片机培训网,让更多人学习单片机更容易.
;第一网址----www.mcuedu.com
;第二网址----http://51_train.nease.net
;创办人------刘永忠
;热线电话----(0755)27529998
;email-------aa815@163.com
;延时时间使用TIMER0在MODE1下工作.
;程序难易等级--------稍难
;///////////////////////////////////////////
org 0000h ;起始地址
jmp main
org 0030h
main:
mov tmod,#01h ;设定TIMER0工作在MODE1
start:
clr c
mov a,#0ffh ;ACC=FFH,左移初值
mov r2,#08 ;R2=08,设左移八次
loop:
rlc a ;左移一位
mov p2,a ;输出至P2
mov r3,#20 ;0.2秒
call delay ;10毫秒
djnz r2,loop ;左移八次
mov r2,#07 ;R2=07,设右移七次
loop1:
rrc a ;右移一位
mov p2,a ;输出至P2
mov r3,#20 ;0.2秒
call delay ;10毫秒
djnz r2,loop1 ;右移七次
jmp start
delay:
setb tr0 ;启动TIMER0开始计时
again:
mov tl0,#low(65536-10000) ;设定TL0的值
mov th0,#high(65536-10000) ;设定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 + =
减小字号Ctrl + -
显示快捷键?