89c51 实现定时器 汇编语言 定时20秒
追问:你能否解释一下为什么那样延时20MS吗? 我的单片机是22.1184MHZ的
答案:;10秒定时器
;// 功能:按下P1.0,在P1.1口输出10秒高电平脉冲//
;// p1.0,P1.1两个端口接10K上拉,p1.0接按钮到地 //
;// 51系列单 片 机适用,12MHZ, //
org 0h
main:
jnb p1.0,loop ;检测按钮有无按下,有就转LOOP计时10秒
clr p1.1 ;关输出
ljmp main
;===================10秒计时
loop:
setb p1.1
mov r7,#10
loop1:
acall t1s
djnz r7,loop1
ljmp main
;=================1秒延时
t1s:
mov r6,#50
loop1:
acall t20ms
djnz r6,loop1
ret
;==================20MS延时
t20ms:
MOV R0,#38
MOV R1,#232
LOP1: DJNZ R1,$
DJNZ R0,LOP1
RET
;========
end
其他:你能否解释一下为什么那样延时20MS吗? 我的单片机是22.1184MHZ的
上一个:从键盘上输入一个十进制无符号整数,将它用八进制格式输出(汇编语言)
下一个:汇编语言课程设计