通过外接矩阵键盘来实现对数码管的显示控制
功能
按键,在数码管上显示,无法显示的字符不显示
设备准备
接到51单片机P3口上
原理
https://blog.youkuaiyun.com/qq_40642465/article/details/80334530?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161519024516780261918173%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=161519024516780261918173&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-1-80334530.first_rank_v2_pc_rank_v29&utm_term=%E7%9F%A9%E9%98%B5%E9%94%AE%E7%9B%98%E7%9A%84%E5%B7%A5%E4%BD%9C%E5%8E%9F%E7%90%86 讲的键盘扫描原理部分很好,下文代码采用逐行扫描
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar code table[17]={
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};
void delay(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=112;j>0;j--);
}
void display(uchar num)
{
P0=table[num];
}
void keyscan4x4(void)