单片机原理与应用技术:6第5章 中断系统和IO接口电路1

上传人:窝*** 文档编号:202090945 上传时间:2021-10-14 格式:PPT 页数:106 大小:1.24MB
返回 下载 相关 举报
单片机原理与应用技术:6第5章 中断系统和IO接口电路1_第1页
第1页 / 共106页
单片机原理与应用技术:6第5章 中断系统和IO接口电路1_第2页
第2页 / 共106页
单片机原理与应用技术:6第5章 中断系统和IO接口电路1_第3页
第3页 / 共106页
单片机原理与应用技术:6第5章 中断系统和IO接口电路1_第4页
第4页 / 共106页
单片机原理与应用技术:6第5章 中断系统和IO接口电路1_第5页
第5页 / 共106页
点击查看更多>>
资源描述

《单片机原理与应用技术:6第5章 中断系统和IO接口电路1》由会员分享,可在线阅读,更多相关《单片机原理与应用技术:6第5章 中断系统和IO接口电路1(106页珍藏版)》请在金锄头文库上搜索。

1、5.1 定时器/计数器,第5章 中断系统和I/O接口电路,5.2 中断系统,2,定时/计数的实现方法: 定时/计数的实现方法有3种: 硬件数字电路:用555构成的定时器和计数器等。 软件编程 可编程定时/计数器,5.1 定时器/计数器,3,例 100MS延时程序解: 计算机反复执行一段程序以达到延时的目的称为软件延时。通过控制执行指令的数量可以延时不同的时间。要实现较长时间的延时,一般需采用多重循环。下面是延时100ms的延时程序,设单片机的晶振为12MHZ。(机器周期TM=12个时钟周期)START: ORG 1000H MOV R6, 0C8H ; 外循环 200 次LOOP1: MOV

2、R7, 0F8H ; 内循环 248 次 NOP ; 时间补偿 LOOP2: DJNZ R7, LOOP2 ; 延时 2 s248=496 s DJNZ R6, LOOP ; 延时 500 s200=100 ms RET 以上程序执行MOV Rn, data 指令的时间为 1 s, DJNZ指令 2 s, NOP指令1 s, 所以, 内循环延迟时间: 1 s+1 s+2 s248=498 s, 外循环延迟时间: 1 s+(内环延时+2 s)200=100.001 ms。,4,2 定时器的TMOD和TCON寄存器,5.1 定时器/计数器,1 定时器的结构及工作原理,3 定时器的工作方式,4 定时

3、器的编程和应用,5,一、 定时/计数器的结构和原理,是MCS一51单片机的重要功能模块之一。可实现定时控制、延时、对外部事件计数,还可用定时器产生毫秒宽的脉冲驱动步进电动机一类的电气机械。计数器主要用于外部事件的计数。 8031/8051/8751单片机有2个16位的定时/计数器:定时器0(T0)和定时器1(T1)。它们都有定时器或事件计数的功能。可由程序选择作为定时器用或作为计数器用,定时时间或计数值也可由程序设置。T0由2个特殊功能寄存器TH0和TL0构成,T1则由TH1和TL1构成。,1 定时器的结构及工作原理,6,7,定时/计数器的结构,16位加法计数器,组成:两个16位的定时器T0和

4、T1,以及他们的工作方式寄存器TMOD和控制寄存器TCON等组成。内部通过总线与CPU相连。,8,每个定时器内部结构实际上就是一个可编程的加法计数器,由编程来设置它工作在定时状态还是计数状态。两种工作模式: (1) 计数器工作模式就是对外部事件进行计数。计数脉冲来自相应的外部输入引脚T0(P3.4)或T1(P3.5)。当输入信号发生由1至0的负跳变(下降沿)时,计数器(TH0,TL0或TH1,TL1)的值增1。计数的最高频率一般为振荡频率的1/24。Why?(2) 定时器工作模式也是通过计数实现的。计数脉冲来自内部时钟脉冲,每个机器周期计数值增1,每个机器周期=12个振荡周期,因此计数频率为振

5、荡频率的1/12。所以定时时间=计数值机器周期。4种工作方式 (方式0-方式3) 。,组成:两个可编程的定时器/计数器T1、T0,9,在每个机器周期的S5P2期间采样检测引脚输入电平。若前一个机器周期采样值为“1”,后一个机器周期采样值为“0”,则计数器加1。新的计数值在检测到输入引脚电平发生“1”到“0”的负跳变(下降沿)后,于下一个机器周期的S3P1期间装入计数器中。由于CPU需要两个机器周期来识别一个“1”到“0”的跳变信号,所以最高的计数频率为振荡周期的1/24。,计数的最高频率一般为振荡频率的1/24。Why?,10,定时/计数器对输入信号的要求外部计数脉冲的最高频率为系统振荡器频率

