




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第六章第六章 单片机的功能模块及数字电子时钟单片机的功能模块及数字电子时钟26.1 89S516.1 89S51单片机的定时器单片机的定时器/ /计数器计数器 6.1.1 6.1.1 定时定时/ /计数器计数器T0T0和和T1T1的结构的结构 6.1.2 6.1.2 定时器定时器/ /计数器计数器T0T0、T1T1的工作方式的工作方式6.2 6.2 查询法定时实现查询法定时实现LEDLED小灯闪烁小灯闪烁 6.2.1 6.2.1 定时器定时器/ /计数器的定时原理计数器的定时原理 6.2.2 6.2.2 查询法定时查询法定时50ms50ms小灯闪烁程序设计小灯闪烁程序设计 6.2.3 6.2.
2、3 查询法定时查询法定时1s1s小灯闪烁程序设计小灯闪烁程序设计6.3 89S516.3 89S51单片机的中断系统单片机的中断系统 6.3.1 6.3.1 中断的基本概念中断的基本概念 6.3.2 MCS-516.3.2 MCS-51中断系统结构与中断控制中断系统结构与中断控制第六章第六章 单片机的功能模块及数字电子时钟单片机的功能模块及数字电子时钟36.4 6.4 中断法定时实现中断法定时实现LEDLED小灯闪烁小灯闪烁 6.4.1 6.4.1 中断法定时中断法定时50ms50ms小灯闪烁程序设计小灯闪烁程序设计 6.4.2 6.4.2 中断法定时中断法定时1s1s实现小灯闪烁程序设计实现
3、小灯闪烁程序设计6.5 89S516.5 89S51单片机的输入单片机的输入/ /输出接口输出接口 6.5.1 P16.5.1 P1口口 6.5.2 P26.5.2 P2口口 6.5.3 P36.5.3 P3口口6.6 6.6 数字电子时钟数字电子时钟 6.6.1 6.6.1 数字电子时钟的硬件电路设计数字电子时钟的硬件电路设计 6.6.2 6.6.2 数字电子时钟的软件设计数字电子时钟的软件设计 4 本章内容首先安排了单片机的本章内容首先安排了单片机的“定时器定时器/ /计数器计数器”、“中断系统中断系统”及及“输入输入/ /输出接输出接口口”。并通过并通过“查询法定时实现查询法定时实现LE
4、DLED小灯闪烁小灯闪烁”、“中断法定时实现中断法定时实现LEDLED小灯闪烁小灯闪烁”的学习,的学习,掌握它们的应用,最后通过掌握它们的应用,最后通过“数字电子时钟数字电子时钟”进一步掌握这些功能模块的应用。具体教学进一步掌握这些功能模块的应用。具体教学目标如下目标如下: :教学目标教学目标51.1. 掌握掌握89S5189S51片内片内T0T0和和T1T1的硬件结构、计数功能和定时功的硬件结构、计数功能和定时功能及四种工作方式的应用。能及四种工作方式的应用。2.2. 牢记牢记TMODTMOD和和TCONTCON各位的含义及其编程应用。各位的含义及其编程应用。3.3. 学会查询法及中断法定时
5、的应用方法。学会查询法及中断法定时的应用方法。4.4. 掌握中断系统的硬件结构,掌握中断系统的硬件结构,5 5个中断源的含义。个中断源的含义。5.5. 熟练掌握各中断控制寄存器的控制位功能及标志位的含熟练掌握各中断控制寄存器的控制位功能及标志位的含义。义。6.6. 熟悉中断处理过程,掌握中断服务程序的结构及编程方熟悉中断处理过程,掌握中断服务程序的结构及编程方法。法。7.7. 掌握单片机并行输入掌握单片机并行输入/ /输出接口的逻辑结构和技术功能输出接口的逻辑结构和技术功能. .8.8. 通过通过“数字电子时钟数字电子时钟”进一步掌握定时器进一步掌握定时器/ /计数器、中计数器、中断、断、I/
6、OI/O口、键盘及数码管的应用。口、键盘及数码管的应用。6微微处处理理器器 6.1 89S516.1 89S51单片机的定时器单片机的定时器/ /计数器计数器6.1.1 6.1.1 定时定时/ /计数器计数器T0T0和和T1T1的结构的结构6.1 89S516.1 89S51单片机的定时器单片机的定时器/ /计数器计数器返回目录返回目录71.1.T0T0和和T1T1加法计数器(对计数脉冲每次加加法计数器(对计数脉冲每次加1 1)T0T0:1616位加位加 计数器计数器TL0:TL0:低低8 8位计数器位计数器TH0:TH0:高高8 8位计数器位计数器TL1:TL1:低低8 8位计数器位计数器T
7、H1:TH1:高高8 8位计数器位计数器T1T1:1616位加位加 计数器计数器6.1 89S516.1 89S51单片机的定时器单片机的定时器/ /计数器计数器8T0T0和和T1T1加法计数器的两大功能加法计数器的两大功能对片内机器周期对片内机器周期方波方波TcyTcy进行计数进行计数对对Tx(P3.5Tx(P3.5、P3.4)P3.4)引脚引脚输入外部负脉冲进输入外部负脉冲进行计数行计数两大两大功能功能计数计数功能功能定时定时功能功能6.1 89S516.1 89S51单片机的定时器单片机的定时器/ /计数器计数器9编程设编程设定定原理原理在计数在计数器内设器内设置初值置初值加加1 1计满
8、计满后溢出后溢出定时时间和定时时间和计数值的调整计数值的调整调整计数器初值,调整计数器初值,可调整从初值到可调整从初值到计满溢出的数值计满溢出的数值定时时间和计数值可以编程设定定时时间和计数值可以编程设定置置溢溢出出标标志志6.1 89S516.1 89S51单片机的定时器单片机的定时器/ /计数器计数器102. 2. 定时定时/ /计数器工作方式寄存器计数器工作方式寄存器TMODTMOD高高4 4位控制位控制T1T1低低4 4位控制位控制T0T0门控门控位位计数计数/ /定时定时方式选择方式选择工作方式工作方式选择选择门控门控位位计数计数/ /定时定时方式选择方式选择工作方式工作方式选择选择
9、G GC / TC / TM1M1M0M0G GC / TC / TM1M1M0M0 M1M0 M1M0 工作方式选择位工作方式选择位M1 M0M1 M00000010110101111工作方式工作方式方式方式0 0方式方式1 1方式方式2 2方式方式3 3功能功能1313位位计数器计数器1616位位计数器计数器2 2个个8 8位,初位,初值自动装入值自动装入2 2个个8 8位位仅用于仅用于T0T06.1 89S516.1 89S51单片机的定时器单片机的定时器/ /计数器计数器11C/T=1C/T=1C/T=0C/T=0对外部事件脉冲对外部事件脉冲计数,用作计数器。计数,用作计数器。计数计数
10、工作方式工作方式定时定时工作方式工作方式对片内机器周期脉冲对片内机器周期脉冲计数,用作定时器。计数,用作定时器。 C/T C/T : 计数计数/ /定时方式选择位定时方式选择位6.1 89S516.1 89S51单片机的定时器单片机的定时器/ /计数器计数器12运行同时受运行同时受TR0/TR1TR0/TR1和外中断输入信号和外中断输入信号的双重控制的双重控制只有当只有当INT0/INT1=1INT0/INT1=1且且TR0/TR1=1,T0/T1TR0/TR1=1,T0/T1才能运行才能运行GATE=1GATE=1TMODTMOD字节地址字节地址89H,89H,不能位操作不能位操作设置设置T
11、MODTMOD须用字节操作指令。须用字节操作指令。 GATE GATE :门控位:门控位运行只受运行只受TCONTCON中运行中运行控制位控制位TR0/TR1TR0/TR1的控制的控制与引脚无关与引脚无关, ,一般情况下一般情况下GATE=0GATE=0GATE=0GATE=06.1 89S516.1 89S51单片机的定时器单片机的定时器/ /计数器计数器13TCONTCONT1T1中断中断标志标志T1T1运行运行标志标志T0T0中断中断标志标志T0T0运行运行标志标志INT1INT1中断中断标志标志INT1INT1触发触发方式方式INT0INT0中断中断标志标志INT0INT0触发触发方式
12、方式位名称位名称TF1TF1TR1TR1TF0TF0TR0TR0IE1IE1IT1IT1IE0IE0IT0IT0位地址位地址8FH8FH8EH8EH8DH8DH8CH8CH8BH8BH8AH8AH89H89H88H88H用途用途编程操作编程操作设置寄存设置寄存器的状态器的状态 3. 3. 定时定时/ /计数器的控制寄存器计数器的控制寄存器TCONTCONTCONTCON的结构、位名称、位地址和功能如下:的结构、位名称、位地址和功能如下:6.1 89S516.1 89S51单片机的定时器单片机的定时器/ /计数器计数器14定时定时/ /计数器计数器T0T0运行控制位运行控制位TCONTCON低低
13、4 4位用于外中断位用于外中断 高高4 4位用于定时位用于定时TCONTCON的字节地址为的字节地址为88H88H,每一位有位地址,均可位操作,每一位有位地址,均可位操作。TR1=1,T1TR1=1,T1运行运行 TR1=0,T1TR1=0,T1停停TR0=1,T0TR0=1,T0运行运行TR0=0,T0TR0=0,T0停停。TR0TR0TR1TR1定时定时/ /计数器计数器T1T1运行控制位运行控制位TF1=1TF1=1: 定时定时/ /计数器计数器T1T1溢出标志。溢出标志。TF0=1TF0=1: 定时定时/ /计数器计数器T0T0溢出标志。溢出标志。6.1 89S516.1 89S51单
14、片机的定时器单片机的定时器/ /计数器计数器151 1工作方式工作方式0 06.1.2 6.1.2 定时器定时器/ /计数器计数器T0T0、T1T1的工作方式的工作方式1313位计数器位计数器TH0 8TH0 8位位TL0TL0低低5 5位位1313位计满溢出位计满溢出TF0TF0置置“1”1”。最大计数值最大计数值2 2的的1313次方次方= 8192= 8192通常方式通常方式0 0很少用,常以方式很少用,常以方式1 1替代替代进位进位6.1 89S516.1 89S51单片机的定时器单片机的定时器/ /计数器计数器162 2工作方式工作方式1 11616位计数器位计数器TH0 8TH0
15、8位位TL0 8TL0 8位位1818位计满溢出位计满溢出TF0TF0置置“1”1”。最大计数值最大计数值2 2的的1616次方次方= 65536= 65536进位进位当当foscfosc=12MHZ,=12MHZ,最大定时最大定时65536 65536 S S,而用方式而用方式0 0最大定时时间为最大定时时间为8192 8192 S.S.6.1 89S516.1 89S51单片机的定时器单片机的定时器/ /计数器计数器17定时器定时器/ /计数器计数器T0 T0 方式方式1 1的逻辑结构的逻辑结构6.1 89S516.1 89S51单片机的定时器单片机的定时器/ /计数器计数器183 3工作
16、方式工作方式2 28 8位计数器,仅用位计数器,仅用TL0TL0计数,最大计数值为计数,最大计数值为2 28 8= 256= 256,计满溢出后,一方面进位计满溢出后,一方面进位TF0TF0,使溢出标志,使溢出标志TF0 = 1TF0 = 1;另一方面,使原来装在另一方面,使原来装在TH0TH0中的初值装入中的初值装入TL0TL0。优点:定时初值可自动恢复优点:定时初值可自动恢复,TH0,TH0中存放初值中存放初值; ;缺点:计数范围小。缺点:计数范围小。适用于需要重复定时,而定时范围不大的应用场合。适用于需要重复定时,而定时范围不大的应用场合。6.1 89S516.1 89S51单片机的定时
17、器单片机的定时器/ /计数器计数器19定时器定时器/ /计数器计数器T0 T0 方式方式2 2的逻辑结构的逻辑结构6.1 89S516.1 89S51单片机的定时器单片机的定时器/ /计数器计数器204 4工作方式工作方式3 3方式方式3 3仅适用于仅适用于T0T0,T1T1无方式无方式3 3。TL0TL0可以为可以为定时定时/ /计数器计数器: :TL0TL0使用使用T0T0原有的控制寄存器资源原有的控制寄存器资源: :TF0,TR0,GATE,C/T,INT0TF0,TR0,GATE,C/T,INT0, ,TH0TH0只能作为只能作为定时定时/ /计数器计数器: :TH0TH0借用借用T1
18、T1的中断溢出标志的中断溢出标志TF1,TF1,运行控制开关运行控制开关TR1,TR1,只能对片只能对片内机周脉冲计数内机周脉冲计数, ,组成另一个组成另一个8 8位定时器位定时器( (不能用作计数器不能用作计数器) )。T0T0方式方式3 3情况下的情况下的T1T1T1T1由于其由于其TF1TF1、TR1TR1被被T0T0的的TH0TH0占用,计数器溢出时,只能占用,计数器溢出时,只能将输出信号送至串行口,即用作串行口波特率发生器将输出信号送至串行口,即用作串行口波特率发生器。6.1 89S516.1 89S51单片机的定时器单片机的定时器/ /计数器计数器21定时器定时器/ /计数器计数器
19、T0T0方式方式3 3的逻辑结构的逻辑结构6.1 89S516.1 89S51单片机的定时器单片机的定时器/ /计数器计数器221234567894.7KY112MHzC130pFC230pFC310uFR2 10k+5R1 D1.P0.732P0.633P0.534P0.435P0.336P0.237P0.138P0.039VCC40EA31RST9X119X218P1.45P1.56P1.67P1.78GND20 89S51+5题目要求题目要求: 6.2 6.2 查询法定时实现查询法定时实现LEDLED小灯闪烁小灯闪烁硬件电路见下图硬件电路见下图, ,要求用要求用T0T0定时定时50mA5
20、0mA作为小灯闪烁的时间作为小灯闪烁的时间亮亮:50mA:50mA灭灭:50mA:50mA6.2 6.2 查询法定时实现查询法定时实现LEDLED小灯闪烁小灯闪烁返回目录返回目录236.2.1 6.2.1 定时器定时器/ /计数器的定时原理计数器的定时原理定时功能定时功能对片内机器周期脉冲计数对片内机器周期脉冲计数1 1、确定用、确定用T0T0定时工作方式定时工作方式1,12MHz1,12MHz晶振晶振则则T0T0为为1616位计数器位计数器机器周期为机器周期为1 1s s6.2 6.2 查询法定时实现查询法定时实现LEDLED小灯闪烁小灯闪烁24序号序号计数初值计数初值最大计数个数最大计数个
21、数定时时间定时时间1 10 0655366553665536s65536s2 265536-5000065536-50000500005000050000s50000s2 2、T0T0计数器计满溢出标志计数器计满溢出标志 TF0=1TF0=1TF0=1TF0=1的用途的用途指令查询指令查询请求中断请求中断6.2 6.2 查询法定时实现查询法定时实现LEDLED小灯闪烁小灯闪烁253 3、定时时间和初值的关系、定时时间和初值的关系方式方式0, X=130, X=13方式方式1, X=161, X=16方式方式2 2、3, X=83, X=8 定时时间定时时间= =( - -计数初始值)计数初始值
22、)机器周机器周期期其中:其中:X X根据选定工根据选定工作方式分别为作方式分别为总总 结结:对片内机对片内机器周期方器周期方波进行计数波进行计数定时定时功能功能计满计满溢出溢出标志标志定时时定时时间和计间和计数初值数初值关系式关系式x212/12/晶振频率晶振频率6.2 6.2 查询法定时实现查询法定时实现LEDLED小灯闪烁小灯闪烁266.2.2 6.2.2 查询法定时查询法定时50ms50ms小灯闪烁程序小灯闪烁程序设计设计1 1、初始化程序、初始化程序设置堆栈指针设置堆栈指针LEDLED初始为灭初始为灭对定时对定时器设置器设置对对TMODTMOD、TCONTCON进行进行编程编程0000
23、 0 0 01B=01H T0T0方式方式1 1 T0 T0为定时器为定时器 GATE=0GATE=0 T1, T1,与与T0T0无关无关 TMOD6.2 6.2 查询法定时实现查询法定时实现LEDLED小灯闪烁小灯闪烁27TCON 000 1 0000B=10H 000 1 0000B=10H TR0=1 TR0=1,T0T0开始工作开始工作为为T0T0装入初值装入初值定时定时50ms50ms初值初值65536-50000=1553665536-50000=15536=3CB0H=3CB0H用指令装入用指令装入T0T0寄存器寄存器MOV TH0,#3CHMOV TH0,#3CHMOV TL0
24、,#0B0HMOV TL0,#0B0H重点重点: :掌握方式掌握方式1 1初值的算法初值的算法6.2 6.2 查询法定时实现查询法定时实现LEDLED小灯闪烁小灯闪烁282 2、主程序、主程序查询定时器溢出查询定时器溢出 标志标志TF0=1?TF0=1?TF0=1,TF0=1,计数溢出计数溢出表明表明50ms50ms到到执行执行CLP P0.0CLP P0.0开开 始始初始化初始化CLP P0.0CLP P0.0TF0=1?TF0=1?程程序序框框图图查询定时器溢出查询定时器溢出 标志标志TF0=1?TF0=1?TF0=1,TF0=1,计数溢出计数溢出表明表明50ms50ms到到查询定时器溢出
25、查询定时器溢出 标志标志TF0=1?TF0=1?计数溢出,计数溢出, TF0=1TF0=1表明表明50ms50ms到到使用使用JBC JBC 指令指令Y YN N6.2 6.2 查询法定时实现查询法定时实现LEDLED小灯闪烁小灯闪烁29 ORG 0000H ;ORG 0000H ;复位时程序从此开始复位时程序从此开始 SJMP START ;SJMP START ;跳到跳到STARTSTART进行初始化进行初始化 ORG 0030H ;ORG 0030H ;初始化程序从初始化程序从30H30H开始开始;-;-初始化初始化- - START:MOV SP, #60H ;START:MOV SP
26、, #60H ;给堆栈指针赋值给堆栈指针赋值 MOV P0, #0FFH ;MOV P0, #0FFH ;让让P0P0口输出高电平,小灯熄口输出高电平,小灯熄 MOV TH0,#3CH ;MOV TH0,#3CH ;给给TH0TH0赋初始值赋初始值3CH3CH MOV TL0,#0B0H ; MOV TL0,#0B0H ;给给TL0TL0赋初始值赋初始值B0B0 MOV TMOD,#00000001B ;C/T MOV TMOD,#00000001B ;C/T位设置为位设置为0,M1M00,M1M0设置为设置为0101,即模式即模式1 1定时定时 MOV TCON,#00010000B ;TR
27、0MOV TCON,#00010000B ;TR0设置为设置为1 1,即启动,即启动T0T0 查询法定时查询法定时50ms50ms小灯闪烁程序清单小灯闪烁程序清单6.2 6.2 查询法定时实现查询法定时实现LEDLED小灯闪烁小灯闪烁30;-;-主程序主程序- MAIN:JBC TF0,LED0 ;MAIN:JBC TF0,LED0 ;计数溢出标志位计数溢出标志位TF0TF0为为1 1,跳到跳到LED0LED0处,同时把处,同时把TF0TF0位清位清0 0 SJMP MAINSJMP MAIN ; ;程序跳转到程序跳转到MAINMAIN处处LED0:MOV TH0,#3CHLED0:MOV T
28、H0,#3CH ; ; 给计数容器的高给计数容器的高8 8位位;TH0;TH0赋初始值赋初始值3CH3CH MOV TL0,#0B0HMOV TL0,#0B0H ; ;给计数容器的低给计数容器的低8 8位位;TL0;TL0赋初始值赋初始值B0HB0H CPL P0.0CPL P0.0 ; ;取反取反P0.0P0.0口,让灯闪烁口,让灯闪烁 SJMP MAINSJMP MAIN ; ;程序跳转到程序跳转到MAINMAIN处处END END ; ;程序结束程序结束6.2 6.2 查询法定时实现查询法定时实现LEDLED小灯闪烁小灯闪烁316.2.3 6.2.3 查询法定时查询法定时1s1s小灯闪烁
29、程序设计小灯闪烁程序设计T0T0最大计数个数最大计数个数=65536=65536个机器周期个机器周期晶振晶振=12MHz=12MHzT0T0最大定时时间最大定时时间=65536=65536s s1 1个机器周期个机器周期=12/12MHz=12/12MHz= 1= 1s s确定用确定用T0T0定时定时50ms50ms6.2 6.2 查询法定时实现查询法定时实现LEDLED小灯闪烁小灯闪烁32开开 始始初始化初始化CLP P0.0CLP P0.0TF0=1?TF0=1?(30H)(30H)(30H)+1(30H)+1(30H)20(30H)20N NY 查询法定时查询法定时1s1s程序框图程序框
30、图定时定时1s1s方方 案案T0T0定时定时50ms50ms20设设30H30H为计数单元,为计数单元,过过50ms50ms计数器加计数器加1 1加到加到2020则为则为1s1sYN N6.2 6.2 查询法定时实现查询法定时实现LEDLED小灯闪烁小灯闪烁33 查询法定时查询法定时1s1s小灯闪烁程序清单小灯闪烁程序清单 ORG 0000H ;ORG 0000H ;复位时程序从此开始复位时程序从此开始 SJMP START ;SJMP START ;跳到跳到STARTSTART进行初始化进行初始化 ORG 0030H ;ORG 0030H ;初始化程序从初始化程序从30H30H开始开始 ;-
31、;-初始化初始化- START:MOV SP, #60H ; START:MOV SP, #60H ;给堆栈指针赋值给堆栈指针赋值 MOV P0, #0FFH ;MOV P0, #0FFH ;小灯熄小灯熄 MOV 30H,#0 MOV 30H,#0 ;30H30H为计数单元为计数单元 MOV TH0,#3CH ;MOV TH0,#3CH ;给给TH0TH0赋初始值赋初始值3CH3CH MOV TL0,#0B0H ; MOV TL0,#0B0H ;给给TL0TL0赋初始值赋初始值B0HB0H MOV TMOD,#00000001B ;C/T MOV TMOD,#00000001B ;C/T为为0
32、,M1M00,M1M0为为0101, ;即模式;即模式1 1 MOV TCON,#00010000B ;TR0 MOV TCON,#00010000B ;TR0设置为设置为1 1,启动,启动T0T06.2 6.2 查询法定时实现查询法定时实现LEDLED小灯闪烁小灯闪烁34 ;-;-主程序主程序- MAIN:JBC TF0,LED0 ; MAIN:JBC TF0,LED0 ;计数溢出标志计数溢出标志TF0TF0为为1 1,转,转LED0LED0处处 ;同时把;同时把TF0TF0位清位清0 0 SJMP MAIN ; SJMP MAIN ;程序跳转到程序跳转到MAINMAIN处处 LED0:MO
33、V TH0,#3CH ; LED0:MOV TH0,#3CH ; 给给TH0TH0赋初始值赋初始值3CH3CH MOV TL0,#0B0H ; MOV TL0,#0B0H ;给给TL0TL0赋初始值赋初始值B0HB0H INC 30H INC 30H ;计数单元加;计数单元加1 1 MOV A,30H MOV A,30H CJNE A,#20,MAIN CJNE A,#20,MAIN ;30H30H中的数不等于中的数不等于2020转转MAINMAIN CPL P0.0 ; CPL P0.0 ;取反取反P0.0P0.0口,让灯闪烁口,让灯闪烁 MOV 30H,#0MOV 30H,#0 SJMP
34、MAIN ; SJMP MAIN ;程序跳转到程序跳转到MAINMAIN处处 END ;END ;程序结束程序结束6.2 6.2 查询法定时实现查询法定时实现LEDLED小灯闪烁小灯闪烁35定时定时1s1s的录像资料的录像资料录像号录像号DSCF0053DSCF00536.2 6.2 查询法定时实现查询法定时实现LEDLED小灯闪烁小灯闪烁366.3.1 6.3.1 中断的基本概念中断的基本概念 什么叫中断?什么叫中断? 6.3 89S516.3 89S51单片机的中断系统单片机的中断系统中断发生中断发生CPUCPU在处理某一事件在处理某一事件A A时,发生了时,发生了另一事件另一事件B B请
35、求请求CPUCPU迅速去处理迅速去处理中断响应和中断服务中断响应和中断服务CPUCPU暂时中断当前的暂时中断当前的工作,转去处理事件工作,转去处理事件B B中断返回中断返回 待待CPUCPU将事件将事件B B处理完毕后,再回到原处理完毕后,再回到原来事件来事件A A被中断的地方继续处理事件被中断的地方继续处理事件A A以下过程称为中断以下过程称为中断 6.3 89S516.3 89S51单片机的中断系统单片机的中断系统返回目录返回目录37执行主程序主程序继续执行主程序断点中断请求中断响应执行中断处理程序中断返回 中断过程中断过程6.3 89S516.3 89S51单片机的中断系统单片机的中断系
36、统38中断源中断源中断请求中断请求或中断申请或中断申请CPUCPU的中断的中断响应过程响应过程中断服务中断服务( (或中断处理或中断处理) )中断返回中断返回产生中断的请求源称为中断源产生中断的请求源称为中断源中断源向中断源向CPUCPU提出的处理请求,提出的处理请求,称为中断请求或中断申请称为中断请求或中断申请对事件的整个处理过程,对事件的整个处理过程,称为中断服务称为中断服务( (或中断处理或中断处理) )处理完毕,再回到原来被处理完毕,再回到原来被中止的地方,称为中断返回中止的地方,称为中断返回CPUCPU暂时中止自身的事务,转去处理事暂时中止自身的事务,转去处理事件的过程,称为件的过程
37、,称为CPUCPU的中断响应过程的中断响应过程。6.3 89S516.3 89S51单片机的中断系统单片机的中断系统39设置中断设置中断的优点的优点 提高提高CPUCPU工作效率工作效率 具有实时处理功能具有实时处理功能 具有故障处理功能具有故障处理功能 实现分时操作实现分时操作 中断过程中断过程6.3 89S516.3 89S51单片机的中断系统单片机的中断系统406.3.2 89S516.3.2 89S51中断系统结构与中断控制中断系统结构与中断控制1 1中断源中断源 中断源是指能发出中断请求,中断源是指能发出中断请求,引起中断的装置或事件。引起中断的装置或事件。外部中断源外部中断源: 2
38、: 2个个内部中断源:内部中断源:3 3个个中断允许寄存器中断允许寄存器IEIE中断优先级控制寄存器中断优先级控制寄存器IPIP中断源寄存器中断源寄存器(TCON(TCON, SCONSCON中有关位中有关位) )与中断系统与中断系统有关的特殊有关的特殊功能寄存器功能寄存器5151单片机的单片机的中断源共有中断源共有5 5个个6.3 89S516.3 89S51单片机的中断系统单片机的中断系统41 INT0: INT0:外部中断外部中断0 0,中断请求信号由,中断请求信号由P3.2P3.2输入输入 INT1: INT1:外部中断外部中断1 1,中断请求信号由,中断请求信号由P3.3P3.3输入
39、输入 T0: T0:定时定时/ /计数器计数器0 0溢出中断,溢出中断, 对外部脉冲计数由对外部脉冲计数由P3.4P3.4输入输入 T1: T1:定时定时/ /计数器计数器1 1溢出中断,溢出中断, 对外部脉冲计数由对外部脉冲计数由P3.5P3.5输入输入 串行中断串行中断: :包括串行接收中断包括串行接收中断RIRI和和 串行发送中断串行发送中断TITI 89S51 89S51单片机的中断源单片机的中断源6.3 89S516.3 89S51单片机的中断系统单片机的中断系统42TCONTCOND7D7D6D6D5D5D4D4D3D3D2D2D1D1D0D0位名称位名称TF1TF1TF0TF0I
40、E1IE1IT1IT1IE0IE0IT0IT0位地址位地址8FH8FH8EH8EH8DH8DH8CH8CH8BH8BH8AH8AH89H89H88H88H功能功能 T1T1 中断中断标志标志T0T0中断中断标志标志 中断中断标志标志 触发触发方式方式 中断中断标志标志触发触发方式方式TCONTCON的结构、位名称、位地址和功能如下:的结构、位名称、位地址和功能如下:外部中断源外部中断源单片机单片机外部引脚外部引脚P3.2P3.2P3.3P3.3INT0INT12 2个外部个外部中断源中断源TCONTCON为定时器为定时器/ /计数器控制寄存器计数器控制寄存器低低4 4位用于位用于外中断外中断6
41、.3 89S516.3 89S51单片机的中断系统单片机的中断系统43 IE0: IE0: 外中断中断请求标志外中断中断请求标志 当当P3.2P3.2引脚信号有效时,引脚信号有效时,IE0=1,IE0=1,有外部中断申请有外部中断申请 IE0=0,IE0=0,没有外部中断申请没有外部中断申请INT0TCONTCON位功能位功能: : IE1: IE1: 外中断中断请求标志外中断中断请求标志 当当P3.3P3.3引脚信号有效时,引脚信号有效时,IE1=1,IE1=1,有外部中断申请有外部中断申请 IE1=0,IE1=0,没有外部中断申请没有外部中断申请INT1INT16.3 89S516.3 8
42、9S51单片机的中断系统单片机的中断系统44 IT1: IT1:外中断触发方式控制位外中断触发方式控制位IT1=1IT1=1,边沿触发方式,边沿触发方式, ,负跳变有效负跳变有效. .IT1=0IT1=0,电平触发方式,电平触发方式, ,低电平有效低电平有效 IT0: IT0:外中断触发方式控制位外中断触发方式控制位 IT0=1IT0=1,边沿触发方式,边沿触发方式, ,负跳变有效负跳变有效. .IT0=0IT0=0,电平触发方式,电平触发方式, ,低电平有效低电平有效6.3 89S516.3 89S51单片机的中断系统单片机的中断系统45 内部中断源内部中断源 T0: T0:定时定时/ /计
43、数器计数器0 0溢出中断,溢出中断, 对外部脉冲计数由对外部脉冲计数由P3.4P3.4输入输入 T1: T1:定时定时/ /计数器计数器1 1溢出中断,溢出中断, 对外部脉冲计数由对外部脉冲计数由P3.5P3.5输入输入 串行中断串行中断: :包括串行接收中断包括串行接收中断RIRI和和 串行发送中断串行发送中断TITI6.3 89S516.3 89S51单片机的中断系统单片机的中断系统46 TF1: T1 TF1: T1溢出中断请求标志溢出中断请求标志 T1T1计数溢出后,计数溢出后,TF1=1,TF1=1,申请中断申请中断, ,进中断进中断后自动清零。后自动清零。 TF0: T0 TF0:
44、 T0溢出中断请求标志溢出中断请求标志 T0T0计数溢出后,计数溢出后,TF0=1,TF0=1,申请中断申请中断, ,进中断进中断后自动清零。后自动清零。TCONTCON位功能位功能: :6.3 89S516.3 89S51单片机的中断系统单片机的中断系统47串行控制寄存器串行控制寄存器SCONSCONTCONTCOND7D7D6D6D5D5D4D4D3D3D2D2D1D1D0D0位名称位名称TITIRIRI位地址位地址99H99H98H98H功能功能 串行发送串行发送中断标志中断标志串行接收串行接收中断标志中断标志 TI TI 串行口发送中断请求标志串行口发送中断请求标志 RI RI 串行口
45、接收中断请求标志串行口接收中断请求标志6.3 89S516.3 89S51单片机的中断系统单片机的中断系统48对中断源的开放或关闭由对中断源的开放或关闭由IEIE控制。控制。IEIE的结构、位名称和位地址如下:的结构、位名称和位地址如下:IEIED7D7D6D6 D5D5D4D4D3D3D2D2D1D1D0D0位名称位名称EAEA ESESET1ET1EX1EX1ET0ET0EX0EX0位地址位地址AFHAFH ACHACHABHABHAAHAAHA9HA9HA8HA8H中断源中断源CPUCPU 串行口串行口T1T1T0T0 中断允许控制寄存器中断允许控制寄存器IEIE2 2中断控制中断控制
46、中断允许控制中断允许控制6.3 89S516.3 89S51单片机的中断系统单片机的中断系统49 ET0 ET0 :定时:定时/ /计数器计数器T0T0中断允许控制位中断允许控制位 ET0=1ET0=1,T0T0开中;开中;ET0=0ET0=0,T0T0关中。关中。 ET1 ET1 :定时:定时/ /计数器计数器T1T1中断允许控制位中断允许控制位 ET1=1ET1=1,T1T1开中;开中;ET1=0ET1=0,T1T1关中。关中。 EX0 EX0 :外中断:外中断INT0INT0中断允许控制位中断允许控制位 EX0=1EX0=1,INT0INT0开中;开中;EX0=0EX0=0,INT0IN
47、T0关中。关中。 EX1 EX1 :外中断:外中断INT1INT1中断允许控制位中断允许控制位 EX1=1EX1=1,INT1INT1开中;开中;EX1=0EX1=0,INT1INT1关中关中 EA: CPU EA: CPU中断允许控制位中断允许控制位( (总开关)总开关) EA=0EA=0,CPUCPU关中,且屏蔽所有关中,且屏蔽所有5 5个中断源。个中断源。 EA=1EA=1,CPUCPU开中开中6.3 89S516.3 89S51单片机的中断系统单片机的中断系统50 ES ES :串行口中断:串行口中断( (包括串发、串收包括串发、串收) )允许控允许控 制位制位 ES=1ES=1,串行
48、口开中;,串行口开中; ES=0ES=0,串行口关中。,串行口关中。说明说明: 51: 51单片机对中断实行两级控制,总控制位是单片机对中断实行两级控制,总控制位是EAEA, 每一中断源还有各自的控制位。首先要每一中断源还有各自的控制位。首先要EA=1EA=1,其次,其次还要自身的控制位置还要自身的控制位置“1”1”。 INT0INT0:0003H0003H; T0T0:000BH000BH; INT1INT1:0013H0013H; T1T1:001BH001BH;串行口:串行口:0023H0023HCPUCPU响应中断后响应中断后, ,将相应中断的入口地址送入将相应中断的入口地址送入PCP
49、C五个中断五个中断入口地址入口地址6.3 89S516.3 89S51单片机的中断系统单片机的中断系统51 中断优先级控制中断优先级控制根据中断源根据中断源( (所发生的实时事件所发生的实时事件) )的轻重缓急的轻重缓急排队,优先处理最紧急事件的中断请求,排队,优先处理最紧急事件的中断请求,于是便规定每一个中断源都有一个中断优先级别。于是便规定每一个中断源都有一个中断优先级别。89S5189S51有有5 5个中断源,划分为个中断源,划分为2 2个中个中断优先级:高优先级和低优先级。断优先级:高优先级和低优先级。只要用程序改变只要用程序改变中断优先级控制寄存器中断优先级控制寄存器IPIP内容,即
50、可进行各中断源中断级别的设置。内容,即可进行各中断源中断级别的设置。6.3 89S516.3 89S51单片机的中断系统单片机的中断系统52 PX0:INT0 PX0:INT0中断优先级控制位中断优先级控制位.PX0=1.PX0=1为高优先级;为高优先级; PX0=0PX0=0为低优先级;为低优先级; PX1 PX1 :INT1INT1中断优先级控制位。控制方法同上。中断优先级控制位。控制方法同上。 PT0 PT0 :T0T0中断优先级控制位。控制方法同上。中断优先级控制位。控制方法同上。 PT1 PT1 :T1T1中断优先级控制位。控制方法同上。中断优先级控制位。控制方法同上。 PS PS
51、:串行口中断优先级控制位。控制方法同上。:串行口中断优先级控制位。控制方法同上。 IEIED7D7D6D6D5D5D4D4D3D3D2D2D1D1D0D0位名称位名称PSPSPT1PT1PX1PX1PT0PT0PX0PX0位地址位地址BCHBCHBBHBBHBAHBAHB9HB9HB8HB8H中断源中断源串行口串行口T1T1INT1INT1T0T0INT0INT0IPIP的结构、位名称和位地址如下:的结构、位名称和位地址如下:6.3 89S516.3 89S51单片机的中断系统单片机的中断系统53例如例如: :若要将若要将INT1INT1、串行口设置为高优先级,其余、串行口设置为高优先级,其余
52、 中断源设置为低优先级,可执行下列指令:中断源设置为低优先级,可执行下列指令: MOV IPMOV IP,#00010100B#00010100B;需要指出的是,若置需要指出的是,若置5 5个中断源全部为高优先级,个中断源全部为高优先级,就等于不分优先级。就等于不分优先级。 IEIED7D7D6D6D5D5D4D4D3D3D2D2D1D1D0D0位名称位名称PSPSPT1PT1PX1PX1PT0PT0PX0PX0位地址位地址BCHBCHBBHBBHBAHBAHB9HB9HB8HB8H中断源中断源串行口串行口T1T1INT1INT1T0T0INT0INT0中断优先级控制寄存器中断优先级控制寄存器
53、IP6.3 89S516.3 89S51单片机的中断系统单片机的中断系统54序号序号中断源中断源中断中断标志标志中断中断程序程序同一优先级中断同一优先级中断的优先级别的优先级别1 1外部中断外部中断0 0IE0IE00003H0003H高高2 2定时器定时器/ /计数器计数器T0T0IF0IF0000BH000BH3 3外部中断外部中断1 1IE1IE10013H0013H4 4定时器定时器/ /计数器计数器T1T1IF1IF1001BH001BH5 5串行口中断串行口中断RIRI或或TITI0023H0023H低低各中断源响应优先级及中断程序入口表各中断源响应优先级及中断程序入口表在同一优先
54、级里,由查询顺序确定了在同一优先级里,由查询顺序确定了优先级结构,其优先级别排列如下:优先级结构,其优先级别排列如下:6.3 89S516.3 89S51单片机的中断系统单片机的中断系统5589S5189S51的中断系统结构的中断系统结构6.3 89S516.3 89S51单片机的中断系统单片机的中断系统566.3.3 6.3.3 中断处理过程中断处理过程中断请求、中断响应、中断服务、中断返回中断请求、中断响应、中断服务、中断返回中断源发出中断请求信号,相应的中断请求中断源发出中断请求信号,相应的中断请求标志位标志位( (在中断允许控制寄存器在中断允许控制寄存器IEIE中中) )置置“1”1”
55、。 中断请求中断请求 中断响应中断响应CPUCPU查询(检测)到某中断标志为查询(检测)到某中断标志为“1”1”,在满足中断响应条件下,响应中断在满足中断响应条件下,响应中断6.3 89S516.3 89S51单片机的中断系统单片机的中断系统57 该中断已经该中断已经“开中开中”; CPU CPU此时没有响应同级或更高级的中断;此时没有响应同级或更高级的中断; 当前正处于所执行指令的最后一个机器周期;当前正处于所执行指令的最后一个机器周期; 正在执行的指令不是正在执行的指令不是RETIRETI或者是访问或者是访问IEIE、IPIP的指令的指令, ,否则必须再另外执行一条指令后才能响应。否则必须
56、再另外执行一条指令后才能响应。 中断响应条件:中断响应条件: 中断响应操作中断响应操作CPUCPU响应中断后响应中断后, ,进行下列操作:进行下列操作: 保护断点地址;保护断点地址; 撤除该中断源的中断请求标志;撤除该中断源的中断请求标志; 关闭同级中断;关闭同级中断; 将相应中断的入口地址送入将相应中断的入口地址送入PCPC;6.3 89S516.3 89S51单片机的中断系统单片机的中断系统58 执行中断服务程序执行中断服务程序中断服务程序应包含以下几部分:中断服务程序应包含以下几部分: 保护现场保护现场 执行中断服务程序主体,完成相应操作执行中断服务程序主体,完成相应操作 恢复现场恢复现
57、场 中断返回中断返回在中断服务程序最后,必须安排一条中断返回指令在中断服务程序最后,必须安排一条中断返回指令RETIRETI,当,当CPUCPU执行执行RETIRETI指令后,自动完成下列操作:指令后,自动完成下列操作: 恢复断点地址。恢复断点地址。 开放同级中断,以便允许同级中断源请求中断。开放同级中断,以便允许同级中断源请求中断。6.3 89S516.3 89S51单片机的中断系统单片机的中断系统59中断响应等待时间中断响应等待时间若排除若排除CPUCPU正在响应同级或更高级的中断情况,中正在响应同级或更高级的中断情况,中断响应等待时间为断响应等待时间为: : 3 38 8个机器周期个机器
58、周期中断请求的撤除中断请求的撤除CPUCPU响应中断后,必须清除中断请求响应中断后,必须清除中断请求“1”1”标志。否则中标志。否则中断响应返回后,将再次进入该中断,引起死循环出错。断响应返回后,将再次进入该中断,引起死循环出错。 对定时对定时/ /计数器计数器T0T0、T1T1中断,外中断边沿触发中断,外中断边沿触发 式,式,CPUCPU响应中断时就用硬件自动清除响应中断时就用硬件自动清除 对外中断电平触发方式需要采取软硬结合的方法对外中断电平触发方式需要采取软硬结合的方法 对串行口中断,用户应在串行中断服务程序中对串行口中断,用户应在串行中断服务程序中 用软件清除用软件清除TITI或或RI
59、RI。6.3 89S516.3 89S51单片机的中断系统单片机的中断系统606.3.4 6.3.4 中断服务程序设计中断服务程序设计 中断服务程序设计首先考虑两点中断服务程序设计首先考虑两点: :1.1.中断服务程序的入口地址中断服务程序的入口地址2.2.有关中断的初始化问题有关中断的初始化问题ORGORG0000H ;0000H ;程序执行开始地址程序执行开始地址LJMPLJMP MAIN ;MAIN ;转主程序转主程序ORG (ORG (中断入口地址中断入口地址););前面介绍过前面介绍过LJMPLJMP INT ;INT ;跳转到中断服务程序跳转到中断服务程序MAIN:MAIN: ;
60、;主程序主程序INTINT:; ;中断服务程序中断服务程序程程序序结结构构6.3 89S516.3 89S51单片机的中断系统单片机的中断系统61 设置中断允许寄存器设置中断允许寄存器IEIE,允许相应的中断请求,允许相应的中断请求源中断。源中断。 设置中断优先级寄存器设置中断优先级寄存器IPIP,确定并分配所使用,确定并分配所使用的中断源的优先级。的中断源的优先级。 若是外部中断源,还要设置中断请求的触发方若是外部中断源,还要设置中断请求的触发方式式IT1IT1或或IT0IT0,以决定采用电平触发方式还是边沿,以决定采用电平触发方式还是边沿触发方式。触发方式。中断的初始化中断的初始化6.3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 兽医生涯规划探讨试题及答案
- 兽医药品管理相关试题及答案
- 2025执业兽医新考题分析试题及答案
- 学生就业指导与职业规划指导手册
- 学生活动策划与执行能力提升
- 婴幼儿早期发展的基本知识试题及答案
- 城乡医疗资源差距的现状与对策
- 消防设施操作员操作案例试题及答案
- 2024年宠物殡葬师考试试题与答案观察
- 2024年消防考试全科目回顾试题及答案
- 中央厨房建设项目可行性研究报告
- 2025年舆情应对面试试题及答案
- 山东省大教育联盟学校2024-2025学年高三下学期开学检测化学试题(含答案)
- 语文-福建省厦门市2025届高中毕业班第二次质量检测(厦门二检)试题和答案
- 2025届浙江名校协作体高三语文考场高分作文点评:这种向往到底是人的苦处还是人的乐处呢
- 2025年浙江名校协作体高三语文2月联考作文题分析+素材+范文:这种向往到底是人的苦处还是人的乐处呢
- 2025年云南省高职单招《职测》高频必练考试题库400题(含答案)
- 任务三学做麦糊烧(教案)三年级下册劳动浙教版
- 多媒体技术ppt课件(完整版)
- 餐饮服务单位食品安全主体责任清单【模板】
- (完整版)基于CCSDS的协议体系结构
评论
0/150
提交评论