1、机械电子工程学院机械电子工程学院第第6章章 主要功能单元主要功能单元6.2 MCS-51定时定时/计数器计数器6.3 MCS-51串行口串行口6.1 MCS-51单片机中断系统单片机中断系统机械电子工程学院机械电子工程学院6.1.1 中断请求源中断请求源 5个中断源个中断源2个优先级个优先级2个外部中断个外部中断3个内部中断个内部中断INT0(P3.2)INT1(P3.3)T0T1UART 与中断有关的特殊功能寄存器与中断有关的特殊功能寄存器:IP:中断优先控制寄存器中断优先控制寄存器IE:中断允许控制寄存器中断允许控制寄存器TCON:定时定时/计数控制寄存器计数控制寄存器SCON:UART控
2、制寄存器控制寄存器中断请求中断请求标志寄存器标志寄存器可编程可编程,可控可控MCS 51中断要点中断要点6.1 MCS-51单片机中断系统单片机中断系统机械电子工程学院机械电子工程学院1、定时、定时/计数器控制寄存器计数器控制寄存器TCON TCON (88H)TF1 TF0 IE1 IT1 IE0 IT0 INT1 INT0触发方式控制位触发方式控制位0 低电平触发低电平触发1 边沿边沿触发触发 INT1 INT0外部中断请求标志外部中断请求标志1 有有效触发时有有效触发时0 当当CPU响应中断时响应中断时T1 T0溢出标志溢出标志1 计数器计数器“+1”有溢出时,并向有溢出时,并向CPU请
3、求中请求中断断0 当当CPU响应中断时,也可由指令清除响应中断时,也可由指令清除TR1 TR0由硬件由硬件自动自动由硬件由硬件自动自动中断请求标志中断请求标志可编程控制位可编程控制位TR1 TR0由硬件由硬件自动自动由硬件由硬件自动自动在每个机器周期在每个机器周期 S5P2都采样引脚都采样引脚 P3.3、P3.2引脚引脚00记录有无中断记录有无中断记录有无中断记录有无中断6.1.1 中断请求源中断请求源机械电子工程学院机械电子工程学院2、串行口控制寄存器、串行口控制寄存器 SCONTI:串行口发送:串行口发送(完完)中断标志中断标志在方式在方式0,串行发送到第,串行发送到第8位结束时,由硬件置
4、位结束时,由硬件置“1”;或在其他方式中,串行发送到停止位的开始时,由或在其他方式中,串行发送到停止位的开始时,由硬件置硬件置“1”。RI:串行口接收:串行口接收(好好)中断标志中断标志在方式在方式0,串行接收到第,串行接收到第8位结束时,由硬件置位结束时,由硬件置“1”;或在其他方式中,串行接收到停止位的开始时,由或在其他方式中,串行接收到停止位的开始时,由硬件置硬件置“1”。“1”发送完一帧数据后发送完一帧数据后“1”接收完一帧数据后接收完一帧数据后必须由软件清必须由软件清“0”SCON (98H)TI RI6.1.1 中断请求源中断请求源必须由软件清必须由软件清“0”机械电子工程学院机械
5、电子工程学院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奇偶位奇偶位通信协议通信协议6.1.1 中断请求源中断请求源机械电子工程学院机械电子工程学
6、院6.1.2 中断控制中断控制1、中断允许寄存器、中断允许寄存器 IE EA /ES ET1 EX1 ET0 EX0INT0INT1T1T0UARTCPU0 禁止禁止1 允许允许0 禁止禁止1 允许允许 总总 中断中断中断中断IE(A8)中断的中断的开放开放和和禁止禁止是是可控,可编程的。可控,可编程的。ET2T2CPUIE 的相应位被清的相应位被清“0”或置或置“1”,该相应中断即被该相应中断即被“禁止禁止”或或“开放开放”。机械电子工程学院机械电子工程学院2、中断优先级寄存器、中断优先级寄存器 IP /PS PT1 PX1 PT0 PX0IP(B8)ET2INT0INT1T1T0UART0
7、 低级低级1 高级高级中断中断T2中断中断优先级优先级可控、可编程可控、可编程3、优先级结构、优先级结构中断优先级控制遵循的两个基本原则:中断优先级控制遵循的两个基本原则:一个正在执行的低级中断服务程序,能被高优先级一个正在执行的低级中断服务程序,能被高优先级 中断请求所中断,但不能被同优先级中断请求所中断。中断请求所中断,但不能被同优先级中断请求所中断。一个正在执行的高级中断服务程序,不能被任何中断一个正在执行的高级中断服务程序,不能被任何中断 请求所中断,直到返回。请求所中断,直到返回。6.1.2 中断控制中断控制机械电子工程学院机械电子工程学院实现这两个原则的方法:实现这两个原则的方法:
8、中断系统内部设置了两个不可寻址的优先级状态触发中断系统内部设置了两个不可寻址的优先级状态触发器。一个指出正在处理的是:高优先级中断,并阻止所有器。一个指出正在处理的是:高优先级中断,并阻止所有其他中断;另一个指出正在处理的是:低优先级中断,并其他中断;另一个指出正在处理的是:低优先级中断,并阻止除高优先级中断外的其他任何中断。阻止除高优先级中断外的其他任何中断。高优先级高优先级状态触发器状态触发器低优先级低优先级状态触发器状态触发器是不可寻址的是不可寻址的当当CPU响应响应高级中断,高级中断,并进入中断并进入中断服务时服务时“1”“1”RETI“0”当当CPU响应响应低级中断,低级中断,并进入
9、中断并进入中断服务时服务时“1”RETI“0”无条件的无条件的6.1.2 中断控制中断控制机械电子工程学院机械电子工程学院 在同级的几个中断源中同时发生请求时,内部对同在同级的几个中断源中同时发生请求时,内部对同级的各中断源的优先级别有一个规定的查询顺序:级的各中断源的优先级别有一个规定的查询顺序:外部中断请求外部中断请求 INT0定时定时/计数器计数器 T0定时定时/计数器计数器 T1串行口串行口 UART定时定时/计数器计数器 T2外部中断请求外部中断请求 INT1最高最高最低最低自自然然优优先先级级自然优先级自然优先级由硬件查询逻辑完成。由硬件查询逻辑完成。6.1.2 中断控制中断控制机
10、械电子工程学院机械电子工程学院源允许源允许中断系统总体逻辑结构中断系统总体逻辑结构总允许总允许优先级优先级自自然然优优先先级级中断源中断源自自然然优优先先级级中断源中断源查询硬件查询硬件查询硬件查询硬件 低级低级中断请求中断请求送送CPU 矢量矢量地址送地址送PC IPIETCON SCONEX0ET0EX1ET1ESEAINT0INT1T0T1RXTXRITIIE0IE1TF0TF1 IT1 011010101010矢量矢量地址送地址送PC 高级高级中断请求中断请求送送CPUIT0 01中断标志中断标志中断中断标志标志INT01IE0自自然然优优先先级级矢量矢量地址送地址送PC“+1”TF1
11、0自自然然优优先先级级 矢量矢量地址送地址送PCEA“+1”“+1”EX0ET11PX0PT0PX1PT1P S“+1”“+1”6.1.2 中断控制中断控制机械电子工程学院机械电子工程学院6.1.3 中断响应过程中断响应过程中断响应的三个条件:中断响应的三个条件:CPU不是正在处理同级或高级中断请求。不是正在处理同级或高级中断请求。现行机器周期是所执行指令的最后一个机器周期。现行机器周期是所执行指令的最后一个机器周期。正在执行的指令不是正在执行的指令不是RETI(或(或RET),或不是在访问),或不是在访问IE或或IP。外部中断请求外部中断请求INT0 定时定时/计数器计数器T0溢出溢出 定时
12、定时/计数器计数器T1溢出溢出 串行口串行口UART 定时定时/计数器计数器T2溢出溢出 外部中断请求外部中断请求INT1中断入口地址:中断入口地址:0003H000BH0013H001BH0023H002BH中断源中断源排除法排除法机械电子工程学院机械电子工程学院6.1.4 外部中断响应时序与触发方式外部中断响应时序与触发方式1、外部中断响应时序、外部中断响应时序M1M3M4M5M2S5P1S5P2INTi被采样并被采样并锁存到锁存到IE0、IE1中中CPU进行进行中断查询中断查询保护断点保护断点,长调用至入口长调用至入口中断服务中断服务1)中断响应顺利,不受阻,需要)中断响应顺利,不受阻,
13、需要3个机器周期。个机器周期。2)如果中断受阻,则需要)如果中断受阻,则需要38个机器周期。个机器周期。即满足上述三个条件即满足上述三个条件 正在处理同级或高级中断,这要视中断服务正在处理同级或高级中断,这要视中断服务程序程序的长短。的长短。执行的指令不是最后一个机器周期,则等待不超过执行的指令不是最后一个机器周期,则等待不超过3个周期。个周期。正在执行指令是正在执行指令是RETI(RET)(双周期指令),或正访问)(双周期指令),或正访问IE、IP,则需返回主程序后,再执行一条主程序的指令才能响应该中,则需返回主程序后,再执行一条主程序的指令才能响应该中断,等待不超过断,等待不超过5个周期。
14、个周期。机械电子工程学院机械电子工程学院2、外部中断触发方式、外部中断触发方式 电平触发方式电平触发方式 边沿触发方式边沿触发方式 若外部中断若外部中断(当(当ITX=0时)时)被定义为电平触发方式。其有被定义为电平触发方式。其有效触发为效触发为低电平低电平,该低电平,该低电平维持维持到到CPU响应该中断为止,中断响应该中断为止,中断返回之前,必须变为高电平。否则返回之前,必须变为高电平。否则CPU将再次响应该中断。将再次响应该中断。若外部中断若外部中断(当(当ITX=1时)时)被定义为边沿触发方式。其有效被定义为边沿触发方式。其有效触发为触发为下降沿下降沿。在该触发方式中,。在该触发方式中,
15、CPU在一个机器周期采样为高在一个机器周期采样为高电平,在下一机器周期采样为低电平电平,在下一机器周期采样为低电平,就立即置位外部中断请求就立即置位外部中断请求标志。标志。无论是那种触发发方式,只要有无论是那种触发发方式,只要有有效触发有效触发,都会,都会记录记录在相应在相应的中断的中断标志位标志位中,中,若若CPU即使暂不响应,中断标志也不会丢失,即使暂不响应,中断标志也不会丢失,直到直到CPU响应该中断,该标志才会响应该中断,该标志才会清除清除。6.1.4 外部中断响应时序与触发方式外部中断响应时序与触发方式机械电子工程学院机械电子工程学院6.1.5 多个外部中断源的设计多个外部中断源的设
16、计1、利用定时、利用定时/计数器作外部中断输入使用的方法计数器作外部中断输入使用的方法T0作为外部中断源的初始化程序:作为外部中断源的初始化程序:MOV TMOD,#06HMOV TL0,#0FFHMOV TH0,#0FFHSETB EASETB ET0SETB TR0;T0计数方式,自动装载计数方式,自动装载;置计数初值置计数初值;T0开中断开中断;CPU开中断开中断;启动启动T0工作工作计数器计数器“+1”计数器计数器向向CPU发中断请求发中断请求向向CPU发中断请求发中断请求TF0FFHT0FFH方式方式2(8位)位)FFHFFHTF000HFFHFFHP3.4机械电子工程学院机械电子工
17、程学院2、中断与查询相结合的方法、中断与查询相结合的方法8051INT0INT1P1.3P1.2P1.1P1.0DVT0DVT1DVT2DVT3DVT410K+5V扩展多个外部中断扩展多个外部中断最高级最高级最低级最低级“线或线或”6.1.5 多个外部中断源的设计多个外部中断源的设计机械电子工程学院机械电子工程学院PINT1:PUSH PSWPUSH ACCJB P1.0,PDVT1JB P1.1,PDVT2JB P1.2,PDVT3JB P1.3,PDVT4PINTR:POP ACCPOP PSWRETI;进入中断后;进入中断后;注意保护现场;注意保护现场;依次查询判断;依次查询判断;若是干
18、扰信号引起;若是干扰信号引起;返主程序前;返主程序前;注意恢复现场;注意恢复现场;的中断请求;的中断请求,可被滤掉可被滤掉外部中断外部中断INT1的中断服务程序:的中断服务程序:6.1.5 多个外部中断源的设计多个外部中断源的设计机械电子工程学院机械电子工程学院PDVT1:AJMP PINTRPDVT2:AJMP PINTRPDVT3:AJMP PINTRPDVT4:AJMP PINTR;DVT1中断服务中断服务;DVT2中断服务中断服务;DVT3中断服务中断服务;DVT4中断服务中断服务中断处理中断处理6.1.5 多外部中断源的设计多外部中断源的设计机械电子工程学院机械电子工程学院6.1.6
19、 用软件模拟第三个中断优先级用软件模拟第三个中断优先级 在中断优先级寄存器在中断优先级寄存器IP中定义两个中断优先级:高优中定义两个中断优先级:高优先级、低优先级。先级、低优先级。低优先级低优先级的中断服务程序如下:的中断服务程序如下:机械电子工程学院机械电子工程学院40H41H42H43H44H *PCL *PCHPCL主主PCH主主IEPUSH IEMOV IE,#MASKLCALL LABELDVT1:中断服务中断服务POP IERETLABEL:RETI;保护保护IE;置屏蔽字,屏蔽当前中断置屏蔽字,屏蔽当前中断;调用子程序调用子程序;执行中断服务执行中断服务;恢复恢复IE;子程序返回
20、,真正的中断返回子程序返回,真正的中断返回;中断返回,中断返回,CPU被欺骗被欺骗 误认为返回主程序误认为返回主程序SPSPSPSP*PCSPSP*PC低优先级低优先级状态触发器状态触发器“1”LABELLABEL:SPSP*PCCPU认为已经返回主程序认为已经返回主程序“0”SPPC返主返主SPSP又又可可被被低低级级中中断断请请求求中中断断堆栈堆栈又又可可被被低低级级中中断断请请求求中中断断机械电子工程学院机械电子工程学院6.2 MCS-51定时定时/计数器计数器51系列内部有系列内部有2个个16位的定时位的定时/计数器计数器T0、T1。52系列内部有系列内部有3个个16位的定时位的定时/
21、计数器计数器T0、T1、T2。功能:功能:定时定时计数计数串行口的波特率发生器串行口的波特率发生器定时定时/计数器的可编程特性:计数器的可编程特性:可确定其工作方式是定时还是计数。可确定其工作方式是定时还是计数。预置定时或计数初值。预置定时或计数初值。当定时时间到(或计数终止时),要不要发中断请求。当定时时间到(或计数终止时),要不要发中断请求。如何启动定时(或计数)器工作如何启动定时(或计数)器工作 。可编程可编程机械电子工程学院机械电子工程学院1、结构、结构CPUTH1(8位位)TL1(8位位)T1 T1(P 3.5)(8DH)(8BH)7 07 0TH0(8位位)TL0(8位位)T0 T
22、0(P 3.4)(8CH)(8AH)7 07 0TCON(88H)TMOD(89H)启启动动 启启动动 溢溢出出溢溢出出工工作作方方式式工作方式工作方式定时定时/计数器逻辑结构计数器逻辑结构“+1”“+1”6.2.1 定时定时/计数器的结构与工作原理计数器的结构与工作原理机械电子工程学院机械电子工程学院结构结构2个个16位位T/C分别由分别由8位计数器位计数器TH0、TL0、TH1、TL1组成。组成。“+1”计数器计数器控制寄存器控制寄存器TCON:控制:控制T/C的启停、中断等。的启停、中断等。方式寄存器方式寄存器TMOD:控制:控制T/C的工作方式。的工作方式。2、工作原理、工作原理 定时
23、器定时器定时输入信号:机器内部振荡信号的定时输入信号:机器内部振荡信号的1/12分频。分频。即每即每一个机器周期一个机器周期做一次做一次“+1”运算。运算。T0T1 6.2.1 定时定时/计数器的结构与工作原理计数器的结构与工作原理机械电子工程学院机械电子工程学院1个机器周期个机器周期=12个振荡脉冲个振荡脉冲计数速率为振荡频率的计数速率为振荡频率的1/12分频分频若单片机的晶振主频为若单片机的晶振主频为12MHz,则计数周期为则计数周期为1s。计数器计数器由外部引脚(由外部引脚(T0为为P3.4,T1为为P3.5)输入计数脉冲。)输入计数脉冲。外部输入脉冲宽度应大于外部输入脉冲宽度应大于2个
24、机器周期。(个机器周期。(S5P2、S5P2、S3P1)TCYTCY外部输入脉冲发生负外部输入脉冲发生负 跳变时,进行跳变时,进行“+1”计数。计数。下降沿下降沿高电平高电平低电平低电平TCY:机器周期:机器周期6.2.1 定时定时/计数器的结构与工作原理计数器的结构与工作原理机械电子工程学院机械电子工程学院OSCP1 P2 P1 P2P1 P2P1 P2P1 P2 P1 P2S1S2S3S4S5S6机器周期机器周期机器周期机器周期XTAL26.2.1 定时定时/计数器的结构与工作原理计数器的结构与工作原理采样采样机械电子工程学院机械电子工程学院1、方式寄存器、方式寄存器TMODGATE C/
25、TM1M0GATE C/T M1 M0LSBMSB(89H)TMOD控制控制T1控制控制T0门控位门控位功能选择位功能选择位工作方式选择工作方式选择6.2.2 定时定时/计数器的方式寄存器和控制寄存器计数器的方式寄存器和控制寄存器机械电子工程学院机械电子工程学院GATE:门控位。设定门控位。设定T1、T0运行时,是否受运行时,是否受GATEC/TM1M0GATEC/TM1 M0INT1(P3.3)INT0(P3.2)引脚输入电平的控制。)引脚输入电平的控制。GATE=0 不受外部中断控制不受外部中断控制 C/T=0 0 方式方式0 13位计数器位计数器 0 1 方式方式1 16位计数器位计数器
26、 1 0 方式方式2 可自动可自动重新装载重新装载初值初值的的8位计数器位计数器 1 1 方式方式3 T0分为分为2个个8位计数器,位计数器,T1停止计数停止计数M1M0操作方式操作方式功功 能能表表5-1 操作方式选择操作方式选择1 受外部中断控制受外部中断控制 0为定时功能为定时功能 1为计数功能为计数功能6.2.2 定时定时/计数器的方式寄存器和控制寄存器计数器的方式寄存器和控制寄存器机械电子工程学院机械电子工程学院2、控制寄存器、控制寄存器TCONLSBMSB(88H)TCONTF1TR1TF0TR0IE1IT1IE0IT0T1、T0 启启/停控制位停控制位T1、T0 溢出标志位溢出标
27、志位与外部中断与外部中断INT1、INT0有关有关“0”停止停止“1”启动启动“1”有溢出有溢出“0”无溢出无溢出可编程可编程 可控制可控制“+1”亦可由指令清亦可由指令清“0”工作工作记录有无溢出记录有无溢出6.2.2 定时定时/计数器的方式寄存器和控制寄存器计数器的方式寄存器和控制寄存器机械电子工程学院机械电子工程学院1、方式、方式0(M1M0=00)13位的定时位的定时/计数器,由计数器,由TH的的8位位和和TL的的低低5位位组成。组成。T1(P 3.5)GATETR1INT1振荡器振荡器12TL15位位TH18位位TF1中中断断KC/T=0C/T=1控制控制定时定时/计数器方式计数器方
28、式0逻辑图逻辑图111“+1”中中断断TL40以以T1为例:为例:13位计数器位计数器TF1“+1”“+1”6.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为例:为例:中中断断TF1“+1”“+1”6.2.3 定时定时/计数器的计数
29、器的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”6.2.3 定时定时/计数器的计数器的4种工作方式种工作方式机械电子工程学院机械电子工程学院4
30、、方式方式3(M1M0=11)T0被分成被分成2个相互独立的个相互独立的8位计数器位计数器TL0、TH0。TL0使用使用T0本身的一些控制位本身的一些控制位C/T、GATE、TR0、TF0、INT0等。等。可做定时器也可做计数器可做定时器也可做计数器。TH0只能做定时器只能做定时器,并使用,并使用T1的控制位的控制位TR1、TF1,同时占,同时占用用T1的中断服务子程序入口(的中断服务子程序入口(001BH)。)。方式方式3只适用于只适用于T0。T1不能工作在方式不能工作在方式3(如果(如果T1被设置为被设置为方式方式3,T1将停止计数)。将停止计数)。6.2.3 定时定时/计数器的计数器的4
31、种工作方式种工作方式机械电子工程学院机械电子工程学院振荡器振荡器12fosc/12TL08位位TF0中中断断KC/T=0C/T=1控制控制fosc/12 T0(P3.4)GATETR0INT0KTH08位位TF1中中断断控制控制fosc/12TR1定时定时/计数器方式计数器方式3逻辑图逻辑图1TH0借用了借用了T1的的TR1和和TF1,因此控制了,因此控制了T1的中断。的中断。此时此时T1只能用在一些不需要中断的情况。只能用在一些不需要中断的情况。“+1”“+1”1“+1”“+1”TF0TF1 中中 断断 中中 断断“+1”6.2.3 定时定时/计数器的计数器的4种工作方式种工作方式机械电子工
32、程学院机械电子工程学院初始化一般有以下几个步骤:初始化一般有以下几个步骤:确定工作方式,对方式寄存器确定工作方式,对方式寄存器TMOD赋值。赋值。预置定时或计数初值,直接将其写入预置定时或计数初值,直接将其写入TH0、TL0、TH1、TL1中。中。根据需要对中断允许寄存器有关位赋值,以开放根据需要对中断允许寄存器有关位赋值,以开放 或禁止定时或禁止定时/计数器中断。计数器中断。将将TRi 置为置为“1”,启动定时,启动定时/计数器。计数器。计数初值的设定:计数初值的设定:最大计数值最大计数值M:不同的工作方式:不同的工作方式M值不同值不同方式方式0:M=213=8192方式方式1:M=216=
33、65536方式方式2、3:M=28=2566.2.4 定时定时/计数器的初始化计数器的初始化机械电子工程学院机械电子工程学院计数初值计数初值X的计算方法:的计算方法:计数方式:计数方式:X=M计数值(计数值(X即为计数值的补码数即为计数值的补码数)定时方式:定时方式:(M X)T=定时值定时值 X=M定时值定时值/T其中其中T为机器周期,时钟的为机器周期,时钟的12分频,分频,若晶振为若晶振为6MHz,则,则T=2s;若晶振为若晶振为12MHz,则,则T=1s。6.2.4 定时定时/计数器的初始化计数器的初始化机械电子工程学院机械电子工程学院例例1 若单片机晶振为若单片机晶振为12MHz,要求
34、产生要求产生500s定时,试计算定时,试计算X的初值。的初值。解:解:由于由于T=1s,产生,产生500s定时,定时,需要需要“+1”500次,定时器方能产生溢出。次,定时器方能产生溢出。采用方式采用方式0:(13位计数器位计数器)X=213(50010-6/10-6)=8192 500=7692=1E0CH=0F00CH采用方式采用方式1:(16位计数器位计数器)X=216(50010-6/10-6)=65036=0FE0CH?1 1 1 1 0 0 0 00 0 0 0 1 1 0 0THiTLiD7D6D50 0 0不用不用0F00CH=?暂时写成暂时写成6.2.4 定时定时/计数器的初
35、始化计数器的初始化机械电子工程学院机械电子工程学院1、作定时器用、作定时器用例例2 设主频为设主频为12MHz,利用定时器,利用定时器T1定时。定时。使使P1.0输出周期为输出周期为2ms的方波。的方波。解:解:用用P1.0作方波输出信号,周期为作方波输出信号,周期为2ms的方波的方波 即可用每即可用每1ms改变一次电平的方法完成,改变一次电平的方法完成,故定时值可设置为故定时值可设置为1ms。可做可做“+1”运算运算1000次,使次,使T1工作在工作在方式方式0,即即13位计数器。位计数器。定时初值:定时初值:X=M计数次数计数次数=81921000=7192=1C18H6.2.5 定时定时
36、/计数器应用举例计数器应用举例机械电子工程学院机械电子工程学院由于由于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=E018H6.2.5 定时定时/计数器应用举例计数器应用举例机械电子工程学院机械电子工程学院MOV TMOD,#00HMOV TH1,#0E0HMOV
37、 TL1,#18HSETB EASETB ET1SETB TR1SJMP$ORG 001BHAJMP BR1BR1:MOV TH1,#0E0HMOV TL1,#18HCPL P1.0RETI;T1按方式按方式0工作工作;给计数器赋初值给计数器赋初值;CPU开总中断开总中断;T1允许中断允许中断;启动启动T1;模拟主程序模拟主程序;T1中断入口中断入口;转转T1中断服务中断服务;重装重装T1的初值的初值;输出方波输出方波;返回返回程序:程序:6.2.5 定时定时/计数器应用举例计数器应用举例ORG 0100H机械电子工程学院机械电子工程学院例例3 根据例根据例2的要求产生周期为的要求产生周期为2
38、ms的方波,的方波,但不用中断方式,而用查询方式工作,但不用中断方式,而用查询方式工作,查询标志为查询标志为TF1。解:解:利用方式利用方式1,16位计数器,当定时时间到,位计数器,当定时时间到,T1计数器溢出使计数器溢出使TF1置置“1”,由于不采用,由于不采用 中断方式,中断方式,TF1置置“1”后,不会自动复后,不会自动复“0”故需要指令给故需要指令给TF1清清“0”。初值初值=0 0 0 0 H-)0 3 E 8 H81CFHFC18H 10006.2.5 定时定时/计数器应用举例计数器应用举例机械电子工程学院机械电子工程学院MOV TMOD,#10HSETB TR1 LOOP:MOV
39、 TH1,#0FCHMOV TL1,#18HJNB TF1,$CPL P1.0CLR TF1SJMP LOOP;T1按方式按方式1工作工作;启动启动T1定时定时;给计数器赋初值给计数器赋初值;TF1=0,则继续查询,则继续查询;TF10;输出方波输出方波;返回返回程序:程序:6.2.5 定时定时/计数器应用举例计数器应用举例机械电子工程学院机械电子工程学院2、作计数器用、作计数器用例例4 用用T0监视一生产流水线,每生产监视一生产流水线,每生产100个工件,个工件,发出一包装命令,包装成一箱,并记录其箱数。发出一包装命令,包装成一箱,并记录其箱数。MCS-51 P1.0 T0Vcc包装机包装机
40、包装命令包装命令100个个光源光源光光敏敏6.2.5 定时定时/计数器应用举例计数器应用举例机械电子工程学院机械电子工程学院GATE C/TM1M0控制控制T1控制控制T0TMOD选方式选方式2选计数器选计数器INT0不参与控制不参与控制0 1 1 0 计数初值计数初值X=M64H=9CH 用用P1.0启动外设发包装命令启动外设发包装命令 用用R5R4作箱数计数器作箱数计数器 方式字方式字TMOD=06H6.2.5 定时定时/计数器应用举例计数器应用举例机械电子工程学院机械电子工程学院程序:程序:MOV TMOD,#6MOV P1.0,#0MOV R5,#0MOV R4,#0MOV TH0,#
41、9CHMOV TL0,#9CHSETB EASETB ET0SETB TR0SJMP$ORG 000BHAJMP COUNT;P1.0为低为低;箱数计数器清箱数计数器清“0”;置置T0工作方式工作方式;计数初值送计数器计数初值送计数器;T0开中断开中断;CPU开中断开中断;启动启动T0;模拟主程序模拟主程序;T0中断入口中断入口;转向中断服务转向中断服务6.2.5 定时定时/计数器应用举例计数器应用举例机械电子工程学院机械电子工程学院 COUNT:MOV A,R4ADD A,#1MOV R4,AMOV A,R5ADDC A,#0MOV R5,ASETB P1.0MOV R3,#100 DLY:
42、NOPDJNZ R3,DLYCLR P1.0RETI中断服务:中断服务:;箱计数器加箱计数器加“1”;启动外设包装启动外设包装;给外设足够时间给外设足够时间;延时延时;停止包装停止包装;中断返回中断返回6.2.5 定时定时/计数器应用举例计数器应用举例;先在低字节加先在低字节加“1”ORG 0100HR5R4作箱数计数器作箱数计数器 机械电子工程学院机械电子工程学院3、门控位、门控位GATE的应用的应用GATE C/TM1M0控制控制T1控制控制T0TMOD选方式选方式1选定时器方式选定时器方式INT1为高时,为高时,T1开始定时计数开始定时计数1 0 0 1例例5 用用GATE 控制位,测量
43、控制位,测量INT1(P3.3)引脚上正脉冲的)引脚上正脉冲的宽度(设:晶振为宽度(设:晶振为12MHz)。)。6.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”0006.2.5 定时定时/计数器应用举例计数器应用举例机械电子工程学院机械电子工程学院INT1
44、INT1为高时为高时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低电平低电平;停止计数(更保险一点)停止计数(更保险一点)“与与”计数时间计数时间6.2.5 定时定时/计数器应用举例计数器应用举例机械电子工程学院机械电子工程学院6.3.1 串行通信的两种基本方式串行通
45、信的两种基本方式1、异步传送方式、异步传送方式一帧数据:一帧数据:一个字符在异步传送中称为一帧数据。一个字符在异步传送中称为一帧数据。一帧数据由一帧数据由4部分组成:部分组成:起始位、起始位、数据位数据位、奇偶位、停止位、奇偶位、停止位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个字符个字符LSBMSB6.3 MCS-51串行口串行口机械电子工程学院机械电子工程学院为逻辑为逻辑“0”信号信号,占用,占用1位
46、,用来通知接收设备,位,用来通知接收设备,一个新的字符开始了。一个新的字符开始了。数据位:数据位:起始位:起始位:奇偶位:奇偶位:58位。数据的位。数据的最低位在前,最高位在后最低位在前,最高位在后。紧跟在最高位之后,占用紧跟在最高位之后,占用1位,奇偶校验时,根位,奇偶校验时,根据协议置据协议置“1”或或“0”。停止位:停止位:为逻辑为逻辑“1”信号信号,占用,占用1位或位或2位,当接收端收位,当接收端收到停止位时,表示一帧数据结束。到停止位时,表示一帧数据结束。2、同步传送方式、同步传送方式数据块开始有数据块开始有12同步字符同步字符SYNC,后面是按顺,后面是按顺序传送的数据块。序传送的
47、数据块。数据结构:数据结构:6.3.1 串行通信的两种基本方式串行通信的两种基本方式机械电子工程学院机械电子工程学院6.3.2 MCS-51串行口结构串行口结构1、数据缓冲器、数据缓冲器SBUF包括物理上独立的发送缓冲器、接收缓冲器。包括物理上独立的发送缓冲器、接收缓冲器。发送缓冲器:只能发送缓冲器:只能写入写入不能读出不能读出接收缓冲器:只能接收缓冲器:只能读出读出不能写入不能写入两个缓冲器两个缓冲器共用共用一个地址一个地址99H2、串行口控制寄存器、串行口控制寄存器字节地址为字节地址为98H,可位寻址(位地址为,可位寻址(位地址为98H9FH)。)。SM0 SM1 SM2 REN TB8
48、RB8 TI RISCON(98H)D7D0机械电子工程学院机械电子工程学院SM0 SM1 SM2 REN TB8 RB8 TI RISCON(98H)D7D0SM0、SM1:串行口工作方式选择位,如下表所示。:串行口工作方式选择位,如下表所示。0 0 0 移位寄存器方式(用于移位寄存器方式(用于I/O扩展)扩展)0 1 1 8位位UART,波特率可变,波特率可变 1 0 2 9位位UART,波特率为,波特率为fosc/32或或fosc/64 1 1 3 9位位UART,波特率可变,波特率可变SM0 SM1 方式方式功功 能能串行口工作方式串行口工作方式6.3.2 MCS-51串行口结构串行口
49、结构允许接收控制位。允许接收控制位。由软件置由软件置“1”时,允许接收,置时,允许接收,置“0”时,禁止接收。时,禁止接收。REN:机械电子工程学院机械电子工程学院TB8:在方式在方式2和方式和方式3中中要发送要发送的第的第9位数据,需要时由位数据,需要时由软件置软件置1或置或置0。RB8:在方式在方式2和方式和方式3中中接收到接收到的第的第9位数据。位数据。在方式在方式1时,时,如如SM2=0,RB8是接收到的停止位。在方式是接收到的停止位。在方式0中,中,不使用不使用RB8。TI:发送中断标志发送中断标志。在方式。在方式0串行发送串行发送第第8位位结束时由硬件结束时由硬件置置“1”,或在其
50、他方式中串行发送,或在其他方式中串行发送停止位停止位的开始时置的开始时置“1”,必须由软件清必须由软件清“0”。RI:接收中断标志。接收中断标志。在方式在方式0串行串行接收到接收到第第8位位结束时结束时由硬由硬件置件置“1”,或在其他方式中串行,或在其他方式中串行接收到接收到停止位的停止位的中间中间时置时置“1”,必须由软件清必须由软件清“0”。6.3.2 MCS-51串行口结构串行口结构机械电子工程学院机械电子工程学院SM0 SM1 SM2 REN TB8 RB8 TI RISCON(98H)D7D06.3.2 MCS-51串行口结构串行口结构SM2:允许方式:允许方式2和方式和方式3多机通
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。