目录
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 charsbit 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;//位选给0WE = 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;}
}
}