大连理工大学实验报告
实验时间: 2014 年 7 月 1 日 星期 二 时间 : 13 :10 ~ 15 :00 实验室(房间号): 综420 实验台号码: 班级: 姓名:
指导教师签字: 成绩:
实验 三 MCS-51单片机中断系统及外部中断/INT0实验
一、实验目的和要求
学习、掌握单片机的中断原理。正确理解中断矢量入口、中断返回的概念及物理过程。学习编写软件“防抖程序”,了解软件防抖原理。
二、实验内容及步骤
1.INT0、INT1同一优先级运行实验:
保持上电复位时INT0、INT1默认为 “低优先级”的状态,且将SW1、SW2全部事先置于“0”电平(同时申请中断)后,再启动运行程序,按照表1要求填写结果。
表1 :INT0、INT1同一优先级时 运行记录
外部中断信号状态 Int0 0 1 0 0 0 1 Int1 0 0 0 1 0 0 状态0;状态0 状态1;状态1 状态1;状态1 状态0;状态0 状态0;状态0 状态1;状态1 PI口(LED状态)
结论一:保持上电复位时INT0、INT1默认为 “低优先级”的状态时:(1)同级中断同时申请中
断时,CPU按“自然优先级”响应,即INT0→T0→INT1→T1→ES。(2)一个中断一旦得到响应(无论什么优先级),与它同级的中断则“不能”再中断它。(3)每个中断都是下降沿或者低电平有效(由TCON设定)。
注:主程序:状态2,INT_0:状态0,INT_1:状态1。
2.将 INT1设定为高优先级(INT0保持为低优先级)的运行实验:
在程序中使用指令将INT1设定为“高优先级”状态,按照表2内容填写结果。
表2:INT1为高优先级(int0保持为低优先级)时运行状态记录 外部中断信号状态 (请按顺序操作并填写) Int0 1 1 0 0 1 0 0 0 Int1 1 0 0 1 1 1 0 1 状态2;状态2 状态1;状态1 状态1;状态1 状态0;状态0 状态2;状态2 状态0;状态0 状态1;状态1 状态0;状态0 PI口(LED状态)
结论二: 将 INT1设定为高优先级(INT0保持为低优先级)时:(1)低优先级的中断响应在执
行时“可被”高优先级中断所中断。(2)高优先级的中断响应在执行时“不可被”高优先级中断所中断。(3)两个中断都没有申请时程序正常执行主程序。(4)每个中断都是下降沿或者低电平有效(由TCON设定)。
三、实验算法和程序清单
ORG 8000H LJMP START ORG 8003H LJMP INT_0 ORG 8013H LJMP INT_1 ORG 8100H START: MOV SP,#60H SETB EX0 SETB EX1 SETB PX1 SETB EA MOV TCON,#00H MOV IP,04H MOV A,#00H
LOOP: INT_0: CHR:
MOV P1,A
CPL A
LCALL DELAY SJMP LOOP
PUSH PSW PUSH ACC LCALL DELAY MOV A,#03H CPL A RR A MOV P1,A LCALL DELAY JNB P3.2,CHR LCALL DELAY POP PSW
INT_1: CHL:
POP RETI PUSH PUSH LCALL MOV CPL RL MOV LCALL JNB LCALL POP
ACC
PSW ACC DELAY A,#01H A A P1,A DELAY P3.3,CHL DELAY PSW
POP RETI
DELAY: PUSH PUSH MOV DELAY1: MOV DJNZ DJNZ POP POP RET END
ACC
01H
02H R1,#00H R2,#00H R2,$
R1,DELAY1 02H 01H
四、实验电路
限流电阻1K×8 +5V MCS-51 P1.7
LED8 LED7 LED6 LED5 LED4 LED3 LED2 LED1 SW1 INT0 +5V SWINT1 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 P3.2 SW2 +5V SW图1 :实验电路连接示意图 五、实验流程图 设置初始地址 INT0入口 初始化设置: SETB PX1 六、实验结果与分析
本次的中断实验共有四个大的模块。第一:主程序中完成LED灯全亮和全灭的循环显示;第二:INT_0中断程序中实现小灯连续俩个亮,并且只要中断没有撤销,且没有更高优先级中断打断就连续左移循环显示;第三:INT_1中断程序实现只有一个小灯亮,且只要中断没有撤销就连续右移循环显示;第四:延时子程序,用于防止前后抖动和小灯闪烁过快人眼无法识别。在主程序执行的任何时候只要有中断都会转去执行中断程序。另外,在程序中认为的设置了INT1为高优先级中断,在INT0中断是可以用INT1中断对其进行打断,改变小彩灯的显示形式,本次操作完成了实验要求的各种指标。
彩灯连续两个亮,循环左移显示,调用DELAY只有一个彩灯亮,并且循环右移显示,调用进入INT_0子程进入INT_1子程NYY INT1=0? INT0=0? N INT1=0? Y计数器取反并显示 调用DELAY子程N七、实验体会和建议
在老师的指导下,本次实验做得还是比较顺利,但是在实验过程中还是犯了一些比较低级的错误,在最开始编中断服务程序的时候,分析感觉都是正确的,但是就是无法进入中断服务程序,检查了一会才发现忘写了两句最重要的开中断语句即SETB
EX0 、SETB EX1 、SETB EA,这就
要求我在做实验的时候要非常认真,在出现问题时从问题出发,分析可能的错误然后加以改正,就能够以最快的速度保质的完成任务。
八、主要仪器设备
名称 KeilC51调试软件 单片机综合仿真平台
型号 μVision DP-51PROC 备注 无
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新幼儿教育单片机 实验 三 MCS-51单片机中断系统及外部中断INT0实验 全文阅读和word下载服务。
相关推荐: