完整的电路仿真图:
两个数码管,一个4*4的矩阵键盘,还有一个排阻,由于其中一个数码管接的是P0端口,需要接上拉电阻,用排阻更加方便,所以就用了这个,如果觉得不错的话可以点赞收藏!
#include <reg51.h>
#define KEY_PORT P2 //定义P2端口
#define DIG_PORT_1 P0 //定义P0端口,作为个位数显示
#define DIG_PORT_2 P1 //定义P1端口,作为十位数显示
#define u8 unsigned char
u8 code gDuanMa[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,0x7f,0x6f
}; //数码管的段码值
void KeyValueDisplay(u8 val); //进行函数声明
void Delay10ms(void);
u8 KeyScan(void);
/**************************************
*函数名:Delay
*函数功能:延时函数
*函数参数: 无
*函数返回值:无
*************************************/
void Delay()
{
unsigned char t,j;
for(t=20;t>0;t--)
for(j=2;j>0;j--);
}
/**************************************
*函数名:KeyScan
*函数功