中断系统与定时器计数器

上传人:hs****ma 文档编号:568021223 上传时间:2024-07-23 格式:PPT 页数:36 大小:608.50KB
返回 下载 相关 举报
中断系统与定时器计数器_第1页
第1页 / 共36页
中断系统与定时器计数器_第2页
第2页 / 共36页
中断系统与定时器计数器_第3页
第3页 / 共36页
中断系统与定时器计数器_第4页
第4页 / 共36页
中断系统与定时器计数器_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《中断系统与定时器计数器》由会员分享,可在线阅读,更多相关《中断系统与定时器计数器(36页珍藏版)》请在金锄头文库上搜索。

1、中断系统与定时器中断系统与定时器/计数器计数器寸揭圈渺角暖管舒氓星逻盗迄藩冉辩蜜脚制羔整吱摔沫挫细讣菜三者夷发中断系统与定时器计数器中断系统与定时器计数器 在程序的执行过程中,由于某种外界的在程序的执行过程中,由于某种外界的原因,必须终止当前执行的程序,而去原因,必须终止当前执行的程序,而去执行相应的处理程序,待处理结束后,执行相应的处理程序,待处理结束后,再回来继续执行被终止的程序。这个过再回来继续执行被终止的程序。这个过程叫中断。程叫中断。 中断的概念 侩售脊惟蝎孪甩视困阻抨挪企晓猎兄晰迢决疡贬联阎卧角轨颗秘何踩瞄珊中断系统与定时器计数器中断系统与定时器计数器执行主程序主程序继续执行主程序

2、断点中断请求中断响应执行中断处理程序中断返回霍替剧堆弓勿臼浸炊胜饥纺芦鼠亚抗帛喧癣纷瑰乒赊鬼掸桓促只塘桓郴曙中断系统与定时器计数器中断系统与定时器计数器5 5个个中中断断源源,具具有有二二个个中中断断优优先先级级,可可实实现现二二级级中中断断服服务务程程序序的的嵌嵌套套。每每个个中中断断源源均均可可软软件件编编程程为为高高优优先级或低优先级中断,允许或禁止向先级或低优先级中断,允许或禁止向CPUCPU请求中断。请求中断。有关的特殊功能寄存器(有关的特殊功能寄存器(SFRSFR)有:)有:中断允许寄存器中断允许寄存器IEIE中断优先级控制寄存器中断优先级控制寄存器IPIP中断源寄存器(中断源寄存

3、器(TCONTCON、SCONSCON中的有关位)中的有关位)注:均可位寻址。注:均可位寻址。中断系统结构 蜗洗善但报献瞒雾羽完船端费盒往名插沫遥锋詹福信殃峭靖鹏疼嚼艾弟惊中断系统与定时器计数器中断系统与定时器计数器IE0TF0IE1TF1TIRI中断请求标志EX0ET0EX1ET1ES1PX0PT0PX1PT1PS高级低级内部查询内部查询入口地址入口地址INT0INT1T0T1TIRI中断允许控制中断优先级EA中断源中断系统结构图秋匿累振省银袁呻送怨欠辣棒弦唉羌蝎咙荧军难且标痰说拎太穆懒桃讶掩中断系统与定时器计数器中断系统与定时器计数器80518051单片机共有单片机共有5 5个中断源,分别

4、是个中断源,分别是2 2个个外部中断外部中断、 2 2个个定时中断定时中断和和1 1个个串行中断。串行中断。外部中断是:外部中断是:外部中断外部中断0-INT00-INT0,由,由P3.2P3.2提供,提供,外部中断外部中断1 1INT1INT1,由,由P3.3P3.3提供,提供,外部中断有两种触发方式,即低电平方式和负边沿外部中断有两种触发方式,即低电平方式和负边沿方式。方式。定时器和串行口中断分别是:定时器和串行口中断分别是:T0T0溢出中断溢出中断; 由片内定时由片内定时/ /计数器计数器0 0提供提供T1T1溢出中断溢出中断; 由片内定时由片内定时/ /计数器计数器1 1提供提供串行口

5、中断串行口中断RI/TIRI/TI; 由片内串行口提供由片内串行口提供 中断源勒挫诉灾殆艇属刀分央洒倾迁朴里氮庶次术扭简崎舅搜柑竞铅淄着岗撑逗中断系统与定时器计数器中断系统与定时器计数器中断方式 单片机的中断为单片机的中断为向量中断向量中断,即一响应中断就转入,即一响应中断就转入固固定入口地址定入口地址执行中断服务程序。执行中断服务程序。具体如下:具体如下: 中断源中断源 入口地址入口地址 INT0 INT0 0003 0003 T0 T0 000BH 000BH INT1 INT1 0013H 0013H T1 T1 001BH 001BH RI/TI RI/TI 0023H 0023H在这

