今日头条
51单片机是由什么东西组成的
单片机是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、存储器RAM、只读存储器ROM、I/O口和中断系统、显示驱动电路、A/D转换器、定时器/计数器、脉宽调制电路、模拟多路转换器等电路等等集成到硅片上构成的一个小而完善的微型计算机系统,在工业等控制领域广泛应用。
51单片机的定时器/计数器的工作原理和主要功能,TF0硬件一旦变成1就可以去申请中断或者去查询这个位,查询到这个位为1就代表溢出,就可以去处理定时的这事件,以定时计数器的定时功能为例,设置成01还是定时功能,GATE位主要是用来测脉宽的,对内部机器周期进行计数,但是这个时候他并不能开始计数,单片机的P3.2外部中断0引脚,当门口未设置成1的情况下,想启动定时计数器这个计数功能,或者是外部脉冲的这种计数的功能,这个时候必须保证引脚为高电平,如果不为高电平,与门就不能通过,开关就没办法闭合,那就没办法去启动点的计数器,所以GATE位实际上就是定时计数器的启动,是由外部引脚和内部的TR0为共同来控制的,只有这两个条件同时满足的时候,引脚上为高电平这两个条件同时满足,定时计数器才能够启动。
这个功能可以用来测量脉宽,比如把这个引脚上接一个信号,就可以测量这段脉宽的时间,初始化的时候设置成01,然后把T20制成1,但是这个时候每过一个机器周期它并不能开始计数,也就是这里面并不会从零开始加一,当引脚一直为低电平他就不能启动,当引脚上产生一个上升沿变成高电平的时候,当它一旦变成高电平,这个位一又本来就是设置好了1,开关闭合就开始一个机器周期加1计数,一旦变成了低电平开关就断开了,所以他就不会再加一了,这里面的值就可以把它取出来,把这个值取出来保存到一个变量当中去,然后因为机器周期是知道的,这样的话就能够把这个时间算出来,从而能够计算出来这个脉宽是多宽,这个就是做脉宽测量,当然我们很少用,所以我们在平时使用的时候都是把这个门空位直接设成零。
一旦有一天需要进行脉宽的测量,可以用这种方法,但需要注意的是脉宽测量的时候,脉冲的引脚一定要选到这个P3.2这个引脚上,它并不是接到T0这个引脚,T0这个引脚是的P3.4这个引脚,这个是对外部脉冲进行计数的,也就是把这个C/T位打成1的时候,就是记他的脉冲,每来一个脉冲加1,这个是工作方式一,工作方式一是我们常用的一种定时计数器的工作方式。如果没有对TF0和TH0进行初始化,这里面的值默认的全是0,默认这里面的值是000H,单片机上电复位之后里面的也是0000H,是一个八位的二进制数,上电复位的时候这个值实际上可以给他一个初值,这时候把它设置成一就闭合对机器周期进行计数,每过一个机器周期就开始加1,当加满的时候就变成八个一,再来一个脉冲它就变成八个零了,这个时候会使硬件的变成1要去申请中断,或者通过软件查询这个位来处理刚才这个事件,它会自动的把里面的值压到TH0当中,所以叫做自动重装初值。
对单片机感兴趣的可以查看往期分享内容,希望能帮助大家在学习单片机的路上少走一些弯路,想要入门单片机可以持续关注创为单片机编程,,回复“带我学习”查看更多内容分享。
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !