ET是内部定时器/计数器中断允许位,TR是定时器/计数器启动位,两个的作用是不一样的,一个控制是简单,但就会少一些功能,2个寄存器可以组合出4种情况,1个寄存器最多就2种,就像你不想计数器中断,那ET0,要启动计数器则TR1,相反还有ET1,TR1这种情况等,如果一个寄存器来做明显不合适
D1:JNBP3.3,B1
JNBP3.4,B2
AJMPD1
B1:SETBP0.0
ACALL5S
CLRP0.0
ACALL5S
JBP3.3,D1
AJMPB1
B2:SETBP0.0
ACALL1S
CLRP0.0
ACALL1S
JBP3.4,D1
AJMPB2
1S:1秒延时程序
5S:5秒延时程序
RET
你如果懂得用定时中断的话就很好办,可以设置个基准时间比如10ms,然后拿个寄存器来记LED的翻转时间5s亮一下的话就要记250的数,1s亮两下的话就要记25,然后到达250(25)的时候对P00口取反,并清除寄存器里的数这样一直循环按键的防抖动方面也可以一10ms的时间为基准拿个寄存器来计数,如果按键值变化的话就把寄存器里的数清掉,知道符合防抖动时间,确定按键功能如果你不懂得用定时中断的话,那么我建议你加个10ms的延时程序来当基准时间,在主程序里调用,其他的跟上面是一样的(10ms会有点长,基本上都是在1ms以下,不过这里如果是5s亮一下的话那么正好可以只用一个寄存器就可以完成了)
至于第一个回答的我建议你不要采纳,因为如果像他所描述的那样的话,你的按键会处理不过来的他用的延时是用调用的,也就是说如果LED在工作的话那么IC将在2s或则10s内不会对按键进行响应
我很少用汇编写程序.
所以我说下大概的意思吧.
用两个定时器做,一个定时5S.一个定时1S.
P3.3,P3.4接外部中断上,
当某一中断来的时候.关掉其中一个定时器.(TR00或TR10)
使相应的定时器工作.也就是TR01或TR11
明白否?
还没有评论,快来抢沙发吧!
最新发现
相关资讯
单片机tr控制,51单片机中定时中断为何要有et寄存器和tr寄存器控制,如果用一个控...
你如果懂得用定时中断的话就很好办,可以设置个基准时间比如10ms,然后拿个寄存器来记LED的翻转时间5s亮一下的话就要记250的数,1s亮两下的话就要记25,然后到达250(25)的时候对P00口取反,并清除寄存器里的数这样一直循环
2024-03-21 22:03:26
快猫咪下载,跪求,几个大型TXT电子书的网站,可以免费下载的.无病毒,安全的...
你这个怀况有几种可能,你如果是用ADSL上网的话,你先看下你的猫里面的下行速率是多少,如果是4096K的话,那你的端口速率就是正常的4M的,如果低于这个数值,你就要致电你的运营商进行端口调整了如果速率是正常的,而你
2024-03-21 22:03:19
广电可以分装路由器吗吗,光纤宽带可以分装路由器吗
另外,许多机器共享上网,使用双网卡,这也是引起冲突同样值得关注,这时,应当拔起连接局域网或其它电脑的网卡,只用连接ADSL的网卡上网测试,如果故障恢复正常,再检查两块网卡有没有冲突三,ADSLMODEM或者网卡设置问
2024-03-21 22:01:21
加油稿怎么写,运动会加油稿每个40字左右原创.20个
7,深深的呼吸,等待你的是艰难的1500米相信胜利会属于你们但在这征途上,需要你勇敢的心去面对我们在为你加油,你是否听到了我们发自心中的呐喊
2024-03-21 22:01:15
太阳太阴日起时推算法,如何计算日出,日落时刻以及一天任意时刻太阳方位
3.现在知道了太阳的赤纬,观测点的纬度,就可以根据(1)中的公式来推算升起落下的时角了得出时角之后,再把时角和地方时进行一个换算,就可以得到升起落下的时间
2024-03-21 21:59:15
新闻热榜
热门游戏
精彩专题