单片机C51矩阵式键盘按键值的数码管显示仿真电路

仿真电路图

 代码

#include <REGX51.H>
#define uchar unsigned char
#define uint unsigned int
#define KEY P2
#define DIS P0
sbit KEYH1 = P2^0;
sbit KEYH2 = P2^1;
sbit KEYH3 = P2^2;
sbit KEYH4 = P2^3;
unsigned char keynum=16;
uchar led[]={0xC0,0xF9,0xa4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0xff};
void Delay1ms(unsigned int n);
void key();
void main()
{
 while(1)
	 {
key();
DIS=led[keynum];
}

}
void key()
{
P2=0x0f;
if(P2!=0x0f){

Delay1ms(10);
if(P2!=0x0f)
{
P2=0xef;
if(KEYH1==0) keynum=0;
if(KEYH2==0) keynum=4;
if(KEYH3==0) keynum=8;
if(KEYH4==0) keynum=12;
P2=0xdf;
if(KEYH1==0) keynum=1;
if(KEYH2==0) keynum=5;
if(KEYH3==0) keynum=9;
if(KEYH4==0) keynum&#
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值