《《单片机原理及应用》6.docx》由会员分享,可在线阅读,更多相关《《单片机原理及应用》6.docx(10页珍藏版)》请在第一文库网上搜索。
1、第六章:定时/计数器设计-电子秒表设计知识点思维导图+思政线由5座:中国人在计会K牛做谢贡忘:文化自信,民族自克课程通过倒计时的演示引入:珍借时间、遒纪守时、家国情怀工作原理定g比能r5JW现翳应用享殿五点:三事物5C王要矛质:哲学粳?定时器寄存器TMODICONifw单片机原理及应用课程教案第六章:定时/计数器设计-电子秒表设计器时间:场地:项目目的:1、了解单片机定时计数器的组成;2、掌握单片机定时计数器的工作方式;3、掌握单片机定时计数器的应用。思政目标:通过单片机的定时器的设计与应用,引申学生完成守时诚信等价值观的养成。重点难点:1、单片机定时计数器的组成;2、单片机定时计数器的工作方
2、式。实训设备:天煌单片机实训台,KEIC软件系统项目内容与步骤(教学时数:12学时)6.151单片机定时计数器的组成51单片机内部提供了两个16位可编程控制的定时计数器TO和T1,这两个定时计数器可以独立配置为定时器或者计数器。当被配置为定时器时,将按照预先设置好的长度运行一段时间后产生一个溢出中断;被配置为计数器时,如果单片机的外部中断引脚上检测到一个脉冲信号,该计数器加1,当达到预先设置好事件数目时,产生一个中断事件。51单片机的定时计数器由内部寄存器和外部引脚组成,如下图所示,TO(P3.4)引脚和T1(P3.5)引脚用于接收外部的脉冲信号。备注:课程思政元素:1)创新精神2)工匠精神3
3、)职业素养4)公德意识融入时机:1)定时器的多种实现方式:要求学生在教师设计的定时器基础上,根据单片定时计数器的4一外部引脚fq-31199P1OPDOP11PO1P!2P02PIJP03PMRMP15P05F16P06PP07INT1P20INTOP21P22T1P23TOP24P25EAVPP26P27X1X2RESETRXDTXDRDA1EPwFPSEX3938为34212426272810工机定时/计数器的特点设计出不同方式实现的定时器,逐步培养学生勇于探索、不断创新的精神;2)电子时钟设计要有一定的设计精度:进益求精的工匠精神;3)实训过程引导学生相互合作、爱护仪器设备,保持实训室干
4、净卫生,同时严格操作过程,保障安全用电流程,将公共道德、职业素养的培训也有机地融入理实一体教学中。4)设计电子闹钟:提示学生有按时到课?是否做到遵纪守时。融入方式和手6.251单片机定时计数器的寄存器6.2.1工作方式控制寄存器TMODTMOD是定时计数器的工作方式控制寄存器,通过对该寄存器的操作可以改变TO和T1的工作方式。该寄存器的内部结构和说明如下表所示,该寄存器不支持位寻址,单片机复位后被清零。位标号“位名称.描述7“GATE1.定时计数器1门控位.当GA1-0B.T1的运行只殳控制寄存器TCON中运行控制位TR1控制;当GATE1=I时候,TI的运行受到TR1和外部中断愉入引脚上电平
5、的双耋控制.&C/T小定时计数器1定时/计数方式选择位,当c/mo时,T1工作在计数状态下,此时计数脉冲来自T1W(P3.5),当弓I脚上检窝到一次负脉冲时候,计数器加1;当onf-时,TI工作在定时状态下,此时每过一个机器周期,定时器加P5“M1O-T1工作方式选择位.M1OMO1工作方式,000-O1U10103“仆MOP3,GATEO.定时计数器0门控位,H功能和GATE1相同.CZT(MM定时计数器0定时/计数选押位,其功能和C/T1#相同.1。M10TO工作方式选择位.其功能和MO1相同.0.M006.2.2控制寄存器TeONTCoN是定时计数器控制寄存器,其内部结构如下表所示,在5
6、1单片机复位后初始化值为所有位都被清零。位序号.位名称.说明.7pTF1.定时计数器I洛出标志位.其功能和TFO相同.&TR1.定时计数器I启动控制位,其功旎和TRO相同.aTFO.定时计数器。溢出标志位,该位被Ji位则说明单片机检测到了定时计数器0的浅出,并且PC自动跳转到该中断向入口,当单片机晌应中断后该位被硬件自动清除.QTRO.定时计数器0启动控制位,当该位被置位时启动定时计数器03“Eh外部中断I触发标志位,其功能和IEO相同.ITk外部中断I触发方式控制位,其功能和ITO相同.EO.外部中断O触发标志位,该位被位则说明单片机检测到了外部中断O,并且PC自动跌转到外部中断O中断向量入
7、口,当单片机晌应中断后该位被硬件自动清除,6O外部中断。触发方式控制位,叁位时为下降沿触发方式,清除时为低电平触发方式.6.2.3数据寄存器TH0、T10、和TH1、T11段:实训设计与操作:学生主体:通过实训项目的设计、仿真及调试过程实现;分析各组设计电子时钟的精度并进行改进;同时教师根据上课点名册提示上课从未迟到的学生名单,学生自我剖析自己的守时观念。本章学习的哲学思维:硬件结构的学习要抓主要矛盾;电路设计要注意软、硬件的辩证关系。TH0、T1O/TH1、T11分别是T0/T1的数据高位/低位寄存器,均为8位。当定时计数器收到一个驱动事件(定时、计数)后,对应的数据寄存器的内容加1,当数据
8、寄存器的值到达最大时,将产生一个溢出中断,在单片机复位后所有寄存器的值都被初始化为OXO0,这些寄存器都不能位寻址。6.351单片机定时计数器的工作方式6.3.1工作方式0当MKMO设定为“00”时,T0/T1工作于方式0,此时定时计数器的内部结构如下图所示。在工作方式0下,T0内部计数器为13位,由TH0/TH1的8位和T1o/T11的低5位组成;当T1o/T11溢出时将向THO/TH1进位,当THO/TH1溢出后则产生相应的溢出中断。工作方式下的驱动事件来源则由GATE位、C/T#位来控制。6.3.2工作方式1当MKMO设定为“01”时,T0/T1工作于方式1,此时定时计数器的内部结构如图
9、6,3所示。和工作方式0比较起来,工作方式1的唯一区别在于此时的内部计数器宽度为16位,分别由TH0/TH1的8位和T10/T11的8位组成,其溢出方式和驱动事件的来源和工作方式相同。51系列单片机的定时计数器采用加1计数的方式,即当接收到一个驱动事件时候计数器加1,当计数器溢出时候则产生相应的中断请求,第一个驱动事件到来时刻中断请求产生。6.3.3工作方式2当M1、W)设定为“10”时,T0/T1工作于工作方式2,此时定时计数器的内部结构如下图所示。定时计数器的工作方式2和前两种工作方式有很大的不同,工作方式2下的8位计数器的初始化数值可以被自动重新装入。在工作方式2下,T1O/T11为一个
10、独立的8位计数器,而THO/TH1用于存放时间常数,当T0/T1产生溢出中断时,THo/TH1中的初始化数值被自动地装入T1o/T11中。这种方式可以大大减少程序的工作量,但是其定时长度也大大减少,应用较多的场合是较短的重复定时或用作串行口的波特率发生器。6.3.4工作方式3当M1、MO设定为“11”时,TO工作于工作方式3,此时定时计数器的内部结构如下图所示。在这种工作方式下TO被拆分成了两个独立的8位计数器THO和T10,T1O使用To本身的控制和中断资源,而THO则占用了H的TRI和TFI作为启动控制位和溢出标志。在这种情况下,T1将停止运行并且其数据寄存器将保持其当前数值,所以设置TO
11、为工作方式3也可以代替复位TR1来关闭T1定时计数器。6.7. 3.5定时计数器的中断当51单片机的的中断控制寄存器IE中的EA位和ET0/ET1都被置“1”的时候,定时计数器0/1的中断被使能,在这种状态下,如果定时计数器0/1出现一个计数溢出事件,则会触发定时计数器中断事件。可以通过修改中断优先级寄存器IP中的PT0/PT1位来提高定时计数器的中断优先级,51单片机的定时计数器的中断处理函数的结构如下。void函数名(Void)interrupt1using寄存器编号这是定时计数器0的,如果是定时计数器则把中断标号修改为3即可(中断函数代码:6.451单片机定时计数器的使用6. 4.1使用
12、定时功能定时功能主要用途是根据基准时钟产生一定确定长度的时间信号,使用定时器的步骤一般如下。(1)根据需求合理地选择定时器工作方式。(2)根据工作方式和单片机的工作频率计算初始化值。(3)初始化定时器控制器TMOD。(4)写入初始化值、设置中断系统、启动定时器。(5)编写合理的中断服务程序,尤其需要注意是否需要重新装入初始化值。例6.1是利用51单片机的定时计数器0在P1I引脚上产生一个频率为IHz的方波信号的实例,51单片机的工作频率为12MHz。定时计数器。工作在工作方式。下,每隔ImS产生一次计时溢出中断,在中断服务子程序中将该引脚上的电平信号进行翻转,本实例的本质是使用定时计数器进行指
13、定时间长度间隔的定时操作。6.4.2使用计数功能当51单片机的定时计数器用于计数时,其计数驱动信号来自外部引脚TO(P3.4)和T1(P3.5),当这两个引脚上检查到一个负跳变的时候,其对应的计数寄存器加1。由于51单片机确认一个负跳变需要两个机器周期,所以外部的跳变产生频率不能够高于51单片机工作频率的1/2,否则就会丢失跳变或者检测不到任何跳变。在计数过程中,当前的计数值可以通过读相应的数据寄存器来得到。例6.4是一个利用单片机的定时计数器0来对外部脉冲进行计数的实例,外部脉冲加到51单片机的To引脚上,51单片机对这个脉冲进行计数,当达到预先设定的数值(200)时候,输出一个高电平把连接
14、到P1.1上的一个1ED小灯点亮,单片机的工作频率为12MHzo51单片机的定时计数器0工作在计数方式下,设置计数器初始化值从而使得当计数值达到200的时候产生一个计数器中断,在中断服务子程序内把1ED点亮。6.4.3使用门控信号当定时计数器的控制寄存器TMoD中的GATE0/GATE1被置位后,定时计数器T0/T1受到计数脉冲和单片机外部中断引脚INTO(P3.2)/INT1(P3.3)上的电平信号的联合控制。只有当外部中断引脚上为高电平并且TR0/TR1被启动时,定时计数器才工作。利用这种特性,可以方便地利用定时器来检测加在外部中断引脚上的脉冲宽度,也可以方便地利用计数器来检测在一定电平包
15、络中的脉冲信号,例6.6是一个门控信号的应用实例。一个需要检测的正脉冲加在51单片机的INTO引脚上,其宽度为Tp,51单片机的定时计数器0工作于工作方式1下,在INTO引脚上为低电平时置位TRO,但是此时定时计数器并不会立刻开始运行,当正跳变来到时,定时计数器开始运行,在负跳变时停止计数,这时候读出该数据寄存器中的数值即可。6.4.4定时计数器值的读取定时计数器在运行过程中,程序可能要求取得当前的定时值,但是由于TH0/TH1寄存器和T1O/T11寄存器是分开的,不可能同时读取,这就有可能由于在读取其中一个寄存器时另外一个寄存器正在改变而造成得到一个错误的数据。对于这种情况,在程序设计时可以考虑用小误差来代替大误差的情况,即用定时计数器的数据寄存器低位上的误差来代替高位上的误差。程序应该先读取定时器高8位数据