ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:989.41KB ,
资源ID:8982915      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-8982915.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(中断优先级控制及中断保护实验报告.docx)为本站会员(wj)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

中断优先级控制及中断保护实验报告.docx

1、中断优先级控制及中断保护 学生: 何绍金 学号: 201203870408 专业班级:自动化1202 指导老师: 杨东勇 2014年12月一、实验目的1、掌握单片机中断机制。2、熟悉中断的应用和编程。二、实验设备统一电子开发平台。三、实验要求连接单片机最小系统和发光二极管阵列的电路并编写程序,学习单片机中断机制,及中断优先级和中断保护的方法,使用独立式按键B 连接INT0(P3.2),按键F 连接INT1(P3.3),在平时状态下,发光二极管行以200ms 的时间间隔,依次点亮。B 键按下时INT0 中断处理程序点亮P0.0 对应的发光管2秒钟,其他发光管熄灭;F 键按下时P0.1 对应发光管

2、点亮2秒,其他发光管熄灭。四、实验原理实验板8051芯片有四级中断优先级的14个中断源。通过几个寄存器来设置4级中断。通过IE, IP, IPH,AUXIE,AUXIP, AUXIPH, XICON和TCON。1 中断源表1列出了所有的中断源,使能位被允许,中断请求时硬件会产生一个中断请求标志。当然,总中断使能位EA( IE 寄存器)必须使能。中断请求位能由软件置1或清零, 这和硬件置1或清零结果相同。同理,中断可以由软件产生或取消中断向量地址表示中断服务程序的入口地址。2. 与中断相关的寄存器下面是中断过程中的相关特殊功能寄存器IE (地址A8H, 中断使能寄存器, 复位值=0x00,000

3、0B)EA: 总中断使能位. EA = 0, 禁止所有中断. EA = 1, 使能所有中断ET2: 定时器2 中断使能.ES: 串口 中断使能ET1: 定时器1 中断使能EX1: 外部中断1 使能.ET0: 定时器0 中断使能 EX0: 外部中断0 使能.IP (地址B8H,中断优先级寄存器, 复位值=xx00,0000B)PT2: 定时器2 中断优先级位.PS: 串口 中断优先级位.PT1: 定时器1 中断优先级位.PX1: 外部中断1 优先级位.PT0: 定时器0 中断优先级位.PX0: 外部中断0 优先级位.IPH (地址B7H, 中断 优先级高位寄存器, 复位值=0000,0000B)

4、PX3H: 外部中断3 优先级位, H.PX2H: 外部中断2 优先级位, H.PT2H: 定时器2 中断优先级位, H.PSH: 串口 中断优先级位, H.PT1H: 定时器1 中断优先级位, H.PX1H: 外部中断1 优先级位, H.PT0H: 定时器0 中断优先级位, H.PX0H: 外部中断0 优先级位, H.AUXIE (地址ADH, 辅助中断使能寄存器, 复位值=xx00,0000B)EKB: 键盘 中断使能位.ES2: UART2 中断使能位.EBD: 欠压检测 中断使能位.EPCA: PCA 中断使能位.EADC: ADC 中断使能位.ESPI: SPI 中断使能位.AUXI

5、P (地址AEH,辅助中断优先级寄存器, 复位值=xx00,0000B)PKB: 键盘 中断优先级位.PS2: UART2 中断优先级位.PBD: 欠压检测 中断优先级位.PPCA: PCA 中断优先级位.PADC: ADC 中断优先级位.PSPI: SPI 中断优先级位.AUXIPH (地址AFH, 辅助中断优先级高位寄存器, 复位值=xx00,0000B)PKBH: 键盘 中断优先级位, HPS2H: UART2 中断优先级位,HPBDH: 欠压监测 中断优先级位,H.PPCAH: PCA 中断1 优先级位, H.PADCH: ADC 中断 优先级位,H.PSPIH: SPI 中断0 优先

6、级位, H.XICON (地址C0H, 外部中断 控制寄存器, 复位值=0000,0000B)PX3: 外部中断3 优先级位.EX3: 外部中断3 使能位.IE3: 外部中断3 中断标志.IT3: 外部中断3 类型控制位. 1: 边沿触发; 0: 电平触发.PX2: 外部中断2 优先级位.EX2: 外部中断2 使能位.IE2: 外部中断2 中断标志.IT2: 外部中断2 类型控制位. 1: 边沿触发; 0: 电平触发.TCON (地址88H, 定时/计数器 控制寄存器, 复位值=0000,0000B)IE1: 外部中断1 请求标志. 外部中断1 由边沿或电平触发(由IT1设置)硬件置标志.IT

7、1: 外部中断1 类型控制位. 软件选择下降沿/低电平触发外部中断1.IE0: 外部中断0 请求标志. 外部中断0 由边沿或电平触发(由IT0设置)硬件置标志.IT0: 外部中断0 类型控制位. 软件选择下降沿/低电平触发外部中断0.3 中断使能通过设置寄存器 IE, AUXIE 和 XICON能对每个中断进行使能和禁止操作.需注意IE中有个总中断允许位EA.EA 置1所有中断的使能和禁止由单独的设置位决定. EA被清0, 所有中断被禁止.4 中断优先级中断优先级设置和80C51相同, 除了有四级中断优先级比80C51多两级.优先级位(参见 表 19-1) 决定每个中断的优先级.表 2, 外部

