在8051的P1.0引脚上产生灯泡循环亮灭,使用定时器或计数器使用中断,系统震荡平率12MHZ。需要定时5ms 的程

如题所述

由于振荡频率为12MHz,
8051是12分频的单片机,一个机器周期就是1uS。
定时器/计数器数值每加1以就是一个机器周期(这里是1uS)。
定时/计数器T0或T1产生周期为10ms的方波,则定时器/计数器T0定时时间为5mS。
由于5mS = 5000uS 若T0或T1选择工作方式1(方式1的最大计数值为65536)
则定时器初值为 T = 65536 - 5000 = 60536 = EC78H
这个方波由P1.0口输出,就是P1.0口每隔5mS翻转一次实现灯泡两灭。具体程序如下:

中断方式:(采用T0)
ORG 0000H //主程序入口地址
AJMP MAIN
ORG 000BH //中断处理程序入口地址
CPL P1.0 //取反,输出方波
MOV TH0 , #ECH //给定时器T0置初值,使之重新定时
MOV TL0 , #78H
RETI //中断返回
ORG 0300H
MAIN : MOV TMOD , #01H //设置T0为定时方式,工作方式1
MOV TH0 , #ECH //给定时器T0置初值
MOV TL0 , #78H
SETB EA //开中断
SETB ET0 //T0中断允许
SETB TR0 //启动定时器T0
SJMP $

对于你的要求程序还是写出来吧
至于人眼分辨不出的问题,你可以根据需要自行修改定时器初值即可!

不过我还是同意前面兄弟所说:
据我说知人眼的视觉暂留时间是0.05秒
每隔5mS亮/灭一次也就是是0.005S。
0.005S人眼是分辨不出灯到闪烁的!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-01-09
P1.0引脚上产生灯泡循环亮灭,,,,,,,,,要人眼看得清,,,,,,,每秒不要超过10次,,,,那么它的周期就是100毫秒,,,

你定时5毫秒,,,,,,你会看不清的,,,因为每秒已达100次了.
第2个回答  2012-01-09
不好意思,这个我不会,你可以问下哪些搞硬件的吧!本回答被提问者采纳

相关了解……

你可能感兴趣的内容

大家正在搜

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网