实验 中断实验
一、实验要求
单片机P2.0口接一个绿色发光二级管,P2.1口接一个红色发光二极管,P3.2和P3.3分别接一个按钮。要求以中断方式实现如下功能:
(1)启动仿真,先按下P3.3的按钮后,红灯开始闪烁;此时按下P3.2的按钮,红灯停止闪烁,绿灯开始闪烁。
(2)启动仿真,先按下P3.2的按钮后,绿灯开始闪烁;此时按下P3.3的按钮,还是绿灯继续在闪烁,红灯不会闪烁。
二、实验目的
1、掌握PC机中断处理系统的基本原理;
2、学会编写中断服务程序。
三、实验步骤
1、根据要求,绘制原理图;
2、打开Keil uVision3软件,新建文件编写汇编程序;
3、点击调试,再跳转至ISIS软件调试,即可完成实验。
四、实验截图
1、实验原理图
五、实验代码
#include<reg52.h>
#define uchar unsigned char
sbit P2_0 =P2^0;
sbit P2_1 =P2^1;
sbit P3_2 =P3^2;
sbit P3_3 =P3^3;
void delay02s(void)
{
uchar i,j,k;
for(i=20;i>0;i--)
for(j=20;j>0;j--)
for(k=248;k>0;k--)
;
}
void main()
{
EA=1;
EX0=1;
EX1=1;
IT0=1;
IT1=1;
PX0=1;
PX1=0;
while(1);
}
void int0(void) interrupt 0
{
if(!P3_2)
{
while(1)
{
P2_0=1;
delay02s();
P2_0=0;
delay02s();
}
}
}
void int1(void) interrupt 2
{
if(!P3_3)
{
while(1)
{
P2_1=1;
delay02s();
P2_1=0;
delay02s();
}
}
}
六、实验结果
(1)启动仿真,先按下P3.3的按钮后,红灯开始闪烁;此时按下P3.2的按钮,红灯停止闪烁,绿灯开始闪烁。
(2)启动仿真,先按下P3.2的按钮后,绿灯开始闪烁;此时按下P3.3的按钮,还是绿灯继续在闪烁,红灯不会闪烁。
七、心得体会
按照老师的要求完成实验后,对课程中学习到的中断方面的知识有了更深层次的理解,对汇编语言的操作和认知有了进步。
其次,通过本次课程设计使我感受到它是一门]综合性、 实践性较强的课程,使我体会到要想综合运用所学的理论知识,提高我的设计能力,必须增加实际操作的环节。这次课程设计不仅培养了我们的实际动手能力,更检验了我们对本门]课学习的情况,培养我们严肃认真的学习态度。真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力。获益匪浅。