历史上的今天
今天是:2025年01月12日(星期日)
2018年01月12日 | TIMER0在MODE0下延时时间程序
2018-01-12 来源:eefocus
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
下一篇:89c51六首歌曲的音乐门铃程序
史海拾趣
|
十天学会 51视频教程 免费下载 地址:http://www.verycd.com/groups/mcu/392145.topic#post2203424… 查看全部问答> |
|
在AT4DB021B的Datasheet中说的Inactive Clock Polarity Low or Inactive Clock Polarity High 是个什么模式,和SPI Mode 0 or SPI Mode 3有什么区别, 在这两种模式下的opcode都不一样,比如读register的前者模式下是0x57,在后者模式下是0xD7,我 ...… 查看全部问答> |
|
现在能够向PC串口发送字符,但不知道如何传送浮点数据,已经试过直接发送是不行的。 串口的发送和接收好像都是按字符进行,直接发送浮点数会被强制类型转换,这个好像和驱动有关,硬件寄存器应该也不支持浮点数据,我的这个理解不知是否正确。 想 ...… 查看全部问答> |
|
一、恒压充电 恒压充电是指每只单格UPS电源蓄电池均以一恒定电压(一般取单格电池数乘以2.5v)进行充电。特点是:初始充电电流相当大,UPS蓄电池电动势和电解液体相对密度上升较快,随着充电的延续,充电电流逐渐减小,在充电终期只有很小的电流通 ...… 查看全部问答> |
|
“中央领导和相关部门对低成本健康已有充分认识,利用高科技手段,大幅提高基本医疗卫生服务,将成为有中国特色的“低成本健康”的必经之路。在此过程中,云计算、ICT、家用医疗电子等技术将成为低成本健康工程的最大推动力。”4月26日,由创意时代 ...… 查看全部问答> |
|
android2.3 可以和android4.0 公用一个JDK 吗? 其实就是想用以前android2.3 上装的JDK 版本,不知道android 4.0 是否直接可以用。 呵呵。先看看是否可以先,弄过的可以来讨论一下。 … 查看全部问答> |




