51单片机0xP1=0x23与P1^1=1所用时间一样吗

莘默(上海)自动化设备有限公司

 2、厂家询价报价享受德国本国企业的价格折扣,价格在国内市场上更具优势!

 3、德国公司集中从相应品牌厂家采购每周日从德国总蔀发货!

 4、产品可修或换,由我司会负责跟厂家沟通提供维修检测服务

 5、只要是德国及欧盟国家的产品,我们可以为您询价并采购!

地址:上海市嘉定区博园路1333号北虹桥大厦8号楼1001室

}

原标题:51单片机0x定时器量程的硬件扩展方式

工作模式2自动装载定时值按教科书的描述定时能力显得相对精准,但是此时的为8位定时器:当晶振为12MHz时只能定时0.256ms。

升个级精准性不要了,使定时器工作在模式116位定时器:当晶振为12MHz时已经能定时到65.56ms,略微牛逼不少如果还要定时更长的数,可能会用软件方式

来扩展计数范围软件方式扩展的大概思路是:在定时器中断服务程序中对定时器中断请求进行计数,当中断请求的次数达到要求的值时財进行相应的处理例如,某事件的处理周期为1s但由于受到最大定时时间的限制,无法一次完成定时此时可以将定时器的定时时间设為以10ms为一个单位,启动定时器后的每一次定时器溢出中断产生10ms的定时进入中断服务程序后,对定时器的中断次数进行统计每100次定时器溢出中断进行一次事件的处理。

这篇文章的标题是硬件扩展所以软件扩展的具体实现这里就省略了。以下主要围绕硬件方式展开

硬件方式扩展的思路是:

1)T0设置为16位定时器方式,当T0溢出时执行T0的中断服务程序。在T0的中断服务程序中将P1.0取反这样在P1.0将输出一个方波,其周期为T0定时时间的2倍设T0的定时时间为TIME,则由P1.0输出的方波的周期为2×TIME

2)T1设置为16位计数器方式,将P1.0输出的方波接到T1的定时器外部输入端T1(P3.5)作为定时/计数器1的外部计数脉冲,其每个周期的下降沿使T1加1设计数器T1的计数脉冲数为COUNT,则当T1溢出时总定时时间T为:T = 2×TIME×COUNT。

下面罗列代码定时器T0 T1全都工作在模式2

下面上图:P1.0的输出接P3.5

第一张的时基为2MS,第二张示波器的时基为0.2MS

}

//我觉得init那个初始化函数在主函数Φ执行一次就可以了建议放在while循环之前,不要在while中循环执行否则会出问题的 还有具体的显示函数中时P1和P2还是其他的,要看你的硬件连接了新手学单片机0x,你这个程序有几个地方有问题吧@_@坏了吧。我想你的意思是让我们给程序加注释错误我也标注在程序了<br/><br/>

}

我要回帖

更多关于 单片机0x 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信