《新编单片机原理与应用实验》课件第4章_第1页
《新编单片机原理与应用实验》课件第4章_第2页
《新编单片机原理与应用实验》课件第4章_第3页
《新编单片机原理与应用实验》课件第4章_第4页
《新编单片机原理与应用实验》课件第4章_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

实验4外

一、实验目的二、实验设备与器材三、实验内容、过程及要求

一、实验目的

(1)

理解MCS-51的中断控制系统结构。

(2)

理解MCS-51的中断识别、控制及优先级排队。

(3)

理解中断响应的过程及条件。理解中断向量(入口地址),掌握中断初始化、中断服务程序结构及其编写方法。

二、实验设备与器材仿真器及其附件、万用表、图1所示的实验电路板各一套,导线数条。本实验涉及实验板上的U101、U204、U205芯片,以及LED200、LED201数码管,与其他元器件无关。接通电源前,取下U402,并按表4-1设置板上相关跳线的状态。

表4-1

相关跳线状态

1.理解外中断初始化、中断标志有效时间、中断响应条件用跳线帽将JP103的2-3引脚短路,使(P3.2,接JP103的2脚)与P1.3引脚(接JP103插座的3脚)连在一起,即用P1.3引脚的输出信号模拟外中断信号。三.实验内容,过程及要求实验程序如下:

ORG0000H LJMPMAIN ORG0003H ;外中断入口地址LJMPINT0 ORG0050HPROCMAINMAIN: MOVSP,#5FH ;初始化堆栈指针SP ;初始化外中断

MAIN: MOVSP,#5FH ;初始化堆栈指针SP ;初始化外中断

SETBIT0 ;边沿触发

CLREX0 ;禁止中断

SETBEA ;开中断

SETBP1.3 ;P1.3引脚为高电平

CLRP1.3 ;P1.3引脚为低电平,使P3.2引脚出现下降沿

SETBP1.3 ;使P1.3引脚恢复高电平

MOVP0,#0C0H ;在LED200上显示数码“0”

NOP ;断点1

NOP SETBEX0 ;允许中断,断点2 NOP ;断点3 MOVP0,#0FFH ;关闭LED200数码管显示

NOP ;断点4 NOP SJMP$END

ORG0300HPROCINT0INT0:PUSHPSW ;断点5PUSHACC;不用切换工作寄存器区,因为中断服务程序中没有改写寄存器R7~R0MOVP0,#80H ;在LED200上显示数码“8”POPACCPOPPSWRETIEND实验步骤:

(1)

复位后,观察并记录与中断有关的寄存器,如IE、TCON、IP的初值。

(2)在“断点1”设置断点,然后全速执行,并检查TCON寄存器内容。可见,当外中被定义为下降沿触发时,只要P3.2引脚出现过由高到低电平变化,外中断中断请求标志IE0即有效。

(3)

取消断点1,设置断点2,复位后,再全速执行,并检查TCON寄存器内容。可见,只要引脚出现了下降沿,中断标志IE0即为1,但不被响应,原因是EX0位为0,中断被禁止,CPU不查询IE0标志,因此不响应。

(4)取消断点1、2,设置断点3,复位后,再全速执行,并检查TCON寄存器内容。可见,执行后,暂停在断点3处,并没有响应中断,原因是断点3的上一条指令是“SETBEX0”,操作对象为中断控制寄存器IE,因此必须再执行一条指令后才满足中断响应条件。

(5)

取消断点1、2、3,设置断点4和5,复位后,全速执行并检测TCON寄存器内容。这样,我们将发现程序暂停在断点5,而不是断点4,这说明满足了中断响应条件。从堆栈中即可判别出断点地址正是断点4所在指令地址,且PC当前值已经变为中断程序的入口地址,而TCON寄存器中的IE0标志为0,说明响应了中断请求后自动清除了边沿触发的中断标志IE0。

(6)将触发方式改为电平触发,重复以上操作即可发现:CPU不会自动清除电平触发外中断标志IE0。

2.验证中断优先级用跳线帽将JP103的2-3引脚短路,使(即P3.2,接JP103插座的2脚)引脚与P1.3(接JP103插座的3脚)相连;用导线将(P3.3,接JP104的2脚)引脚与P1.0(接JP101插座的2脚)相连,即用P1.3、P1.0引脚输出的信号模拟外中断信号和。实验程序如下:

ORG0000HLJMPMAIN ORG0003H ;外中断入口地址LJMPINT0

ORG0013H ;外中断入口地址LJMPINT1

