电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

单片微机的定时器计数器原理及应用

47页
  • 卖家[上传人]:ji****72
  • 文档编号:56769058
  • 上传时间:2018-10-15
  • 文档格式:PPT
  • 文档大小:1.51MB
  • / 47 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、实验四 外中断,P1.0_P1.7接8个发光二极管,管脚INT0、INT1接两个按键,分别定义为“+”和“-”。要求:上电全灭,每按一次“+”键,亮的灯多一盏,每按一次“-”键,亮的灯减一盏,当全亮时,再按一次“+”键,则全灭当全灭时,再按一次“-”键,则全亮,实验报告要求: 1写明实验日期、桌号 2写明实验要求; 3画出硬件接线图 4编程,加标注 5写出调试过程,遇到的问题及解决方法 6总结实验目的,写出收获体会,INT0,INT1,T0 及 T1的中断标志存放在 TCON寄存器中; 串行口的中断标志存放在 SCON寄存器中。定时器计数器控制寄存器TCON:IT1:INT1的中断申请触发方式控制位IT0:INT0的中断申请触发方式控制位。,5.3 中断的控制 5.3.1中断标志,中断允许和禁止由中断允许寄存器IE控制。 中断允许寄存器IE (可位寻址):,5.3.2 中断允许控制,IE寄存器中各位设置:为0时,禁止中断;为1时,允许中断。 系统复位后IE寄存器中各位均为0,禁止所有中断。,在80C51中有高、低两个中断优先级,通过IP来设定。 中断优先级寄存器IP(可位寻址):,IP

      2、寄存器中各位设置:为0时,为低中断优先级;为1时,设为高中断优先级。 系统复位后IP寄存器中各位均为0,全部设定为低中断优先级。,5.3.3 中断优先级,中断矢量地址,第六章 单片微机的定时器/计数器 原理及应用,6.1 概述 6.2 定时器/计数器T0、T1 6.3 定时器/计数器T2 6.4 监视定时器(看门狗)T3 6.5 定时器/计数器的应用编程,定时或计数方法: 1硬件法: 定时功能完全由硬件电路完成,不占用CPU时间。 2软件法:软件定时是执行一段循环程序来进行时间延时。 3可编程定时器计数器:通过软件编程来实现定时时间的改变,通过中断或查询方法来完成定时功能或计数功能。,6-1 概述,定时器资源: 80C51:两个16位的加1定时器计数器:T0和T1; 80C52:三个16位的加1定时器计数器:T0、T1、T2 在80C51系列的部分产品(如Philips公司的80C552)中,还 包含有作看门狗的8位定时器T3。,定时器计数器的核心是一个加1计数器其基本功能是计数加1。,计数是对单片微机的T0、T1 (或T2) 引脚 上输入的一个1到0的跳变进行计数增l。定时是对单片微

      3、机内部的机器周期进行计数,从而得到定时。波特率发生器80C51的定时器/计数器还可用作串行接口的波特率发生器。,T0、T1 的内部结构简图示于图61中。 T0、T1由以下几部分组成: 计数器TH0、TL0和TH1、TL1;特殊功能寄存器TMOD、TCON;时钟分频器;输入引脚T0、T1。,6.2 定时器计数器T0、T1,一、定时器计数器T0、T1 的控制寄存器 1.TCON,TF1:T1的溢出标志。T1溢出时,该位由内部硬件置位。若中断开放,即响应中断,进入中断服务程序后,由硬 件自动清0;若中断禁止,可用于判跳,用软件清0。 TR1:T1的运行控制位。用软件控制,置l时,启动 T1;清0时,停止 T1。 复位后,TCON的所有位均清0。T0和T1均是关中断的。,D7 D6 D5 D4 D3 D2 D1 D0,T1,T0, GATE 门控位GATE1时,由外部中断引脚INT0、INT1和TR0、TR1共同来启动定时器。当INT0引脚为高电平时,TR0置位启动定时器T0;当引脚INT1为高电平时,TR1置位,启动定时器T1。 GATE0时,仅由TR0和TR1置位来启动定时器T0和T1。,

      4、2. T0、T1 的方式寄存器TMOD,中断条件:TH0,TL0 由全1 全0, 计数器,设置C/T1脉冲源:外部引脚T0(T1)计数:T0 1 0 计1(两个机器周期计一个数)计数频率: fosc脉冲宽度:保持一个机器周期,M1、M0:工作方式选择位。,3、计数器:TH0、TL0、TH1、TL1,1)TH0、TL0:定时器/计数器0高位字节和低位字节。字节地址:8CH,8AH,可读可写. 2)TH1、TL1:定时器/计数器1高位字节和低位字节。字节地址:8DH,8BH,可读可写. 4、定时器/计数器中断:中断允许寄存器IE中断优先级寄存器IP中断矢量, 方式0: 13位定时器/计数器(M10、M00) 计数寄存器组成:THx 高8位和TLx的低5位(TL0- TL4),共13位。计数时,TLx 的低5位溢出后向THx进位,THx溢出后将TFx置位,并向CPU申请中断。,二、定时器计数器T0、T1 的工作方式,图62 方式0时,定时器/计数器T0、T1的逻辑结构图,B=TRx(GATE+INTx),最大计数值: 213 = 8192。 最大定时时间:Tmax(12M)=1us*213=

      5、8192us (8ms)Tmax(6M)=2us*213 =16384 (16ms) 定时初值计算:初值 X=213- *t 数据寄存器TH0、TL0(TH1/TL1)的赋值:, 方式1 16位定时器/计数器由TLx和 THx组成,共16位。计数时:TLx溢出后向THx进位,THx溢出后将TFx置位.最大计数值: 216 = 65536 最大定时时间:Tmax(12M)=1us*216=65536us(65ms)Tmax(6M)=130ms (130ms)定时初值: X=216- *t数据寄存器TH0、TL0(TH1/TL1)的赋值:,图63 方式1时,定时器/计数器T0、T1的逻辑结构图, 方式2 定时常数自动重装载的8位定时器/计数器TLx作为8位计数寄存器,THx作为8位计数常数寄存器。,MOV TH0,#0AEH MOV TL0,#06H SETB TR0MOV TH0,#0AEH MOV TL0,#06H,当TLx计数溢出时,将TFx置位,并向CPU申请中断;将THx的内容重新装入TLx中,继续计数。 重新装入不影响THx的内容。,Tmax(12M)=1us*28=256us

      6、 Tmax(6M)=512us,方式2适合于作为串行口波特率发生器使用。,图64 方式2时定时器/计数器T0、T1的结构图, 方式3:只适用于T0 ()方式下将T0分为一个8位定时器计数器TL0和一个 8位定时器TH0 。T1停止计数。 TL0:8位定时器计数器,它占用了T0的GATE、INT0、启动 停止控制位TR0、T0引脚 以及计数溢出标志位TF0和T0的中断矢量等。,TH0:作为8位定时器用,此时的外部引脚T0已为定时器 计数器TL0所占用。这时它占用了定时器计数器T1的启动停止控制位TR1、计数溢出标志位TF1及T1中断矢量(地址为001BH) 。,图65 定时器/计数器T0方式3时的逻辑结构图,图66 定时器/计数器T0方式3时,T1的逻辑结构图,工作方式3下 T1 T1的结构如图66所示, T1只能选方式0、1或2。作串行口波特率发生器时,T1的计数输出直接去串行口,只需设置好工作方式,串行口波特率发生器自动开始运行,如要停止工作,只需向T1送一个设为工作方式3的控制字即可。,定时器计数器的应用编程:,如果采用中断方式,应进行中断程序入口地址设置 设置定时器计数器工作方式

      7、() 设置定时常数(和) 如果采用中断方式,应允许定时器中断和中断 定时器启动() 如果采用中断方式:编写中断服务子程序 如果查询方式:需要用指令清除溢出标志,已知晶体振荡器的频率为fosc=6MHz。使用T0作定时器,设为方式0,设定1ms的定时,每隔1ms使P1.0引脚上的电平变反。,例要求在 P1.0引脚上产生周期为2 ms的方波输出。,应用举例,(1) 解:定时常数计算 振荡器的频率fosc6MHz,机器周期为2s,方式0计数器长度L13(2138192),定时时间 t1ms0.001s 定时常数:X=213- *106*1*10-3=1E0CH,X为76921E0CH, 二进制数TCB0 0 0 1 1 1 1 0 0 0 0 0 1 1 0 0 B,取低13位,其中高8位THF0H,低5位为TL0CH. 计数长度:1E0CH=7692,TH=0F0H,TL=0CH 定时:(81927692)2s=0.001S TMOD的设定:T0:方式,定时,( 2) 编 程 :(中断方式)ORG 0000HAJMP MAINORG 000BH ;T0中断矢量AJMP INQP ORG 0

      8、030HMAIN: MOV TMOD,00H ;设T0为定时器方式0 MOV TH0,0F0H ;写定时常数(定时1ms)MOV TL0,0CH SETB ET0 ;允许T0中断SETB EA ;开放CPU中断SETB TR0 ;启动 T0SJMP $ ;定时中断等待,ORG 2000 H ;T0中断服务程序INQP: MOV TH0,0F0H ;重写定时常数MOV TL0,0CHCPL P10 ;P10变反输出RETI ;中断返回,ORG 0100H ST: MOV TMOD,#00HMOV TH0,0F0H MOV TL0,0CHSETB P1.0SETB TR0 L0: JBC TF0,L1 ;时间到,清除溢出标志AJMP L0 L1: CPL P1.0MOV TH0,0F0H ;重写定时常数MOV TL0,0CHAJMP L0END,查询方式:,【例】已知晶振12MHZ,要求利用定时器T0使图中发光二极管D进行秒闪烁。,解:发光二极管进行秒闪烁。即亮500ms,暗500 ms。晶振12MHz,机器周期1s,T0方式1最大定时只能65ms余。方法:取T0方式,定时50ms,计数1

      9、0次,即可实现500ms定时。, 计算定时初值 T0初值X=216-fosc*t/12=216-50*103=65536-50000=15536=3CB0TH0=3CH;TL0=B0H。, 设置TMOD:0000 0 0 01 B = 01HT0方式1T0 定时与 无关T1控制位, 编制程序如下:ORG 0000H ;复位地址LJMP MAIN ;转主程序ORG 000BH ;T0中断入口地址LJMP IT0 ;转T0中断服务程序ORG 0100H ;主程序首地址 MAIN:MOV TMOD,#01H ;置T0定时器方式1MOV TH0,#3CH ;置T0初值50msMOV TL0,#0B0HSETB EA ;SETB ET0 ;MOV R7,#0AH ;置50ms计数器初值SETB TR0 ;T0运行SJMP $ ;等待中断,ORG 0200H ITO:MOV TH0,#3CH ;重置T0初值50msMOV TLO,#0BOHDJNZ R7,GORET ;判500ms到否?CPL P1.7 ;500ms到,输出取反MOV R7,#0AH ;恢复50ms计数器初值GORET:RETI,

      《单片微机的定时器计数器原理及应用》由会员ji****72分享,可在线阅读,更多相关《单片微机的定时器计数器原理及应用》请在金锄头文库上搜索。

      点击阅读更多内容
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.