6、的1/24,例如选用12MHz频率的晶体,则可输入500KHz的外部脉冲。输入信号的高、低电平至少要分别保持一个机器周期。如图所示,图中Tcy为机器周期。,11,综上所谓计数器就是对外部输入脉冲的计数;所谓定时器也是对脉冲进行计数完成的,计数的是MCS-51内部产生的标准脉冲,通过计数脉冲个数实现定时。所以,定时器和计数器本质上是一致的,在以后的叙述中将定时器/计数器笼统称为定时器。,12,定时器/计数器原理框图,当控制信号 定时器工作在定时方式;加1计数器对脉冲f进行计数,每来一个脉冲,计数器加1,直到计时器计满溢出; 因为 ,即一个计数脉冲的周期就是一个机器周期;计数器计数的是机器周期脉冲

7、个数。从而实现定时。当控制信号 定时器工作在计数方式;加1计数器对来自输入引脚T0(P3.4)和T1(P3.5)的外信号脉冲进行计数,每来一个脉冲,计数器加1,直到计时器计满溢出;,控制信号K可以控制计数器的“启动”和“停止”:,13,组成:TMOD 和 TCON,工作方式寄存器TMOD:用于设置定时器的工作模式和工作方式;控制寄存器TCON:用于启动和停止定时器的计数,并控制定时器的状态;单片机复位时,两个寄存器的所有位都被清0。,14,可编程定时器的工作方式、启动、停止、溢出标志、计数器等都是可编程的通过设置寄存器TMOD,TCON,TH0,TL0,TH1和TL1 实现。当设置了定时器的工

8、作方式并启动定时器工作后,定时器就按被设定好的工作方式独立工作,不再占用CPU,只有在计数器计满溢出时才向CPU申请中断,占用CPU。由此可见,定时器是单片机中工作效率高且应用灵活的部件。,15,2 定时器的TMOD和TCON寄存器,5.1 定时器/计数器,16,2 定时器的TMOD和TCON寄存器,8051单片机定时器主要有几个特殊功能寄存器组成:TMOD,TCON,TH0,TL0,TH1,TL1。TMOD:设置定时器的工作方式;TCON:控制定时器的启动和停止;TH0和TL0 :存放定时器T0的初值或计数结果; TH0存放高8位,TL0 存放低8位;TH1和TL1 :存放定时器T1的初值或

9、计数结果; TH1存放高8位,TL1 存放低8位;,17,2.1 工作方式控制寄存器TMOD,8位分为两组,高4位控制T1,低4位控制T0。(1) GATE 门控位 0: 以TRX (X=0,1) 来启动定时器/计数器运行。1: 用外中断引脚 (INT0*或INT1*) 上的高电平和TRX来启动定时器/计数器运行。,(2) M1、M0 工作方式选择位 M1 M0 工 作 方 式 0 0 方式0,13位定时器/计数器。 0 1方式1,16位定时器/计数器。 1 0 方式2,8位常数自动重新装载 1 1 方式3,仅适用于T0,T0分成两个8位计数器,T1停止计数。,(3) C/T* 计数器模式和定

10、时器模式选择位0: 定时器模式。 1: 计数器模式。,(4) TMOD无位地址,不能位寻址。(5) 复位时,TMOD所有位均为“0”。,18,低4位与外部中断有关,后面介绍。高4位的功能如下: (1) TF1、TF0 计数溢出标志位 定时器T0或T1计数溢出时,由硬件自动将此位置“1”;TFx可以由程序查询,也是定时中断的请求源;(2) TR1、TR0 计数运行控制位 TRx=1: 启动定时器/计数器工作 TRx=0: 停止定时器/计数器工作,2.2 控制寄存器TCON,19,2.3 定时/计数器的初始化,MCS-51单片机的定时器/计数器是可编程的,但在进行定时或计数之前要对程序进行初始化,

11、具体步骤如下:(1)对TMOD赋值,以确定定时器的工作模式;(2)置定时/计数器初值,直接将初值写入寄存器的TH0、TL0或TH1、TL1;(3)根据需要,对IE置初值,开放定时器中断;(4)对TCON寄存器中的TR0或TR1置位,启动定时/计数器,置位以后,计数器即按规定的工作模式和初值进行计数或开始定时。,20,定时器初始化,(1). 通过对方式寄存器TMOD进行设置,选择工作方式。 设T0为定时方式1:01H(0000 0001);设T1为计数方式1:50H(0101 0000)。 MOVTMOD, #01H,注意:TMOD不能位寻址,21,(2) 给定时器赋初值,例5.5 T0初值3C

12、B0H,T1初值00FFH。利用字节传送指令装入初值:MOV TH0,#3CH MOV TL0,#0B0HMOV TH1,#00H MOV TL1,#0FFH,22,( 3) 启动定时器 例 5.2 SETB TR0 ;启动T0 SETB TR1 ;启动T1设定时器T1为定时方式1,初值3CB0H,若未用中断,初始化程序: MOVTMOD, #10H MOV TH1, #3CH MOVTL1, #0B0H SETB TR1,注意:TCON可位寻址,23,2定时器初值设定方法,(1)根据时间长短,选择工作方式 设用M表示最大计数值,则各种方式计数最大值如下: 方式0M2138192 方式1M21

13、665536 方式2M28256 方式3M28256,原则上,定时时间长选用16位或13位计数器,即方式0或方式1。若时间短选8位计数器即方式2和方式3,如果需要自动装入初值,只能选择方式2。,24,(2)定时初值计算,设初值为X,最大计数值为M。初值X与机器周期TM 、定时时间T的关系如下: (MX)TMT 其中,TM12个时钟周期12/ fosc,XMT/TM,25,例 采用定时器T1,方式1,定时50ms,计算定时初值。已知晶振频率fosc12MHZ,26,例 采用定时器T1,方式1,定时50ms,计算定时初值。已知晶振频率fosc12MHZ 解:fosc12MHz TM12个时钟周期=

14、12/fosc=1s 定时方式1时 M21665536 所以 XMT/TM 6553650000/1 155363CB0H,27,第5章 定时器/计数器及其应用,3 定时器的工作方式,28,MCS-51的定时器T0有4种工作方式:即:方式0,方式1,方式2,方式3。MCS-51的定时器T1有3种工作方式:即:方式0,方式1,方式2。,3 定时器的工作方式,29,3.1 方式0 M1、M0设置为00 ,为13位计数器,以T1为例,其框图如下:,3 定时器的工作方式方式0,计数脉冲输入,加1计数器,30,3 定时器的工作方式方式0,在这种方式下,16位寄存器TH1和TL1只用13位,由TH1的8位

15、和TL1的低5位组成。TL1的高3位不定。当TL1的低5位计数溢出时,向TH1进位。而TH1计数溢出时,则向中断标志位TF1进位(即硬件将TF1置1),并请求中断。可通过查询TF1是否置“1”或考察中断是否发生来判定定时器T1的操作完成与否。,31,3 定时器的工作方式方式0,当C/T=0时,为定时工作模式,开关接到振荡器的12分频器输出上,计数器对机器周期脉冲计数。其定时时间为:(213-初值)振荡周期12例如:若晶振频率为12MHz,则最长的定时时间为: (213-0)(1/12)12us=8.191ms当C/T=1时,为计数工作模式,开关与外部引脚T1(P3.5)接通,计数器对来自外部引

16、脚的输入脉冲计数。当外部信号发生负跳变时计数器加1。,32,3 定时器的工作方式方式0,GATE控制定时器Tx(T1或T0)的条件:(1) 当GATE=0时,“或门”输出恒为1,“与门”的输出信号K由TRx决定(即此时K=TRx),定时器不受INTx输入电平的影响,由TRx直接控制定时器的启动和停止。TRx=1;计数启动;TRx=0;计数停止;(2) 当GATE=1时, “与门”的输出信号K由INTx输入电平和TRx位的状态一起决定(即此时K=TRxINTx),当且仅当TRx=1且INTx=1(高电平)时,计数启动;否则,计数停止。,33,3.2 方式1 M1、M0=01,为16位的计数器,除位数外,其他与方式0相同。其定时时间为:(216-初值)振荡周期12例如:若晶振频率为12MHz,则最长的定时时间为(216-0)(1/12)12us=65.536ms,3 定时器的工作方式方式1,34,3.3 方式2 M1、M0=10 ,为自动恢复初值的8位计数器,等效框图如下: TLx作为8位计数器,THx作为重置初值的缓冲器。,3 定时器的工作方式方式2,THx作为常数缓冲器,当TLx计数溢

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

当前位置:首页 > 高等教育 > 大学课件

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