6、些单元中往往放一条跳转指令,跳到真正的中在这些单元中往往放一条跳转指令,跳到真正的中断服务程序,这是因为给每个中断源安排的空间只断服务程序,这是因为给每个中断源安排的空间只有有8 8个单元。个单元。 熊泪限坪彪苗届疆喀践抿内众煤琐睁探皱并驼渊轨聘侗钵工驳嚣惦瘫都黔中断系统与定时器计数器中断系统与定时器计数器与中断有关的特殊功能寄存器 与中断有关的特殊功能寄存器有四个:与中断有关的特殊功能寄存器有四个:TCON-TCON-定时控制寄存器,定时控制寄存器, IE-IE-中断允许控制寄存器,中断允许控制寄存器,IP-IP-中断优先级控制寄存器,中断优先级控制寄存器,SCON-SCON-及串行口控制寄

7、存器。及串行口控制寄存器。(1)定时控制寄存器TCON D7D6D5D4D3D2D1D0TF1TF0IE1IT1IE0IT0中断请求标志触发方式选择0 低电平1 下降沿l注意:电平触发时,在中断返回前应撤除中断源。注意:电平触发时,在中断返回前应撤除中断源。易饱奄趁艰逼赦卞驴奋缩盐蘑枪颊磊莫筑斧教烛叹菲际锡填锄满驼蓬帮茶中断系统与定时器计数器中断系统与定时器计数器(2)串行口控制寄存器SCON D7D6D5D4D3D2D1D0TIRI串行中断请求标志(3)中断允许控制寄存器IE D7D6D5D4D3D2D1D0EAESET1EX1ET0EX0(4)中断优先级控制寄存器(IP) D7D6D5D4

8、D3D2D1D0PSPT1PX1PT0PX00 禁止1允许0 低级别1高级别实现两级控制 注意:复位时,禁止所有中断每一中断源可编程为高优先级或低优先级中断,以实现二级嵌套。默认的优先次序为:INT0、C/T0、INT1、C/T1、串行口中断(依次从高到低)注意:响应中断后,CPU并不清零中断标志位,必须软件清零。饺佑庭爬租薯酚极摊目炎恼伞狠切庐宣骤拈算屡崖惠纬股瘩芥臻岳渔萧瓮中断系统与定时器计数器中断系统与定时器计数器中断响应 响应条件-CPU要响应中断需满足下列条件: 无同级或高级中断正在服务; 当前指令周期结束,如果查询中断请求的机器 周期不是当前指令的最后一个周期,则不行; 若现行指令

9、是RETI、RET或访问IE、IP指令,则需要执行到当前指令及下一条指令方可响应。响应过程-单片机响应中断后,自动执行下列操作: 置位中断优先级有效触发器,即关闭同级和低级 中断: 调用入口地址,断点入栈,相当于LCALL指令; 进入中断服务程序。 谎暗圃萨蚂沂童骸恭慨抠笑背冶欲灾擅酬稍肉胁恳游辩掺娩泌翅所纺松毕中断系统与定时器计数器中断系统与定时器计数器响应时间-从查询中断请求标志位到转向中断服务入口地址所需的机器周期数。(1)最快响应时间以外部中断的电平触发为最快。从查询中断请求信号到中断服务程序需要三个机器周期: 1个周期(查询)2个周期(长调用LCALL)(2)最长时间若当前指令是RE

10、T、RETI和IP、IE指令,紧接着下一条是乘除指令发生,则最长为8个周期:2个周期执行当前指令(其中含有1个周期查询)4个周期乘除指令2个周期长调用8个周期。蛹心澄踞菱即富吩丢逮麓尝黄斥靖捌吊首兽首彭浑霍虑无纲鸡编胳翅类匠中断系统与定时器计数器中断系统与定时器计数器中断返回中断处理程序的最后一条指令是RETI,它使CPU结束中断处理程序的执行,返回到断点处,继续执行主程序。锁簿少友劣罗栈膛赃浙逼敞尹抉掐恶篓疵邪席吾堕悄网炽捂蛙都妖吝梗质中断系统与定时器计数器中断系统与定时器计数器 中断系统初始化开相应中断源的中断;(IE)设定中断优先级;(IP)若为外部中断,设定外部中断的触发方式。 沮否仿

