‘壹’ 51单片机T0作为定时器和计数器有哪些区别
51单片机T0作为定时器和计数器的区别:变化不同,含义不同。
一、变化不同:计数器记录外部脉冲信号,信号每变化一次,计数器才加1;而定时器则是使用单片机内部的规则脉冲信号,脉冲的间隔是相同的。
二、含义不同:定时器T1没有方式3 ,方式3只适合定时器T0,使其增加一个8位定时器。若定时器T1选择方式3,T1将停止工作,相当于TR1=0的情况。在工作方式寄存器TMOD中,高4位控制定时器T1,低4位控制定时器T0。
简介
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。
‘贰’ 51单片机定时器的计数器功能的使用
计数器1,也是计数,设置初值也是为了计数,是对外部脉冲计数,而这外部脉冲是要从P3.5输入的。初值也是计数的需要,TL1=256-实际计数值=6,可以算出实际计数值是250。也就是需要对外部脉冲计250个才中断一次。
你在外部加脉冲,是只加一个吧,所以,屏幕上没有显示,至少要加250个以上,每加250个,cou才加一个数。
‘叁’ 51单片机计数器怎么使用
main()
{
//初始化哪搭巧
TMOD =0x15//定义计数器枝斗0,定时器1 。李键。计数T0(P3^4)IO口脉冲
TH0 =0;
TL0 =0;
ET0= 1;
EA=1;
TR0 =1;
while(1)
{
;
}
}
void timer0() interrupt 1
{
TH0=0;
TL0=0;
}
‘肆’ 51单片机定时计数器原理
其实就是计数器原理,所谓的定时器就是用计数器来实现的一个功能而已。
计数器的原理,很简单,就是给个方波信号,一个方波,就加1即可,最简单的都能用数字电子技术里的或门,与门,非门来实现的。专门做计数的芯片也是一大堆,这里我们就不讨论怎么用或门,非门,与门,做出一个计数器了吧。
那么怎么用计数器实现定时器的功能呢?其实很简单,只要你给计数器的方波是规律的就可以了啊,比如做一个一秒钟输出一个方波的电路,然后把这个方波给计数器,即可,那么这个计数器就是一个定时器了,假设计数器一开始是0,一个方波以后,计数器就变成了1,对吧,但是计数器的方波来源是稳定的,一秒钟就给一个方波,那么这个就是个1s的定时器了吧,我们可以通过计数器的数值,来确定时间了吧,这样就可以完成定时的功能了吧。
单片机也是通过这种手段来形成的,你可能就要问了,那我单片机不是没有方波发射的装置吗?对不起,单片机芯片内部自己内置了,所以你不需要自己做这个方波发生装置,那么单片机是用什么来形成方波的呢?答案是你外置的晶振,单片机是通过你外部的那个晶振来实现的,而且晶振也是你单片机能跑起来的关键,他是单片机的CPU等内部部件工作的时间标准,比如晶振12MHZ,就是这个晶振1秒钟,能有12M个方波形成懂吧,所以这个频率是很高的了,但是单片机一般不在这么高的频率上工作,所以CPU的时间单位,不是晶振的频率,一般是要进行降频处理的,也叫分频,像51单片机,很多都是12分频的,即外部晶振是12MHZ,内部CPU工作的频率只有1MHZ,内部的计数器一般也不能在那么高的频率下工作,所以也是分频的,你最需要了解的是计数器或定时器里的数值加1,对应的时间是多少,一般都是1ms这样的整数倍。
然后计数器呢?计数器就是用晶振分频后的方波来工作的,晶振工作稳定,频率稳定,那么定时器就稳定,而如果你不用定时器的时候呢?那么计数器的计数端,就和来自晶振的方波,切断,切换成对应的IO端口的线路即可,而外部的端口,他们的波形和频率都不确定,所以就不是定时器了,如果你在外部,加个稳定的方波装置,计数器也就是定时器了,只不过这个需要自己去实现,岂不是麻烦?所以一般都用单片机内部自带的,方便而已。