創(chuàng)意設計之LED搖搖棒
電路非常簡單,用一個多小時就搞定了,效果還不錯吧?
這是做的搖搖棒:
傳感器特寫,想想看,水銀開關為什么是斜著裝置的。
發(fā)光二極管接P0口和P2口,傳感器用了中斷0,圖中的K2為水銀開關。
電原理圖
C語言源程序
#include
char KY;
unsigned char code GB_16[] =
{
0x00,0x00,0x00,0x00,0x1F,0xE0,0x0F,0xC0, //中
0x08,0x40,0x08,0x40,0x08,0x40,0xFF,0xFF,
0x7F,0xFE,0x08,0x40,0x08,0x40,0x08,0x40,
0x0F,0xE0,0x1F,0xC0,0x08,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xFF,0xFF,0x7F,0xFE, //國
0x40,0x0A,0x49,0x0A,0x49,0x0A,0x4F,0xFA,
0x4F,0xFA,0x49,0xCA,0x5B,0x7A,0x49,0x2A,
0x40,0x0A,0x7F,0xFF,0xFF,0xFE,0x40,0x00,
0x00,0x00,0x08,0x01,0x08,0x0E,0xFF,0xFC, //加
0x7F,0xF0,0x08,0x04,0x08,0x02,0x0F,0xFF,
0x1F,0xFE,0x08,0x00,0x3F,0xFE,0x1F,0xFC,
0x10,0x08,0x10,0x08,0x1F,0xFE,0x3F,0xFC,
0x00,0x00,0x08,0x20,0x87,0x1E,0x72,0x7F, //油
0x31,0xC6,0x06,0x00,0x00,0x00,0x1F,0xFF,
0x0F,0xFE,0x08,0x42,0xFF,0xFE,0x7F,0xFE,
0x08,0x42,0x0F,0xFF,0x1F,0xFE,0x08,0x00
};
void DelayUs(unsigned int N)
{
unsigned int x;
for(x=0; x=N;x++);
}
void intersvr0(void) interrupt 0 using 1
{
int i;
KY=~KY;
if(KY==0){
DelayUs(1200);
for(i=0;i64;i++){
P2=~GB_16[i*2];
P0=~GB_16[i*2+1];
DelayUs(80);
P2=0xff;P0=0xff;
}
}
}
/*演示主程序*/
void main(void)
{
IT0=1;EX0=1;
EA=1;
KY=0;
P0=0xff;
P2=0xff;
while(1){
}
}
評論