下面是51单片机驱动矩阵键盘的电路图 采用一位数码管显示 按键的结果

下面是c语言源程序:

#include

#define uint unsigned int

#define uchar unsigned char

uint led[]={0xc0,0xf9,0xa4, 0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,

0x88,0x83,0xc6,0xa1,0x86,0x8e};

uchar a,b,c,temp;

void delay7ms(void)   //误差 -0.217013888891us

{

unsigned char a,b;

for(b=208;b>0;b--)

for(a=14;a>0;a--);

}

uchar key()

{

P1=0x0f;

if(P1!=0x0f)

{

delay7ms();

if(P1!=0x0f);

P1=0xfe;

a=P1^0xfe;

switch(a)

{

case 0x80:c=0; break;

case 0x40:c=1; break;

case 0x20:c=2; break;

case 0x10:c=3; break;

}

temp=P1;

while(temp!=0xfe)

{

temp=P1;

}

}

P1=0x0f;

if(P1!=0x0f)

{

delay7ms();

if(P1!=0x0f);

P1=0xfd;

a=P1^0xfd;

switch(a)

{

case 0x80:c=4; break;

case 0x40:c=5; break;

case 0x20:c=6; break;

case 0x10:c=7; break;

}

temp=P1;

while(temp!=0xfd)

{

temp=P1;

}

}

P1=0x0f;

if(P1!=0x0f)

{

delay7ms();

if(P1!=0x0f);

P1=0xfb;

a=P1^0xfb;

switch(a)

{

case 0x80:c=8; break;

case 0x40:c=9; break;

case 0x20:c=10; break;

case 0x10:c=11; break;

}

temp=P1;

while(temp!=0xfb)

{

temp=P1;

}

}

P1=0x0f;

if(P1!=0x0f)

{

delay7ms();

if(P1!=0x0f);

P1=0xf7;

a=P1^0xf7;

switch(a)

{

case 0x80:c=12; break;

case 0x40:c=13; break;

case 0x20:c=14; break;

case 0x10:c=15; break;

}

temp=P1;

while(temp!=0xf7)

{

temp=P1;

}

}

return c;

}

void main(void)

{

while(1)

{

P2=led[b];

b=key();

}

}

4x4矩阵键盘c语言程序,矩阵键盘C语言程序+电路图相关推荐

  1. c语言程序设计对角矩阵,从键盘输入一个4*4矩阵,并求这个4*4矩阵主对角线元素之和,并输出.球C语言程式设计...

    从键盘输入一个4*4矩阵,并求这个4*4矩阵主对角线元素之和,并输出.球C语言程式设计以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起 ...

  2. 矩阵键盘数 码管显示多位数 c语言,矩阵键盘控制码数管.doc

    矩阵键盘控制码数管 江苏食品职业技术学院论文 系别 机电工程系 班级 机电101 姓名 李明 学号 0401101223 目录 摘要3 1.概述3 2.总体设计方案3 2.1总体设计要求3 2.2系统 ...

  3. 学习笔记之51单片机键盘篇(非编码键盘与编码键盘、非编码键盘的扫描方式、独立键盘、矩阵键盘)

    这篇博文主要记录51单片机键盘篇(非编码键盘与编码键盘.非编码键盘的扫描方式.独立键盘.矩阵键盘.键盘消抖等)包含原理图.代码等 (一)基础补充 1.键盘的任务 2.键盘的识别 3.如何消除按键的抖动 ...

  4. 编c语言程序 任意输入一个长方体的长,宽,高,计算体积.,C语言程序,由键盘任意输入一个长方体的长.宽.高,计算体积....

    用C语言编写程序,输入一个正整数n(1 #include"stdio.h"intmain(){\x09inti,j,n;\x09inta[12];\x09intmin,mx;\x0 ...

  5. c语言矩阵的逆的程序,C语言求矩阵的逆矩阵

    <C语言求矩阵的逆矩阵>由会员分享,可在线阅读,更多相关<C语言求矩阵的逆矩阵(12页珍藏版)>请在人人文库网上搜索. 1.C语言求矩阵的逆矩阵班级: 自动化1604小组成员: ...

  6. 圆柱底面周长面积c语言,编写一个程序,从键盘输入圆的半径r,圆柱的高h,分别计算出圆周长cl、圆面积cs和圆柱的体积cv,输出计算结果时要求保留小数点后4位...

    相关题目与解析 编写程序,从键盘输入圆柱底面半径和高,计算并输出圆柱的体积. 编程从键盘输入圆的半径r,计算并输出圆的周长和面积. 编写程序,从键盘输入6名学生的5门成绩,分别统计出每个学生的平均成绩 ...

  7. Go语言写一个键盘映射的程序

    好的,我来为您讲解如何使用 Go 语言编写一个键盘映射的程序. 首先,我们需要使用 Go 语言的标准库中的 "os/exec" 包来执行系统命令.我们可以使用该包中的 " ...

  8. 输入三角形的三c语言程序,请问c语言中 从键盘输入三角形的3边 调用三角形面积公式求面积 并输.,C语言编写程序,从键盘输入三角形三条边长(实数),计算并输出...

    导航:网站首页 > 请问c语言中 从键盘输入三角形的3边 调用三角形面积公式求面积 并输.,C语言编写程序,从键盘输入三角形三条边长(实数),计算并输出 请问c语言中 从键盘输入三角形的3边 调 ...

  9. 8279键盘扫描c语言程序,8279键盘显示C程序

    8279键盘显示C程序 8279键盘和显示程序 #include #include #include #define COM8279 XBYTE [0xF2FF] //定义8279控制口 #defin ...

  10. c语言编写的键盘记录程序,C程序读取键盘码的方法

    本文以一个简单实例讲述了C程序读取键盘码的方法,分享给大家供大家参考.具体分析如下: 一般来说,键盘码在底层开发中经常会用到,有时候我们会忘记它们,就要急急忙忙的去找 键-码 对照表查看,其实程序可以 ...

最新文章

  1. 在.NET中实现Actor模型的不同方式
  2. 理解C#值类型与引用类型(收藏)
  3. mina、netty消息边界问题
  4. Java初学者习题20道(转)
  5. 基于图卷积(GCN)和规则卷积(CNN)的情绪识别
  6. Java解析XMl文件之SAX和DOm方法
  7. Cookie / Session 的机制与安全
  8. 【java】浅析JDK中ServiceLoader的源码
  9. Office Open XML学习(1)-创建excel文档,并向单元格中插入字符串
  10. python编译:setup.py添加.h头文件或者库的搜索路径
  11. 汉字笔顺口诀_一帮40后理工男编出新型字典,《笔顺码字典》在汉首发
  12. 如何查看Windows7系统版本
  13. eps导入坐标文件_EPS一些简单地物的编辑
  14. 最简单DIY基于STM32F407探索者开发板和PCA9685舵机控制模块的红外遥控机械臂控制程序
  15. Redis之案例:省份列表(下)
  16. arm板上简单运行main.cpp
  17. Android 查看内存使用工具 (procstats)
  18. Arduino 中String 与char *,char[]之间赋值
  19. 【CVPR2020视频超分辨率】Zooming Slow-Mo: Fast and Accurate One-Stage Space-Time Video Super-Resolution 阅读笔记
  20. 《细节决定成败》读后感

热门文章

  1. 电容或电感的电压_电工入门基础之电容、电感
  2. Visual Studio Code的下载与安装
  3. freeimage.dll
  4. 淘票票经典Python爬虫案例
  5. 【语音处理】时域信号分析基本工具,什么是窗函数
  6. stm32f072--定时器17使用CH1N通道输出pwm时没有波形的原因
  7. BLE4.0蓝牙模块JDY-08的简单使用
  8. Windows was unable to connect to wifi 电脑windows连不上路由器但是连得上手机wifi?
  9. 第2章-计算机组成原理之概述篇
  10. PreminumSoft Navicat版 10.1.7 注册码