历史上的今天
返回首页

历史上的今天

今天是:2024年08月25日(星期日)

正在发生

2021年08月25日 | 51单片机-输入捕获

2021-08-25 来源:eefocus

1.捕获高电平时间

我们利用定时器0的计数功能实现捕获外部引脚的高电平时间。定时器在不同用法里有不同称呼,比如我们这次是想得知某段过程持续了多长时间,用定时器的计数方式的话就叫做计数器。


我们这次选用的外部引脚还是P1.6,初始时先让该引脚输出低电平。


我们之前没有说过当TMOD低四位里的第三位GATE为1时是什么作用,这里说明一下,当这个位被置1的话,如果此时有“TR0=1;”,且P3.2必须为高电平的时候,才会触发定时器0的计数(P3.2为低电平时不会触发),也就是TL0每隔(12/11059200)秒就会加1,加到256变为0之后TH0就加1。一直加到65535就会有“TL0=255;”和“TH0=255;”,再加1就会全部变为0,这里复习以前讲过的知识。


所以我们把P1.6和P3.2连接起来,在 TR0置1时,只要P1.6输出高电平就会开启计数功能,P1.6输出低电平时就会停止计数功能。我们再用左边三个数码管显示TH0的数,右边三个显示TL0的数。


所以我们打算这样做

P1.6=0;

TR0=1;

P1.6=1;            //开始计数

delay_ms(30);  //延时一段时间

P1.6=0;            //停止计数

代码先用软件测试一下“delay_ms(30);”到底真正花费多少时间。

8.13.png?imageView2/2/w/550

所以P1.6保持了41.784ms的高电平时间。


用杜邦线把P1.6和P3.2连接起来之后,注意我们的延时时间不要超过71ms,也就是高电平持续的时间不能超过71ms,这跟定时时间一次定不了71ms一样。因为计数最高只能到65535。


2.代码

把代码下载进去,观察数码管显示的数值。

#include  

#include //详见第六章第8讲

  

//请用杜邦线把P1.6和P3.2连接起来

void main()

{     

    LED_Init(); //初始化LED硬件模块

    TMOD=0x09;  //低四位 1001 

   

    BEEP=0;     //先让P1.6输出低电平

    TR0=1;

    BEEP=1;     //开始计数  

    delay_ms(30);

    BEEP=0;     //停止计数  

   

    LedBuff[0]=LedChar[TL0%10];

    LedBuff[1]=LedChar[(TL0/10)%10];

    LedBuff[2]=LedChar[(TL0/100)%10]; 

   

    LedBuff[3]=0x7F&LedChar[TH0%10];//加上小数点好区分

    LedBuff[4]=LedChar[(TH0/10)%10];

    LedBuff[5]=LedChar[(TH0/100)%10];

 

    while(1)

    {     

        SEG_Scan();//读取TH0和TL0的值  

    }   

}


数码管显示150.109,所以

(150*256+109)*(12/11059200)= 0.0417849s

捕获到的高电平时间为41.7849ms,可以说精度相当高。

这里大家忘记为什么“150*256”的话,请回去复习本章之前的内容。

还有TMOD的第七位GATE的功能与第三位的GATE的功能一样,只不过用的是定时器1来计数,触发开启计数的引脚为P3.3而已。详细请参考《手把手教你学51单片机》文档5.2.2节

推荐阅读

史海拾趣

Component Research Co公司的发展小趣事

Component Research Co最初只是一家小型电子元件研发公司,面临着激烈的市场竞争。然而,公司研发团队在一次实验中意外发现了一种新型半导体材料,这种材料具有出色的导电性能和稳定性。公司迅速将这一发现转化为实际产品,并推向市场。新产品因其卓越性能迅速受到客户青睐,Component Research Co因此名声大噪,逐渐在电子元件市场占据一席之地。

FILTRONETICS Inc公司的发展小趣事

进入21世纪后,FILTRONETICS意识到全球化市场的重要性,开始积极开拓国际市场。公司加强了与国际客户的沟通与合作,参加了多个国际电子展会,展示了公司的技术和产品。同时,公司还在海外设立了分支机构,以便更好地服务当地客户。通过不懈的努力,FILTRONETICS成功打入多个国际市场,并赢得了众多国际客户的信赖和支持。

Dawning Precision Co Ltd公司的发展小趣事

