项目二数码管显示及定时器课稿.ppt
文本预览下载声明
定时/计数器的结构和工作原理 定时/计数器的实质是加1计数器(16位),由高8位和低8位两个寄存器组成。TMOD是定时/计数器的工作方式寄存器,确定工作方式和功能;TCON是控制寄存器,控制T0、T1的启动和停止及设置溢出标志。 定时的实质是对时钟脉冲进行计数。 计数的实质是对P3.4 (T0)、 P3.5 (T1)引脚输入的脉冲进行计数。 80C51单片机定时器/计数器应用 总体来说,定时器/计数器就是在对脉冲进行计数的操作。 从一个生活中的例子看起:一个水盆在水龙头下,水龙没关紧,水一滴滴地滴入盆中。水滴不断落下,盆的容量是有限的,过一段时间之后,水就会逐渐变满。 那么单片机中的计数器有多大的容量呢?8051单片机中有两个计数器,分别称之为T0和T1,这两个计数器分别是由两个8位的RAM单元组成的,即每个计数器都是16位的计数器,最大的计数量是65536。 计数容量的概念 让我们再来看水滴的例子,当水不断落下,盆中的水不断变满,最终有一滴水使得盆中的水满了。这时如果再有一滴水落下,就会发生什么现象?水会漫出来,用个术语来讲就是“溢出”。 水溢出是流到地上,而计数器溢出后将使得TF0变为“1”。一旦TF0由0变成1,就是产生了变化,产生了变化就会引发事件,就象闹钟定时的时间一到,闹钟就会响一样。此时就向CPU提出中断请求。 计数溢出的概念 任意定时及计数的方法 提示:如果是一个空的盆要10000滴水滴进去才会满,如果在开始滴水之前就先放入一勺水,还需要10000滴吗? 我们采用预置数的方法,要计数100次,那就先放进65436,再来100个脉冲,不就到了65536了吗。 定时也是如此,若每个脉冲是1微秒,则计满65536个脉冲需时65.536毫秒。如果现在只要10毫秒定时怎么办? 10个毫秒为10000个微秒,所以,只要在计数器里面放进65536-10000=55536就可以了。 一、中断允许控制寄存器IE 与80C51定时器/计数器中断有关的控制寄存器 EX0(IE.0),外部中断0允许位; ET0(IE.1),定时/计数器T0中断允许位; EX1(IE.2),外部中断0允许位; ET1(IE.3),定时/计数器T1中断允许位; ES(IE.4),串行口中断允许位; EA (IE.7), CPU中断允许(总允许)位。 二、工作方式寄存器TMOD 工作方式寄存器TMOD用于设置定时/计数器的工作方式,低四位用于T0,高四位用于T1。 80C51单片机定时/计数器的工作由两个特殊功能寄存器控制。TMOD用于设置其工作方式;TCON用于控制其启动和中断申请。 与80C51定时器/计数器中断有关的控制寄存器 GATE:门控位。GATE=0时,只要用软件使TCON中的TR0或TR1为1,就可以启动定时/计数器工作;GATA=1时,要用软件使TR0或TR1为1,同时外部中断引脚INT0/1也为高电平时,才能启动定时/计数器工作。即此时定时器的启动条件,加上了INT0/1引脚为高电平这一条件。 :定时/计数模式选择位。 =0为定时模式; =1为计数模式。 M1M0:工作方式设置位。定时/计数器有四种工作方式,由M1M0进行设置。 三、控制寄存器TCON TCON的低4位用于控制外部中断。TCON的高4位用于控制定时/计数器的启动和中断申请。 TF1(TCON.7):T1溢出中断请求标志位。T1计数溢出时由硬件自动置TF1为1。CPU响应中断后TF1由硬件自动清0。T1工作时,CPU可随时查询TF1的状态。所以,TF1可用作查询测试的标志。TF1也可以用软件置1或清0,同硬件置1或清0的效果一样。 TR1(TCON.6):T1运行控制位。TR1置1时,T1开始工作;TR1置0时,T1停止工作。TR1由软件置1或清0。所以,用软件可控制定时/计数器的启动与停止。 TF0(TCON.5):T0溢出中断请求标志位,其功能与TF1类同。 TR0(TCON.4):T0运行控制位,其功能与TR1类同。 与80C51定时器/计数器中断有关的控制寄存器 定时/计数器的工作方式 一、方式0 方式0为13位计数,由TL0的低5位(高3位未用)和TH0的8位组成。TL0的低5位溢出时向TH0进位,TH0溢出时,置位TCON中的TF0标志,向CPU发出中断请求。 二、方式1 方式1的计数位数是16位,由TL0作为低8位、TH0作为高8位,组成了16位加1计数器 。 计数个数与计数初值的关系为: 定时/计数器应用举例 初始化程序应完成如下工作: 1.对TMOD赋值,以确定T0和T1的工作方式。 2.计算初值,并将其写入TH0、
显示全部