|
2.PNG (81.67 KB, 下載次數(shù): 70)
下載附件
proteus電路圖
2020-2-21 11:58 上傳
#include<reg51.h>//矩陣鍵盤(pán) 從下往上 從左往右依次為1 2 3……號(hào) 14號(hào)為復(fù)位加減 15號(hào)++ 16號(hào)--
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
#define DIG P0
#define KEY P1
sbit seg1=P2^0;
//sbit seg2=P2^2;
uchar code shuzi[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7C,0x39,0x5E};
uchar xianshi,a=0,b,c;
void delay(uint t)
{
while(t--);
}
void keydown()
{
KEY=0xf0;
if(KEY!=0xf0)
{
delay(15);
if(KEY!=0xf0)
{
switch(KEY)
{
case(0x70):xianshi=0;break;
case(0xb0):xianshi=1;break;
case(0xd0):xianshi=2;c--;break;
case(0xe0):xianshi=3;c++;break;
}
KEY=0x0f;
switch(KEY)
{
case(0x07):xianshi=xianshi;break;
case(0x0b):xianshi=xianshi+4;break;
case(0x0d):xianshi=xianshi+8;break;
case(0x0e):xianshi=xianshi+12;break;
}
while((a<50)&&(KEY!=0XF0))
{
delay(1000);
a++;
}
}
}
}
void main()
{
seg1=0;
while(1)
{
keydown();
if ((xianshi>=0)&&(xianshi<=12))
DIG=shuzi[xianshi];
if(xianshi==13)
{
c=5;
DIG=shuzi[c];
}
if(xianshi==14)
{
DIG=shuzi[c];
delay(50000);
}
if(xianshi==15)
{
DIG=shuzi[c];
delay(50000);
}
}
}
|
評(píng)分
-
查看全部評(píng)分
|