




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章定时器和中断定时器/计数器概述4.1定时器/计数器的工作方式
4.2定时器/计数器应用举例
4.3中断系统
4.44.1定时器/计数器概述4.1.1定时方法概述4.1.2定时/计数器的结构和工作原理4.1.3定时器/计数器工作方式控制寄存器TMOD4.1.4定时/计数器控制寄存器TCON4.1.5定时器/计数器的初始化
1.软件定时软件定时是靠执行一个循环程序以进行时间延时。软件定时要占用CPU。2.硬件定时对于定时时间较长的定时,常使用硬件定时完成。不占CPU时间。3.可编程定时器定时这种定时方法是通过对系统时钟脉冲的计数来实现。4.1.1定时方法概述定时器/计数器工作原理
16位的定时器/计数器实质上是一个加1计数器,其控制电路受软件控制、切换。定时器工作前先装入初值,利用送数指令将初值装入TH0和TL0或TH1和TL1,高位数装入TH0和TH1,低位数装入TL0和TL1。当发出启动命令后,装初值寄存器开始计数,连续加1,每一个机器周期加1一次,加到满值(各位全1)。若再加1,则溢出,同时将初值寄存器清零。4.1.3定时器/计数器工作方式控制寄存器TMODTMOD(89H)GATEC/TM1M0GATEC/TM1M0T1T0M1,M0:工作方式定义位(定义4种方式):00:13位Timer——用它无益,不要记它!01:16位Timer——经常用到10:可自动重装的8位Timer——经常用到11:T0分为2个8位Timer;T1此时不工作——因为没有带来甚麽好处,几乎无用C/T:计数器/定时器选择位=1外部事件计数器。对Tx引脚的负脉冲计数;=0片内时钟定时器。对机器周期脉冲计数
GATE门控位:Timer可由软件与硬件两者控制GATE=0——普通用法Timer的启/停由软件对TRx位写“1”/“0”控制
GATE=1——门控用法Timer的启/停由软件对TRx位写“1”/“0”和在INTx引脚上出现的信号的高/低共同控制注意:TMOD不能位寻址,只能由字节设置T/C的工作方式,低半字节设定T/C0,高半字节设定T/C1。选择工作方式,即对TMOD赋初值。给定时器赋初值,即把初始常数装入TH0TL0或TH1TL1。根据需要设置中断控制字。启动定时/计数器。设初值为X,最大计数值为M。初值X与机器周期T机及定时时间T的关系为 (M−X)T机=T
其中,T机=12个时钟周期=12/fOSC
X=M-−T/T机4.1.5定时器/计数器的初始化4.2定时器/计数器的工作方式
方式013位计数方式当TL1的低5位溢出时,向TH1进位,而TH1溢出(回零)时向TF1标志进位(硬件置位TF1),并申请中断。还可以通过查询TF1是否置位来判断TH1是否回零溢出。振荡器12TLxTHx(5位)(8位)TFx申请中断Tx端TRx位GATE位INTx端≥1&C/T=0C/T=1控制=1开关接通或门与门方式1一个16为定时器/计数器。方式1的结构几乎与方式0完全一样,唯一的差别是:方式1中的TH1(TH0)和TL1(TL0)均是8位的,构成16位计数器。
振荡器12TLxTHx(8位)(8位)TFx申请中断Tx端TRx位GATE位INTx端≥1&C/T=0C/T=1控制=1开关接通或门与门方式3振荡器12TL0(8位)TF0申请中断T0端TR0位GATE位INT0端≥1&C/T=0C/T=1控制=1开关接通或门与门TH0(8位)TF1申请中断TR1位控制=1T0成为双8位TimerT1不再有Timer功能TF1,TR1出借给TH0例如:若晶振频率为6MHz,计算单片机的最小与最大定时时间分析:已知fosc
=6MHz则:(振荡周期)1Tc=1/6MHz(机器周期)1Tm=12Tc=12/6MHz=2S粗略地说:Tmin2S16位定时器最大数值为:216=65536=0FFFFH+1故选择方式1工作可以得到:
Tmax=655362=131072S=131.072mS
4.3定时器/计数器的应用举例例如:要求对T0产生100mS定时进行初始化。(晶振=6MHz)分析:已知fosc
=6MHz则:(机器周期)1Tm=12Tc=12/6MHz=2S100mS÷2S=5000016位定时器最大数值为:216=65536(=0FFFFH+1)故选择方式1工作可以满足要求。计算初值:65536-50000=15536=3CB0H初始化:MOVTMOD,#01H;选T0方式1MOVTH0,#3CH;赋初值高8位MOVTL0,#0B0H;赋初值低8位SETBTR0;启动T0定时若需要定时器0产生中断还应当写如下语句:SETBET0;开T0中断允许SETBEA;开总中断允许以及相应的中断服务程序。
ORG0000HAJMPMAINORG001BH;T1的中断矢量CPLP1.0;中断服务:P1.0取非RETI;中断返回MAIN:MOVTMOD,#20HMOVTH0,#6MOVTL0,#6SETBET1SETBEASETBTR1HERE:AJMPHERE;原地等待中断END利用GATE门控位测量从INT1引脚输入的正脉冲宽度。确定工作方式(TMOD)=10010000B=90H;T/C1定时,方式1,GATE为1。计算初值由于被测正脉冲宽度未知,假设宽度<=65.536ms,fosc=12MHz,则:计数个数:X=65536(最大)定时初值:C=65536-X=65536-65536=0,(TH1)=00H,(TL1)=00H。
ORG0000HSJMP0030HORG0030HMAIN:MOVTMOD,#90H ;置T1方式控制字MOVTL1,#00H ;MOVTH1,#00H ;T1从0开始计数JBP3.3,$ ;等低电平SETBTR1;T1允许计数JNBP3.3,$;等高电平JBP3.3,$;等低电平CLRTR1 ;停止计数4.4.1中断有关的概念中断就是利用软硬件配合,根据某种需要断开正在执行的程序而转向另一专门程序,结束后再返回到原断开处继续执行被中止的程序,这个过程称为中断。中断后转向执行的程序叫中断服务或中断处理程序。原程序被断开的位置(地址)叫做断点。发出中断信号的设备称为中断源。中断源要求中断服务所发出的标志信号称为中断请求或中断申请。中断源向CPU发出中断申请,CPU经过判断认为满足条件,则对中断源做出答复,叫中断响应。
TCON见定时部分。SCON:串行口控制寄存器SCON(低两位与串行口中断有关)(SCON
4.4.28051中断标志及控制寄存器TIR1(98H)RI,TI:串行口收/发数据申请中断标志位为1:申请中断;为0:不申请中断IE(A8H)EA—ET2ESET1EX1ET0EX0EX0/EX1/ET1/ET0/ES位:分别是INT0/1,Timer0/1,串行口的中断允许控制位:=0时禁止中断;=1时允许中断。ET2:T2中断允许控制位(仅52子系列有)=0时禁止中断;=1时允许中断。EA:总的中断允许控制位(总开关):=0时禁止全部中断;=1时允许中断。4.4.3中断响应的条件及响应过程IE0EX0TF0IE1TF1TIESET1EX1ET0外部中断请求0外部中断请求1内部定时器0内部定时器1内部串行口TRRIIE寄存器EA位IP寄存器各单路开关总开关中断源标志位查询机构高中断级中断请求低中断级中断请求中断入口中断源标志位INT0INT1中断入口中断源标志位中断响应条件在中断源提出了中断申请且CPU此前已经允许中断的前提下,还须满足以下三个条件:没有同级的中断或更高级别的中断正在处理;正在执行的指令必须执行完最后1个机器周期;若正在执行RETI,或正在访问IE或IP寄存器,须执行完上述指令和下一条指令以后方能响应中断。中断处理过程外部中断(INT0,INT1)申请过程:在CPU已经开放了外部中断允许的前提下:在INT0/INT1引脚输入一个负脉冲或低电平,TCON寄存器中的IE0/IE1标志位自动变“1”,检测到IE0/IE1变“1”后,将产生指令:LCALL0003H(/0013H)执行中断服务程序,并将IE0/IE1标志位自动清“0”,以备下次申请。中断请求的撤除CPU响应某中断请求后,在中断返回前,应撤除相应的中断请求,否则会引起下一次中断。对于T0、T1和边沿激活的外中断,CPU响应中断后,内部的硬件结构会自动清除,无须其他措施。对于串行口和由低电平触发的外部中断,CPU响应后,必须通过软件清除中断请求。4.4.4中断程序设计思想中断程序设计的基本任务
(1)设置中断允许控制寄存器IE,允许相应中断源中断。(2)设置中断优先级寄存器IP,选择分配所使用中断源的优先级。(3)若是外部中断源,还要设置中断请求触发方式IT1或IT0,决定采用边沿触发方式还是电平触发方式。(4)编写中断服务程序,处理中断请求。注意:前3条一般放在初始化主程序中。采用中断时主程序结构
由于各中断入口地址是固定的,而程序又必须先从主程序起始地址0000H执行,所以在0000H起始地址的几个字节中,要用无条件转移指令,跳转到主程序;另外,各种中断入口地址之间依次只差8个字节,一般在中断进入后,利用一条无条件转移指令,把中断服务程序调转到远离其他中断入口的适当地址。中断举例已知:(B)=01h,要求采用边沿触发,低优先级。此例的实际意义:在INT1引脚接一个按钮开关到地,每按一下按钮就申请一次中断,中断服务则是:依次点亮八盏灯中的一盏。INT1300ORG0000HLJMPMAINORG0013H;中断矢量LJMPINTMAIN:SETBEA;开总中断允许“开关”
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 采购合同框架协议书
- 业务委托外包服务协议合同书
- 企业员工健康体检服务协议
- 企业环保技术应用推广合作协议
- 续签合同意向协议书
- 综合办公效率提升统计表
- 小学生爱国情怀教育故事解读
- 健康咨询与服务推广协议
- 甲醛检测仪知识培训课件
- 电子商务网络安全管理与应用试题及答案
- 2025年内蒙古北方职业技术学院单招职业倾向性测试题库及答案一套
- 2025年安徽水利水电职业技术学院单招职业适应性测试题库(含答案)
- 中国瓶装水饮用水项目投资可行性研究报告
- 《心肌缺血心电图》课件
- 《胸部影像疾病诊断》课件
- 摄影入门课程-摄影基础与技巧全面解析
- 城市轨道交通乘客服务课件(完整版)
- 四川建设工程系统用户满意度测评实施办法
- 山田家的气象报告--完整版PPT课件
- 煤矿2021年重大安全风险分析预判防控报告全文
- 急诊脑卒中病人分诊流程图4.8
评论
0/150
提交评论