单片机第5章定时器串口中断资料

上传人:n**** 文档编号:93086261 上传时间:2019-07-16 格式:PPT 页数:81 大小:1.67MB
返回 下载 相关 举报
单片机第5章定时器串口中断资料_第1页
第1页 / 共81页
单片机第5章定时器串口中断资料_第2页
第2页 / 共81页
单片机第5章定时器串口中断资料_第3页
第3页 / 共81页
单片机第5章定时器串口中断资料_第4页
第4页 / 共81页
单片机第5章定时器串口中断资料_第5页
第5页 / 共81页
点击查看更多>>
资源描述

《单片机第5章定时器串口中断资料》由会员分享,可在线阅读,更多相关《单片机第5章定时器串口中断资料(81页珍藏版)》请在金锄头文库上搜索。

1、第5章 MCS-51定时/计数器 串行口及中断系统,5.1 MCS-51定时/计数器,5.2 MCS-51串行口,5.3 MCS-51单片机中断系统,下页,上页,下页,回目录,MCS-51内部逻辑结构,6.1 MCS-51可编程定时/计数器,51系列内部有2个16位的定时/计数器T0、T1,52系列内部有3个16位的定时/计数器T0、T1、T2,定时/计数器的可编程特性:, 确定其工作方式是定时还是计数, 预置定时或计数初值, 当定时时间到或计数终止时,开放或禁止中断响应, 如何启动定时或计数器工作,上页,下页,回目录,工作方式不同,一、定时/计数器的结构与工作原理,1、结构,CPU,TCON

2、(88H),TMOD(89H),图6-1 定时/计数器逻辑结构,上页,下页,回目录,控制寄存器,方式寄存器,计数器1,计数器0,“+1”,“+1”,2、工作原理, 定时器,定时原理:定时器工作方式时,定时输入信号来自CPU内部振荡信号,在每一个机器周期计数器做一次“+1”运算。如果定时器的计数器+1产生溢出,则标志定时时间到,向CPU提出中断申请。,上页,下页,回目录,时钟精度会影响定时精度。,1个机器周期=12振荡脉冲,计数速率为振荡频率的1/12,若单片机的晶振主频为12MHz,则计数周期为1s, 计数器,由外部引脚(T0为P3.4 ,T1为P3.5)输入计数脉冲,外部输入脉冲宽度应大于2

3、个机器周期,T CY,T CY,上页,下页,回目录,下降沿 “+1”,高电平,低电平,T CY:为机器周期,*定时、计数不占用CPU时间,产生溢出时将向CPU提出中断申请*,二、定时计数器的方式寄存器和控制寄存器,1、方式寄存器TMOD,控制T1,控制T0,门控位,工作方式选择位,操作方式选择,上页,下页,回目录,GATE=,0 不受外部中断控制,0 0 方式0 13位定时器/计数器,0 1 方式1 16位定时器/计数器,1 0 方式2 可自动重装载的8位定时器/计数器,1 1 方式3 T0分为2个8位计数器,T1停止计数,表6-1 操作方式选择,上页,下页,回目录,1 受外部中断控制,0 为

4、定时功能 1为计数功能,上页,下页,回目录,2、控制寄存器TCON,T1、T0 启/停控制位,T1、T0 溢出标志位,“0” 停止,“1” 启动,“1” 有溢出,“0” 无溢出,可由软件控制定时器启、停,可由指令清“0”,工作,指示有无溢出,上页,下页,回目录,三、定时/计数器的4种工作方式, 方式0 M1M0=00,13位的定时计数器,由TH的8位和TL的低5位组成,图6-3 定时/计数器方式0逻辑图,1,1,1,“+1”,中断申请,TL40,以T1为例:,溢出TF1,“+1”,“+1”,上页,下页,回目录, 方式1 M1M0=01,16位的定时计数器,由TH的8位和TL的8位组成,图6-4

5、 定时/计数器方式1逻辑图,“+1”,1,以T1为例:,中断申请,溢出TF1,“+1”,“+1”,上页,下页,回目录, 方式2 M1M0=10,可自动重装载的8位计数器,TH1(TH0)被定义为赋值寄存器 赋计数初值,TL1(TL0)被定义为计数器,图6-5 定时/计数器方式2逻辑图,重装载,1,“+1”,以T1为例:,中断申请,溢出TF1,“+1”,“+1”,上页,下页,回目录, 方式3 M1M0=11,T0被分成2个相互独立的8位计数器TL0 、TH0,图6-6定时/计数器方式3逻辑图,上页,下页,回目录,1,TH0借用了T1的TR1和TF1,因此控制了T1的中断 此时T1只能用在一些不要

6、中断的情况下,“+1”,“+1”,1,“+1”,“+1”,TF0,TF1,中 断,中 断,“+1”,上页,下页,回目录,四、定时/计数器的初始化,初始化一般有以下几个步骤:, 确定工作方式,对方式寄存器TMOD赋值, 预置定时或计数初值,将其写入TL0、TH0或TL1、TH1中, 根据需要对中断允许寄存器有关位赋值,以开放或禁止定时/计数器中断, 启动定时/计数器,将TR0或TR1赋值为“1”,计数初值的设定:,最大计数值M:不同的工作方式M值不同,方式0: M = 213 = 8192,方式1: M = 216 = 65536,方式2、3:M = 28 = 256,计数初值X的计算方法:,计

7、数方式:,X = M计数值(X即为计数值的补码数),上页,下页,回目录,定时方式:,(M X)T = 定时值, X = M定时值 / T,其中T为机器周期,时钟的12分频, 若晶振为6MHz,则T = 2s, 若晶振为12MHz,则T = 1s,上页,下页,回目录,五、定时/计数器应用举例,1、作定时器用,例6-2 设主频为12MHz,利用定时器T1定时。 使P1.0输出周期为2ms的方波。,解:用P1.0作方波输出信号,周期为2ms的方波 即可用每1ms改变一次电平的方法完成, 故定时值可设置为1ms。 可做“+1”运算1000次,使T1工作在方式1, 即16位计数器,定时初值:,X= M计

8、数次数= 216 1000 = 64536= FC18H,1ms,1ms,T=2ms,上页,下页,回目录,0 0 0 1,选择方式1,选择定时器方式,TMOD,确定工作方式,10H,程序:,上页,下页,回目录,为什么要重装T1 初值?,例6-3 根据例6-2的要求产生周期为2ms的方波, 但不用中断方式,而用查询方式工作, 查询标志为TF1,上页,下页,回目录,2、作计数器用(自学),上页,下页,回目录,包装机,包装命令,光源,理解题意,上页,下页,回目录,选方式2,选计数器, 计数初值X = 256100 = 9CH, 用P1.0启动外设发包装命令, 用R5R4作箱数计数器, 06H置入方式

9、字TMOD,0,1,1 0,程序:,MOV TMOD,#6,下页,ORG 0000H,LJMP MAIN,ORG 0030H,中断服务:,上页,下页,回目录,END,没有保护现场,3、门控位GATE的应用,选方式1,选定时器方式,1 0 0 1,上页,下页,回目录,“+1”,1,0,0,1,1,1,宽度65ms,1,上页,下页,回目录,“+1”,“+1”,上页,下页,回目录,编程:,CLR TR1,定时器/计数器使用中应注意的问题:,1、不易实现长时间高精度定时;,2、长定时问题?,3、运行中读定时器值,有时需要在定时器运行中读出计数器的值,因为定时器不断运行,不可能在同一时刻读取THX和TL

10、X值,如不注意便可能读错。,如先读(TLX),然后读(THX),由于定时器不断运行,读(THX)前,若恰好产生TLX溢出向THX进位情况,则读得的(TLX)值就完全不对了。,一种可能解决错读问题的方法是: 先读(THX),后读(TLX),再读(THX),若两次读得的(THX)没有发生变化,则可确定读出的内容是正确的。,RDTIMER:MOV A,TH0 MOV R0,TL0 CJNE A,TH0,RDTIMER MOV R1,A RET,比较两次读的(TH0),不等重复再读,;读(TH0),;读(TL0),4、定时器溢出同步问题,定时器溢出时,自动产生中断请求。但中断是否得到响应,取决于其它中

11、断服务程序是否在运行,或取决于正在执行的是什么样的指令。所以定时中断请求得到响应的时间是不固定的。在一些对定时精度要求十分苛刻的场所对此误差进行补偿。,补偿方法:在定时中断请求得到响应的时候,停止定时器计数,读出计数值(反映了中断响应的延迟时间),根据该值,计算出到下一次中断时需要的时间,据此来重装载计数器初值和启动定时器。,例:定时周期为1MS的补偿程序。,CLR EA CLR TR1 MOV A,#LOW(-1000+7) ADD A,TL1 MOV TL1,A MOV A,#HIGH(-1000+7) ADDC A,TH1 MOV TH1,A SETB TR1,;禁止所有中断,;停止定时

12、器1运行,;期望数的低位字节,;进行修正,;重装载,;高位字节做类似处理,;再启动定时器运行,1US 1US 1US 1US 1US 1US 1US,5.2 MCS-51串行口,上页,下页,回目录,串行通信:,将数据的各个位一位一位地通过单条1位宽的传输线按顺序分时传送的通信方式。即通信双方一次传输一个二进制位。,CPU与外界进行信息交换方式:并行通信、串行通信。,串行通信与并行通信比较:,1、通信距离:并行通信适合于近距离传输,一般小于30米;串行通信适合远距离传输,可以从几米到数千公里。,2、通信速率:近距离传输并行通信速率高,远距离传输串行通信速率高。,3、抗干扰性:串行通信只有一两根信

13、号线,信号间互相干扰可以忽略。,4、设备和费用:因通信线路费用趋高,对远距离通信,串行通信费用明显低得多。,串行通信实现得方法:,使用硬件接口电路,再辅之以必要的软件驱动程序。 如USB通信、IRDA高速红外通信,串行通信方式:,MCS-51内部有一个全双工的异步串行通信接口UART,波特率:每秒钟能够发送或接收的二进制位数。,一、串行通信的基本方式,1、异步传送方式,一帧数据由4部分组成:起始位、数据位、奇偶位、停止位,一帧数据,起始位,数据位,奇偶位,停止位,第n个字符,第n+1个字符,上页,下页,回目录,字符的发送是随机进行的,收发双方必须对传送的字符规定一定的格式。这种格式称为“帧”。

14、一个字符在异步传送中称为一帧数据。,以字符为单位进行的串行数据通信,数据位:,起始位:,奇偶位:,58位。数据的最低位在前,最高位在后。,紧跟在最高位之后,占用一位,奇偶校验时,根据协议置“1”或“0”.数据正确性校验.,停止位:,为逻辑“1”信号,占用1位或2位,当接收端收到停止位时,表示一帧数据结束。,2、同步传送方式,数据结构:,上页,下页,回目录,异步串行通信的特点:,1、可靠性较高,且易于实现。 异步通信是1次传送1帧数据,接收设备在收到起始信号后只要在一个字符的传输时间内和发送设备保持同步就能正确接收。就允许收发设备之间的时钟频率可略有偏差,而下一字符起始位的到来又使同步重新校准,

15、不会因累计效应而产生错位。,2、数据传输的效率和速率慢。 由于异步通信要在每个字符的前后加上起始位和停止位这样的附加位,使得传输有效的数据位减少,效率降低。如:传输ASCII码:1个起始位、7个数据位、1个奇偶校验位、1个停止位,数据传输速率为240字符/秒,则波特率为2400位/秒,有效数据位为240*7=1680位/秒,传输效率只有70%。,3、传输速率慢。 因为异步串行数据通信数据格式允许上一帧数据和下一帧数据之间有空闲位。,上页,下页,回目录,二、MCS-51串行口结构,1、数据缓冲器SBUF,包括物理上独立的发送缓冲器、接收缓冲器,发送缓冲器:只能写入不能读出. MOV SBUF,A,接收缓冲器:只能读出不能写入. MOV A,SBUF,二者共用一个地址99H,2、串行口控制寄存器SCON,字节地址为98H,可位寻址,位地址为98H9FH,SM0 SM1 SM2 REN TB8 RB8 TI RI,SCON (98H),SM0、SM1:串行口工作方式选择位,如表6-3所示,0 0 0 移位寄存器方式(用于I/O扩展),0 1 1 8位UART,波特率可变,1 0 2 9位UART,波特率为fosc/32或fosc/64,1 1 3 9位UART,波特率可变,表6-3 串行

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号