×

如何使用51单片机定时器功能实现测量脉冲宽度

消耗积分:1 | 格式:pdf | 大小:0.38 MB | 2019-04-23

分享资料个

  STC12C系列增强型单片机片上扩展了基本51单片机的功能,如提供了PCA/PWM接口,定时器能工作在1T模式下(基本51单片机的时钟是Fosc的12分频,1T模式下1分频)。

  PCA可以用于脉宽测量,但是,protues暂不支持该系列单片机的仿真功能,反复烧写也挺麻烦,所以还是先用基本51单片机实现该功能,在后面的博文里在实现PCA测量脉宽。

  实现思路如下:

  TMOD最高位GATEn置位后,Tn启动计数受INTn(Pin3.3)和TRn的共同影响:TRn为1,当INTn引脚输入为高电平时,Tn才允许计数。利用这个功能可测量INTn上正脉冲的宽度。

  先上图(原谅我的制图能力):

  1):1处 在上升沿之前,初始化TMOD,TRn=1;

  2):2处 INTn引脚为高电平,开始计数测量脉宽;

  3):3处 INTn引脚为低电平,测量结束停止计数TRn=0

  再上仿真图:

  1)。信号发生器电平选5v方波。注信号发生器的反相端接地,否则正向端只输出2.5v的方波(剩下的2.5v输出反相方波,可以接到示波器上试试),INTn上永远收不到高电平,达不到预期效果。

  2).T0定时器做计数器使用,收到一个负脉冲产生溢出,启动T1;

  3).T0,T1全工作在方式2自动装载计数值模式。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !