单片机及接口技术2.6(中断系统)_第1页
单片机及接口技术2.6(中断系统)_第2页
单片机及接口技术2.6(中断系统)_第3页
单片机及接口技术2.6(中断系统)_第4页
单片机及接口技术2.6(中断系统)_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2.6 中断系统中断系统 中中断断系系统统1. 8051的中断系统的组成结构的中断系统的组成结构ESESET1ET1ET0ET0EX0EX0EX1EX1TFTF0 0TFTF1 1TITI+ +RIRIPSPSPT1PT1PT0PT0PX0PX0PX1PX1EAEA高高优优先先级级低低优优先先级级中中断断服服务务子子程程序序入入口口80C5180C51中断系统结构示意图中断系统结构示意图0INT1INT总开关总开关分开关分开关优先级开关优先级开关1) 1) 中断源中断源 (1)(1)外部中断源外部中断源(2)(2)定时溢出中断源(定时溢出中断源(TF0TF0、TF1TF1) INT0INT0、

2、INT1INT1、TF0TF0、TF1TF1中断源标志:在中断源标志:在TCONTCON寄存器中寄存器中TCONTCON格式格式中中断断系系统统0INT1INTa. TF0a. TF0、TF1TF1:定时:定时/ /计数器溢出后,自动硬件置计数器溢出后,自动硬件置1 1b. IE0b. IE0、IE1IE1(Interrupt EnableInterrupt Enable):外部中断请求标):外部中断请求标志,志,IE0IE0、IE1=1IE1=1,外部请求中断,外部请求中断c. IT0c. IT0、IT1IT1(Interrupt1Interrupt1):外部中断触发方式选):外部中断触发方

3、式选择位;择位; 若若IT1=0IT1=0,外部中断,外部中断1 1为电平触发方式,为电平触发方式,CPUCPU在每在每个机器周期的个机器周期的S5P2S5P2期间对期间对INT1INT1(平)引脚采样,若(平)引脚采样,若采到低电平,认为有中断申请,即置采到低电平,认为有中断申请,即置IE1=1IE1=1,若为高,若为高电平,则清除电平,则清除IE1IE1标志,标志,CPUCPU响应中断后不能自动清响应中断后不能自动清除除IE1IE1标志,也不能由软件清除标志,也不能由软件清除IE1IE1标志,所以在中标志,所以在中断返回前必须撤消断返回前必须撤消INT1INT1(平)引脚上的低电平。(平)

4、引脚上的低电平。 若若IT1=1IT1=1,为边沿触发方式,为边沿触发方式,CPUCPU在每个机器周期在每个机器周期的的S5P2S5P2期间采样引脚。若在连续两个机器周期采样期间采样引脚。若在连续两个机器周期采样到先高后低,则使到先高后低,则使IE1=1IE1=1,此标志一直保持到,此标志一直保持到CPUCPU响响应中断时,才由硬件自动清除。应中断时,才由硬件自动清除。 中中断断系系统统(3)(3)串行口中断源(串行口中断源(TI/RITI/RI)中断标志:中断标志:SCONSCON(98H98H)TITIRIRI中中断断系系统统2) 2) (中断矢量)(中断矢量) 中断源中断源入口地址入口地

5、址外部中断外部中断0 00003H0003H定时器定时器T0T0中断中断000BH000BH外部中断外部中断1 10013H0013H定时器定时器T1T1中断中断001BH001BH串行口中断串行口中断0023H0023H 中中断断系系统统3) 3) 中断控制中断控制 (1)(1)中断允许控制寄存器中断允许控制寄存器IEIEIEIEAFHAFH ACHACHABHABHAAHAAHA9HA9HA8HA8H(A8H)(A8H)(1 1)EAEA:CPUCPU中断总允许位。中断总允许位。EA=1EA=1,开中断;,开中断;EA=0EA=0,关,关中断。中断。(2 2)ESES(Enable Ser

6、ialEnable Serial):串行口中断允许):串行口中断允许(3 3)ET1ET1(Enable T1Enable T1):):T1T1中断允许中断允许(4 4)EX1EX1:外部中断:外部中断1 1允许允许(5 5)ET0ET0:T0T0中断允许中断允许(6 6)EX0EX0:外部中断:外部中断0 0允许允许 (2)(2)中断优先级寄存器中断优先级寄存器IPIPIPIPBCHBCHBBHBBHBAHBAHB9HB9HB8HB8H(B8H)(B8H)a.PSa.PS:串行口中断优先级控制位。:串行口中断优先级控制位。PS=1PS=1,串行口为高,串行口为高优先级中断优先级中断b.PT1

7、b.PT1:T1T1中断优先级控制位。中断优先级控制位。PT1=1PT1=1,定时器,定时器T1T1为高为高优先级中断优先级中断c.PX1c.PX1d.PT0d.PT0e.PX0e.PX0中中断断系系统统自然优先级表(自然优先级表(IPIP优先级一致的前提下)优先级一致的前提下)中断源中断源自然优先级自然优先级外部中断外部中断0 0最高级最高级最低级最低级定时器定时器T0T0中断中断外部中断外部中断1 1定时器定时器T1T1中断中断串行口中断串行口中断中中断断系系统统2. CPU2. CPU对中断的处理对中断的处理1 1)中断查询)中断查询80C5180C51的的CPUCPU在每个机器周期的在

8、每个机器周期的S6S6状态中查询中断状态中查询中断源,在下一个机器周期的源,在下一个机器周期的S1S1状态响应中断请求。状态响应中断请求。2 2) CPUCPU在中断响应时的自动操作:在中断响应时的自动操作:(1 1)(2 2)保护断点(不保护)保护断点(不保护PSWPSW)(3 3)中断入口地址装入)中断入口地址装入PCPC3 3) CPUCPU在中断返回时自动操作:断点地址送入在中断返回时自动操作:断点地址送入PCPC RETI RETI指令指令 中中断断系系统统概念:中断源、中断请求、中断标志、中概念:中断源、中断请求、中断标志、中断允许(开中断)、中断优先级、中断响断允许(开中断)、中

9、断优先级、中断响应、中断入口地址、中断嵌套、中断保护、应、中断入口地址、中断嵌套、中断保护、中断服务程序、中断源清除、中断禁止中断服务程序、中断源清除、中断禁止(关中断)、中断返回(关中断)、中断返回中中断断系系统统3. 3. 外部中断源扩展外部中断源扩展方法方法1 1:将将T0T0、T1T1用作外部中断源用作外部中断源。如定时。如定时/ /计数器工作计数器工作于方式于方式1 1时,令计数初值为时,令计数初值为FFFFHFFFFH,则,则T0T0或或T1T1有一有一个下降沿电平发生时,定时器个下降沿电平发生时,定时器/ /计数器计数器0 0或定时器或定时器/ /计数器计数器1 1溢出,产生中断

10、请求,入口地址为定时溢出,产生中断请求,入口地址为定时器器/ /计数器计数器0 0或定时器或定时器/ /计数器计数器1 1的中断服务入口地的中断服务入口地址(址(000BH000BH或或001BH001BH)中中断断系系统统如:如:用用INT0INT0(平)(平)扩展扩展3 3个外部个外部中断源中断源方法方法2 2:通过一个外部中断源和:通过一个外部中断源和n n个个I/OI/O口线扩展口线扩展n-1n-1个外部中断源个外部中断源中中断断系系统统0 0# #1 1# #2 2# #INT0(INT0(平平) )P1.0P1.0P1.1P1.1P1.2P1.28 80 0C C5 51 1中断服

11、务程序中断服务程序 ORG 1000H ORG 1000HINTRPTINTRPT:PUSH PSW PUSH PSW ;保护现场,因为;保护现场,因为PSWPSW不会不会 ; ; 被被CPUCPU自动保护,自动保护, ; ; 所以用软件编程保护所以用软件编程保护 JNB P1.0JNB P1.0,PROG0 ; PROG0 ; 如果有如果有0#0#中断,转中断,转0#0#中断子程序中断子程序 JNB P1.1JNB P1.1,PROG1 ; PROG1 ; 如果有如果有1#1#中断,转中断,转1#1#中断子程序中断子程序 JNB P1.2JNB P1.2,PROG2 ; PROG2 ; 如果

12、有如果有2#2#中断,转中断,转2#2#中断子程序中断子程序GOBACKGOBACK:POP PSW POP PSW ;恢复现场;恢复现场 RETI RETI ;中断返回;中断返回PROG0PROG0: LJMP GOBACKLJMP GOBACKPROG1PROG1: LJMP GOBACKLJMP GOBACKPROG2PROG2: LJMP GOBACKLJMP GOBACK中中断断系系统统 0#1#2#INT0(平平)P1.0P1.1P1.280C51练习练习2.6.12.6.1: 采用中断方式从采用中断方式从P1.0P1.0产生频率产生频率500Hz500Hz的方的方波,设单片机时钟

13、频率为波,设单片机时钟频率为6MHz 6MHz 解:用解:用T0T0工作于方式工作于方式1 11 1)计算定时初值)计算定时初值频率:频率:500Hz500Hz; 周期:周期:1/500=2 ms1/500=2 ms定时时间:周期定时时间:周期/2=1ms/2=1ms定 时 器定 时 器 T 0T 0 计 数计 数 1 1 次 耗 时 :次 耗 时 : 1 21 2 个 时 钟 周 期个 时 钟 周 期=12=12* *1/6M=21/6M=2* *1010-6-6 s s定时器定时器T0T0需计数次数:需计数次数:1 1* *1010-3-3/(2/(2* *1010-6-6)=500 )=

14、500 (次)(次)=1F4H=1F4H定时初值:定时初值:10000H-1F4H= 10000H-1F4H= FE0CHFE0CH TH0=FEH TL0=0CHTH0=FEH TL0=0CH 中中断断系系统统2 2)设置)设置TMODTMOD:01H01H定时器定时器1 1定时器定时器0 0GATEGATEC/T(C/T(平平) )M1M1M0M0GATEGATEC/T(C/T(平平) )M1M1M0M00 00 00 00 00 00 00 01 1中中断断系系统统3 3)主程序:初始化)主程序:初始化 ORG 0000HORG 0000H AJMP MAIN AJMP MAIN ORG

15、 100H ORG 100HMAINMAIN: MOV TMODMOV TMOD,#01H #01H ;定时器;定时器/ /计数器初始化计数器初始化 MOV TL0MOV TL0,#0CH#0CH MOV TH0 MOV TH0,#0FEH #0FEH ;装计数初值;装计数初值 MOV SP, #30H ; MOV SP, #30H ; 设置堆栈设置堆栈 ;开中断;开中断 ;开定时器;开定时器0 0中断中断 SETB TR0 SETB TR0 ;启动定时器;启动定时器0 0计数计数 SJMP SJMP $ $ ;中断等待;中断等待 中中断断系系统统 LJMP SQSU LJMP SQSU OR

16、G 200H ORG 200HSQSUSQSU:CPL P1.0CPL P1.0 MOV TL0, #0CH MOV TL0, #0CH MOV TH0, #0FEH MOV TH0, #0FEH 4 4)中断服务子程序)中断服务子程序中中断断系系统统练习练习2.6.22.6.2:单片机串行口设为方式:单片机串行口设为方式2 2,波特率为,波特率为f foscosc/32/32,接收到一个字节数据后,将,接收到一个字节数据后,将F0F0置置1 1。编写主。编写主程序和串行口中断子程序实现该功能。程序和串行口中断子程序实现该功能。中中断断系系统统SM0SM0SM1SM1SM2SM2RENRENT

17、B8TB8RB8RB8TITIRIRISMODSMOD附表附表1 SCON1 SCON附表附表2 PCON2 PCON中中断断系系统统中断源中断源入口地址入口地址外部中断外部中断0 00003H0003H定时器定时器T0T0中断中断000BH000BH外部中断外部中断1 10013H0013H定时器定时器T1T1中断中断001BH001BH串行口中断串行口中断0023H0023H附表附表3 3 中断入口地址中断入口地址中中断断系系统统解:解: 1 1)计算定时初值)计算定时初值SCON=10010000B=90HSCON=10010000B=90H2 2)设置波特率:)设置波特率:SMOD=1

18、SMOD=1,即,即PCON=80HPCON=80H3 3)主程序:初始化)主程序:初始化 ORG 0000HORG 0000H AJMP MAIN AJMP MAIN ORG 100H ORG 100HMAINMAIN: MOV SCONMOV SCON,#90H #90H ;定时器;定时器/ /计数器初始化计数器初始化 MOV PCONMOV PCON,#80H#80H MOV SP, #30H MOV SP, #30H ;开中断;开中断 ;开串行口中断;开串行口中断 SJMP SJMP $ $ ;中断等待;中断等待 中中断断系系统统4 4)中断服务子程序)中断服务子程序 LJMP SQSU LJMP SQSU ORG 200H ORG 200HSQSUSQSU: ; ;软件清软件清RIRI CLR ES ; CLR ES ;关中断关中断 练习练习2.6.32.6.3:如下图所示电路,要求按下键:如下图所示电路,要求按下键K K后,发光后,发光二极管亮,编写主程序和中断处理子程序实现该功能。二极管亮,编写主程序和中断处理子程序实现该功能。中中断断系系统统80C51P

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论