1、单片机实验按键接口实验 一、 的实验目1、 熟悉单片机简单按键及行列式的接口方法;2、 掌握按键扫描及处理程序的编程方法和调试方法。二、Protues 仿真实验硬件电路三、 实验任务1、 用单片机 P2.0-P2.2 端口的 3 个按键分别对应控制 P1.0-P1.2 的 3 个端口 LED 小灯亮与灭。2、 用单片机 P2.0-P2.7 端口的 16 个行列式按键分别对应控制 P1 与 P3 端口的 16 个 LED灯的亮与灭。#include#define led P1sbit K1=P20;sbit K2=P21;sbit K3=P22;void main()If(K1=0)led=0x
2、fe;If(K2=0)led=0xfd;If(K3=0)led=0xfb;如上图所示当第 11 个按键按下时第 11 个灯亮程序如下#include#define KEY P2unsigned char code table=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;unsigned char KeyValue;void KeyDown();void main()while(1)KeyDown();if(KeyValue8) P1=tableKeyValue;P3=0xff;e
3、lse P1=0xff;P3=tableKeyValue;void KeyDown(void)char a=0;KEY=0x0f;if(KEY!=0x0f)KEY=0Xf0;switch(KEY)case(0X70):KeyValue=0;break;case(0Xb0):KeyValue=1;break;case(0Xd0):KeyValue=2;break;case(0Xe0):KeyValue=3;break;KEY=0X0f;switch(KEY)case(0X07):KeyValue=KeyValue;break;case(0X0b):KeyValue=KeyValue+4;break;case(0X0d):KeyValue=KeyValue+8;break;case(0X0e):KeyValue=KeyValue+12;break;