ChapterMCS中断系统定时计数器串行口_第1页
ChapterMCS中断系统定时计数器串行口_第2页
ChapterMCS中断系统定时计数器串行口_第3页
ChapterMCS中断系统定时计数器串行口_第4页
ChapterMCS中断系统定时计数器串行口_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、机械电子工程学院机械电子工程学院第第5章章 MCS-51定时定时/计数器、计数器、串行口及中断系统串行口及中断系统5.2 MCS-51定时定时/计数器计数器5.3 MCS-51串行口串行口5.1 MCS-51单片机中断系统单片机中断系统机械电子工程学院机械电子工程学院5.1 MCS-51单片机中断系统单片机中断系统中断的概念:中断的概念: 中断是计算机工作过程的随机事件。中断是计算机工作过程的随机事件。中断源:中断源: 引起中断的事件或设备称为引起中断的事件或设备称为中断源中断源。采用中断的优点:采用中断的优点: 分时操作分时操作 实时处理实时处理 故障处理故障处理如:如: 良好的中断系统使处

2、理机具有随机应变的能力,从良好的中断系统使处理机具有随机应变的能力,从而扩大应用范围,提高而扩大应用范围,提高CPU效率。效率。51中断系统的特点:中断系统的特点:内容丰富,结构合理,逻辑性强,高效实用。内容丰富,结构合理,逻辑性强,高效实用。中断请求中断请求CPU机械电子工程学院机械电子工程学院5.1.1 中断的一般功能中断的一般功能1、中断的、中断的屏蔽屏蔽与与开放开放中断屏蔽:中断屏蔽: 称为关中断,称为关中断,CPU不响应中断请求。不响应中断请求。称为开中断,称为开中断,CPU可响应中断请求。可响应中断请求。中断开放:中断开放:2、中断响应与中断返回、中断响应与中断返回RETI主程序主

3、程序响应中断响应中断中断服务子程序中断服务子程序返主程序返主程序继续执行主程序继续执行主程序中断的响应与返回中断的响应与返回PC断点断点中断允许中断允许中断禁止中断禁止中断请求中断请求机械电子工程学院机械电子工程学院3、中断优先、中断优先 中断开放的情况下,如果有几个中断请求同时发生,中断开放的情况下,如果有几个中断请求同时发生,应首先响应中断优先级较高的中断。应首先响应中断优先级较高的中断。4、中断嵌套、中断嵌套低级中断请求低级中断请求RETI主程序主程序响应低级中断响应低级中断高级中断服务子程序高级中断服务子程序返主程序返主程序继续执行主程序继续执行主程序高级中断请求高级中断请求响应高级中

4、断响应高级中断返低级中断返低级中断中断的嵌套示意图中断的嵌套示意图RETI低级中断服务子程序低级中断服务子程序低级中断服务子程序低级中断服务子程序挂起挂起低级中断低级中断挂起挂起低级中断低级中断低级低级中断中断低级低级中断中断5.1.1 中断的一般功能中断的一般功能机械电子工程学院机械电子工程学院5.1.2 中断请求源中断请求源 5个中断源个中断源2个优先级个优先级2个外部中断个外部中断3个内部中断个内部中断INT0( P3.2 )INT1( P3.3 )T0T1UART 与中断有关的特殊功能寄存器与中断有关的特殊功能寄存器:IP: 中断优先控制寄存器中断优先控制寄存器IE: 中断允许控制寄存

5、器中断允许控制寄存器TCON: 定时定时/计数控制寄存器计数控制寄存器SCON: UART控制寄存器控制寄存器中断请求中断请求标志寄存器标志寄存器可编程可编程,可控可控MCS 51中断要点中断要点机械电子工程学院机械电子工程学院1、定时、定时/计数器控制寄存器计数器控制寄存器TCON TCON (88H)TF1 TF0 IE1 IT1 IE0 IT0 INT1 INT0触发方式控制位触发方式控制位0 低电平触发低电平触发1 边沿边沿触发触发 INT1 INT0外部中断请求标志外部中断请求标志1 有有效触发时有有效触发时0 当当CPU响应中断时响应中断时T1 T0溢出标志溢出标志1 计数器计数器

6、“+1”有溢出时,并向有溢出时,并向CPU请求中请求中断断0 当当CPU响应中断时,也可由指令清除响应中断时,也可由指令清除TR1 TR0由硬件由硬件自动自动由硬件由硬件自动自动中断请求标志中断请求标志可编程控制位可编程控制位TR1 TR0由硬件由硬件自动自动由硬件由硬件自动自动在每个机器周期在每个机器周期 S5P2都采样引脚都采样引脚 P3.3 P3.2引脚引脚00记录有无中断记录有无中断记录有无中断记录有无中断5.1.2 中断请求源中断请求源机械电子工程学院机械电子工程学院2、串行口控制寄存器、串行口控制寄存器 SCONTI:串行口发送中断标志:串行口发送中断标志在方式在方式0,串行发送到

7、第,串行发送到第8位结束时,由硬件置位结束时,由硬件置“1”;或在其他方式中,串行发送到停止位的开始时,由或在其他方式中,串行发送到停止位的开始时,由硬件置硬件置“1”。RI:串行口接收中断标志:串行口接收中断标志在方式在方式0,串行接收到第,串行接收到第8位结束时,由硬件置位结束时,由硬件置“1”;或在其他方式中,串行接收到停止位的开始时,由或在其他方式中,串行接收到停止位的开始时,由硬件置硬件置“1”。“1” 发送完一帧数据后发送完一帧数据后“1” 接收完一帧数据后接收完一帧数据后必须由软件清必须由软件清 “0” SCON (98H) TI RI5.1.2 中断请求源中断请求源必须由软件清

