本帖最后由 xymiss 于 2017-10-7 14:21 编辑
下面是一组开关的程序,想加多二组,加上二个控制件 并增加P0和P2口二组灯。或只增加一组也行,灯的效果跟P1一样即可。可以吗。
拜托。谢谢大神了
灯的效果就是流水灯,带中断,假设P3-0控制P1口。P3-1控制P0口,按P3-0,P1口流水灯,按二次。则第一次流水中断,开始第二次,二个键都按时,二边都有流水灯效果即可。
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
sbit button = P3^2;//外部中断P3^2
int b=1;
bit press = 1;
uchar luishui = 0xfe;
void Delay(uchar z)
{
uchar x, y;
for(x = z; x > 0; x--) for(y = 255; y > 0; y--);
}
void main()
{
int i=0;
IT0 = 1;
EX0 = 1;
EA = 1;
while(press) P1=0xff P0=0xff;
while(!press)
{
b=1;
luishui=0xfe;
for(i=0;i<8;i++)
{
if(!b)break;
P1=luishui;
Delay(150);
luishui=_crol_(luishui,1);
}
if(i==8)press=1;
}
}
void X0_INT() interrupt 0
{
b=0;
press=0;
}
|