实验三秒表实验.ppt

上传人:牧羊曲112 文档编号:5344280 上传时间:2023-06-28 格式:PPT 页数:38 大小:214.50KB
返回 下载 相关 举报
实验三秒表实验.ppt_第1页
第1页 / 共38页
实验三秒表实验.ppt_第2页
第2页 / 共38页
实验三秒表实验.ppt_第3页
第3页 / 共38页
实验三秒表实验.ppt_第4页
第4页 / 共38页
实验三秒表实验.ppt_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《实验三秒表实验.ppt》由会员分享,可在线阅读,更多相关《实验三秒表实验.ppt(38页珍藏版)》请在三一办公上搜索。

1、实验三 秒表实验,主 要 内 容,MCS-51 单片机定时/计数器的结构MCS-51 单片机的中断系统 定时器工作原理,一、MCS-51 单片机定时/计数器的结构,1、MCS-51定时/计数器的结构,MCS-51 的单片机内有两个16位可编程的定时/计数器,它们具有四种工作方式,其控制字和状态均在相应的特殊功能寄存器中,通过对控制寄存器的编程,就可方便地选择适当的工作方式。,定时器/计数器的主要作用是用来精确地确定某一段时间间隔(作为定时器用)或累计外部输入的脉冲个数(作为计数器用)。当用作为定时器时,在其输入端输入周期固定的脉冲,根据定时器/计数器中累计(或事先设定)的周期固定的脉冲个数,即

2、可计算出所定时间的长度。,定时器/计数器的作用,定时器T0 特性功能寄存器TL0(低8 位)和TH0(高8 位)构成,定时器T1 由特性功能寄存器TL1(低8 位)和TH1(高8 位)构成。方式寄存器TMOD控制定时/计数器的工作模式和方式,控制寄存器TCON则用于控制计数器的启动和停止以及计数溢出的标志的设置。并可以向CPU发出中断请求,完成定时计数器的控制功能。程序开始时需对TL0、TH0、TL1 和TH1 进行初始化编程,以定义它们的工作方式和控制T0 和T1 的计数。,(1)方式寄存器 TMOD,GATE 门控位,控制方式选择位。GATE=0 启动不受/INT0或/INT1的控制;GA

3、TE=1 启动受/INT0 或/INT1 的控制。C/T 外部计数器/定时器方式选择位。C/T=0 定时方式;C/T=1计数方式。M1和M0为工作方式选择位。,确定定时器/计数器的工作方式,功能,M1/M0 工作模式选择位,(2)、定时/计数器控制寄存器TCON,功能,确定定时器/计数器运行状态和启动、停止,TF1:定时器1溢出标志位。当定时器1计满溢出时,由硬件使TF1置“1”,并且申请中断。进入中断服务程序后,由硬件自动清“0”,在查询方式下用软件清“0”。TR1:定时器1运行控制位。由软件清“0”关闭定时器1。当GATE=1,且INT1为高电平时,TR1置“1”启动定时器1;当GATE=

4、0,TR1置“1”启动定时器1。TF0:定时器0溢出标志。其功能及操作情况同TF1。TR0:定时器0运行控制位。其功能及操作情况同TR1。IE1:外部中断1请求标志。IT1:外部中断1触发方式选择位。IE0:外部中断0请求标志。IT0:外部中断0触发方式选择位。,(3)定时/计数器编程的主要方法,正确设置控制字(初值设置)a 把工作方式字写入TMOD;b 把定时、计数初值装入THx、TLx寄存器;c 置位ETx允许定时/计数器中断;(对中断允许寄 存器IE位赋值)d 置位EA,使CPU开放中断;e 置位TRx,启动计数。(对TCON设置)设置定时/计数器的初值:设最大值为M,计数值为N,初值为

5、 X。对于计数:X=MN;对于定时,X=M定时时间/T 其中,T=12晶振频率(设振荡频率为12MHZ),定时器/计数器初始化流程图,例1 在12MHz系统时钟下,实现5ms定时,分别计 算在方式0、1下计数器的初值。,计数初值为M:2k-X*12/fosc对于方式0,计数器为13位,因此k=13,X=5ms,fosc=12MHzM=213-5000=3192=0C78HTHX=0CH,TLX=78H对于方式1,计数器为16位,因此k=16,X=5ms,fosc=12MHzM=216-5000=60536=EC78HTHX=ECH,TLx=78H,例2 设定定时器1为定时工作方式,要求软件启动