8、必须由软件清 “0”机械电子工程学院机械电子工程学院01/0 1/01/011/01/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/001串行通信的数据格式串行通信的数据格式:一帧数据:一帧数据:一个字符在异步传送中称为一帧数据。一个字符在异步传送中称为一帧数据。一帧数据由一帧数据由4部分组成:部分组成: 起始位起始位、数据位、数据位、奇偶位奇偶位、停止位停止位一帧数据一帧数据起始位起始位数据位数据位奇偶位奇偶位停止位停止位起始位起始位数据位数据位停止位停止位第第n个字符个字符第第n+1个字符个字符LSBMSB附加位附加位n-1奇偶位奇偶位通信协议通信协议5.1.2 中断请求

9、源中断请求源机械电子工程学院机械电子工程学院5.1.3 中断控制中断控制1、中断允许寄存器、中断允许寄存器 IE EA / / ES ET1 EX1 ET0 EX0INT0INT1T1T0UARTCPU0 禁止禁止1 允许允许0 禁止禁止1 允许允许 总总 中断中断中断中断IE(A8)中断的中断的开放开放和和禁止禁止是是可控,可编程的。可控,可编程的。ET2T2CPUIE 的相应位被置的相应位被置 “0” 或或 “1”, 该相应中断即被该相应中断即被“禁止禁止”或或“开放开放”。机械电子工程学院机械电子工程学院2、中断优先级寄存器、中断优先级寄存器 IP / / / PS PT1 PX1 PT

10、0 PX0IP(B8)ET2INT0INT1T1T0UART0 低级低级1 高级高级中断中断T2中断中断优先级优先级是可是可控控,可编程的。可编程的。3、优先级结构、优先级结构中断优先级控制遵循的两个基本原则:中断优先级控制遵循的两个基本原则: 一个正在执行的低级中断服务程序,能被高优先级一个正在执行的低级中断服务程序,能被高优先级 中断请求所中断,但不能被同优先级中断请求所中断。中断请求所中断,但不能被同优先级中断请求所中断。 一个正在执行的高级中断服务程序,不能被任何中断一个正在执行的高级中断服务程序,不能被任何中断 请求所中断,直到返回。请求所中断,直到返回。5.1.3 中断控制中断控制

11、机械电子工程学院机械电子工程学院实现这两个原则的方法:实现这两个原则的方法: 中断系统内部设置了两个不可寻址的优先级状态触发中断系统内部设置了两个不可寻址的优先级状态触发器。一个指出正在处理的是:高优先级中断,并阻止所有器。一个指出正在处理的是:高优先级中断,并阻止所有其他中断;另一个指出正在处理的是:低优先级中断,并其他中断;另一个指出正在处理的是:低优先级中断,并阻止了除高优先级中断外的其他任何中断。阻止了除高优先级中断外的其他任何中断。高优先级高优先级状态触发器状态触发器低优先级低优先级状态触发器状态触发器是不可寻址的是不可寻址的当当CPU响应响应高级中断,高级中断,并进入中断并进入中断

12、服务时服务时“1”“1”RETI“0”当当CPU响应响应低级中断,低级中断,并进入中断并进入中断服务时服务时“1”RETI“0”无条件的无条件的5.1.3 中断控制中断控制机械电子工程学院机械电子工程学院 在同级的几个中断源中同时发生请求时,内部对同在同级的几个中断源中同时发生请求时,内部对同级的各中断源的优先级别有一个规定的查询顺序:级的各中断源的优先级别有一个规定的查询顺序:外部中断请求外部中断请求 INT0定时定时/计数器计数器 T0定时定时/计数器计数器 T1串行口串行口 UART定时定时/计数器计数器 T2外部中断请求外部中断请求 INT1最高最高最低最低自自然然优优先先级级自然优先

13、级自然优先级由硬件查询逻辑完成。由硬件查询逻辑完成。5.1.3 中断控制中断控制机械电子工程学院机械电子工程学院源允许源允许中断系统总体逻辑结构中断系统总体逻辑结构总允许总允许优先级优先级自自然然优优先先级级中断源中断源自自然然优优先先级级中断源中断源查询硬件查询硬件查询硬件查询硬件 低级低级中断请求中断请求送送CPU 矢量矢量地址送地址送PC IPIETCON SCONEX0ET0EX1ET1ESEAINT0INT1T0T1RXTXRITIIE0IE1TF0TF1 IT1 011010101010矢量矢量地址送地址送PC 高级高级中断请求中断请求送送CPUIT0 01中断标志中断标志中断中断

14、标志标志INT01IE0自自然然优优先先级级矢量矢量地址送地址送PC“+1”TF10自自然然优优先先级级 矢量矢量地址送地址送PCEA“+1”“+1”EX0ET11PX0PT0PX1PT1P S“+1”“+1”5.1.3 中断控制中断控制机械电子工程学院机械电子工程学院5.1.4 中断响应过程中断响应过程中断响应的三个条件:中断响应的三个条件: CPU不是正在处理同级或高级中断请求。不是正在处理同级或高级中断请求。 现行机器周期不是所执行指令的最后一个机器周期。现行机器周期不是所执行指令的最后一个机器周期。 正在执行的指令不是正在执行的指令不是RETI, 或不在访问或不在访问IE或或IP。 外

