外部中断实验
(1)、实验要求
实验原理图如图5-1所示,图中数码管为共阳极,
元器件型号为7SEG-COM-AN-BLUE;数码管驱动应加上拉电阻如RP1。
要求:当无外部中断(外部中断0)时,数码管按a~g段依次点亮,不断循环显示;当有外部中断(按钮被按下,P3.2有下降沿电压)时,数码管显示状态改为“8”亮灭闪烁显示,亮灭闪烁显示8次后,返回主程序继续按段顺序点亮。
#include<reg51.h>
#include<intrins.h>
void delay()
unsigned char code a[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
unsigned char i;
main()
{
ea=1;
ex0=1;
it0=1;
while(1)
{ if(i==10)
i=0;
P2=~a
;
delay();
i++;
}
}
void int0() interrupt 0 using 0
{
ex0=0;
for(i=0;i<8;i++)
{
P2=0x80;
delay();
P2=0xff;
delay();
if(i==8)
ex0=1;
}
}
void delay()
{
unsigned int i,j;
for(i=800;i>0;i--)
for(j=300; j>0;j--);
}
我这个程序为什么没办法返回主程序,执行中断程序后单片机就停止工作了没有返回主程序。我是初学者,也是自学的.希望各位前帮忙下。如果可以的话请帮忙把修改完后的程序发到我邮箱1744436360@qq.com.希望大家帮帮忙。
电路题如下
一周热门 更多>