在国内市场取得一定成绩后,Dawning开始将目光投向国际市场。公司积极参加国际电子展会,与全球知名企业进行交流合作。同时,Dawning还根据不同国家和地区的市场需求,调整产品策略,推出符合当地消费者喜好的产品。经过几年的努力,Dawning的产品已经成功打入欧美、东南亚等多个国家和地区的市场,公司的国际化进程取得了显著进展。

BERNSTEIN公司的发展小趣事

BERNSTEIN公司的历史可以追溯到Weimar时期,当时Bernstein兄弟在莱比锡创立了“Monopol”公司,专注于为电气建筑服务控制系统生产和制造低压产品。初创时期,公司面临着资金短缺、市场竞争激烈等诸多困难。然而,Bernstein兄弟凭借对技术的执着追求和对市场的敏锐洞察,成功研发出了一系列具有竞争力的产品,并逐渐在市场上站稳脚跟。

成都芯进(CrossChip)公司的发展小趣事

2013年,三位在半导体行业积累了近十年经验的成电校友,怀揣着对电子技术的热爱和对国产芯片事业的执着,在成都创办了成都芯进电子有限公司(CrossChip)。公司初期专注于模拟和混合信号芯片设计,并以磁传感器芯片作为切入点。一年后,他们的首款产品——开关型霍尔传感器成功实现量产销售,为公司的发展奠定了坚实的基础。

Amecon Magnetics公司的发展小趣事

在竞争激烈的电子行业中,品质是企业生存和发展的关键。Amecon Magnetics公司始终将品质管理放在首位,建立了严格的质量管理体系,确保从原材料采购到产品出厂的每一个环节都符合高标准的质量要求。这种对品质的执着追求使得公司的产品赢得了客户的广泛好评和信赖,为公司树立了良好的品牌形象。

问答坊 | AI 解惑

128x64点阵液晶,430程序。已调试OK!

程序使用c语言写的 [ 本帖最后由 kevinrobot 于 2009-8-8 01:52 编辑 ]…

查看全部问答>

新手求助: 自己回复别人的帖子,自己不能编辑? 也不能删除吗?

自己回复别人的帖子,自己不能编辑? 也不能删除吗? 我回复别人的问题, 由于不熟, 在插入图片时忘记按\"插入图片\"的按钮了,直接输入了图片的地址, 所以只有第一张图篇操作正确, 另外的图片成了地址的字符. 当时以为是我哪里搞错了,就又重发了几次 ...…

查看全部问答>

WINCE下,播放声音时有杂音?

在开始播放时有杂音,播放过程中正常,用的是异步播放。请问这种情况是否正常?…

查看全部问答>

南京招聘:有嵌入式及硬件基础知识的Delphi BCB程序员,从事监控主站开发

南京招聘:有嵌入式及硬件基础知识的Delphi BCB程序员,从事监控主站开发 要求:      1:熟悉Delphi开发环境。      2:熟练使用SQL-Server编程语言      3:了解一定的硬件知识和 ...…

查看全部问答>

大家来点评——LED恒流驱动模块SEDR18系列

SEDR18系列模块是一款高效的LED驱动IC。可以直接介入110V和220V交流电,获得稳定的横流输出。输出电流稳定、输出电压范围大是SEDR18系列模块的主要特点。改变负载LED的数量,使得SEDR18模块的输出电压随之变化,则SEDR18模块的输出电流可以稳定在15 ...…

查看全部问答>

LED 参考设计电路图批量下载

众所周知,LED是将电能直接转换成光的晶体管元件,LED 背光模块(BLU)正在推动总体LED市场成长,但在未来一段时间,LED照明将引领这个市场的增长。   如何使LED将大部分能量转换为可见频谱的冷光,而不以发热的形式浪费电能,德州仪器(TI) ...…

查看全部问答>

msp430

对于ti推出的msp430低功耗的16位单片机,评论很多。在这个时候推出16位的单片机,是否能够占领市场?我们知道8位单片机在中国是处于龙头地位的。要动摇51单片机的地位,确实在中国有一定的困难。在中国,特别要考虑的是中国的国情。比如过去的寻呼 ...…

查看全部问答>

RDC_AD2S1210例程

本帖最后由 天明 于 2014-7-30 14:31 编辑 >> …

查看全部问答>

新人提问,连续两个反相器所做什么用的?

有的芯片内部有连续两个反相器的结构,想知道这有什么用吗?直接一根线过来电平不也是一样的吗??求前辈赐教啊!!!…

查看全部问答>