学习C51单片机——矩阵按键控制数码管显示数字(学习笔记Keil5)
1、矩阵按键原理
单片机检测矩阵按键是否被按下的依据是检测与该按键对应的 I/O 口是否为低电平
文章来源地址https://www.toymoban.com/news/detail-854964.html
2、矩阵按键S1按下在第二个数码管显示数字1
#include <REGX52.H>
void main()//控制数码管第二位显示数字1
{
P0=0x00;//数码管不亮
while(1)
{
P2_4=1;P2_3=1;P2_2=0;//位选
P1_3=0;
if(P1_7==0)//按键S1按下
{
P0=0x06;//段选,显示数字1
}
}
}
3、控制S1-S10按键按下显示数字0~9
#include <REGX52.H>
unsigned char shuzi[] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
void main()//控制数码管第二位显示数字1
{
P0=0x00;//数码管不亮
while(1)
{
P2_4=1;P2_3=1;P2_2=0;//位选
P1=0xFF;
P1_3=0;
if(P1_7==0){P0=shuzi[0];}//按下S1按键数码管第2位显示数字0
if(P1_6==0){P0=shuzi[4];}//按下S5按键数码管第2位显示数字4
if(P1_5==0){P0=shuzi[8];}//按下S9按键数码管第2位显示数字8
P1=0xFF;
P1_2=0;
if(P1_7==0){P0=shuzi[1];}//按下S2按键数码管第2位显示数字1
if(P1_6==0){P0=shuzi[5];}//按下S6按键数码管第2位显示数字5
if(P1_5==0){P0=shuzi[9];}//按下S10按键数码管第2位显示数字9
P1=0xFF;
P1_1=0;
if(P1_7==0){P0=shuzi[2];}//按下S3按键数码管第2位显示数字2
if(P1_6==0){P0=shuzi[6];}//按下S7按键数码管第2位显示数字6
P1=0xFF;
P1_0=0;
if(P1_7==0){P0=shuzi[3];}//按下S4按键数码管第2位显示数字3
if(P1_6==0){P0=shuzi[7];}//按下S8按键数码管第2位显示数字7
}
}
文章来源:https://www.toymoban.com/news/detail-854964.html
到了这里,关于学习C51单片机——矩阵按键控制数码管显示数字(学习笔记Keil5)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!