微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > stc单片机用数码管显示i love you(键盘版)

stc单片机用数码管显示i love you(键盘版)

时间:12-01 来源:互联网 点击:

#includestc12c5a.h>

#define uchar unsigned char

#define uint unsigned int

uchar led[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

uchar key[3]={0xfe,0xfd,0xfb};

unsigned char get()

{

uchar x,y,lie,i;

x=0;y=0;

for(i=0;i<3;i++)

{

P1=key[i];

lie=P1&0x38;

if(lie!=0x38)

{

x=i+1;

switch(lie)

{

case 0x30:{y=1;}break;

case 0x28:{y=2;}break;

case 0x18:{y=3;}break;

default:{x=0;}break;

}

break;

}

}

if(x!=0)

return (3*(x-1)+y);

else return 0;

}

void main()

{

uchar play,i;

P2M0=0xff;

P2M1=0x00;

P1M0=0xff;

P1M1=0x00;

while(1)

{

play=get();

switch(play)

{

case 1:

{

P2=led[1];

P0=0x07;

for(i=0;i<100;i++);

}break;

case 2:

{

P2=0x38;

P0=0x0e;

for(i=0;i<100;i++);

P0=0x0f;

P2=0x3f;

P0=0x0d ;

for(i=0;i<100;i++);

P0=0x0f;

P2=0x3e;

P0=0x0b;

for(i=0;i<100;i++);

P0=0x0f;

P2=0x79;

P0=0x07;

for(i=0;i<100;i++);

}break;

case 3:

{

P2=0x6e;

P0=0x0d;

for(i=0;i<100;i++);

P0=0x0f;

P2=0x3f;

P0=0x0b;

for(i=0;i<100;i++);

P0=0x0f;

P2=0x3e;

P0=0x07;

for(i=0;i<100;i++);

}break;

default :{P2=led[0];}break;

}

}

}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top