发光二极管
电路非常简单,用一个多小时就搞定了,效果还不错吧?
这是做的摇摇棒:
传感器特写,想想看,水银开关为什么是斜着装置的。
发光二极管接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;i<64;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){
}
}
全部0条评论
快来发表一下你的评论吧 !