这个是我昨天晚上无聊的产物..
今天早上请教了小会会.打扰了他的清梦.不好意思
正片
本来是用3W的强光LED+200MW红激光.不过还没到货.于是随便找些垃圾代替一下
程序如下
/*通过两个按键来选择 普通照明 12hz闪烁 关灯*/
/*用了不小心买错的2052ad做主控+两个s8050(H ttl)+限流电阻200OHM .电路图过于简单.不画了*/
#include<stc12c2052ad.h>
#define uchar unsigned char
#define uint unsigned int
uchar a,b,c,d;
sbit j1=P1^0;
sbit j2=P1^1;
sbit key1=P1^2;
sbit key2=P1^3;
void delay (uint x)
{
while(x--);
}
void main()
{
a=0;
b=0;
key1=1;
key2=1;
j1=0;
j2=0;
TMOD=0x11;
AUXR&=0x7F;
TL0 =0xB0;
TH0 =0x3C;
TL1 =0xbf;
TH1 =0x0F;
EA=1;
ET0=1;
ET1=1;
while(1)
{
if(key2==0)
{
delay(200000);
if(key2==0)
{
if(b==0)
{
j2=0;
TR1=0;
b=1;
while(!key2);
}
else if(b==1)
{
j2=0;
TR1=1;
b=2;
while(!key2);
}
else if(b==2)
{
j2=1;
TR1=0;
b=0;
while(!key2);
}
}
}
if(key1==0)
{
delay(200000);
if(key1==0)
{
if(a==0)
{
j1=0;
TR0=0;
a=1;
while(!key1);
}
else if(a==1)
{
j1=1;
TR0=0;
a=2;
while(!key1);
}
else if(a==2)
{
j1=0;
TR0=1;
a=0;
while(!key1);
}
while(!key1);
}
}
}
}
void t1() interrupt 1
{
TL0 = 0xB0;
TH0 = 0x3C;
c++;
if(c==3)
{
j1=~j1;
c=0;
}
}
void t2() interrupt 3
{
TL1 =0xBF;
TH1 =0x0F;
d++;
if(d==2)
{
j2=~j2;
d=0;
}
}
200字以内,仅用于支线交流,主线讨论请采用回复功能。