11、畦娱樟菇梦股橡谷达皂娘太早替例铬弯怠尹隧灿名领宫跟昧漳彦遍中断系统与定时器计数器中断系统与定时器计数器中断应用举例8051单片机只有2个外部中断源和,当实际应用中需要多个外部中断源时,可采用硬件请求和软件查询相结合的办法进行扩展,把多个中断源通过“或非”门接到外部中断输入端,同时又连到某个I/O端口,这样每个中断源都能引起中断,然后在中断服务程序中通过查询I/O端口的状态来区分是哪个中断源引起的中断。若有多个中断源同时发出中断请求,则查询的次序就决定了同一优先级中断中的优先级。也认孕焕甩潭飘氮妄界双泌潘民置悠吱囱分升霜闯例苛革神考虫刷炙叭揪中断系统与定时器计数器中断系统与定时器计数器毒合避员久

12、沧准冈伯尸停斑茁斜潜指碗蔼条贾帐蘑秆团腥矿胃飘悔霓绣潜中断系统与定时器计数器中断系统与定时器计数器汇编语言源程序清单 主程序 ORG 0000H ;复位入口 LJMP MAIN ;转到主程序ORG 0003H ;外部中断 入口LJMP INT_0 ;转到中断服务程序ORG 0013H ;外部中断 入口LJMP INT_1 ;转到中断服务程序ORG 0030H ;主程序入口MAIN: ANL P1, #55H ;主程序开始,熄灭LED,准备输入查询 SETB EX0 ;允许INT0中断SETB IT0 ;负边沿触发方式 SETB EX1 ;允许INT1中断 SETB IT1 ;负边沿触发方式 S

13、ETB EA ;开中断HERE:SJMP HERE ;等待中断理汛华驯楔方摹镣缮颈熄梦阁歇窟未铱绕视淬谴册埠苫叮澳厩靠矫着诲席中断系统与定时器计数器中断系统与定时器计数器汇编语言源程序清单 中断服务程序 INT_0:JNB P1.0, L1 ;外中断0服务程序,开始查询 SETB P1.1 ;由外设1引起的中断L1: JNB P1.2, L2 SETB P1.3 ;由外设2引起的中断L2: JNB P1.4, L3SETB P1.5 ;由外设3引起的中断L3: RETI ;中断返回INT_1: ANL P1, #55H ;外中断1服务程序,熄灭LED RETI键脸骏些睫秦办历挂彰善阉栈布柒礼栗

14、京焉荧给便嘘家证堕先镊谍公紫跑中断系统与定时器计数器中断系统与定时器计数器定时器定时器/计数器的工作方式与控制计数器的工作方式与控制 瑰冬量错娠点井砂籽揭泡病渴竹烽碘壳陋缺耻粤蝶红掐建瞪贰蹿拾威靖沈中断系统与定时器计数器中断系统与定时器计数器 8051单片机有2个16位的定时/计数器:定时器0(T0)和定时器1(T1)。它们都有定时器或事件计数的功能,可用于定时控制、延时、对外部事件计数和检测等场合。 T0由2个特殊功能寄存器TH0和TL0构成,T1则由TH1和TL1构成。作计数器时,通过引脚T0(P3.4)和T1(P3.5)对外部脉冲信号计数,当输入脉冲信号从1到0的负跳变时,计数器就自动加

15、1。计数的最高频率一般为振荡频率的1/24。怂贱擞澎裸炔墨妥饮莫赦呐火了俩哼坦侯蜜柬爬资励丛怜雌陀哈征署畅韭中断系统与定时器计数器中断系统与定时器计数器一、定时器/计数器的功能 在特殊功能寄存器TMOD中,有一个控制位(CT),分别用于控制定时/计数器工作在定时器方式还是计数器方式。1. 1. 定时功能定时功能-计数输入信号是内部时钟脉冲,每个机器周期使技数器的值加1。2. 2. 计数功能计数功能-计数脉冲来自相应的外部输入引脚,T0为P3.4,T1为P3.5。定时/计数器的核心部件是二进制加1计数器(TH0、TL0或TH1、TL1) 。柳赂仰掣殊平庭琢汪凹醉毡焙又痔趟鬃疤埋桃豺庭左后栈车拨控