ORG0050HPROCMAINMAIN:

MOVSP,#4FH ;初始化堆栈指针SP

;初始化外中断

SETBIT0 ;边沿触发

;初始化外中断

SETBIT1 ;边沿触发

SETBEX0 ;允许 中断

SETBEX1 ;允许 中断

SETBEA ;开中断

;CLRPX0

;修改中断优先级

;SETBPX1ORLP1,#09H ;P1口与立即数09H相或,使P1.3、P1.0同时为1ANLP1,#0F6H ;P1口与立即数0F6H相与,使P1.3、P1.0同时为0ORLP1,#09H ;P1口与立即数09H相或,再使P1.3、P1.0同时为1SJMP$ ;模拟主程序END

ORG0300HPROCINT0INT0:

PUSHPSW

PUSHACC

MOVP0,#80H ;在LED200上显示数码“8”

NOP ;断点1

POPACC POPPSW RETIEND

ORG0400HPROCINT1INT1: PUSHPSW PUSHACC MOVP0,#0C0H ;在LED200上显示数码“0” NOP ;断点2 POPACC POPPSW RETI

END

实验步骤:

(1)

不修改中断优先级控制寄存器IP,设置了断点1、2后,全速执行,将暂停在“断点1”。复位后,各中断优先级均为0,于是、都是低优先级。尽管、同时有效,但同级中断CPU查询顺序是 优先,因此全速执行后,暂停在断点1处,说明同优先级时,CPU先响应。

(2)修改中断优先级控制寄存器IP,将IP寄存器的PX1位置1(高),PX0位置0,然后全速执行,程序暂停在断点2处。说明当两个中断同时有效时,CPU优先响应高优先级。

3.中断嵌套实验程序如下:

ORG0000HLJMPMAIN ORG0003H ;外中断 入口地址LJMPINTO ORG0013H ;外中断入口地址LJMPINT1 ORG0100HPROCMAINMAIN: MOVSP,#6FH ;初始化堆栈指针SPLJMPINT1

ORG0100HPROCMAINMAIN:

MOVSP,#6FH ;初始化堆栈指针SP

;初始化外中断

SETBIT0 ;边沿触发

;初始化外中断

SETBIT1

;边沿触发

SETBEX0

;允许 中断

SETBEX1

;允许 中断

SETBEA

;开中断

;CLRPX0 ;优先级为0(低);SETBPX1 ;优先级为1(高)MOVP1,#0FFH ;将立即数FF送P1口,使用P1.3、P1.0同时为1CLRP1.3 ;外中断有效SETBP1.3NOPSJMP$ ;模拟主程序END

ORG0200HPROCINT0INT0: PUSHPSWPUSHACCCLRRS1SETBRS0 ;使用1区MOVP0,#0C0H ;在LED200数码管上显示数码“0” ;表明正在执行中断服务程序LCALLSDELAY ;调用软件延迟,使“0”字稳定显示2sSETBP1.0CLRP1.0 ;使外中断有效SETBP1.0NOPNOP ;断点1MOVP0,#80H ;在LED200数码管上显示数码“8”LCALLSDELAY ;调用软件延迟,使“8”字稳定显示2sPOPACCPOPPSWRETIEND

ORG0400HPROCINT1INT1:PUSHPSWPUSHACCSETBRS1CLRRS1 ;使用2区

MOVP0,#0F9H ;在LED200数码管上显示数码“1”;表明正在执行INT1中断服务程序LCALLSDELAY ;调用软件延迟,使“1”字稳定显示2sPOPACCPOPPSWRETIEND;利用多重循环实现软件延迟;延迟时间约为25×255×255个机器周期,当晶振频率为12 MHz,;在12时钟机器周期状态下,延迟时间约为2~3sPROCSDELAYSDELAY: MOVR5,#25LOOP2: MOVR6,#0FFHLOOP1: MOVR7,#0FFH DJNZR7,$ DJNZR6,LOOP1 DJNZR5,LOOP2 RETEND实验步骤:

(1)先不修改中断优先级控制寄存器IP,复位后,单步执行,跟踪程序的执行过程将发现:P1.3引脚出现低电平后,将进入中断服务程序,尽管在中断服务程序中有效,但复位后,由于、都是低优先级,不能中断,因此必须等到中断服务程序运行结束后,才响应,因此不会出现中断嵌套(如果写片运行,将会发现LED200数码管按0→8→1顺序显示)。

温馨提示

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

评论

0/150

提交评论