附录1:中断方式的编程应用(学生版)

上传人:mg****85 文档编号:34252084 上传时间:2018-02-22 格式:DOC 页数:7 大小:97.50KB
返回 下载 相关 举报
附录1:中断方式的编程应用(学生版)_第1页
第1页 / 共7页
附录1:中断方式的编程应用(学生版)_第2页
第2页 / 共7页
附录1:中断方式的编程应用(学生版)_第3页
第3页 / 共7页
附录1:中断方式的编程应用(学生版)_第4页
第4页 / 共7页
附录1:中断方式的编程应用(学生版)_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《附录1:中断方式的编程应用(学生版)》由会员分享,可在线阅读,更多相关《附录1:中断方式的编程应用(学生版)(7页珍藏版)》请在金锄头文库上搜索。

1、附录 1: 51 单片机的编程和应用设计中断方式的编程应用一、实验目的:了解中断方式的工作原理,理解中断方式的编程方法。二、实验内容:1. 用中断 INT0 控制 8 个 LED 发光二极管由左向右逐次循环亮灭。2. 用中断 INT1 控制 8 个 LED 发光二极管由中间向两边逐次循环亮灭。三、实验要求:对给定开关、LED 发光管;编写通过开关产生外部中断,控制 LED 发光管显示的控制程序。四、实验设备及实验耗材:计算机一台,WAVE6000 软件模拟器,完成 ISP 下载的 XLISP 软件,XL1000 单片机综合仿真试验仪一台(8 个发光二极管,89C51 一片, 9 针对 9 针的

2、串口线一条,USB 电缆一条)五、实验基本原理与方法:预习教科书中断系统的章节,弄清中断源工作过程及中断源对应的中断服务程序的入口地址、中断允许或禁止控制、中断源优先级控制。所谓的中断就是,当 CPU 正在处理某项事务的时候,如果外界或者内部发生了紧急事件,要求 CPU 暂停正在处理工作而去处理这个紧急事件,待处理完后,再回到原来中断的地方,继续执行原来被中断的程序,这个过程称作中断。中断源指引起正在执行的程序中断,转而执行中断服务程序的设备或事件。可分为硬中断、软中断。单片机的 5 个中断源:外部中断 2 个,中断请求信号分别由 P3.2(INT0) 、P3.3(INT1 )输入,低电平有效

3、、脉冲下降沿有效可选。入口地址:0003H ,0013H 。定时/计数溢出中断 3 个:T0 、T1,计数溢出时置“1”TF0、TF1 位,从而发出内部中断请求。入口地址:000BH,001BH。串行中断 1 个:串行接收或发送完一帧数据时就产生一个内部中断请求 RI 或TI。入口地址: 0023H。中断处理过程包含:中断请求、中断响应、中断服务、中断返回四个阶段.中断请求:中断源将相应请求中断的标志位置“1”,表示发出请求,并由 CPU 查询。中断响应:在一条指令的最后一个周期按优先级顺序查询中断标志,为“1”并满足响应条件时响应。响应操作: 断点压栈撤除中断标志 关闭低同级中断允许中断入口

4、地址送 PC。实际上响应中断的主要操作是有硬件自动产生一条长调用指令 LCALL。中断服务:根据入口地址转中断服务程序,保护现场、执行中断主体、恢复现场。中断返回:断点出栈开放中断允许返回原程序。中断优先级及其嵌套优先级 2 个- 高优先级、低优先级,可通过 SFR 寄存器 IP 设置。中断嵌套 原则为高优先级的中断不能被低优先的中断所中断,同级中断不能相互中断。中断系统结构示意图源 码源 码0INT1INT0F1FTIR0IE1IEX0TSEAIP优 先 级查 询 电 路 高 优 先 级中 断 请 求低 优 先 级中 断 请 求中 断 程 序入 口中 断 程 序入 口源 允 许 总 允 许通