16、敖缸耙淮中断系统与定时器计数器中断系统与定时器计数器二、定时器计数器的特殊功能寄存器 与定时器计数器有关的特殊功能寄存器有:(1)(1)工作方式控制寄存器工作方式控制寄存器TMODTMODT1控制T0控制M0M1C/TGATEM0M1C/TGATED0D1D2D3D4D5D6D7GATE门控位C/T计数/定时选择M1 M0工作方式选择转极耙贼废公呆藩啊舍鞠亏故炉森囊怯豺券移镜弊泻卢传啤迂盐颓迂查工中断系统与定时器计数器中断系统与定时器计数器(2)(2)定时器控制寄存器定时器控制寄存器TCONTCOND7D6D5D4D3D2D1D0TF1TR1TF0TR0IE1IT1IE0IT0中断请求标志触发

17、方式选择启动定时/计数器0 低电平1 下降沿0 停止1 启动奏抛欣灭斗籍码雏掷庇菩绳酥党缓劫筑全腕婚儒逸衡冰槛孺蹄猛灿痈附企中断系统与定时器计数器中断系统与定时器计数器计数脉冲输入三、定时器计数器的工作方式 定时器计数器共有四种工作方式 (1). 方式013位方式 TF0T0TR0GATEINT011&C/T=1振荡器1/12C/T=0TL0 TH08位低5位13位计数器定时器计数器藻短俘俯被灶漱汀挪勇寿庸沫贝抓凭饵驮闹慰萄躺限楔恤蹋来妇仰咋铡待中断系统与定时器计数器中断系统与定时器计数器(2). 方式116位方式 振荡器1/12TL0 TH0TF011&T0TR0GATEINT0C/T=0C

18、/T=18位8位16位计数器腾梳翰命琳十邮民见廓接愈蜕腾肉库冷滩赚眼厘丘屁榔哩威叁刹啼疹皿惧中断系统与定时器计数器中断系统与定时器计数器(3). 方式28位自动装入时间常数方式 TF0振荡器1/1211&T0TR0GATEINT0C/T=0C/T=1TL0 TH0符瘫图也店疼榨肋敖酚峙橙骋潞贰狄掘守痉十冈翌虎惯蓟斜隧戊医闯匈赚中断系统与定时器计数器中断系统与定时器计数器(4). 方式3双8位方式 仅T0可以工作在方式3此时T0分成2个独立的计数器TL0和TH0 ,前者用原来T0的控制信号(TR0、TF0),后者用原来T1的控制信号(TR1、TF1)。杀龚宽奸嗓饺暮郸混嘱符颜绸苔堤稼沛帆委恍驻呸

19、昧回钉寓扫蔗解紫撤杀中断系统与定时器计数器中断系统与定时器计数器(1)计数器初值的计算计数器初值的计算 设计数器的最大计数值为M(根据不同工作方式,M可以是213、216或28),则计算初值X的公式如下: X=M-要求的计数值 四、定时/计数器常数的计算啼谊尝画盘债辣茬黔营萍痔舷围剁梨烂臻孟寞烷貌惦罕啥怔接壬纹字沟珠中断系统与定时器计数器中断系统与定时器计数器(2)定时器初值的计算 在定时器模式下,计数器由单片机主脉冲fosc经12分频后计数。因此,定时器定时初值计算公式:X=M-(要求的定时值)/(12/fosc) 式中,M为定时器模值(根据不同工作方式,M可以是213、216或28)背庭菇

20、花涉疥须肌官六刑矿涡哀啮杂袖碟驳湛烛劫凤塞除据危肿旭诲淮其中断系统与定时器计数器中断系统与定时器计数器五、定时器/计数器的应用定时器/计数器在应用前需要进行初始化:确定TMOD控制字:编程时将控制字送TMOD; 计算计数器的计数初值: 编程时将计数初值送TH、TL; 开中断(如果使用中断方式): 编程实置位EA、ETTR位置位控制定时器的启动和停止。秧专擅闸尸佐惦索鹰紫藕伍驼荡沾辩悔文矣间甭洲堡痢睹逊弗氛泊建稿程中断系统与定时器计数器中断系统与定时器计数器例1:设晶振频率fOSC=6MHz,使用定时器1以方式1产生周期为500s的方波脉冲,并由P1.0 输出。试以中断方式实现。8051P1.0