15、部中断请求外部中断请求INT0 定时定时/计数器计数器T0溢出溢出 定时定时/计数器计数器T1溢出溢出 串行口串行口UART 定时定时/计数器计数器T2溢出溢出 外部中断请求外部中断请求INT1中断入口地址:中断入口地址:0003H000BH0013H001BH0023H002BH中断源中断源排除法排除法机械电子工程学院机械电子工程学院5.1.5 外部中断响应时序与触发方式外部中断响应时序与触发方式1、外部中断响应时序、外部中断响应时序M1M3M4M5M2S5P1S5P2INTi被采样并被采样并锁存到锁存到IE0 IE1中中CPU进行进行中断查询中断查询保护断点保护断点,长调用至入口长调用至入

16、口中断服务中断服务1)中断响应顺利,不受阻,需要)中断响应顺利,不受阻,需要3个机器周期。个机器周期。2)如果中断受阻,则需要)如果中断受阻,则需要38个机器周期。个机器周期。即满足上述三个条件即满足上述三个条件 正在处理同级或高级中断,这要视中断服务正在处理同级或高级中断,这要视中断服务程序程序的长短。的长短。 执行的指令不是最后一个机器周期,等待不超过执行的指令不是最后一个机器周期,等待不超过3个周期。个周期。 正在执行指令是正在执行指令是RETI,或正访问,或正访问IE、IP,则需返回主程序后,则需返回主程序后,再执行一条主程序的指令才能响应该中断,等待不超过再执行一条主程序的指令才能响

17、应该中断,等待不超过5个周期。个周期。机械电子工程学院机械电子工程学院2、外部中断触发方式、外部中断触发方式 电平触发方式电平触发方式 边沿触发方式边沿触发方式 若外部中断若外部中断(当(当ITX = 0时)时)被定义为电平触发方式。其有被定义为电平触发方式。其有效触发为效触发为低电平低电平,该低电平,该低电平维持维持到到CPU响应该中断为止,中断响应该中断为止,中断返回之前,必须变为高电平。否则返回之前,必须变为高电平。否则CPU将再次响应该中断。将再次响应该中断。 若外部中断若外部中断(当(当ITX = 1时)时)被定义为边沿触发方式。其有效被定义为边沿触发方式。其有效触发为触发为下降沿下

18、降沿。在该触发方式中,。在该触发方式中,CPU在一个机器周期采样为高在一个机器周期采样为高电平,在下一机器周期采样为低电平电平,在下一机器周期采样为低电平,就立即置位外部中断请求就立即置位外部中断请求标志。标志。 无论是那种触发发方式,只要有无论是那种触发发方式,只要有有效触发有效触发,都会,都会记录记录在相应在相应的中断的中断标志位标志位中,中, 若若CPU即使暂不响应,中断标志也不会丢失,即使暂不响应,中断标志也不会丢失,直到直到CPU响应该中断,该标志才会响应该中断,该标志才会清除清除。5.1.5 外部中断响应时序与触发方式外部中断响应时序与触发方式机械电子工程学院机械电子工程学院5.1

19、.6 多个外部中断源的设计多个外部中断源的设计1、利用定时、利用定时/计数器作外部中断输入使用的方法计数器作外部中断输入使用的方法T0作为外部中断源的初始化程序:作为外部中断源的初始化程序:MOV TMOD,#06HMOV TL0,#0FFHMOV TH0,#0FFHSETB EASETB ET0SETB TR0;T0计数方式,自动装载计数方式,自动装载;置计数初值置计数初值;T0开中断开中断;CPU开中断开中断;启动启动T0工作工作计数器计数器“+1”计数器计数器向向CPU发中断请求发中断请求向向CPU发中断请求发中断请求TF0FFHT0FFH方式方式2(8位)位)FFHFFHTF000HF

20、FHFFHP3.4机械电子工程学院机械电子工程学院2、中断与查询相结合的方法、中断与查询相结合的方法8051INT0INT1P1.3P1.2P1.1P1.0DVT0DVT1DVT2DVT3DVT410K+5V扩展多个外部中断扩展多个外部中断最高级最高级最低级最低级“线或线或”5.1.6 多个外部中断源的设计多个外部中断源的设计机械电子工程学院机械电子工程学院PINT1: PUSH PSWPUSH ACCJB P1.0, PDVT1JB P1.1, PDVT2JB P1.2, PDVT3JB P1.3, PDVT4PINTR: POP ACCPOP PSWRETI;进入中断后;进入中断后;注意保

21、护现场;注意保护现场;依次查询判断;依次查询判断;若是干扰信号引起;若是干扰信号引起;返主程序前;返主程序前;注意恢复现场;注意恢复现场;的中断请求;的中断请求,可被滤掉可被滤掉外部中断外部中断INT1的中断服务程序:的中断服务程序:5.1.6 多个外部中断源的设计多个外部中断源的设计机械电子工程学院机械电子工程学院PDVT1: AJMP PINTRPDVT2: AJMP PINTRPDVT3: AJMP PINTRPDVT4: AJMP PINTR;DVT1中断服务中断服务;DVT2中断服务中断服务;DVT3中断服务中断服务;DVT4中断服务中断服务中断处理中断处理5.1.6 多外部中断源的

22、设计多外部中断源的设计机械电子工程学院机械电子工程学院5.1.7 用软件模拟第三个中断优先级用软件模拟第三个中断优先级 在中断优先级寄存器在中断优先级寄存器IP中定义两个中断优先级:高优中定义两个中断优先级:高优先级、低优先级。先级、低优先级。低优先级低优先级的中断服务程序如下:的中断服务程序如下:机械电子工程学院机械电子工程学院40H41H42H43H44H *PCL *PCHPCL主主PCH主主IEPUSH IEMOV IE, #MASKLCALL LABELDVT1:中断服务中断服务POP IERETLABEL:RETI;保护保护IE;置屏蔽字置屏蔽字;调用子程序调用子程序;执行中断服务

