⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 4*4键盘扫描并且在数码管上显示0-9、10个数字
💻 C
字号:
#include<reg52.h>

sbit cs_138=P2^6;
sbit cs_373=P2^5;

unsigned code zima1[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
unsigned char keydat=1;

void keyscan(void);    //按键扫描函数声明;
void keyfind(unsigned char);    //按键分析函数声明;

void main()
{
 	cs_138=1;
	cs_373=1;
	 while(1)
	 {
		P1=0xf0;
		if((~P1)&0xf0)    //判别列线是否有键被按下
		{  
		   	keyscan();
		}
		P0=zima1[keydat-1];	 //所要显示的数据
		P2=0x1c|0x60;        //所要显示的数据位置
	 }
 }
/*以下是按键函数处理的调用程序*/
void keyscan(void)
{ 
		P1=0xfe;
		keyfind(0);

		P1=0xfd;
		keyfind(4);  
		
		P1=0xfb;
		keyfind(8);

		P1=0xf7;
		keyfind(12);
}

void keyfind(unsigned char i)     //键植分析
  	{
		switch((~P1)&0xf0)
			{
				case 0x10:
					keydat=1+i;    //列线p14被按下
					break;
				case 0x20:
					keydat=2+i;    //列线p15被按下
					break;
				case 0x40:
					keydat=3+i;    //列线p16被按下
					break;
                case 0x80:
                    keydat=4+i;    //列线p17被按下
					break;
				default:break;
			}
}










⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -