|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
各位高手好,我是单片机新手,有一个题目如下:利用外中断1接口接一个外部中断输入,同时使用单片机定时器0中断,通过P1口连接8个发光二极管显示中断的作用:利用定时方式,使8只LED灯每1s左移一次,当有外部中断时8个LED灯同时闪烁5次,闪烁完后返回继续外中断前的状态运行。
我自己编了一个程序,但是怎么仿真也不对,请教各位高手修改一下:#include<reg51.h>
#include<intrins.h>
#define led P1
int count;
unsigned char a, b, m ,i;
void delay(int x,int y)
{ int c,d;
for(c=0;c<x;c=c+1)
for(d=0;d<y;d=d+1);
}
void main()
{
led=0xfe;
TMOD=0x01;
TH0=0x3c;
TH1=0xb0;
EX1=1;
ET0=1;
PX1=1;
EA=1;
TR0=1;
count=0;
while(1);
}
void INT1_i ()interrupt 2
{ TR0=0;
a=10;
b=250;
m=led;
for(i=0;i<5;i=i+1)
{delay(a,b);
}
P1=0x00;
TR0=1;
}
void T0_i() interrupt 1
{ TH0=0x3c;
TH1=0xb0;
count=count+1;
if(count==20) {count=0;led=_crol_(led,0);}
}
|
|