单片机键盘程序
1、进入软件,最基础的创建工程我就不说了,直接到按键程序,写程序,首先要了解按键,对于按键,分为独立式和矩阵式按键。
2、先说说独立式按键,这个十分简单,特点是每个按键占用一条I/O线,当按键数量较多时,I/O口利用率不高,但程序编制简单。所以,如果按键就那么两三个的话用起来还是占优势的哦。这样的开关程序就是一个检测过程,看I/O端口是否低电平,如果是则有按键按下,否则就没有。如下是独立式按键的接法。

4、附加简单程序如下:独立按键程序:#include<reg52.h>#define uchar unsigned char#def足毂忍珩ine uint unsigned intsbit P27=P2^7;sbit K5=P1^4;sbit fmq=P3^6;uchar num;unsigned char code s8[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};void delay1ms(uint i){uchar j;while(i--){for(j=0;j<115;j++) //1ms基准延时程序{ ;}} }void beep() //产生1KHZ频率声音的函数{ fmq=0; delay500us(); fmq=1; delay500us();}void delay500us(){unsigned char j;for(j=0;j<57;j++) //500us基准延时程序{ ;}}void main(){ uchar t; P27=0; while(1){ if(K5==0){ delay1ms(15); if(K5==0){ for(t=0;t<100;t++) { beep(); } num=num+1; if(num==16){ num=0; } while(!K5);//等待按键释放 } } P0=s8[num]; }}void beep() //产生1KHZ频率声音的函数{ fmq=0; delay500us(); fmq=1; delay500us();}void delay500us(){unsigned char j;for(j=0;j<57;j++) //500us基准延时程序{ ;}}
5、附加矩阵键盘的键值码:
