目录
1键盘简绍
2按键的工作原理
3键盘类型
4独立键盘与矩阵键盘的特点
5本节相关原理图
6按键特性
7实践
1键盘简绍

2按键的工作原理
内部使用轻触按键,常态按下按键触点才闭合
3键盘类型
编码键盘与非编码键盘
4独立键盘与矩阵键盘的特点

5本节相关原理图
给P35 1如果按下此时为0,并且上电后默认为高电平
准双向io

#include<reg52.h>
#include<intrins.h>
#define uint unsigned int 
#define uchar unsigned char
	
sbit DU = P2^6;
sbit WE = P2^7;
sbit Key_s1 = P3^5;
sbit Key_s2= P3^6;
uchar num;//数码管的值
//code固定table的值,code很大8kram区小
uchar code table[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};
void delay(unsigned int xms)		//@12.000MHz
{
	unsigned char i, j;
	while(xms--)
	{
		i = 2;
	j = 239;
	do
	{
		while (--j);
	} while (--i);
	}
}
void main()
{
	WE = 1;
	P0=0xfb;//位选给0
	WE = 0;//锁存器锁存
	while(1)
	{
		
	if(Key_s1 == 0)
	  {
			delay(20);//消抖
			if(Key_s1==0)
			{			
			  if(num!=9)
			  num++;
				while(!Key_s1);//判断是否松手
			}
	  }
		
		if(Key_s2 == 0)
	  {
			delay(20);//消抖
			if(Key_s2==0)
			{	
				if(num>0)
					num--;
				while(!Key_s2);//判断是否松手
			}
		DU = 1;
		P0 = table[num];//0000 0110 共阴极给1亮
		DU = 0;
  }
}
} 
 


