6、定时器1按方式2工作。定时器0为计数方式,要求由软件启动定时器0,按方式1工作。,C/T位(D6)是定时或计数功能选择位,当C/T=0时定时/计数器就为定时工作方式。所以要使定时/计数器1工作在定时器方式必需使D6=0。定时/计数器1工作在方式2,M0(D4)M1(D5)的值必须是1 0。,设定定时器0为计数方式。定时/计数器0的工作方式选择位也是C/T(D2),当C/T=1时,就工作在计数器方式。,使定时/计数器0工作在方式1,M0(D0)M1(D1)的值必须是0 1。,由软件启动定时器0,定时器1,当门控位GATE=0时,定时/计数器的启停就由软件控制。D7、D3为0。,D7 D6 D5

7、D4 D3 D2 D1 D00 0 1 0 0 1 0 1,结论,TMOD=0 x25,2、定时器/计数器工作方式,定时/计数器0 的工作方式0 电路逻辑结构,(1)工作方式0,计数器由TH 的全部8 位和TL的低5位构成,TL 的高3位没有使用。当C/T=0 时,多路开关接通振荡脉冲的12 分频输出,13 位计数器依次进行计数。这就是定时工作方式。当C/T=1时,多路开关接通计数引脚To(P3.4)或T1(P3.5),外部计数脉冲由引脚To 或T1输入。当计数脉冲发生负跳变时,计数器加1,这就是计数工作方式。在该工作方式下,当作为计数器使用时,其计数范围是18192;如果晶振频率fosc=1

8、2MHz,则定时范围为1s8192s。,工作原理,当TL的低5位溢出时,都会向TH进位,而全部13位计数器溢出时,则会向计数器溢出标志位TF0 进位。,当TMOD中M1M0=00时,定时器/计数器选定方式0进行工作。,定时/计数器工作方式1 等效电路,(2)工作方式1,当TMOD中M1M0=01时,定时器/计数器选定方式1进行工作。,工作原理,其逻辑结构与方式0不同的是两个8位寄存器TH0和TL0全部构成了一个16位的定时器/计数器,其他与工作方式0完全相同。在该工作方式下,当作为计数器使用时,其计数范围是165536;如果晶振频率fosc=12MHz,则定时范围为1s65536s。,(3)工

9、作方式2,定时/计数器工作方式2 等效电路,它具有自动重装载功能,即自动加载计数初值,所以也称之为自动重加载工作方式。在这种工作方式中,16 位计数器分为两部分,即以TL0 为计数器,以TH0 作为预置寄存器,初始化时把计数初值分别加载至TL0 和TH0中,当计数溢出时,不再象方式0 和方式1 那样需要“人工干预”,由软件重新赋值,而是由预置寄存器TH 以硬件方法自动给计数器TL0 重新加载。程序初始化时,给TL0 和TH0 同时赋以初值,当TL0 计数溢出时,置位TF0 的同时把预置寄存器TH0 中的初值加载给TL0,TL0 重新计数。这样省去了程序不断需给计数器赋值的麻烦,而且计数准确度也

10、提高了。但这种方式也有其不利的一面,就是计数结构只有8 位,计数值有限,最大只能到255。所以这种工作方式很适合于那些重复计数的应用场合。,工作原理及特点,当TMOD中M1M0=10时,定时器/计数器选定方式2进行工作。,(4)工作方式3,定时/计数器工作方式3 等效电路,在该工作方式下,T0和T1具有完全不同的功能。定时/计数器T0被拆成两个独立的8位计数器TL0和TH0。其中TL0既可以作计数器使用,也可以作为定时器使用,定时/计数器0的各控制位和引脚信号它都可以使用。其功能和操作与方式0或方式1完全相同。TH0只能作为简单的定时器使用,并占用了定时器T1的状态控制位TRl和TF1,占用T

11、1的中断源。在工作方式3下,定时器/计数器0可以构成2个定时器或1个定时器、1个计数器。如果定时器/计数器T0已工作在工作方式3下,则定时器/计数器T1只能工作在方式0、方式1或方式2下。,工作原理,当TMOD中M1M0=11时,定时器/计数器选定方式3进行工作。,二、MCS-51 的中断系统,MCS-51中断系统结构,外部中断请求源:INT0:外部中断0,由P32端口线引入,低电平或下跳沿引起。INT1:外部中断1,由P33端口线引入,低电平或下跳沿引起。内部中断请求源T0:定时器计数器0中断,由T0计满回零引起。T1:定时器计数器l中断,由T1计满回零引起。TIRI:串行IO中断,串行端口