5、过对特殊功能寄存器 TCON、SCON、IE、IP 等四个寄存器的设定而实现。1、中断请求控制(1)定时中断、外中断请求控制寄存器 TCON 字节地址 88H,位地址 8FH88H,与中断请求有关的各位表示如下:位地址 8FH 8EH DH CH 8BH 8AH 89H 8H 位符号 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 说明:1、IT0 和 IT1 为外中断 INT0 和 INT1 中断触发方式选择,若选下降沿触发则相应位置 1;若选低电平触发 ,IT 相应位置 0。2、 某中断源有中断请求,该中断标志置 1,无中断请求,该中断标志置 0 3、 TR0 和 TR1

6、为定时器 T0 和 T1 工作启动和停止控制。4、 TFx 为中断溢出标志。(2)中断请求的撤销中断响应后,必须及时清除 TCON、SCON 中的已响应中断请求标志,否则,会引起中断的重复查询和响应。外中断请求的撤销:对于边沿触发方式:由于触发信号过后就消失,撤销自然也就是自动的。对于电平触发方式:需通过软硬件结合的方法来实现撤销。定时中断请求的撤销:定时中断后,硬件自动清“0”。串行中断请求的撤销:不能自动清“0”,须用软件的方法在中断服务子程序中进行清“0”。2、中断允许控制由 SFR 寄存器 IE 设置,分二级允许控制。以 EA 位作为总控,以各中断源的允许位作为分控。中断允许控制寄存器

7、 IE,字节地址 A8H,位地址 AFHA8H,与中断允许有关的各位表示如下:位地址 0AFH 0AEH 0ADH 0ACH 0ABH 0AAH 0A9H 0A8H位符号 EA / / ES ET1 EX1 ET0 EX0说明:EA:中断总控开关,是 CPU 是否响应中断的前提。EA=1,CPU 开中断;EA=0, CPU 关中断。ES: 串行口中断允许位, ES=1,允许串行口发送/ 接收中断;ES=0,禁止串行口中断。ET1:定时器 T1 中断允许位,ET1=1,允许 T1 计数溢出中断;ET1=0,禁止 T1 中断。ET0: 定时器 T0 中断允许位,ET0=1,允许 T1 计数溢出中断

8、;ET0=0,禁止 T0 中断。EX1: 外部中断 INT1 允许位,EX1=1,允许 INT1 中断;EX1= 0,禁止 INT1 中断。EX0: 外部中断 INT0 允许位,EX0=1,允许 INT0 中断;EX0= 0,禁止 INT0 中断。 单片机复位后, (IE)=00H,因此,整个中断系统为禁止状态。3、中断优先级控制由 SFR 寄存器 IP 设置,有 2 个优先级,相应位置“1”,为高优先级。相应位置“0”,为低优先级。中断优先级寄存器 IP,字节地址 B8H,位地址 BFHB8H,与中断允许有关的各位表示如下:位地址 0BFH 0BEH 0BDH 0BCH 0BBH 0BAH

9、0B9H 0B8H位符号 / / / PS PT1 PX1 PT0 PX0注意:5 个中断允许位全部置“1”时,和全部清 0 效果一样,为同优先级中断,按自然优先级处理,即为 T0 T1串行口PT2 ,优先级依次从高到低。0INT1I该实验还涉及到定时器的部分知识,定时器共有两个控制寄存器: 定时器控制TCON(88H) 和定时器工作模式寄存器 TMOD(89H)。TMOD 用于控制 T0 和 T1 的操作模式。其各位的定义如下:TMOD D7 D6 D5 D4 D3 D2 D1 D0(89H) GATE C/T M1 M0 GATE C/T M1 M0D7-D4 控制定时器 T1, D3-D

10、0 控制定时器 T0GATE:门控信号GATE=0,TRx=1 时即可启动定时器工作 ;GATE=1,INTx=1 才可启动定时器工作。C/T:定时器/计数器选择位C/T=1,为计数器方式;C/T=0,为定时器方式。M1 M0 工作模式选择位M1M0=00 工作方式 0(13 位方式) 。M1M0=01 工作方式 1(16 位方式) 。M1M0=10 工作方式 2(8 位自动再装入方式) 。M1M0=11 工作方式 3(T0 为 2 个 8 位方式) 。实验原理图六、实验方案设计:1、 采用哪些 I/O 口完成 89C51 与 LED 的通信。2、 说明该程序的功能,给源程序加上注释。3、 硬