23、执行中断服务;恢复恢复IE;子程序返回,真正的中断返回子程序返回,真正的中断返回;中断返回,中断返回,CPU被欺骗被欺骗 误认为返回主程序误认为返回主程序SPSPSPSP*PCSPSP*PC低优先级低优先级状态触发器状态触发器“1”LABELLABEL:SPSP*PCCPU认为已经返主认为已经返主“0”SPPC返主返主SPSP又又可可被被低低级级中中断断请请求求中中断断堆栈堆栈又又可可被被低低级级中中断断请请求求中中断断机械电子工程学院机械电子工程学院5.2 MCS-51定时定时/计数器计数器51系列内部有系列内部有2个个16位的定时位的定时/计数器计数器T0、T1。52系列内部有系列内部有3

24、个个16位的定时位的定时/计数器计数器T0、T1、T2。功能:功能:定时定时计数计数串行口的波特率发生器串行口的波特率发生器定时定时/计数器的可编程特性:计数器的可编程特性: 确定其工作方式是定时还是计数。确定其工作方式是定时还是计数。 预置定时或计数初值。预置定时或计数初值。 当定时时间到(或计数终止时),要不要发中断请求。当定时时间到(或计数终止时),要不要发中断请求。 如何启动定时(或计数)器工作如何启动定时(或计数)器工作 。可编程可编程机械电子工程学院机械电子工程学院1、结构、结构CPUTH1(8位位) TL1 (8位位)T1 T1(P 3.5)(8DH)(8BH)7 07 0TH0

25、(8位位) TL0 (8位位)T0 T0(P 3.4)(8CH)(8AH)7 07 0TCON(88H)TMOD(89H)启启动动 启启动动 溢溢出出溢溢出出工工作作方方式式工作方式工作方式定时定时/计数器逻辑结构计数器逻辑结构“+1”“+1”5.2.1 定时定时/计数器的结构与工作原理计数器的结构与工作原理机械电子工程学院机械电子工程学院结构结构2个个16位位T/C分别由分别由8位计数器位计数器TH0、TL0、 TH1、TL1组成。组成。“+1” 计数器计数器控制寄存器控制寄存器TCON:控制:控制T/C的启停、中断等。的启停、中断等。方式寄存器方式寄存器TMOD:控制:控制T/C的工作方式

26、。的工作方式。2、工作原理、工作原理 定时器定时器定时输入信号:机器内部振荡信号的定时输入信号:机器内部振荡信号的1/12分频。分频。即每即每一个机器周期一个机器周期做一次做一次“+1”运算。运算。T0T1 5.2.1 定时定时/计数器的结构与工作原理计数器的结构与工作原理机械电子工程学院机械电子工程学院1个机器周期个机器周期=12振荡脉冲振荡脉冲计数速率为振荡频率的计数速率为振荡频率的1/12分频分频若单片机的晶振主频为若单片机的晶振主频为12MHz,则计数周期为则计数周期为1s。 计数器计数器由外部引脚(由外部引脚(T0为为P3.4 ,T1为为P3.5)输入计数脉冲。)输入计数脉冲。外部输

27、入脉冲宽度应大于外部输入脉冲宽度应大于2个机器周期。(个机器周期。(S5P2、S5P2、S3P1)T CYT CY外部输入脉冲发生负外部输入脉冲发生负 跳变时,进行跳变时,进行“+1”计数。计数。下降沿下降沿高电平高电平低电平低电平T CY:为机器周期为机器周期5.2.1 定时定时/计数器的结构与工作原理计数器的结构与工作原理机械电子工程学院机械电子工程学院OSCP1 P2 P1 P2P1 P2P1 P2P1 P2 P1 P2S1S2S3S4S5S6机器周期机器周期机器周期机器周期XTAL25.2.1 定时定时/计数器的结构与工作原理计数器的结构与工作原理采样采样机械电子工程学院机械电子工程学

28、院1、方式寄存器、方式寄存器TMODGATE C/TM1M0GATE C/T M1 M0LSBMSB (89H)TMOD控制控制T1控制控制T0门控位门控位功能选择位功能选择位工作方式选择工作方式选择5.2.2 定时定时/计数器的方式寄存器和控制寄存器计数器的方式寄存器和控制寄存器机械电子工程学院机械电子工程学院GATE: 门控位。设定门控位。设定T1、T0运行时,是否受运行时,是否受GATEC/TM1M0GATEC/TM1 M0INT1(P3.2) INT0(P3.2)引脚输入电平的控制。)引脚输入电平的控制。GATE= 0 不受外部中断控制不受外部中断控制 C/T= 0 0 方式方式0 1

29、3位计数器位计数器 0 1 方式方式1 16位计数器位计数器 1 0 方式方式2 可自动可自动重新装载重新装载初值初值的的8位计数器位计数器 1 1 方式方式3 T0分为分为2个个8位计数器,位计数器,T1停止计数停止计数M1M0操作方式操作方式功功 能能表表5-1 操作方式选择操作方式选择1 受外部中断控制受外部中断控制 0为定时功能为定时功能 1为计数功能为计数功能5.2.2 定时定时/计数器的方式寄存器和控制寄存器计数器的方式寄存器和控制寄存器机械电子工程学院机械电子工程学院2、控制寄存器、控制寄存器TCONLSBMSB (88H)TCONTF1TR1TF0TR0IE1IT1IE0IT0