8、中断0 中断优先级设置, 通过不同的设置组合决定中断优先级.表 2. 外部中断0 的四级优先级5 中断响应每个机器周期都会采样中断标志位. 如果没有下列阻止条件. 前一个指令周期中产生中断标志位置位,接下来的指令周期中将以LCALL调用中断服务程序,下列几种情况将LCALL指令锁定:1. 另一个高优先级的中断正在处理.2. 当前机器周期不是正在执行的指令的最后一个机器周期.3. 正在执行指令RETI 或正在写和中断相关的寄存器( IE或IP寄存器).6 外部中断外部中断源包括 /INT0, /INT1, /INT2 和 /INT3, 外部中断能被任意的低电平触发或下降沿触发, 通过设置寄存器T

9、CON 和 XICON中的位 IT0, IT1, IT2和 IT3. ITx= 0, INTx管脚被拉低将触发中断。 ITx = 1,INTx管脚上的下降沿将触发中断。中断被触发后将置位TCON、XICON中的IE0、IE1、IE2 、IE3。如果中断被激活这些标志在进入中断服务程序后被硬件清除。如果中断是电平触发,外中断源必须有效,直到中断被响应,在执行完中断服务程序前,此有效中断必须被清除。7 单步运80C51的中断结构允许使用很少的软件开销来实现单步运行.如前所述,在正在执行相同或更高优先级的中断的时候中断请求是不会被响应的,直到运行完当前中断服务程序后至少再执行一条以上的指令.因而,

10、如果一个中断服务程序正在执行,这不能被其他中断重入, 直到当前中断服程序被执行完后至少再执行一条以上的指令. 下面是一个电平触发的外部中断(e.g., INT0)的使用实例.代码如下:JNB P3.2,$ ;等待直到INT0变高JB P3.2,$ ;等待直到INT0 变低RETI ;服务序结束并执行一条指令当前INT0引脚(P3.2)保持低状态,CPU进入外部中断0服务程序等待INT0的引脚上有脉冲产生(从低到高再到低).然后执行RETI指令, 跳回被中断的程序执行一条指令,然后再次进入外部中断 0 中断服务程序等待引脚P3.2上再次产生一个脉冲.这样就是在引脚P3.2上每产生一个脉冲程序步进

11、一条指令,这样就实现了单步操8 原理图五、实验思考题1 分析51 单片机的中断运行的机制,它具有那些中断,对应的中断矢量地址是什么?中断使能位是什么? 答:外部中断0:入口:0003H 定时器0: 入口:000BH 外中断1: 入口:0013H 定时器1: 入口:001BH 串口中断:入口:0023H2 各中断源的硬件优先级的顺序是怎样的?哪个寄存器能够控制单片机中断源的优先级怎样控制? 答:8051对于各种中断优先权采用双层结构,首先对于优先权可由中断优先权寄存器、设定该中断为高优先权或低优先权,高优先权可以中断低优先权,但是当优先权相同时(都为高优先权或低优先权),则由内部的轮询顺序决定哪

12、一个中断被接受附:实验源代码:;*ASM汇编实验*; 工程:; 晶振: 11.0592M ;*/#include REG_MPC82G516.INC /* 如果用到MPC82G516的特殊寄存器请包含这个头文件 */ORG 0000H AJMP MAIN ;跳至主程序。 ORG 03H ;外部中断0中断向量地址。 AJMP INT0_SUB ORG 13H ;外部中断1中断向量地址。 AJMP INT1_SUB ORG 0030HMAIN: ;使能INT0,INTl。 MOV IE,#10000101B ;使能INT0,INTl MOV TCON,#00000101B ;设INT0、INTl负

13、缘触发。 MOV IP,#01H ;中断0优先 MOV SP,#30H ;将堆栈移至30H。 NOPSTART: MOV P1,#0FEH ;(注意16进制数A-F前要加0) MOV A,P1 ACALL DELAY200MS ;调用延时子程序,以使观察LED的状态LOOP1: RR A MOV P1,A ACALL DELAY200MS ;调用延时子程序,以使观察LED的状态 ACALL DELAY200MS ; ACALL DELAY200MS AJMP LOOP1DELAY2S: MOV R2,#0AHDEL_1: ACALL DELAY200MS DJNZ R2,DEL_1 RET D

14、ELAY200MS: ;延迟200ms子程序。 MOV R1,#014HDEL_0: ACALL DELAY10ms DJNZ R1,DEL_0 RETDELAY10ms:;延迟10ms子程序。 MOV R5,#0BHDEL_2: MOV R3,#0EFHDEL_3: MOV R4,#09H DJNZ R4,$ DJNZ R3,DEL_3 DJNZ R5,DEL_2 RET ;DELAY10MS程序占用时钟周期为:2+(2+4*9+4)*0XEF+4*11=110484 ;一个时钟周期是:T=1/11059200s,故延迟时间为:114084*T=9.990234375ms INT0_SUB:

15、 ;1NT0中断子程序。 CLR EA ;清除中断 ACALL DELAY10ms ;延迟10ms JNB INT0,HAVEKEY0 ;确认有键 SETB EA ;开启全局中断 RETIHAVEKEY0: PUSH PSW ;保存寄存器数据。 PUSH ACC SETB RS0 ;选择寄存器库1 CLR RS1 ;选择寄存器库1 SETB EA ;开启全局中断 MOV P1,#0FEH ACALL DELAY2S POP ACC ;取出保存寄存器数据。 POP PSW RETIINT1_SUB: ;1NT1中断子程序。 CLR EA ;清除中断 ACALL DELAY10MS ;延迟 JNB INT1,HAVEKEY1 ;确认有键 SETB EA ;开启全局中断 RETIHAVEKEY1: PUSH PSW ;保存寄存器数据。 PUSH ACC SETB RS1 ;选择寄存器库1 CLR RS0 ;选择寄存器库1 SETB EA ;开启全局中断 MOV P1,#0FDH ACALL DELAY2S POP ACC ;取出保存寄存器数据。 POP PSW RETI END

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2