用单片机计数器定时计数器值p1.0端口上产生一个10khz的方波。

单片机计数器定时/计数器T1定时100ms茬P1.0引脚上产生周期为100ms的方波信号,晶振频率为12MHZ,请编写程序 [问题点数:100分]

单片机计数器定时/计数器T1定时100ms,在P1.0引脚上产生周期为100ms的方波信号晶振频率为12MHZ,请编写程序。  大家帮个忙谢谢、


这里的50000是怎么计算出来了呢?


65536减去要定的时间就是定时器应该设定的时间

假定是标准的80C5112MHz嘚时钟,一个周期是1uS50毫秒要50000个周期。至于右移8位是因为要把高8位送给寄存器

上面程序是用T0,如果用T1可以像这样

用带有比较匹配功能嘚单片机计数器吧,如:c,配置好就行了,连中断都不用进

用的是51那不是很简单,看书上都有写啊

至于为什么要设那个计数初值,有两种辦法:一个是上网下一个单片机计数器小精灵直接给程序,想都不用想另一个是通过晶振自己算

我觉得这样写中断函数更加容易理解!


51單片机计数器是12分频的,12M的晶振则说明一个机器周期是12/12即1us。所以定时从到65536总共花了50000个机器周期即50000us = 50ms。这样应该明白了吧!

100ms定时器能产生200ms方波这个不假产生100ms方波表示怀疑。

你这个题目无解的先不说100ms定时,产生100ms方波不现实

还有,51单片机计数器貌似一般的最小系统12Mhz的晶振朂多出65.536ms的延时


定时是定在100ms这个倒底能不能做到。

那就算一下定时100ms需要多少个时钟周期。

如果不多次累积咱的小51是做不到的。

楼主若偠周期为100ms的方波信号定时50ms取反即可:

若要定时100ms,楼上说的是真理。

100ms定时取反是产生200ms周期方波

可以用多个短的定时周期累加!你可以把100ms分為两个50ms来定时!

匿名用户不能发表回复!

我要回帖

更多关于 单片机计数器 的文章

 

随机推荐