实现定时功能,比较简便的方法是利用单片机内部的定时/计数器。也可以用以下三种方法:
1.软件定时:软件定时不占用硬件资源,但是占用CPU时间,降低了CPU的利用率。
2.采用时基威廉希尔官方网站
定时:例如采用555威廉希尔官方网站
,外接必要的元器件(电阻、电容),即可构成硬件定时威廉希尔官方网站
。但是硬件连接好之后,定时值和定时范围不能有软件进行修改,即不可编程。
3.采用可编程芯片定时:这种定时芯片的定时值和定时范围很容易用软件修改和控制,这种芯片定时功能强,使用灵活。在单片机定时/计数器不够用时,可以考虑进行扩展。
定时计数器的结构和工作原理
结构:定时/计数器的实质是加1计数器(16位),由高8位和低8位两个寄存器组成。TMOD是定时/计数器的工作方式寄存器,确定工作方式和功能。TCON是定时/计数器的控制寄存器,控制T0,T1的启动和停止及设置溢出标志。
工作原理:加1计数器输入的计数脉冲有两个来源,一个是由系统的时钟振荡器输出脉冲经12分频后送来。另一个是T0、T1引脚输入的外部脉冲源。每来一个脉冲计数器加1,当加到计数器全1时,在输入一个脉冲使计数器回零。且计数器的溢出时TCON中的TF0或TF1置1,向CPU发出中断请求(定时/计数器中断允许时)。如果定时/计数器工作于定时模式,表示定时时间已到。如果定时/计数器工作于计数模式,表示计数值已满。
由溢出时计数器的值减去计数器的初值才是加1计数器的计数值。
设置为定时器模式时,加1计数器是对内部机器周期计数(一个机器周期等于十二个振荡周期,即计数频率是晶振频率的1/12)
设置为计数器模式时,外部事件计数脉冲由T0或T1引脚输入到计数器。
定时/计数器的控制:
80C51单片机的定时/计数器的工作由两个特殊功能寄存器控制,分别是TMOD(工作方式寄存器)用来设置其工作方式。TCON(控制寄存器)用来控制其启动和中断申请。
TMOD(工作方式寄存器)
低4位用于T0,高4位用于T1。格式如下
GATE:门控位。GATE=0时,只需要用软件使TCON中的TR0或TR1为1,就可以启动定时/计数器工作。当GATE=1时,需要用软件使TCON中的TR0或TR1为1,并且同时外部中断引脚INT0/1也为高电平时,才能启动定时/计数器工作。
C/T:定时/计数模式选择位。等于0时,为定时模式。等于1时,为计数模式。
M1M0:工作方式设置位。定时/计数器有四种工作方式。
[tr]M1M0工作方式说明[/tr]00方式013位定时/计数器
01方式116位定时/计数器
10方式28位自动重装定时/计数器
11方式3T0分为两个8位定时/计数器,T1此方式停止计数
TCON(控制寄存器)
低4位用于控制外部中断,高四位用于定时/计数器的启动和中断申请。格式如下:
TF1(TCON.7):T1溢出中断请求标志位。T1计数溢出时将由硬件自动置TF1=1。CPU响应中断后TF1由硬件自动清零。T1工作时,CPU可以随时查询TF1的状态,所以TF1可以作为查询测试的标志。TF1也可以用软件置1或清零,和硬件的效果是一样的。
TR1(TCON.6):T1运行控制位。TR1置1时,T1开始工作。TR1置0时,T1停止工作。TR1由软件控制置1或置0,所以,用软件可以控制定时计数器的启动和关闭。
TF0 (TCON.5):T0溢出中断请求标志位。类似于TF1。
TR0 (TCON.5):T0运行控制位。类似于TR1。
实现定时功能,比较简便的方法是利用单片机内部的定时/计数器。也可以用以下三种方法:
1.软件定时:软件定时不占用硬件资源,但是占用CPU时间,降低了CPU的利用率。
2.采用时基威廉希尔官方网站
定时:例如采用555威廉希尔官方网站
,外接必要的元器件(电阻、电容),即可构成硬件定时威廉希尔官方网站
。但是硬件连接好之后,定时值和定时范围不能有软件进行修改,即不可编程。
3.采用可编程芯片定时:这种定时芯片的定时值和定时范围很容易用软件修改和控制,这种芯片定时功能强,使用灵活。在单片机定时/计数器不够用时,可以考虑进行扩展。
定时计数器的结构和工作原理
结构:定时/计数器的实质是加1计数器(16位),由高8位和低8位两个寄存器组成。TMOD是定时/计数器的工作方式寄存器,确定工作方式和功能。TCON是定时/计数器的控制寄存器,控制T0,T1的启动和停止及设置溢出标志。
工作原理:加1计数器输入的计数脉冲有两个来源,一个是由系统的时钟振荡器输出脉冲经12分频后送来。另一个是T0、T1引脚输入的外部脉冲源。每来一个脉冲计数器加1,当加到计数器全1时,在输入一个脉冲使计数器回零。且计数器的溢出时TCON中的TF0或TF1置1,向CPU发出中断请求(定时/计数器中断允许时)。如果定时/计数器工作于定时模式,表示定时时间已到。如果定时/计数器工作于计数模式,表示计数值已满。
由溢出时计数器的值减去计数器的初值才是加1计数器的计数值。
设置为定时器模式时,加1计数器是对内部机器周期计数(一个机器周期等于十二个振荡周期,即计数频率是晶振频率的1/12)
设置为计数器模式时,外部事件计数脉冲由T0或T1引脚输入到计数器。
定时/计数器的控制:
80C51单片机的定时/计数器的工作由两个特殊功能寄存器控制,分别是TMOD(工作方式寄存器)用来设置其工作方式。TCON(控制寄存器)用来控制其启动和中断申请。
TMOD(工作方式寄存器)
低4位用于T0,高4位用于T1。格式如下
GATE:门控位。GATE=0时,只需要用软件使TCON中的TR0或TR1为1,就可以启动定时/计数器工作。当GATE=1时,需要用软件使TCON中的TR0或TR1为1,并且同时外部中断引脚INT0/1也为高电平时,才能启动定时/计数器工作。
C/T:定时/计数模式选择位。等于0时,为定时模式。等于1时,为计数模式。
M1M0:工作方式设置位。定时/计数器有四种工作方式。
[tr]M1M0工作方式说明[/tr]00方式013位定时/计数器
01方式116位定时/计数器
10方式28位自动重装定时/计数器
11方式3T0分为两个8位定时/计数器,T1此方式停止计数
TCON(控制寄存器)
低4位用于控制外部中断,高四位用于定时/计数器的启动和中断申请。格式如下:
TF1(TCON.7):T1溢出中断请求标志位。T1计数溢出时将由硬件自动置TF1=1。CPU响应中断后TF1由硬件自动清零。T1工作时,CPU可以随时查询TF1的状态,所以TF1可以作为查询测试的标志。TF1也可以用软件置1或清零,和硬件的效果是一样的。
TR1(TCON.6):T1运行控制位。TR1置1时,T1开始工作。TR1置0时,T1停止工作。TR1由软件控制置1或置0,所以,用软件可以控制定时计数器的启动和关闭。
TF0 (TCON.5):T0溢出中断请求标志位。类似于TF1。
TR0 (TCON.5):T0运行控制位。类似于TR1。
举报