您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 2010课件5章单片机
1、第5章单片机的中断与定时2010/11/9单片机的内部资源:在单片机内部集成了许多功能单元,如中断,定时器/计数器,串行通信,模拟/数字转换等单元,统称单片机的内部资源。5.1单片机的中断5.2定时器/计数器5.180C51单片机的中断系统5.1.1关于中断什么是中断“中断”即中途打断某一正在进行的工作,而去处理另外的的事件,待处理完成,再继续原来的工作.为什么要用中断一个资源(CPU)面对多项任务,但由于资源有限因此出现资源竞争的局面。中断是解决资源竞争的有效方法。中断技术的实质上就是一种资源共享技术。中断的功能(1)实现CPU与外设的速度配合CPU快外设慢数据准备一个CPU对若干外设(2)实现实时控制控制参量,实时向计算时发出请求(3)实现故障的及时发现(4)实现人机联系如键盘、鼠标中断(也是外设中断)单片机中断源80C51有3类共6个中断源:外部中断2个,定时中断2个,串行中断2个(1)外部中断源*它们的中断请求信号分别由引脚INT0(P3.2)和引脚INT1(P3.3)引入。*外部中断申请有两种方式:可设置有关控制位进行定义电平方式:低电平有效脉冲方式:脉冲的后沿。
2、负跳有效(下降沿有效)80C51单片机逻辑符号(2)定时中断(按一定时间,或数量产生中断)单片机芯片内部有两个定时器/计数器,发生溢出,产生中断(由单片机内部产生芯片上没有对应的中断请求引入端)(3)串行中断串行口接受或发送完一组数据后,就产生一个中断请求,由硬件自动申请中断,另外申请中断由芯片内部产生,不需要外界引入中断。5.1.2中断的控制中断控制:提供给用户使用的中断控制手段。实际就是一些寄存器用于中断控制的寄存器有4个(1)定时控制寄存器(TCON)(2)串行口控制寄存器(SCON)(3)中断允许控制寄存器(IE)(4)中断优先级控制寄存器(IP)(1)定时控制寄存器(TCON)该寄存器用于保存外部中断请求以及定时器的计数溢出。寄存器地址88H8FH8EH8DH8CH8BH8AH89H88HTF1TR1TF0TR0IE1IT1IE0IT0位地址位符号定时器控制位外部中断控制位IE0和IE1:外部中断请求标志位当CPU采样到INT0(P3.2),INT1(P3.3)出现有效中断请求时,IE0和IE1位由硬件置“1”。响应中断时,再由硬件自动清“0”IT0和IT1:外中断。
3、请求触发方式控制位。IT0(IT1)=1:脉冲触发方式,后沿负调有效IT0(IT1)=0:电平触发方式,低电平有效由软件置“1”或清“0”TF0和TF1:计数溢出标志位。当计数器产生计数溢出时,相应的标志位由硬件置“1”,转向中断服务程序时,再由硬件自动清“0”TR0和TR1:定时器运行控制位8FH8EH8DH8CH8BH8AH89H88HTF1TR1TF0TR0IE1IT1IE0IT0位地址位符号(2)串行口控制寄存器(SCON)9FH9EH9DH9CH9BH9AH99H98HSM0SM1SM3RENTB8RB8TIRI位地址位符号寄存器地址98H,位地址9FH—98H与中断有关的控制位共2位TI:串行口发送中断请求标志位。当发送完一桢数据后,由硬件置“1”,转向中断程序后,用软件清“0”RI:串行口接受中断请求标志位当接收完一桢数据后,由硬件置“1”,转向中断程序后,用软件清“0”(3)中断允许控制寄存器(IE)寄存器地址A8H,“复位”时(IE)=00H.所有中断禁止。单片机在相应中断后,不会自动关闭中断。应根据需要以软件的形式关闭中断其中与中断有关的控制位共6位。
4、0AFH0AEH0ADH0ACH0ABH0AAH0A9HA8HEA//ESET1EX1ET0EX0位地址位符号(4)中断优先级控制寄存器(IP)中断优先级:系统定义了高低2个优先级“0”的位优先级为低,“1”的位优先级为高80C51单片机对中断优先级的处理原则:(1)低优先级中断请求不能打扰高优先级的中断服务但高优先级中断请求可以打断低优先级的中断服务从而实现中断嵌套。(2)如果一个中断请求已被响应,则同级的其他中断服务将被禁止。即同级不能嵌套。(3)如果同级的多个中断请求同时出现,则按CPU查询次序确定哪个中断请求被响应。其查询次序为:外部中断0→定时中断0→外部中断1→定时中断1→串行中断2.中断初始化与中断控制寄存器状态设置用户通过上述4个寄存器来使用中断系统。对中断的使用是在程序初始化时设置的,如果不包括优先级控制,外中断初始化共有3项内容:中断总允许,外中断允许和中断方式设定。定时中断则只有2项内容,没有中断方式控制4个控制寄存器即可以字节寻址又可以位寻址MOVIE,#81H;SETBEA;(3)中断允许控制寄存器(IE)寄存器地址A8H,“复位”时(IE)=00H.。
5、所有中断禁止。单片机在相应中断后,不会自动关闭中断。应根据需要以软件的形式关闭中断其中与中断有关的控制位共6位0AFH0AEH0ADH0ACH0ABH0AAH0A9HA8HEA//ESET1EX1ET0EX0位地址位符号5.1.3中断响应过程设计思路:把所有的中断请求都汇集到TCON和SCON寄存器中1.中断采样:采样时中断处理的第一步。对外中断信号进行的。把采样结果,锁存在定时器控制寄存器(TCON)。CPU在每个机器周期S5P2(第5状态,第2拍节)对中断请求引脚INT0(P3,2)和INT1(P3,3)采样。电平方式的外中断请求:低电平有效,IE0(IE1)=1脉冲方式的外中断请求:两个相邻周期采样到先高后低,IE0(IE1)=1对中断信号的要求:如果系统的晶振频率为6MHZ,信号电平至少保持12个晶振周期IE0和IE1:外部中断请求标志位当CPU采样到INT0(P3.2),INT1(P3.3)出现有效中断请求时,IE0和IE1位由硬件置“1”。响应中断时,再由硬件自动清“0”IT0和IT1:外中断请求触发方式控制位。IT0(IT1)=1:脉冲触发方式,后沿负调有效I。
6、T0(IT1)=0:电平触发方式,低电平有效由软件置“1”或清“0”TF0和TF1:计数溢出标志位。当计数器产生计数溢出时,相应的标志位由硬件置“1”,转向中断服务程序时,再由硬件自动清“0”TR0和TR1:定时器运行控制位8FH8EH8DH8CH8BH8AH89H88HTF1TR1TF0TR0IE1IT1IE0IT0位地址位符号串行口控制寄存器(SCON)9FH9EH9DH9CH9BH9AH99H98HSM0SM1SM3RENTB8RB8TIRI位地址位符号寄存器地址98H,位地址9FH—98H与中断有关的控制位共2位TI:串行口发送中断请求标志位。当发送完一桢数据后,由硬件置“1”,转向中断程序后,用软件清“0”RI:串行口接受中断请求标志位当接收完一桢数据后,由硬件置“1”,转向中断程序后,用软件清“0”2.中断的查询什么是查询:由CPU在每个机器周期的最后一个状态(S6)测试TCON和SCON中各标志位的状态,以确定有无中断请求发生,以及是哪一个中断请求外中断采用采样的方法,把中断请求锁定在TCON,定时中断和串行中断发生在芯片内部,直接置位TCON和SCON中。
7、各自标志位中断汇集中断汇集03.中断响应什么是中断响应就是对中断源提出的中断请求接受。如果有中断发生,就从相邻的下一个机器周期的S1状态开始进行中断响应响应的主要内容:硬件自动产生一条长调用指令.LCALLaddr16.addr16程序存储器ROM中,中断区相应入口地址。5个中断源的中断地址区:内部程序存储器(保留的)80C51有4KBROM内部程序存储器0000H~0FFFH存放程序用系统复位(RST高电平)(PC)=0000H程序从此开始复习中断响应条件每个机器周期内对所有中断源进行顺序检测并可在任一周期的S6期间,找到所有有效的中断请求,并对其优先级进行排队,并满足下列条件:a)中断源有请求b)中断允许寄存器相应位置”1”c)中断开放(EA=1)d)无同级或高级中断正在服务e)现在指令执行到最后一个机器周期已结束f)若现行指令为RETI,或需访问IE或IP指令时,执行完该指令,且其紧接着的指令也已经完成4.响应时间响应时间:从中断请求有效(标志位置“1”)到转向中断区入口地址所需要的时间中断响应时间(3~8个机器周期)最短:中断标志位查询+LCALL=1条指令最后。
8、1个机器周期+2个机器周期=3机器周期最长:RETI+(下一条指令)MUL或DIV+LCALL2机器周期+4机器周期+2机器周期=8周5.1.4中断请求的撤除1.定时中断:硬件自动清除标志位(TF0或TF1)2.外部中断:中断标志位的置“0”和外中断请求信号的撤销。标志位IE0(IE1)硬件自动完成(1)脉冲方式下外部中断请求的撤销:(2)电平方式下外部中断请求的撤销:中断标志是自动撤销,中断请求信号可能继续存在。3.串行中断:标志位由用户用软件撤除CLRTICLRRI电平方式外部中断请求的撤销电路工作方式:(1)D触发器锁存外来低电平CP=0则Q=0(2)中断完毕,P1=0,则Q=1,INT0=1产生负脉冲指令(两条)ORLP1,#01H;P1.0输出高电平ANLP1,#FEH;P1.0输出低电平5.1.5中断服务程序1.主程序中的中断初始化中断初始化:在主程序中预先设置是否允许中断发生,如何发生。初始化的内容包括堆栈设置,中断系统总开放,中断允许设置,中断请求方式和中断优先级设置等。ORG0000HAJMPMAIN;系统复位后转向主程序ORG0003HAJMPEXINT0;转向外。
9、部中断0服务程序MAIN:MOVTCON,#01H;脉冲触发方式MOVIE,#81H;中断开放,外中断0开放MOVIP,#01H;外中断0高优先级MOVSP,#03FH;设置堆栈。。。。EXINT:。。。。(1)定时控制寄存器(TCON)该寄存器用于保存外部中断请求以及定时器的计数溢出。寄存器地址88H8FH8EH8DH8CH8BH8AH89H88HTF1TR1TF0TR0IE1IT1IE0IT0位地址位符号定时器控制位外部中断控制位复习IE0和IE1:外部中断请求标志位当CPU采样到INT0(P3.2),INT1(P3.3)出现有效中断请求时,IE0和IE1位由硬件置“1”。响应中断时,再由硬件自动清“0”IT0和IT1:外中断请求触发方式控制位。IT0(IT1)=1:脉冲触发方式,后沿负调有效IT0(IT1)=0:电平触发方式,低电平有效由软件置“1”或清“0”TF0和TF1:计数溢出标志位。当计数器产生计数溢出时,相应的标志位由硬件置“1”,转向中断服务程序时,再由硬件自动清“0”TR0和TR1:定时器运行控制位8FH8EH8DH8CH8BH8AH89H88HTF1TR。
10、1TF0TR0IE1IT1IE0IT0位地址位符号复习(2)串行口控制寄存器(SCON)9FH9EH9DH9CH9BH9AH99H98HSM0SM1SM3RENTB8RB8TIRI位地址位符号寄存器地址98H,位地址9FH—98H与中断有关的控制位共2位TI:串行口发送中断请求标志位。当发送完一桢数据后,由硬件置“1”,转向中断程序后,用软件清“0”RI:串行口接受中断请求标志位当接收完一桢数据后,由硬件置“1”,转向中断程序后,用软件清“0”复习(3)中断允许控制寄存器(IE)寄存器地址A8H,“复位”时(IE)=00H.所有中断禁止。单片机在相应中断后,不会自动关闭中断。应根据需要以软件的形式关闭中断其中与中断有关的控制位共6位0AFH0AEH0ADH0ACH0ABH0AAH0A9HA8HEA//ESET1EX1ET0EX0位地址位符号复习复习(4)中断优先级控制寄存器(IP)中断优先级:系统定义了高低2个优先级“0”的位优先级为低,“1”的位优先级为高复习2.中断服务流程1.现场保护和现场恢复:现场:中断时刻单片机存储单元中数据或状态.现场保护:位于中断服务程序的。
本文标题:2010课件5章单片机
链接地址:https://www.777doc.com/doc-3490914 .html