專注電子技術學習與研究
當前位置:單片機教程網(wǎng) >> MCU設計實例 >> 瀏覽文章

stc單片機用數(shù)碼管顯示i love you(鍵盤版)

作者:佚名   來源:本站原創(chuàng)   點擊數(shù):  更新時間:2013年12月15日   【字體:

今天寫了個鍵盤程序,雖然沒什么技術含量,但是用處卻是很大的
附上單片機程序,想用的盡管拿去用 


 

#include<stc12c5a.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;
    }

 }
}
關閉窗口

相關文章