30、T1、T0 启启/停控制位停控制位T1、T0 溢出标志位溢出标志位与外部中断与外部中断INT1、INT0有关有关“0” 停止停止“1” 启动启动“1” 有溢出有溢出“0” 无溢出无溢出可编程可编程 可控制可控制“+1”亦可由指令清亦可由指令清“0”工作工作记录有无溢出记录有无溢出5.2.2 定时定时/计数器的方式寄存器和控制寄存器计数器的方式寄存器和控制寄存器机械电子工程学院机械电子工程学院1、方式、方式0 (M1M0=00)13位的定时计数器,由位的定时计数器,由TH的的8位和位和TL的低的低5位组成。位组成。T1(P 3.5)GATETR1INT1振荡器振荡器12TL15位位TH18位位T

31、F1中中断断KC/T=0C/T=1控制控制定时定时/计数器方式计数器方式0逻辑图逻辑图111“+1”中中断断TL40以以T1为例:为例:13位计数器位计数器TF1“+1”“+1”5.2.3 定时定时/计数器的计数器的4种工作方式种工作方式机械电子工程学院机械电子工程学院2、方式、方式1(M1M0=01)16位的定时计数器,由位的定时计数器,由TH的的8位和位和TL的的8位组成。位组成。T1(P 3.5)GATETR1INT1振荡器振荡器12TL18位位TH18位位TF1中中断断KC/T=0C/T=1控制控制定时定时/计数器方式计数器方式1逻辑图逻辑图16位计数器位计数器“+1”1以以T1为例:

32、为例:中中断断TF1“+1”“+1”5.2.3 定时定时/计数器的计数器的4种工作方式种工作方式机械电子工程学院机械电子工程学院3、方式、方式2(M1M0=10)可可自动自动重装载重装载的的8位计数器位计数器TH1(TH0)被定义为赋值寄存器)被定义为赋值寄存器TL1(TL0)被定义为计数器)被定义为计数器定时定时/计数器方式计数器方式2逻辑图逻辑图 T1(P3.5) GATETR1 INT1振荡器振荡器12TL18位位TF1中中断断KC/T=0C/T=1控制控制TH18位位重装载重装载重装载重装载1“+1”以以T1为例:为例:中中断断TL1 8位位TF1“+1”“+1”5.2.3 定时定时/

33、计数器的计数器的4种工作方式种工作方式机械电子工程学院机械电子工程学院4、 方式方式3(M1M0=11)T0被分成被分成2个相互独立的个相互独立的8位计数器位计数器TL0 、TH0。TL0使用自己本身的一些控制位使用自己本身的一些控制位C/T、GATE、TR0、TF0、INT0等。等。可做定时器也可做计数器可做定时器也可做计数器。TH0只能做定时器只能做定时器,并使用,并使用T1的控制位的控制位TR1、TF1,同时占,同时占用用T1的中断源。的中断源。方式方式3只适用于只适用于T0。T1不能工作在方式不能工作在方式3。5.2.3 定时定时/计数器的计数器的4种工作方式种工作方式机械电子工程学院

34、机械电子工程学院振荡器振荡器121/12foscTL08位位TF0中中断断KC/T=0C/T=1控制控制1/12fosc T0(P3.4)GATETR0INT0KTH08位位TF1中中断断控制控制1/12foscTR1定时定时/计数器方式计数器方式3逻辑图逻辑图1TH0借用了借用了T1的的TR1和和TF1,因此控制了,因此控制了T1的中断。的中断。此时此时T1只能用在一些不需要中断的情况下。只能用在一些不需要中断的情况下。“+1”“+1”1“+1”“+1”TF0TF1 中中 断断 中中 断断“+1”5.2.3 定时定时/计数器的计数器的4种工作方式种工作方式机械电子工程学院机械电子工程学院初始

35、化一般有以下几个步骤:初始化一般有以下几个步骤: 确定工作方式,对方式寄存器确定工作方式,对方式寄存器TMOD赋值。赋值。 预置定时或计数初值,直接将其写入预置定时或计数初值,直接将其写入T0、T1中。中。 根据需要对中断允许寄存器有关位赋值,以开放根据需要对中断允许寄存器有关位赋值,以开放 或禁止定时或禁止定时/计数器中断。计数器中断。 启动定时启动定时/计数器,将计数器,将TRi 赋值为赋值为“1”。计数初值的设定:计数初值的设定:最大计数值最大计数值M:不同的工作方式:不同的工作方式M值不同值不同方式方式0: M = 213 = 8192方式方式1: M = 216 = 65536方式方