12、完成一帧字符发送接收后引起。,1、中断处理流程,现场保护和现场恢复,中断打开和中断关闭,中断服务程序,中断返回,2、MCS-51 的中断源,(1)外部中断请求0,由INT0(P3.2)输入;(2)外部中断请求1,由INT1(P3.3)输入;(3)片内定时/计数器溢出中断请求TF0;(4)片内定时/计数器溢出中断请求TF1;(5)片内串行口发送/接收中断请求TI 或RI。这几个中断源由TCON 和SCON 两个特殊功能寄存器进行控制。,引起计算机中断的事件,如外设:请求输入输出数据,报告故障等,如事件:掉电、硬件故障、软件错误、非法操作、定时时间到等。,概念,TCON寄存器结构,SCON寄存器结

13、构,TF0、TF1,定时器/计数器0,1溢出中断请求标志,当TF1、TF0计数溢出时,由硬件置位(TF0/TF1=1),当CPU响应中断时,由硬件清除(TF0/TF1=0),串行口控制寄存器,RI接收中断请求位,硬件置位(RI=1),T1发送中断请求位,硬件置位(T1=1),3、中断的控制 实现中断开关管理和中断优先级管理,MCS-51 的对中断的开放和屏蔽是由中断允许寄存器IE 控制来实现的。EA为CPU开/关中断控制位,ET0、ET1为定时/计数器溢出中断允许位。,IE 的结构格式,IP结构格式,MCS-51 的对申请中断优先级是通过寄存器IP实现的。PT0、PT1为定时/计数器中断优先级

14、控制位,1为高优先级,0为低优先级。,IE 寄存器的各控制位功能,EA:中断总控制位,EA=1,CPU 开放中断。EA=0,CPU 禁止所有中断。ES:串行口中断控制位,ES=1 允许串行口中断 ES=0,屏蔽串行口中断。ET1:定时/计数器T1 中断控制位。ET1=1,允许T1 中断,ET1=0,禁止T1 中断。EX1:外中断1 中断控制位,EX1=1,允许 外中断1 中断,EX1=0,禁止外中断1中断。ET0:定时/计数器T0 中断控制位。ET1=1,允许T0 中断,ET1=0,禁止T0 中断。EX0:外中断0 中断控制位,EX1=1,允许外中断0 中 断,EX1=0,禁止外中断0中断。,

15、4、中断响应,中断响应过程如下:中断源发出中断请求;中断判优;对中断请求进行响应;执行中断服务程序;返回主程序。,29,应首先根据需要对这些寄存器进行初始化,即设置T0和T1的工作方式,并对T0和T1定时器装入初始值以得到精确的定时时间。T0和T1的工作方式及运行状态是由TMOD和TCON两个特殊功能寄存器控制的,而TMOD和TCON是由用户所编的程序控制。,三、定时/计数器的初始化过程,具体步骤:,确定T/C工作方式,利用TMOD寄存器;计算T/C中计数初值,并装载TH、TL;T/C在中断方式下工作,需开CPU中断,利用IE寄存器;启动T/C,利用TCON中的TR0、TR1。,1、定时器工作

16、原理(T1,方式1),2、定时器初始化(1)设置定时器工作方式(方式1)方式控制寄存器TMOD,程序设计思路,TMOD=0X10,(2)计算定时器初值,并将其放入TL1和TH1中 初值计算公式:N=216-(Tc*机器周期)(方式1)例:在系统时钟为11.0592MHz下,实现1ms的定时 要求,计算在方式1的计数器初值,并将初值放入 TL1和TH1中。其中Tc=1ms,f=11.0592MHz N=65536-100011.0592/12=64614=FC66H TH1=0XFC TL1=0X66,(3)开定时器中断 设置中断允许寄存器IE,CPU允许中断 EA=1;定时器开中断 ET1=1

17、,(4)启动定时器 设置定时/计数器控制寄存器TCON,启动计数 TR1=1,3、中断,中断过程示意图,(1)中断过程,(2)中断程序入口地址 编号 中断源 入口地址 0 外部中断0 0003H 1 定时器T0 000BH 2 外部中断1 0013H 3 定时器T1 001BH 4 串行口中断 0023H(3)中断服务程序的函数定义 返回值 函数名 interrupt n 例:定时器T1中断服务程序入口 void T1_INT(void)interrupt 3,4.附录 程序2 程序运行后,LED显示秒表:*.*分 秒 ms 主程序流程图:,中断程序流程图,5.编程并调试 秒表的显示格式变为:*.*分 空格 秒 10ms,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号