首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

大神帮忙见见这个程序

2013-11-18 
大神帮忙看看这个程序#includereg52.h#includeintrins.hint i,jvoid delay(int m){for(i0imi++){

大神帮忙看看这个程序
#include<reg52.h>
#include<intrins.h>
int i,j;
void delay(int m)
{
for(i=0;i<m;i++)
{
for(j=0;j<200;j++);
}
}
void LED1(void)
{
char j;
j=0x01;
while(1)
{
for(i=0;i<8;i++)
{
 P0=~j;
 delay(200);
 j=j<<1;
}
}
}
void LED2()
{
j=0x80;
while(1)
{
for(i=0;i<8;i++)
{
P0=~j;
delay(200);
j=j>>1;

}
}
}
void int_1() interrupt 2
{
delay(200);
if(INT1==0)
{
int a;
a++;
if(a>3)
{
a=1;
}
}
}
void INT1_init(void)
{
EA=1;
EX1=1;
IT1=1;
}
void main(void)
{
INT1_init();
while(1)
{
int a=1;
switch(a)
{
case 1:LED1();break;
case 2:LED2();break;
case 3:LED3();break;
}
}
}
这个程序能实现中断吗?
[解决办法]
全局中断和局部中断都使能应该就没问题。

引用:
#include<reg52.h>
#include<intrins.h>
int i,j;
void delay(int m)
{
for(i=0;i<m;i++)
{
for(j=0;j<200;j++);
}
}
void LED1(void)
{
char j;
j=0x01;
while(1)
{
for(i=0;i<8;i++)
{
 P0=~j;
 delay(200);
 j=j<<1;
}
}
}
void LED2()
{
j=0x80;
while(1)
{
for(i=0;i<8;i++)
{
P0=~j;
delay(200);
j=j>>1;

}
}
}
void int_1() interrupt 2
{
delay(200);
if(INT1==0)
{
int a;
a++;
if(a>3)
{
a=1;
}
}
}
void INT1_init(void)
{
EA=1;
EX1=1;
IT1=1;
}
void main(void)
{
INT1_init();
while(1)
{
int a=1;
switch(a)
{
case 1:LED1();break;
case 2:LED2();break;
case 3:LED3();break;
}
}
}
这个程序能实现中断吗?

热点排行