单片机中断与定时系统.ppt
《单片机中断与定时系统.ppt》由会员分享,可在线阅读,更多相关《单片机中断与定时系统.ppt(134页珍藏版)》请在三一办公上搜索。
1、1,6.1 MCS-51单片机的中断系统6.2 MCS-51单片机的定时器/计数器6.3 MCS-51单片机外部中断源的扩展6.4 定时器/计数器与中断综合应用举例,6 单片机中断与定时系统,2,6 单片机中断与定时系统,6.1 MCS-51单片机的中断系统 单片机中断技术概述 中断源1.外部中断源(P3.2)和(P3.3)2.定时器中断源T0和T13.串行口中断源,3,6 单片机中断与定时系统,中断控制1.定时器控制寄存器(TCONTimer/Counter Control Register)(1)IE0和IE1外中断请求标志位(硬件置1或清0)(2)IT0和IT1外中断请求触发方式控制位(
2、软件置1或清0)(0电平触发,1脉冲触发)(3)TF0和TF1计数器溢出标志位(硬件置1或清0)(4)TR0和TR1Run Control bits for Timer 1 and Timer 0.Set to run,reset to hold.(软件置1或清0),4,6 单片机中断与定时系统,2.串行口控制寄存器(SCONSerial Port Control Register)(1)SM0、SM1、SM2Serial Port Mode Bits(2)REN允许串行接收位Receiver Enable(软件置1或清0)(3)TB8Transmit bit 8.Ninth bit tran
3、smitted(in mode 2 and 3);set/cleared by software.(4)RB8Receive bit 8.Ninth bit received(in mode 2 and 3);Mode 0:Not used Mode 1:Stop bit Mode 2,3:Ninth data bit.(5)TI发送中断标志位Transmit interrupt flag.Set at end of character transmission;cleared by software.(6)RI接收中断标志位Receive interrupt flag.Set at end
4、of character reception;cleared by software.,5,6 单片机中断与定时系统,3.中断允许控制寄存器(IEInterrupt Enable Register)(1)EA中断允许总控制位(2)EX0和EX1外部中断允许控制位(3)ET0和ET1定时/计数中断允许控制位(4)ES串行中断允许控制位,6,6 单片机中断与定时系统,4.中断优先级控制寄存器(IPInterrupt Priority Register)(1)PX0外部中断0优先级设定位(2)PT0定时中断0优先级设定位(3)PX1外部中断1优先级设定位(4)PT1定时中断1优先级设定位(5)PS串
5、行中断优先级设定位,7,6 单片机中断与定时系统,5.中断优先级控制原则和控制逻辑 中断嵌套高优先级可以中断低优先级 同级不能嵌套 同级中断同时请求,查询次序为:外部中断0定时中断0外部中断1定时中断1串行中断6.中断初始化与中断控制寄存器状态设置MOV IE,#81H;开放外部中断0或SETB EASETB EX0,8,6 单片机中断与定时系统,MCS-51的中断系统,1,高级,低级,内部查询,内部查询,入口地址,入口地址,INT0,INT1,T0,T1,TI,RI,中断请求标志,中断允许控制,中断优先级,EA,中断源,9,6 单片机中断与定时系统,中断响应过程1.中断采样在每个机器周期的S
6、5P2采样 和2.中断查询在每个机器周期的最后一个状态S6查询3.中断响应硬件自动产生LCALL addr16指令响应过程单片机响应中断后,自动执行下列操作:(1)置位中断优先级有效触发器,即关闭同级和低级中断:(2)调用入口地址,断点入栈,相当于LCALL指令;(3)进入中断服务程序。例如:LCALL 0003H;响应外部中断0,10,6 单片机中断与定时系统,响应条件CPU要响应中断需满足下列条件:(1)无同级或高级中断正在服务;(2)当前指令周期结束,如果查询中断请求的机器周期不是当前指令的最后一个周期,则不响应;(3)若现行指令是RETI、RET或访问IE、IP指令,则需要执行完当前指
7、令及下一条指令方可响应。4.中断响应时间最短为3个机器周期;最长为8个机器周期。响应时间从查询中断请求标志位到转向中断服务入口地址所需的机器周期数。,11,6 单片机中断与定时系统,(1)最快响应时间以外部中断的电平触发为最快。从查询中断请求信号到中断服务程序需要三个机器周期:1个周期(查询)2个周期(长调用LCALL)(2)最长时间若当前指令是RET、RETI和访问IP、IE指令,紧接着下一条是乘除指令发生,则最长为8个周期:2个周期执行当前指令(其中含有1个周期查询)4个周期乘除指令2个周期长调用8个周期。,12,6 单片机中断与定时系统,中断请求的撤销1.定时中断请求的撤销自动撤销(硬件
8、自动清TF0和TF1)2.脉冲方式外部中断请求的撤销自动撤销(硬件自动清IE0和IE1;脉冲信号消失)3.电平方式外部中断请求的撤销硬件自动清IE0和IE1,但低电平中断请求信号需强制变为高电平。4.串行中断请求的撤销软件撤销(CLR TI,CLR RI),13,6 单片机中断与定时系统,ORL P1,#01HANL P1,#0FEH,P1.0,Q,外部中断请求信号,1,INT0,80C51,D,CP,SD,电平方式外部中断请求的撤销电路,14,6 单片机中断与定时系统,中断服务流程1.现场保护和现场恢复(PUSH direct、POP direct)2.关中断和开中断(CLR、SETB)3.
9、中断处理4.中断返回(RETI)MCS-51的单步工作方式外部中断0的中断服务程序:JNBP3.2,$JBP3.2,$RETI,15,6.2 MCS-51单片机的定时器/计数器 定时方法概述1.软件定时2.硬件定时3.可编程定时器定时 定时器/计数器的定时和计数功能1.计数功能2.定时功能,6 单片机中断与定时系统,16,6 单片机中断与定时系统,定时器/计数器的控制寄存器1.定时器/计数器控制寄存器(TCONTimer/Counter Control Register),17,6 单片机中断与定时系统,2.定时器/计数器方式控制寄存器(TMODTimer/Counter Mode Contr
10、ol Register),6 单片机中断与定时系统,定时工作方式01.电路逻辑结构,18,19,6 单片机中断与定时系统,2.定时和计数应用 设晶振频率fosc=6MHz,方式0的最长定时时间为:(2130)2us=214us=16384us=16.384ms例 6.1 设晶振频率fosc=6MHz,使用定时器1以方式0产生周期为500s的方波脉冲,并由P1.0 输出。以查询方式实现。,20,6 单片机中断与定时系统,例 6.1程序如下:org0movtmod,#0movth1,#0fchmovtl1,#3movie,#0,setbtr1loop:jbctf1,loop1ajmplooploo
11、p1:movth1,#0fchmovtl1,#3cplp1.0ajmploopend,21,6 单片机中断与定时系统,定时工作方式1,22,6 单片机中断与定时系统,设晶振频率fosc=6MHz,方式1的最长定时时间为:(2160)2us=217us=131.072ms例 6.2 设晶振频率fosc=6MHz,使用定时器1以方式1产生周期为500s的方波脉冲,并由P1.0 输出。以中断方式实现。,23,6 单片机中断与定时系统,例 6.2程序如下:org0ljmpmainorg001bhljmpintt1main:movtmod,#10hmovth1,#0ffhmovtl1,#83hsetbe
12、asetbet1setbtr1sjmp$,intt1:movth1,#0ffhmovtl1,#83hcplp1.0retiend,6 单片机中断与定时系统,定时工作方式21.电路逻辑结构,24,25,6 单片机中断与定时系统,设晶振频率fosc=6MHz,方式2的最长定时时间为:(280)2us=29us=0.512ms例 6.3 设晶振频率fosc=6MHz,使用定时器0以方式2产生周期为200s的方波脉冲,并由P1.0 输出。分别以查询和中断方式实现。,26,6 单片机中断与定时系统,例 6.3程序如下:查询方式:org0movtmod,#2movth0,#0cehmovtl0,#0ceh
13、movie,#0setbtr0loop:jbctf0,loop1ajmplooploop1:cplp1.0ajmploopend,中断方式:org0ljmpmainorg000bhcplp1.0retimain:movtmod,#2movth0,#0cehmovtl0,#0cehsetbeasetbet0setbtr0sjmp$end,27,6 单片机中断与定时系统,例 6.4 设晶振频率fosc=6MHz,使用定时器1以方式2实现计数,每计数100次累加器加1。org0movtmod,#60hmovth1,#9chmovtl1,#9chmovie,#0setbtr1loop:jbctf1,l
14、oop1ajmplooploop1:incaajmploopend,6 单片机中断与定时系统,定时工作方式3,28,方式32个8位方式,29,6 单片机中断与定时系统,只有T0可以工作在方式3此时T0分成2个独立的计数器TL0和TH0,前者用原来T0的控制信号(TR0、TF0),后者用原来T1的控制信号(TR1、TF1)。T1处于方式3时相当于TR1=0,停止计数。,30,6.3 MCS-51单片机外部中断源的扩展 通过OC门线或实现ORG0013HINTER:JBP1.0,LOOP1JBP1.1,LOOP2JBP1.n,LOOPnINTEND:RETILOOP1:AJMPINTEND,6 单
15、片机中断与定时系统,31,通过自身的定时器/计数器实现 在计数方式下,如果把计数器预置为全1,则只要在计数输入端(T0或T1输入端)加一脉冲就可以使计数器溢出,产生溢出中断。这就是定时器/计数器实现外部中断扩展的思想。具体方法是:(1)置定时器/计数器为工作方式2,即自动加载式8位计数,以便在一次中断响应后,自动为下一次中断作准备;(2)TH和TL均置为FFH;(3)扩展的外部中断请求信号接计数脉冲输入端(T0或T1);(4)把扩展的外中断服务程序存放在所占用的定时器/计数器中断入口地址处(000BH或001BH)。,6 单片机中断与定时系统,32,例如用定时器/计数器0扩展一个外部中断,其初
16、始化程序段如下:MOVTMOD,#06HMOVTH0,#0FFHMOVTL0,#0FFHSETBEASETBET0SETBTR0,6 单片机中断与定时系统,33,6.4 定时器/计数器与中断综合应用举例时钟程序org0start:ajmpmainorg000bhajmppitomain:movsp,#60hmovr0,#79hmovr7,#6ml1:movr0,#0incr0djnzr7,ml1,6 单片机中断与定时系统,movtmod,#1movtl0,#0dchmovth0,#0bhsetbtr0setbeasetbet0mov30h,#8;ml0:lcallsmxs;sjmpml0sjm
17、p$,34,pito:pushpswpushaccsetbpsw.3movtl0,#0dchmovth0,#0bhdjnz30h,ret0mov30h,#8movr0,#7ahacalldaad1mova,r2xrla,#60hjnzret0acallclr0,6 单片机中断与定时系统,movr0,#7chacalldaad1mova,r2xrla,#60hjnzret0acallclr0movr0,#7ehacalldaad1mova,r2xrla,#24hjnzret0acallclr0ret0:popaccpoppswreti,35,daad1:mova,r0decr0swapaorla
18、,r0adda,#1daamovr2,aanla,#0fhmovr0,amova,r2incr0anla,#0f0hswapamovr0,aret,6 单片机中断与定时系统,clr0:clramovr0,adecr0movr0,aretend,36,7.1 单片机为什么需要I/O扩展7.2 单片机简单I/O扩展7.3 8255A可编程通用并行接口芯片7.4 8155带RAM和定时器/计数器的可编程并行接口芯片7.5 8279可编程键盘/显示器接口芯片7.6 MCS-51单片机键盘接口技术7.7 MCS-51单片机显示器接口技术7.8 MCS-51单片机打印机接口技术,7 单片机I/O扩展及应用
19、,37,7.1 单片机为什么需要I/O扩展 I/O口的直接使用1.数据的无条件传送,7 单片机I/O扩展及应用,ORG0200HEXTR:MOVA,#0FHMOVP1,AMOVA,P1CPLAANLA,#0FHSWAPAMOVP1,ARETEND,38,2.中断方式的数据传送,7 单片机I/O扩展及应用,ORG0000HSTART:AJMPMAINORG0003HAJMPEXTRORG0030HMAIN:SETBIT0SETBEX0 SETBEA SJMP$ORG0200HEXTR:MOVA,#0FHMOVP1,AMOVA,P1CPLAANLA,#0FHSWAPAMOVP1,ARETIEND,
20、39,为什么要扩展I/O接口1.单片机本身接口功能有限2.单片机控制应用中的复杂接口要求(1)速度差异大(2)设备种类繁多(3)数据信号形式多种多样3.扩展I/O接口电路的功能(1)速度协调(2)输出数据锁存(3)输入数据三态缓冲(4)数据转换,7 单片机I/O扩展及应用,40,I/O扩展的相关技术1.接口与端口2.数据总线隔离技术3.单片机I/O编址技术(1)独立编址方式(2)统一编址方式 单片机I/O控制方式1.无条件传送方式2.查询方式3.中断方式,7 单片机I/O扩展及应用,41,7.2 单片机简单I/O扩展 简单输入口扩展1.两个输入口扩展 简单输入口扩展使用中小规模集成电路芯片,比
21、较典型的有74LS244芯片。,7 单片机I/O扩展及应用,42,2.多输入口扩展 使用多片74LS244实现多个(例如5个)输入口扩展。3.应用举例 一个拨盘可产生一个BCD码形式的十进制数(4位)。现有A、B、C、D 4个拨盘,要求把它们产生的BCD码依次输入到R4(B、A)和R5(C、D)中去。MOVDPTR,#7FFFHMOVXA,DPTRMOVR4,AMOVDPTR,#0BFFFHMOVXA,DPTRMOVR5,A,7 单片机I/O扩展及应用,43,简单输出口扩展1.简单输出口扩展使用的典型芯片74LS3772.输出口扩展连接,7 单片机I/O扩展及应用,44,7.3 8255A可编
22、程通用并行接口芯片 可编程I/O接口扩展概述 8255A可编程通用并行接口 8155带RAM和定时器/计数器的可编程并行接口 8259可编程中断控制器 8279可编程键盘/显示器接口 8253可编程通用定时器 8255A的逻辑结构和信号引脚 8255A的工作方式及数据I/O操作 8255A控制字及初始化编程,7 单片机I/O扩展及应用,45,7 单片机I/O扩展及应用,7.4 8155带RAM和定时器/计数器的可编程并行接口芯片 8155基本结构及工作方式,46,7 单片机I/O扩展及应用,1.主要接口信号AD7AD0地址数据复用线。ALE地址锁存信号。除了进行AD7AD0的地址锁存控制外,还
23、用于把片选信号 和 等信号进行锁存。读选通信号。写选通信号。片选信号。I/O与RAM的选择信号。RESET复位信号。复位后A口、B口和C口均为数据输入方式。2.I/O及其工作方式A口该口作输入还是输出,由软件决定。B口该口作输入还是输出,由软件决定。C口该口除可作输入、输出口外,还可作为控制口,传送控制和状态信号,因此C口共有四种工作方式,即:输入方式(ALT1),输出方式(ALT2),A口控制端口方式(ALT3)以及A口 和B口控制端口方式(ALT4)。其工作方式由软件决定。,47,7 单片机I/O扩展及应用,3.RAM单元及I/O口编址,48,7 单片机I/O扩展及应用,8155与MCS-
24、51单片机的连接1.用或非门产生 信号2.以高位地址直接作为 信号,49,7 单片机I/O扩展及应用,8155的命令/状态寄存器1.命令字,50,7 单片机I/O扩展及应用,2.状态字,51,7 单片机I/O扩展及应用,8155的定时器/计数器1.定时器/计数器的计数结构 8155的定时器/计数器是一个14位的减法计数器,由两个8位寄存器构成,以其中的低14位组成计数器,剩下的两个高位(M2,M1)用于定义计数器输出的信号形式。,输出方式,计数器高6位,计数器低8位,52,7 单片机I/O扩展及应用,2.定时器/计数器的使用 8155的定时器/计数器是减法计数,而MCS-51单片机的定时器/计
25、数器却是加法计数,因此确定计数初值的方法是不同的。MCS-51单片机的定时器/计数器有多种工作方式,而8155的定时器/计数器只有一种固定的工作方式,即14位计数。通过软件方法进行计数初加载。MCS-51单片机的定时器计数器有两种计数脉冲。定时功能时,内部按机器周期提供固定频率的计数脉冲;计数功能时,从芯片外部引入计数脉冲。但8155的定时器/计数器,不论是定时功能还是计数功能都是由外部提供计数脉冲,其信号引脚是TIMER IN。MCS-51单片机的定时器/计数器,计数溢出时,自动置位TCON寄存器的计数溢出标志位(TF),供用户查询或中断方式使用;但8155的定时器/计数器,计数溢出时向芯片
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 中断 定时 系统
链接地址:https://www.31ppt.com/p-5096567.html