当前位置:编程学习 > 汇编语言 >>

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的

上一个:从键盘上输入一个十进制无符号整数,将它用八进制格式输出(汇编语言)
下一个:汇编语言课程设计

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,