欢迎光临散文网 会员登陆 & 注册

51单片机学习 (9)- 单片机计数器使用

2023-04-05 18:05 作者:夏星天  | 我要投稿

之前了解过51单片机有2个16位的可编程定时器/计数器,分别是T0和T1,52单片机多一个T2;

对于定时器的使用,已经了解了 ;

步骤为 :

下面就是计数器的使用;

这里需要 注意书中说的,不是任意频率的脉冲都可以直接计数,单片机的晶振频率限制了所 测量 计数脉冲 的最高频率;

下面是书中说明的理由:

个人的理解:单片机 对于外部输出脉冲检测需要 两个周期,检测两次,对比两次检测的差异 ,看是否为下降沿;简单来说,对于12MHz的晶振,一个机器 周期 为1us;

假设外部脉冲是 方波,那么前1us为 高电平,后 1us为低电平,下降沿且符合检测的时间要求,对应的方波频率就是1/2us = 0.5*1000*1000 = 500kHz (1s = 1000ms = 1000 000 us)

如果前1us内,有一个 高电平和一个 低电平,对于12MHz晶振的单片机 ,是无法检测出这个1us内 出现的下降沿;


--------------------------

测试1:红外避障传感模块,在遇到障碍后 ,其OUT口输出低电平,无障碍输出高电平;将OUT口连接到P3.4口作为T0外部脉冲的输入,用数码管 显示;

存在问题:靠近红外和离开红外范围时存在抖动,数码管增加不是一个一个增加


测试2 将P3.4口连接到单片机P1.0口,通过 T2定时器P1.0口输出固定频率的方波,观察数码管数值变化

在稳定的方波下,数码管的数值是逐个增加;


对应的演示视频 在后续会上传;如果有错误,麻烦帮忙指正,谢谢!


51单片机学习 (9)- 单片机计数器使用的评论 (共 条)

分享到微博请遵守国家法律