36、式2、3:M = 28 = 2565.2.4 定时定时/计数器的初始化计数器的初始化机械电子工程学院机械电子工程学院计数初值计数初值X的计算方法:的计算方法:计数方式:计数方式:X = M计数值(计数值(X即为计数值的补码数即为计数值的补码数)定时方式:定时方式:(M X)T = 定时值定时值 X = M定时值定时值 / T其中其中T为机器周期,时钟的为机器周期,时钟的12分频,分频,若晶振为若晶振为6MHz,则,则T = 2s;若晶振为若晶振为12MHz,则,则T = 1s。5.2.4 定时定时/计数器的初始化计数器的初始化机械电子工程学院机械电子工程学院例例1 若单片机晶振为若单片机晶振为

37、12MHz, 要求产生要求产生500s定时,试计算定时,试计算X的初值。的初值。解:解:由于由于T = 1s,产生,产生500s定时,定时, 需要需要“+1” 500次,定时器方能产生溢出。次,定时器方能产生溢出。采用方式采用方式0:( 13位计数器位计数器 )X= 213(50010-6 /10-6 ) = 8192 500 = 7692 = 1E0CH = F00CH采用方式采用方式1:( 16位计数器位计数器 )X= 216 (50010-6 /10-6)= 65036 = FE0CH?1 1 1 1 0 0 0 00 0 0 0 1 1 0 0THiTLiD7D6D50 0 0不用不用

38、F00CH =?暂时写成暂时写成5.2.4 定时定时/计数器的初始化计数器的初始化机械电子工程学院机械电子工程学院1、作定时器用、作定时器用例例2 设主频为设主频为12MHz,利用定时器,利用定时器T1定时。定时。 使使P1.0输出周期为输出周期为2ms的方波。的方波。解:解:用用P1.0作方波输出信号,周期为作方波输出信号,周期为2ms的方波的方波 即可用每即可用每1ms改变一次电平的方法完成,改变一次电平的方法完成, 故定时值可设置为故定时值可设置为1ms。 可做可做“+1”运算运算1000次,使次,使T1工作在方式工作在方式0, 即即13位计数器。位计数器。定时初值:定时初值:X= M计

39、数次数计数次数= 81921000 = 7192 = 1C18H5.2.5 定时定时/计数器应用举例计数器应用举例机械电子工程学院机械电子工程学院由于由于TL1的高的高3位不用,位不用,1C18H可写成:可写成:1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0TL1的高的高3位不用位不用=E018HTH1初值为初值为E0H,TL1初值为初值为18HGATE C/TM1M0控制控制T1控制控制T0 0 0 0 0选择方式选择方式0,13位计数器位计数器选择定时器方式选择定时器方式INT1不参与控制不参与控制TMOD=E018H5.2.5 定时定时/计数器应用举例计数器应用举例机械电

40、子工程学院机械电子工程学院MOV TMOD,#0MOV TH1, #0E0HMOV TL1, #18HSETB EASETB ET1SETB TR1SJMP $ORG 001BHAJMP BR1BR1: MOV TH1, #0E0HMOV TL1, #18HCPL P1.0RETI;T1按方式按方式0工作工作;给计数器赋初值给计数器赋初值;CPU开中断开中断;T1允许中断允许中断;启动启动T1;模拟主程序模拟主程序;T1中断入口中断入口;转转T1中断服务中断服务;重装重装T1的初值的初值;输出方波输出方波;返回返回程序:程序:5.2.5 定时定时/计数器应用举例计数器应用举例机械电子工程学院机

41、械电子工程学院例例3 根据例根据例2的要求产生周期为的要求产生周期为2ms的方波,的方波, 但不用中断方式,而用查询方式工作,但不用中断方式,而用查询方式工作, 查询标志为查询标志为TF1。解:解:利用方式利用方式1,16位计数器,当定时时间到,位计数器,当定时时间到, T1计数器溢出使计数器溢出使TF1置置“1”,由于不采用,由于不采用 中断方式,中断方式,TF1置置“1”后,不会自动复后,不会自动复“0” 故需要指令给故需要指令给TF1清清“0”。初值初值=0 0 0 0 H-) 0 3 E 8 H81CFHFC18H 10005.2.5 定时定时/计数器应用举例计数器应用举例机械电子工程

42、学院机械电子工程学院MOV TMOD, #10HSETB TR1 LOOP: MOV TH1, #0FCHMOV TL1, #18HJNB TF1, $CPL P1.0CLR TF1SJMP LOOP;T1按方式按方式1工作工作;启动启动T1定时定时;给计数器赋初值给计数器赋初值;TF1=0,则继续查询,则继续查询;TF10;输出方波输出方波;返回返回程序:程序:5.2.5 定时定时/计数器应用举例计数器应用举例机械电子工程学院机械电子工程学院2、作计数器用、作计数器用例例4 用用T0监视一生产流水线,每生产监视一生产流水线,每生产100个工件,个工件,发出一包装命令,包装成一箱,并记录其箱数

43、。发出一包装命令,包装成一箱,并记录其箱数。MCS-51 P1.0 T0Vcc包装机包装机包装命令包装命令100个个光源光源光光敏敏5.2.5 定时定时/计数器应用举例计数器应用举例机械电子工程学院机械电子工程学院GATE C/TM1M0控制控制T1控制控制T0TMOD选方式选方式2选计数器选计数器INT0不参与控制不参与控制0 1 1 0 计数初值计数初值X = M64H = 9CH 用用P1.0启动外设发包装命令启动外设发包装命令 用用R5R4作箱数计数器作箱数计数器 方式字方式字TMOD = 06H5.2.5 定时定时/计数器应用举例计数器应用举例机械电子工程学院机械电子工程学院程序:程

44、序:MOV TMOD, #6MOV P1.0, #0MOV R5, #0MOV R4, #0MOV TH0, #9CHMOV TL0, #9CHSETB EASETB ET0SETB TR0SJMP $ORG 000BHAJMP COUNT;P1.0为低为低;箱数计数器清箱数计数器清“0”;置置T0工作方式工作方式;计数初值送计数器计数初值送计数器;T0开中断开中断;CPU开中断开中断;启动启动T0;模拟主程序模拟主程序;T0中断入口中断入口;转向中断服务转向中断服务5.2.5 定时定时/计数器应用举例计数器应用举例机械电子工程学院机械电子工程学院 COUNT: MOV A, R4ADD A,

45、 #1MOV R4, AMOV A, R5ADDC A, #0MOV R5, ASETB P1.0MOV R3, #100 DLY: NOPDJNZ R3, DLYCLR P1.0RETI中断服务:中断服务:;箱计数器加箱计数器加“1”;启动外设包装启动外设包装;给外设足够时间给外设足够时间;延时延时;停止包装停止包装;中断返回中断返回5.2.5 定时定时/计数器应用举例计数器应用举例;先在低字节加先在低字节加“1”机械电子工程学院机械电子工程学院3、门控位、门控位GATE的应用的应用GATE C/TM1M0控制控制T1控制控制T0TMOD选方式选方式1选定时器方式选定时器方式INT1为高时,

