单片机外部中断实验(附C语言程序)

  • 格式:doc
  • 大小:108.50 KB
  • 文档页数:3

下载文档原格式

  / 6
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机外部中断实验(附c程序)

一、实验目的

掌握外部中断的C语言和汇编语言编程方法,会用外部中断解决实际应用问题。

二、实验内容

8051C51单片机接一个发光二极管LED1、接一个发光二极管LED2,接一个开关、接一个开关要求实现以下功能:

(1)合上、断开时LED1闪烁

(2)断开、合上时LED2闪烁

(3)合上后(不断开)再合上,LED1闪烁LED2不闪烁

(4)合上后(不断开)再合上,LED2不闪烁LED1闪烁

试编写C语言和汇编语言程序

使用自然优先级就可以

也可 XO 高级X1低级PX0=1 PX1=0

四、实验电路

五、参考程序(自己完成)

C程序:

Include<>

Sbit P2_0=P2^0;

Sbit P2_1=P2^1;

Sbit P3_2=P3^2;

Sbit P3_3=P3^3;

void delay02s(void) //延时秒子程序{

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();

}

}

}