11、件连接原理图。七、实验步骤:1. 弄清实验内容和实验要求。2. 学习相关理论知识,提出实验方案,画出程序流程图。初始化等待中断INT0?INT0 中断子程序(开定时器)产生定时器 0 溢出中断定时器 0 溢出中断子程序(循环点亮 8 个 LED)YN初始化等待中断INT1?INT1 中断子程序(由中间向两边逐次循环点亮LED)YN1. 2.程序流程图3. 实验程序,分号后加注释,便于查看和调试。1用中断 INT0 控制 8 个 LED 发光二极管由左向右逐次循环亮灭。ORG 0000HLJMP mainORG 0003HLJMP WBZD0ORG 000BHLJMP DSQ0ORG 0030H

12、main: ;MOV P0,#0FFH ;MOV SP, #60HMOV TMOD,#00000001B ;SETB IT0 ;MOV IP, 02HSETB EX0SETB EA ;JMP $ORG 0100HWBZD0:MOV P0,#0FEH ; CLR EX0MOV TL0,#00H ;MOV TH0, #00HSETB TR0 ;SETB ET0 ; SETB EX0RETIDSQ0:CLR EX0CLR ET0CLR TR0MOV TL0,#00H ;MOV TH0, #00HMOV A, P0RL AMOV P0, ASETB TR0SETB ET0SETB EX0RETIEND

13、 2、用中断 INT1 控制 8 个 LED 发光二极管由中间向两边逐次循环亮灭。ORG 0000HLJMP MAINORG 0013HLJMP WBZD1ORG 0030HMAIN:MOV SP,#60H ;MOV P0,#0FFH ;SETB IT1 ;SETB EX1SETB EA ;JMP $WBZD1:CLR EX1MOV P0, #0E7H ;LCALL DELAY ;MOV P0, #0DBHLCALL DELAYMOV P0, #0BDHLCALL DELAYMOV P0, #7EHSETB EX1RETIDELAY:MOV R0, #0FFH ;MOV R1, #0FFHDE

14、LAY1:DJNZ R1, DELAY1DJNZ R0, DELAY1RETEND4. 编译和调试。5. 软件调试成功后,完成硬件连接。实验内容 1 接线方法:1 将 XL1000 单片机综合仿真试验仪的串口连接到计算机的 COM 口,注意连接的是哪一个几号 COM。由稳压电源为试验仪提供电源。2 接 8 个发光二极管。用一条 8PIN 数据排线将八路指示灯部份 JP32 接到 CPU 部份的 P0 口 JP51。3 接外部中断。用一条 1PIN 数据排线将端口按键部分 JP48 的任何一个接到 CPU部份 JP53 中的的 P3.2(INT0) 。实验内容 2 接线方法:1 将 XL1000

15、 单片机综合仿真试验仪的串口连接到计算机的 COM 口,注意连接的是哪一个几号 COM。由稳压电源为试验仪提供电源。2 接 8 个发光二极管。用一条 8PIN 数据排线将八路指示灯部份 JP32 接到 CPU 部份的 P0 口 JP51。3 接外部中断。用一条 1PIN 数据排线将端口按键部分 JP48 的任何一个接到 CPU部份 JP53 中的的 P3.3(INT1) 。6将程序烧写到单片机上,试运行。若出现问题,修改程序,重新编译和调试,直至运行成功。实验结果:1. 按下连接 P3.2(INT0 )的按键, 8 个 LED 发光二极管由左向右逐次循环亮灭。2. 按下连接 P3.3(INT1 )的按键, 8 个 LED 发光二极管由中间向两边逐次循环亮灭。实验报告要求:1分析程序,说出程序的功能,画出流程图。2程序加注释。3画出硬件接口原理电路图。4. 实验小结(包括理论知识

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

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