《片机数码管静态显示及定时器和中断应用.ppt》由会员分享,可在线阅读,更多相关《片机数码管静态显示及定时器和中断应用.ppt(43页珍藏版)》请在金锄头文库上搜索。
1、第三讲数码管是如何显示出字符的数码管静态显示与动态显示原理中断概念单片机的定时器应用显示器及其接口显示器及其接口单片机系统中常用的显示器有: 发光二极管LED(Light Emitting Diode)显示器、液晶LCD(Liquid Crystal Display)显示器、CRT显示器等。LED、LCD显示器有两种显示结构:段显示(7段、米字型等)和点阵显示(58、88点阵等)。 使用LED显示器时,要注意区分这两种不同的接法。为了显示数字或字符,必须对数字或字符进行编码。七段数码管加上一个小数点,共计8段。因此为LED显示器提供的编码正好是一个字节。TX实验板用共阴LED显示器,根据电路连
2、接图显示16进制数的编码已列在下表。 共阴极共阳极共阴数码管码表 0x3f , 0x06 , 0x5b , 0x4f , 0x66 , 0x6d , 0 1 2 3 4 5 0x7d , 0x07 , 0x7f , 0x6f , 0x77 , 0x7c , 6 7 8 9 A B 0x39 , 0x5e , 0x79 , 0x71 , 0x00 C D E F 无显示 LED数码显示方式及电路数码显示方式及电路 静态显示方式静态显示方式LED显示器工作方式有两种:静态显示方式和动态显示方式。静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一
3、直保持,直到送入新字形码为止。这种方法的优点是占用CPU时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高。 动态显示 动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。 中断系统中断系统3.1 80C51的中断系的中断系统 3.1.1 80C513.1.1 80C51的中断系的中断系统结构构一、中断的概念一、中断的
4、概念 CPUCPU在在处理某一事件理某一事件A A时,发生了另一事件生了另一事件B B请求求CPUCPU迅速去迅速去处理(理(中断中断发生生);); CPUCPU暂时中断当前的工作,中断当前的工作,转去去处理事件理事件B B(中断响中断响应和中断服和中断服务);); 待待CPUCPU将事件将事件B B处理完理完毕后,再回到原来事后,再回到原来事件件A A被中断的地方被中断的地方继续处理事件理事件A A(中断返回中断返回),这一一过程称程称为中断中断 。MCS-51单片机的中断系统结构执行主程序主程序继续执行主程序断点中断请求中断响应执行中断处理程序中断返回引起引起CPU中断的根源,称为中断的根
5、源,称为中断源中断源。中断源向。中断源向CPU提出的提出的中断请求。中断请求。CPU暂时中断原来的事务暂时中断原来的事务A,转去处理事件,转去处理事件B。对。对事件事件B处理完毕后,再回到原来被中断的地方(即处理完毕后,再回到原来被中断的地方(即断点断点),称),称为中断返回。实现上述中断功能的部件称为为中断返回。实现上述中断功能的部件称为中断系统中断系统(中断(中断机构)。机构)。 随着计算机技术的应用,人们发现中断技随着计算机技术的应用,人们发现中断技术不仅解决了快速主机与慢速术不仅解决了快速主机与慢速I/O设备的数据设备的数据传送问题,而且还具有如下优点:传送问题,而且还具有如下优点:
6、分时操作分时操作。CPU可以分时为多个可以分时为多个I/O设备服设备服务,提高了计算机的利用率;务,提高了计算机的利用率;实时响应实时响应。CPU能够及时处理应用系统的随能够及时处理应用系统的随机事件,系统的实时性大大增强;机事件,系统的实时性大大增强;可靠性高可靠性高。CPU具有处理设备故障及掉电等具有处理设备故障及掉电等突发性事件能力,从而使系统可靠性提高。突发性事件能力,从而使系统可靠性提高。80C51中断系统的结构中断系统的结构 80C51的中断系统有的中断系统有5个中断源个中断源(8052有 6个) ,2个优先级,可实现二级中断嵌套个优先级,可实现二级中断嵌套 。 1 1、(P3.2
7、P3.2)可可由由IT0(TCON.0)IT0(TCON.0)选择其其为低低电平平有有效效还是是下下降降沿沿有有效效。当当CPUCPU检测到到P3.2P3.2引引脚脚上上出出现有有效效的的中中断断信信号号时,中中断断标志志IE0(TCON.1)IE0(TCON.1)置置1 1,向,向CPUCPU申申请中断。中断。 2 2、(P3.3(P3.3)可可由由IT1(TCON.2)IT1(TCON.2)选择其其为低低电平平有有效效还是是下下降降沿沿有有效效。当当CPUCPU检测到到P3.3P3.3引引脚脚上上出出现有有效效的的中中断断信信号号时,中中断断标志志IE1(TCON.3)IE1(TCON.3
8、)置置1,1,向向CPUCPU申申请中断。中断。 3 3、TF0TF0(TCON.5TCON.5),片片内内定定时/ /计数数器器T0T0溢溢出出中中断断请求求标志志。当当定定时/ /计数数器器T0T0发生生溢溢出出时,置位,置位TF0TF0,并向,并向CPUCPU申申请中断。中断。 4 4、TF1TF1(TCON.7TCON.7),片内定),片内定时/ /计数器数器T1T1溢溢出中断出中断请求求标志。当定志。当定时/ /计数器数器T1T1发生溢生溢出出时,置位,置位TF1TF1,并向,并向CPUCPU申申请中断。中断。 5 5、RIRI(SCON.0SCON.0)或)或TITI(SCON.1
9、SCON.1),串行口中),串行口中断断请求求标志。当串行口接收完一志。当串行口接收完一帧串行数据串行数据时置位置位RIRI或当串行口或当串行口发送完一送完一帧串行数据串行数据时置位置位TITI,向,向CPUCPU申申请中断。中断。 二、中断请求标志二、中断请求标志1、TCON的中断标志的中断标志IT0(TCON.0),外部中断),外部中断0触发方式控制位。触发方式控制位。当当IT0=0时,为电平触发方式。时,为电平触发方式。当当IT0=1时,为边沿触发方式(下降沿有效)。时,为边沿触发方式(下降沿有效)。IE0(TCON.1),外部中断),外部中断0中断请求标志位。中断请求标志位。IT1(T
10、CON.2),外部中断),外部中断1触发方式控制位。触发方式控制位。IE1(TCON.3),外部中断),外部中断1中断请求标志位。中断请求标志位。TF0(TCON.5),定时),定时/计数器计数器T0溢出中断请求标志位。溢出中断请求标志位。TF1(TCON.7),定时),定时/计数器计数器T1溢出中断请求标志位。溢出中断请求标志位。 2、SCON的中断标志的中断标志RI(SCON.0),串行口接收中断标志位。当允),串行口接收中断标志位。当允许串行口接收数据时,每接收完一个串行帧,由许串行口接收数据时,每接收完一个串行帧,由硬件置位硬件置位RI。注意,。注意,RI必须由软件清除。必须由软件清除
11、。TI(SCON.1),串行口发送中断标志位。当),串行口发送中断标志位。当CPU将一个发送数据写入串行口发送缓冲器时,将一个发送数据写入串行口发送缓冲器时,就启动了发送过程。每发送完一个串行帧,由硬就启动了发送过程。每发送完一个串行帧,由硬件置位件置位TI。CPU响应中断时,不能自动清除响应中断时,不能自动清除TI,TI必须由软件清除。必须由软件清除。 一、中断允许控制一、中断允许控制 CPU对中断系统所有中断以及某个中断源的开放和屏对中断系统所有中断以及某个中断源的开放和屏蔽是由中断允许寄存器蔽是由中断允许寄存器IE控制的。控制的。3.1.3 80C513.1.3 80C51中断的控制中断
12、的控制 EX0(IE.0),外部中断,外部中断0允许位;允许位;ET0(IE.1),定时,定时/计数器计数器T0中断允许位;中断允许位; EX1(IE.2),外部中断,外部中断0允许位;允许位;ET1(IE.3),定时,定时/计数器计数器T1中断允许位;中断允许位;ES(IE.4),串行口中断允许位;,串行口中断允许位;EA (IE.7), CPU中断允许(总允许)位。中断允许(总允许)位。二、中断优先级控制二、中断优先级控制 80C51单片机有两个中断优先级,即可实现二级单片机有两个中断优先级,即可实现二级中断服务嵌套。每个中断源的中断优先级都是由中断中断服务嵌套。每个中断源的中断优先级都是
13、由中断优先级寄存器优先级寄存器IP中的相应位的状态来规定的中的相应位的状态来规定的 。PX0(IP.0),外部中断),外部中断0优先级设定位;优先级设定位;PT0(IP.1),定时),定时/计数器计数器T0优先级设定位;优先级设定位;PX1(IP.2),外部中断),外部中断0优先级设定位;优先级设定位;PT1(IP.3),定时),定时/计数器计数器T1优先级设定位;优先级设定位;PS (IP.4),串行口优先级设定位;),串行口优先级设定位;PT2 (IP.5) ,定时,定时/计数器计数器T2优先级设定位。优先级设定位。PX0(IPH.0),外部中断),外部中断0优先级设定位;优先级设定位;P
14、T0(IPH.1),定时),定时/计数器计数器T0优先级设定位;优先级设定位;PX1(IPH.2),外部中断),外部中断0优先级设定位;优先级设定位;PT1(IPH.3),定时),定时/计数器计数器T1优先级设定位;优先级设定位;PS (IPH.4),串行口优先级设定位;),串行口优先级设定位;PT2 (IPH.5) ,定时,定时/计数器计数器T2优先级设定位。优先级设定位。而而80C52单片机有四个中断优先级,即可实现四级单片机有四个中断优先级,即可实现四级中断服务嵌套。每个中断源的中断优先级由中断优中断服务嵌套。每个中断源的中断优先级由中断优先级寄存器先级寄存器IP和和IPH中的相应位的状
15、态来规定的中的相应位的状态来规定的 。 同一优先级中的中断申请不止一个时,则有中同一优先级中的中断申请不止一个时,则有中断优先权排队问题。同一优先级的中断优先权排队,断优先权排队问题。同一优先级的中断优先权排队,由中断系统硬件确定的自然优先级形成,其排列如由中断系统硬件确定的自然优先级形成,其排列如所示:所示:设置设置52单片机的单片机的4个中断源个中断源,使他们的优顺使他们的优顺序为序为T1,INT1,INT0,T0.IPH = 0X08;PT1 = 1;IP = 0X40;PX1 = 1;80C51单片机的中断优先级有三条原则:单片机的中断优先级有三条原则:CPU同时接收到几个中断时,同时
16、接收到几个中断时,首先响应优先级别最首先响应优先级别最高的中断请求高的中断请求。正在进行的中断过程正在进行的中断过程不能被新的同级或低优先级的不能被新的同级或低优先级的中断请求所中断中断请求所中断。正在进行的低优先级中断服务,正在进行的低优先级中断服务,能被高优先级中断能被高优先级中断请求所中断请求所中断。 为了实现上述后两条原则,为了实现上述后两条原则,中断系统内部设有两中断系统内部设有两个用户不能寻址的优先级状态触发器。个用户不能寻址的优先级状态触发器。其中一个置其中一个置1,表示正在响应高优先级的中断,它将阻断后来所,表示正在响应高优先级的中断,它将阻断后来所有的中断请求;另一个置有的中
17、断请求;另一个置1,表示正在响应低优先级,表示正在响应低优先级中断,它将阻断后来所有的低优先级中断请求。中断,它将阻断后来所有的低优先级中断请求。3.2 80C51单片机中断处理过程单片机中断处理过程 中断响应条件中断响应条件 中断源有中断请求;中断源有中断请求; 此中断源的中断允许位为此中断源的中断允许位为1; CPU开中断(即开中断(即EA=1)。)。以上三条同时满足时,以上三条同时满足时,CPU才有可能响应才有可能响应中断中断。3.2.1 3.2.1 中断响中断响应条件和条件和时间 3.3 80C51的定时的定时/计数器计数器 实现定时功能,实现定时功能,比较方便的办法是利用单比较方便的
18、办法是利用单片机内部的定时片机内部的定时/计数器计数器。也可以采用下面三。也可以采用下面三种方法:种方法:软件定时软件定时:软件定时不占用硬件资源,但占用了:软件定时不占用硬件资源,但占用了CPU时间,降低了时间,降低了CPU的利用率。的利用率。采用时基电路定时采用时基电路定时:例如采用:例如采用555电路,外接必要电路,外接必要的元器件(电阻和电容),即可构成硬件定时电路。的元器件(电阻和电容),即可构成硬件定时电路。但在硬件连接好以后,定时值与定时范围不能由软但在硬件连接好以后,定时值与定时范围不能由软件进行控制和修改,即不可编程。件进行控制和修改,即不可编程。采用可编程芯片定时采用可编程
19、芯片定时:这种定时芯片的定时值及定:这种定时芯片的定时值及定时范围很容易用软件来确定和修改,此种芯片定时时范围很容易用软件来确定和修改,此种芯片定时功能强,使用灵活。在单片机的定时功能强,使用灵活。在单片机的定时/计数器不够用计数器不够用时,可以考虑进行扩展。时,可以考虑进行扩展。3.3.1 3.3.1 定定时/ /计数器的数器的结构和工作原理构和工作原理 一、定时一、定时/计数器的结构计数器的结构 定时定时/计数器的实质是加计数器的实质是加1计数器(计数器(16位),由高位),由高8位和低位和低8位两个寄存器组成。位两个寄存器组成。TMOD是定时是定时/计数器的工作方式寄存计数器的工作方式寄
20、存器,确定工作方式和功能;器,确定工作方式和功能;TCON是控制寄存器,控制是控制寄存器,控制T0、T1的启动和停止及设置溢出标志的启动和停止及设置溢出标志。 二、定时二、定时/计数器的工作原理计数器的工作原理 加加1计数器计数器输入的计数脉冲有两个来源输入的计数脉冲有两个来源,一个是由一个是由系统的时钟振荡器输出脉冲经系统的时钟振荡器输出脉冲经12分频后送来;一个分频后送来;一个是是T0或或T1引脚输入的外部脉冲源。每来一个脉冲计引脚输入的外部脉冲源。每来一个脉冲计数器加数器加1,当加到计数器为全,当加到计数器为全1时,再输入一个脉冲时,再输入一个脉冲就使计数器回零,且计数器的溢出使就使计数
21、器回零,且计数器的溢出使TCON中中TF0或或TF1置置1,向,向CPU发出中断请求(定时发出中断请求(定时/计数器中计数器中断允许时)。如果定时断允许时)。如果定时/计数器工作于定时模式,计数器工作于定时模式,则表示定时时间已到;如果工作于计数模式,则表则表示定时时间已到;如果工作于计数模式,则表示计数值已满。示计数值已满。 可见,由溢出时计数器的值减去计数初值才是加可见,由溢出时计数器的值减去计数初值才是加1计数器的计数值计数器的计数值。 设置为定时器模式时设置为定时器模式时,加,加1计数器是对内部机器周期计数器是对内部机器周期计数(计数(1个机器周期等于个机器周期等于12个振荡周期,即计
22、数频率个振荡周期,即计数频率为晶振频率的为晶振频率的1/12)。)。计数值计数值N乘以机器周期乘以机器周期Tcy就就是定时时间是定时时间t 。设置为设置为计数器模式时计数器模式时,外部事件计数脉冲由,外部事件计数脉冲由T0或或T1引脚输入到计数器。在每个机器周期的引脚输入到计数器。在每个机器周期的S5P2期间采期间采样样T0、T1引脚电平。当某周期采样到一高电平输入,引脚电平。当某周期采样到一高电平输入,而下一周期又采样到一低电平时,则计数器加而下一周期又采样到一低电平时,则计数器加1,更,更新的计数值在下一个机器周期的新的计数值在下一个机器周期的S3P1期间装入计数期间装入计数器。由于检测一
23、个从器。由于检测一个从1到到0的下降沿需要的下降沿需要2个机器周期,个机器周期,因此要求被采样的电平至少要维持一个机器周期。当因此要求被采样的电平至少要维持一个机器周期。当晶振频率为晶振频率为12MHz时时,最高计数频率不超过,最高计数频率不超过1/2MHz,即计数脉冲的周期要大于,即计数脉冲的周期要大于2 s。 3.3.2 定时定时/计数器的控计数器的控制制 80C51单片机定时单片机定时/计数器的工作由两个特殊功计数器的工作由两个特殊功能寄存器控制。能寄存器控制。TMOD用于设置其工作方式;用于设置其工作方式;TCON用于控制其启动和中断申请。用于控制其启动和中断申请。一、工作方式寄存器一
24、、工作方式寄存器TMOD 工作方式寄存器工作方式寄存器TMOD用于设置定时用于设置定时/计数器的计数器的工作方式,低四位用于工作方式,低四位用于T0,高四位用于,高四位用于T1。其格式。其格式如下:如下:GATE:门控位。:门控位。GATE0时,只要用软件使时,只要用软件使TCON中的中的TR0或或TR1为为1,就可以启动定时,就可以启动定时/计数器工作;计数器工作;GATA1时,时,要用软件使要用软件使TR0或或TR1为为1,同时外部中断引脚或也为高电,同时外部中断引脚或也为高电平时,才能启动定时平时,才能启动定时/计数器工作。即此时定时器的启动多计数器工作。即此时定时器的启动多了一条件。了
25、一条件。 :定时定时/计数模式选择位。计数模式选择位。 0为定时模式;为定时模式; =1为计数模式。为计数模式。M1M0:工作方式设置位。定时:工作方式设置位。定时/计数器有四种工作方式,计数器有四种工作方式,由由M1M0进行设置。进行设置。 二、控制寄存器二、控制寄存器TCON TCON的低的低4位用于控制外部中断位用于控制外部中断,已在前面介绍。已在前面介绍。TCON的高的高4位用于位用于控制定时控制定时/计数器的启动和中断申请。其格式如下:计数器的启动和中断申请。其格式如下:TF1(TCON.7):):T1溢出中断请求标志位。溢出中断请求标志位。T1计数溢出时由硬件自计数溢出时由硬件自动
26、置动置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
27、):):T0溢出中断请求标志位,其功能与溢出中断请求标志位,其功能与TF1类同。类同。TR0(TCON.4):):T0运行控制位,其功能与运行控制位,其功能与TR1类同。类同。 3.3.3 定时定时/计数器的工作方式计数器的工作方式 一、方式一、方式0 方式方式0为为13位计数位计数,由,由TL0的低的低5位(高位(高3位未用)和位未用)和TH0的的8位组成。位组成。TL0的低的低5位溢出时向位溢出时向TH0进位,进位,TH0溢出时,溢出时,置位置位TCON中的中的TF0标志,向标志,向CPU发出中断请求。发出中断请求。定时器模式时定时器模式时有有:Nt/ Tcy 计数初值计算的公式为:计数初
28、值计算的公式为:定时器的初值还可以采用计数个数直接取补法获得定时器的初值还可以采用计数个数直接取补法获得。计数模式时,计数脉冲是计数模式时,计数脉冲是T0引脚上的外部脉冲。引脚上的外部脉冲。门控位门控位GATE具有特殊的作用。当具有特殊的作用。当GATE=0时,经反相后使时,经反相后使或门输出为或门输出为1,此时仅由,此时仅由TR0控制与门的开启,与门输出控制与门的开启,与门输出1时,控制开关接通,计数开始;时,控制开关接通,计数开始;当当GATE=1时时,由外中断引,由外中断引脚信号控制或门的输出,此时控制脚信号控制或门的输出,此时控制与门的开启由外中断引脚与门的开启由外中断引脚信号和信号和
29、TR0共同控制共同控制。当。当TR0=1时,外中断引脚信号引脚的时,外中断引脚信号引脚的高电平启动计数高电平启动计数,外中断引脚信号引脚的,外中断引脚信号引脚的低电平停止计数低电平停止计数。这种方式常用来测量外中断引脚上正脉冲的宽度。这种方式常用来测量外中断引脚上正脉冲的宽度。 二、方式二、方式1 方式方式1的计数位数是的计数位数是16位,由位,由TL0作为低作为低8位、位、TH0作为高作为高8位,组成了位,组成了16位加位加1计数器计数器 。计数个数与计数初值的关系为:计数个数与计数初值的关系为: 三、方式三、方式2 方式方式2为自动重装初值的为自动重装初值的8位计数方式。位计数方式。 工作
30、方式2特别适合于用作较精确的脉冲信号发生器。 计数个数与计数初值的关系为计数个数与计数初值的关系为: 四、方式四、方式3 方式方式3只适用于定时只适用于定时/计数器计数器T0,定时器定时器T1处于方式处于方式3时相当时相当于于TR1=0,停止计数。,停止计数。 工作方式工作方式3将将T0分成为两个独立的分成为两个独立的8位计数器位计数器TL0和和TH0 。 3.3.5 定时定时/计数器应用举例计数器应用举例 初始化程序应完成如下工作:初始化程序应完成如下工作:对对TMOD赋值,以确定赋值,以确定T0和和T1的工作方式。的工作方式。计算初值计算初值,并将其写入并将其写入TH0、TL0或或TH1、
31、TL1。中断方式时,则对中断方式时,则对IE赋值,开放中断。赋值,开放中断。使使TR0或或TR1置位,启动定时置位,启动定时/计数器定时或计数。计数器定时或计数。 例例 利用定时利用定时/计数器计数器T1的方式的方式1,产生,产生10ms的定时,的定时,并使并使P1.0引脚上输出周期为引脚上输出周期为20ms的方波,采用中的方波,采用中断方式,设系统时钟频率为断方式,设系统时钟频率为12 MHz。解:解:1、计算计数初值、计算计数初值X:由于晶振为由于晶振为12 MHz,所以机器周期,所以机器周期Tcy为为1 s。所以:所以:Nt/ Tcy 10000/110000X6553610000555
32、36D8F0H即应将即应将D8H送入送入TH0中,中,F0H送入送入TL0中中 2、求、求T1的方式控制字的方式控制字TMOD: M1M0=01,GATE=0,C/T=0,可取方式控制,可取方式控制字为字为01H;1、利用定时、利用定时/计数器计数器T0从从P1.0输出周期为输出周期为1s的方波,的方波,让发光二极管以让发光二极管以1HZ闪烁,设晶振频率为闪烁,设晶振频率为12MHz。2、利用定时、利用定时/计数器计数器T1产生定时时钟产生定时时钟,由由P1口控制口控制8个发光二极管个发光二极管,使使8个指示灯依次一个一个闪动,闪个指示灯依次一个一个闪动,闪动频率为动频率为10次次/秒秒(8个灯依次亮一遍为一个周期个灯依次亮一遍为一个周期),循环。循环。3、同时用两个定时器控制蜂鸣器发声,定时器、同时用两个定时器控制蜂鸣器发声,定时器0控控制频率,定时器制频率,定时器1控制同个频率持续的时间,间隔控制同个频率持续的时间,间隔300ms依次输出依次输出1,10,50,100,200,400,800,1k(hz)的方波。)的方波。4、用定时器以间隔、用定时器以间隔500MS在在6位数码管上依次显示位数码管上依次显示0、1、2、3.C、D、E、F,重复。,重复。