单片机外部中断实验(附c程序)
一、实验目的
掌握外部中断的C语言和汇编语言编程方法,会用外部中断解决实际应用问题。
二、实验内容
8051C51单片机P2.0接一个发光二极管LED1、P2.1接一个发光二极管LED2,P3.2接一个开关、P3.3接一个开关要求实现以下功能:
(1)合上、P3.3断开时LED1闪烁
(2)P3.2断开、P3.3合上时LED2闪烁
(3)P3.2合上后(不断开)再合上P3.3,LED1闪烁LED2不闪烁
(4)P3.3合上后(不断开)再合上P3.2,LED2不闪烁LED1闪烁
试编写C语言和汇编语言程序
使用自然优先级就可以
也可 XO 高级X1低级PX0=1 PX1=0
四、实验电路
五、参考程序(自己完成)
C程序:
Include<reg52.h>
Sbit P2_0=P2^0;
Sbit P2_1=P2^1;
Sbit P3_2=P3^2;
Sbit P3_3=P3^3;
void delay02s(void) //延时0.2秒子程序
{
unsigned char 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;
ITO=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();
}
}
}。