46、为高时,T1开始计数开始计数1 0 0 1例例5 用用GATE 控制位,测量控制位,测量INT1(P3.3)引脚上正脉冲的)引脚上正脉冲的宽度(设:晶振为宽度(设:晶振为12MHz)。)。5.2.5 定时定时/计数器应用举例计数器应用举例机械电子工程学院机械电子工程学院T1(P3.5)GATETR1INT1振荡器振荡器12TL18位位TH18位位TF1中中断断KC/T=0C/T=1控制控制16位计数器位计数器“+1”1INT1INT1为高时为高时T1开始计数开始计数INT1 为低时为低时T1停止计数停止计数00111宽度宽度65ms计数值计数值 即即s数数1“+1”“+1”0005.2.5 定

47、时定时/计数器应用举例计数器应用举例机械电子工程学院机械电子工程学院INT1INT1为高时为高时T1开始计数开始计数INT1 为低时为低时T1停止计数停止计数MOV TMOD, #90HMOV TL1, #0MOV TH1, #0 JB P3.3, $ SETB TR1JNB P3.3, $JB P3.3, $CLR TR1:程序:程序:;置置T1方式控制字方式控制字;T1从从0开始计数开始计数;等等INT1低电平低电平;T1允许计数允许计数;等等INT1高电平高电平;等等INT1低电平低电平;停止计数停止计数“与与”计数时间计数时间5.2.5 定时定时/计数器应用举例计数器应用举例机械电子工

48、程学院机械电子工程学院5.3 MCS-51串行口串行口串行通信:串行通信:指数据一位一位按顺序传送指数据一位一位按顺序传送串行通信方式:串行通信方式:单工单工半双工半双工全双工全双工MCS-51内部有一个全双工的串行通信接口。内部有一个全双工的串行通信接口。串行通信:串行通信:异步通信异步通信同步通信同步通信机械电子工程学院机械电子工程学院5.3.1 串行通信的两种基本方式串行通信的两种基本方式1、异步传送方式、异步传送方式一帧数据:一帧数据:一个字符在异步传送中称为一帧数据。一个字符在异步传送中称为一帧数据。一帧数据由一帧数据由4部分组成:部分组成:起始位、数据位、奇偶位、停止位起始位、数据

49、位、奇偶位、停止位1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/001一帧数据一帧数据起始位起始位数据位数据位奇偶位奇偶位停止位停止位01/0 1/0 1/0起始位起始位数据位数据位11/0停止位停止位第第n个字符个字符第第n+1个字符个字符LSBMSB机械电子工程学院机械电子工程学院为逻辑为逻辑“0”信号,占用一位,用来通知接收设备,信号,占用一位,用来通知接收设备,一个新的字符开始了。一个新的字符开始了。数据位:数据位:起始位:起始位:奇偶位:奇偶位:58位。数据的最低位在前,最高位在后。位。数据的最低位在前,最高位在后。紧跟在最高位之后,占用一位,奇偶校验时,紧跟在

50、最高位之后,占用一位,奇偶校验时,根据协议置根据协议置“1”或或“0”。停止位:停止位:为逻辑为逻辑“1”信号,占用信号,占用1位或位或2位,当接收端收位,当接收端收到停止位时,表示一帧数据结束。到停止位时,表示一帧数据结束。2、同步传送方式、同步传送方式数据块开始有数据块开始有12同步字符同步字符SYNC,后面是按顺,后面是按顺序传送的数据块。序传送的数据块。数据结构:数据结构:5.3.1 串行通信的两种基本方式串行通信的两种基本方式机械电子工程学院机械电子工程学院5.3.2 MCS-51串行口结构串行口结构1、数据缓冲器、数据缓冲器SBUF包括物理上独立的发送缓冲器、接收缓冲器。包括物理上

51、独立的发送缓冲器、接收缓冲器。发送缓冲器:只能发送缓冲器:只能写入写入不能读出不能读出接收缓冲器:只能接收缓冲器:只能读出读出不能写入不能写入二者共用一个地址二者共用一个地址99H2、串行口控制寄存器、串行口控制寄存器字节地址为字节地址为98H,可位寻址,位地址为,可位寻址,位地址为98H9FH。SM0 SM1 SM2 REN TB8 RB8 TI RISCON (98H)D7D0机械电子工程学院机械电子工程学院SM0 SM1 SM2 REN TB8 RB8 TI RISCON (98H)D7D0SM0、SM1:串行口工作方式选择位,如下表所示。:串行口工作方式选择位,如下表所示。 0 0 0

52、 移位寄存器方式(用于移位寄存器方式(用于I/O扩展)扩展) 0 1 1 8位位UART,波特率可变,波特率可变 1 0 2 9位位UART,波特率为,波特率为fosc/32或或fosc/64 1 1 3 9位位UART,波特率可变,波特率可变SM0 SM1 方式方式功功 能能串行口工作方式串行口工作方式5.3.2 MCS-51串行口结构串行口结构允许接收控制位。允许接收控制位。由软件置由软件置“1”时,允许接收,置时,允许接收,置“0”时,禁止接收。时,禁止接收。REN:机械电子工程学院机械电子工程学院TB8: 在方式在方式2和方式和方式3中要发送的第中要发送的第9位数据,需要时由位数据,需

53、要时由软件置软件置1或置或置0。RB8:在方式在方式2和方式和方式3中要接收的第中要接收的第9位数据。在方式位数据。在方式1时,时,如如SM2=0,RB8是接收到的停止位。在方式是接收到的停止位。在方式0中,中,不使用不使用RB8。TI:发送中断标志发送中断标志。在方式。在方式0串行发送串行发送第第8位位结束时由硬件结束时由硬件置置“1”,或在其他方式中串行发送,或在其他方式中串行发送停止位停止位的开始时置的开始时置“1”,必须由软件清必须由软件清“0”。RI:接收中断标志。接收中断标志。在方式在方式0串行串行接收到接收到第第8位位结束时结束时由硬由硬件置件置“1”,或在其他方式中串行,或在其

54、他方式中串行接收到接收到停止位的停止位的中间中间时置时置“1”,必须由软件清必须由软件清“0”。5.3.2 MCS-51串行口结构串行口结构机械电子工程学院机械电子工程学院SM0 SM1 SM2 REN TB8 RB8 TI RISCON (98H)D7D05.3.2 MCS-51串行口结构串行口结构SM2:允许方式:允许方式2和方式和方式3多机通信控制位。多机通信控制位。 在方式在方式2或方式或方式3中,如中,如SM2=1,则接收到的第,则接收到的第9位数据位数据(RB8)为)为“1”时,置位接收中断标志时,置位接收中断标志RI;如;如SM2=0,则,则RB8无无论为何值,均置位论为何值,均

55、置位RI。 在方式在方式1时,如时,如SM2=1,则只有在接收到有效,则只有在接收到有效停止位停止位时才置时才置位位RI,若没有接收到有效停止位,则,若没有接收到有效停止位,则RI清清“0”。 在方式在方式0中,中,SM2必须为必须为“0”。机械电子工程学院机械电子工程学院3、特殊功能寄存器、特殊功能寄存器PCON其字节地址其字节地址87H,没有位寻址功能。,没有位寻址功能。PCON(87H)SMODSMOD:波特率选择位。:波特率选择位。SMOD=1时,波特率加倍。时,波特率加倍。5.3.2 MCS-51串行口结构串行口结构机械电子工程学院机械电子工程学院5.3.3 串行口工作方式串行口工作

56、方式1、方式、方式0移位寄存器输入输出方式,可外接移位寄存器,以扩展并行移位寄存器输入输出方式,可外接移位寄存器,以扩展并行I/O口。口。方式方式0的波特率为:的波特率为:波特率波特率=fosc/128051RXDTXD74LS1643 4 5 6 1011 1213数据输出数据输出移位脉冲移位脉冲1)方式)方式0 发送发送 一个数据写入一个数据写入SBUF,串口将数据从,串口将数据从RXD输出(波特率输出(波特率fosc/12),),TXD输出同步移位信号,发送完输出同步移位信号,发送完TI置置1。D7 D0方式方式0扩展扩展I/O口硬件逻辑图口硬件逻辑图机械电子工程学院机械电子工程学院2)

57、方式)方式0 接收接收 REN置置1,串口将数据从,串口将数据从RXD输入(波特率输入(波特率fosc/12),),TXD输出同步移位信号,接收完输出同步移位信号,接收完RI置置1。8051RXDTXD74LS1653 4 5 61411 1213数据输入数据输入移位脉冲移位脉冲D7 D0方式方式0扩展扩展I/O口硬件逻辑图口硬件逻辑图5.3.3 串行口工作方式串行口工作方式机械电子工程学院机械电子工程学院方式方式0发送时序发送时序ALEWRITE TO SBUFSENDD0D1D2D3D4D5D6D7SHIFTRXDT1S6P2TXDS3P1S5P15.3.3 串行口工作方式串行口工作方式机

58、械电子工程学院机械电子工程学院方式方式0接收时序接收时序ALEWRITE TO SBUFRECEIVESHIFTRXDTXDR1D0D1D3D4D5D6D7D2S5P25.3.3 串行口工作方式串行口工作方式机械电子工程学院机械电子工程学院2、方式、方式1波特率可变的波特率可变的8位异步通信接口方式。位异步通信接口方式。波特率波特率=2SMOD/32T1溢出率溢出率1)方式)方式1发送发送CPU 执行一条写执行一条写SBUF指令,就启动了串口发送。指令,就启动了串口发送。当当SEND和和DATA有效时,数据从有效时,数据从TXD输出。输出。2)方式)方式1接收接收 允许接收位允许接收位REN被

59、置被置“1”后,接收器就开始工作,跳变后,接收器就开始工作,跳变检测器以波特率检测器以波特率16倍的速率采样倍的速率采样RXD端的电平,端的电平,RXD引脚引脚上发生由上发生由“1”到到“0”的跳变,接收器开始接收。的跳变,接收器开始接收。5.3.3 串行口工作方式串行口工作方式机械电子工程学院机械电子工程学院TX CLOCKWRITE TO SBUFSENDDATAD0D1D2D3D4D5D6D7START BITSTOP BITSHIFTTXDTI 方式方式1发送时序发送时序5.3.3 串行口工作方式串行口工作方式机械电子工程学院机械电子工程学院TX CLOCKSTART BITSTOP

60、BITSHIFTRXDD0D1D2D3D4D5D6D7BIT DETECTOR SAMPLE TIMESRI方式方式1接收时序接收时序5.3.3 串行口工作方式串行口工作方式机械电子工程学院机械电子工程学院3、方式、方式29位异步通信接口方式。传送一帧数据信息为位异步通信接口方式。传送一帧数据信息为11位。位。波特率波特率=2SMOD/64fosc1)方式)方式2发送发送 数据由数据由TXD端输出,附加的第端输出,附加的第9位数据由位数据由SCON中的中的TB8提供。提供。 CPU 执行一条写执行一条写SBUF指令,就启动了串口发指令,就启动了串口发送,发送完送,发送完TI置置1。2)方式)方

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论