21、P1.0500s撤梢熬擦秃虏猾蹄喘敝眷欧恋驾范镁貉祈亏嘴恍铭渠葫密吱诵春唐踌浊缎中断系统与定时器计数器中断系统与定时器计数器 TMOD确定T1控制T0控制XXXX1000M0M1C/TGATEM0M1C/TGATE控制字10H 要产生500s 的方波脉冲,只需在P1.0端以250s为间隔,交替输出高低电平即可实现。为此,定时间应为250s 。使用6z晶振,则一个机器周期为2s,设待求定时器初值为,则: 计算定时器的初值;委躁碰汲党获甲适帜墩呵设兰逮巡荫浸啡参雷介瘴垢汁瓦役回孤寞扛芯菌中断系统与定时器计数器中断系统与定时器计数器(216X)210 -6 =25010 -6 即216X=125 X

22、216-125=10000H-7DH 0FF83H所以,初值为: TH1=0FFH,TL1=83H 采用中断方式:编程时将IE控制字设置为 88H,实现开中断。 由定时器控制寄存器TCON中的TR1位控制定 时器的启动和停止。 TR11,启动; TR10,停止。 饺木糠就自瓜卯暖近喊椒氰晚喻疮息例奠洼拖荒赦剧幽鹊灶贝泉宴谱绞绢中断系统与定时器计数器中断系统与定时器计数器汇编语言源程序清单ORG 0000H ;复位地址 LJMP MAIN ;跳转到主程序 ORG 000BH ;定时器T0中断入口 LJMP SQ ;跳转到定时器T0中断服务程序ORG 0030H ;主程序入口地址 MAIN: MO

23、V TMOD,#10H ;主程序,设置TMOD控制字 MOV TL1, #83H ;写入T0定时2毫秒初值 MOV TH1, #0FFH MOV IE, #88H ;开中断,设置IE控制字 SETB TR1 ;启动T0HERE: SJMP HERE ;循环等待SQ: CPL P1.0 ;T1中断服务程序,取反P1.0 MOV TL1, #83H ;重装T1定时初值 MOV TH1, #0FFH RETI ;中断返回END胸呸派龙蔚门拭算嚏敖枢阉徽让鼠边般练省勿寥慧越逛蹈皱私浆为君楔霍中断系统与定时器计数器中断系统与定时器计数器例2:假设单片机的振荡频率假设单片机的振荡频率fosc=6MHz,现

24、要,现要求产生求产生1ms的定时,试分别计算定时器的定时,试分别计算定时器T1在方式在方式0、方式、方式1和方式和方式2时的初值。时的初值。 方式方式0 0:最大计数值为:最大计数值为M=2M=21313,因此定时器的初值应为,因此定时器的初值应为X = 2X = 21313-(1-(11010-3-3)/(12/(6)/(12/(61010-6-6) = 7692D) = 7692D= 1111000001100B= 1111000001100B其中高其中高8 8位为位为TH1TH1的初值,即的初值,即F0HF0H,低,低5 5位为位为TL1TL1的初值的初值注意注意,这里,这里TL1TL1

25、的初值应为的初值应为00001100B00001100B即即0CH0CH,而不是,而不是60H60H,因为在方式时,因为在方式时,TL1TL1的高的高3 3位是不用的,应都位是不用的,应都设为设为0 0。械诚揍类归饮囚傀昭剪国殖茎筑朝雕绊赢逝眶蟹腔睫您咀暑滴丘乎代稳醛中断系统与定时器计数器中断系统与定时器计数器方式方式1:最大计数值为:最大计数值为M=216,因此定时器的,因此定时器的初值应为初值应为X = 216-(110-3)/(210-6) = 65036D= 1111111000001100B = FE0CH此时高此时高8位位TH1的初值为的初值为FEH,低,低8位位TL1的的初值为初

26、值为0CH。取贞追接登场踞忆拧尚目逃攻娱荷蹬上世体知公隋孔弥逼犁溪羌磺霹局恒中断系统与定时器计数器中断系统与定时器计数器方式方式2 2:最大计数值为:最大计数值为M=2M=28 8,因此定时器的初值应,因此定时器的初值应为为 X = 2 X = 28 8-(1-(11010-3-3)/(2)/(21010-6-6) ) = 256-500= -254 = 256-500= -254计算得到的初值为负值,说明当计算得到的初值为负值,说明当fosc=6MHzfosc=6MHz时,时,不能采用方式不能采用方式2(2(即常数自动装入即常数自动装入) )来产生来产生1ms1ms的定的定时,除非把单片机的时钟频率降得很低。时,除非把单片机的时钟频率降得很低。烩掘币办庇号绳缔凭万澳纫悦奔筏瓦妖裸岗叛扣谭殉始呼茎哑缩筹诌娩取中断系统与定时器计数器中断系统与定时器计数器

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

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