下面是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();

}

}

希望大家多指点,谢谢!

共同学习

矩形键盘c语言程序,矩阵键盘C语言程序+电路图(51单片机)相关推荐

  1. 【Proteus仿真】Arduino UNO +74C922键盘解码驱动4X4矩阵键盘

    [Proteus仿真]Arduino UNO +74C922键盘解码驱动4X4矩阵键盘 Proteus仿真 本例因为使用了74C922解码芯片,使得程序代码非常简单,在按下不同按键时,数码管将显示对应 ...

  2. 矩阵键盘数 码管显示多位数 c语言,4×4矩阵键盘数码管显示按键值程序

    4×4矩阵键盘数码管显示按键值程序本文引用地址:http://www.eepw.com.cn/article/201607/294422.htm //电路说明如下. //单片机:使用51系列兼容的即可 ...

  3. 电子琴仿真c语言程序,矩阵键盘模拟电子琴C语言程序设计

    原标题:矩阵键盘模拟电子琴C语言程序设计 //24c08地址为0xa0 #include #define uchar unsigned char unsigned char code table[]= ...

  4. 4x3矩阵键盘扫描法c语言,4X4矩阵键盘扫描程序

    4X4矩阵键盘扫描程序 4X4矩阵键盘扫描: 1. 4根行线的GIO均设为Output,根列线的GIO均设为Input: 2. 4根行线的GIO分别置为0111.1011.1101.1110,读逐一读 ...

  5. LINUX矩阵键盘简单介绍,stm32矩阵键盘原理图及程序介绍

    描述 STM32F0 系列产品基于超低功耗的 ARM Cortex-M0 处理器内核,整合增强的技术和功能,瞄准超低成本预算的应用.该系列微控制器缩短了采用 8 位和 16 位微控制器的设备与采用 3 ...

  6. 4x6矩阵键盘反转法c语言,反转法矩阵键盘

    /*P1口外接3*4矩阵键盘,P1^0不用,反转法读键值 本程序虽然稍多几行,但是没有循环, 还可以提前返回,所以执行的速度最快*/ #include #include #define uint un ...

  7. proteus矩阵按键计算机,基于proteus的51单片机仿真实例八十二、4X4矩阵键盘应用实例...

    1.矩阵键盘的工作原理: 1)接口电路:在单片机系统中,当按键数量较多时,为了减少IO口的使用,通常将按键排列成矩阵型式,例如本例中的16个按键,被排列成了如下图所示的4X4矩阵方式.即由4根行线和4 ...

  8. linux下矩阵键盘设备名,Linux下矩阵键盘驱动分析与移植

    Post Views: 1,598 首先要介绍一下Linux中input子系统的模型,一图胜千言,所以直接上图. 上图一目了然,我们的键盘驱动就是工作在input子系统的最低层.单纯地从驱动角度讲,我 ...

  9. 嵌入式linux矩阵键盘,嵌入式linux matrix_keypad矩阵键盘驱动

    ARM:AM3517 linux2.6.37 TI官方开发板AM3517EVM 我想移植一个8*5的GPIO矩阵键盘,在linux源码/drivers/input/目录下有很多种键盘驱动程序,但是 能 ...

最新文章

  1. linux内核中等待队列
  2. mysql数据库设计中的14个技巧
  3. 【20181026T2】**图【最小瓶颈路+非旋Treap+启发式合并】
  4. python序列操作函数有哪些_Python笔记--序列操作函数
  5. PHPcms框架的Webshell
  6. 你单身,其实是个科学问题……
  7. vscode放大缩小快捷键_浏览器使用指南之常用快捷键有哪些?
  8. 灰度资产管理总规模升至429亿美元
  9. BMP文件格式详解(BMP file format) (转)
  10. 数据仓库与数据挖掘 4(上)
  11. 自定义httpSession
  12. 表头顺序不一样的表格如何合并_表头一样的几个excel表怎么合并在一起?
  13. 运算放大器参数的详细解释和分析-运放压摆率(SR)
  14. 计算机能力参考范文,信息技术能力论文,关于关于中学计算机教学的若干相关参考文献资料-免费论文范文...
  15. 如何将Mac的磁盘空间从0G清理出100G?
  16. stata基础使用教程(操作版)
  17. Excel教程:数值为0不显示的三种解决方法介绍
  18. 终极WordPress页面构建器:WPBakery
  19. 简单的EasyUI登录界面
  20. C#中WorkBook的操作

热门文章

  1. Visual Object Tracking using Adaptive Correlation Filters(MOSSE)
  2. 2022年湖北省节能减排政策汇总,申报条件以及奖励补贴讲解(附申报流程)
  3. Android源码编译 HTC One/M7中文触摸CWM6.0.3.7版Recovery,专为白卡机(S-OFF)量身打造,再也不用担心线刷不了Recovery了
  4. 排版中字号、磅值、毫米换算表
  5. swift能干什么,不能干什么及相关概念
  6. Java随机数-猜数字游戏
  7. powell法c/c++程序
  8. WEB漏洞-逻辑越权
  9. 百鸡百钱:实现一百块买一百只鸡,公鸡1只5块钱,母鸡1只3块钱,小鸡3只一块钱
  10. Forrester权威专家告诉你:欺诈与反欺诈5日谈