单片机外部中断实验(附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程序:
IncludeSbit 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();
}
}
}