矩形键盘c语言程序,矩阵键盘C语言程序+电路图(51单片机)
下面是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单片机)相关推荐
- 【Proteus仿真】Arduino UNO +74C922键盘解码驱动4X4矩阵键盘
[Proteus仿真]Arduino UNO +74C922键盘解码驱动4X4矩阵键盘 Proteus仿真 本例因为使用了74C922解码芯片,使得程序代码非常简单,在按下不同按键时,数码管将显示对应 ...
- 矩阵键盘数 码管显示多位数 c语言,4×4矩阵键盘数码管显示按键值程序
4×4矩阵键盘数码管显示按键值程序本文引用地址:http://www.eepw.com.cn/article/201607/294422.htm //电路说明如下. //单片机:使用51系列兼容的即可 ...
- 电子琴仿真c语言程序,矩阵键盘模拟电子琴C语言程序设计
原标题:矩阵键盘模拟电子琴C语言程序设计 //24c08地址为0xa0 #include #define uchar unsigned char unsigned char code table[]= ...
- 4x3矩阵键盘扫描法c语言,4X4矩阵键盘扫描程序
4X4矩阵键盘扫描程序 4X4矩阵键盘扫描: 1. 4根行线的GIO均设为Output,根列线的GIO均设为Input: 2. 4根行线的GIO分别置为0111.1011.1101.1110,读逐一读 ...
- LINUX矩阵键盘简单介绍,stm32矩阵键盘原理图及程序介绍
描述 STM32F0 系列产品基于超低功耗的 ARM Cortex-M0 处理器内核,整合增强的技术和功能,瞄准超低成本预算的应用.该系列微控制器缩短了采用 8 位和 16 位微控制器的设备与采用 3 ...
- 4x6矩阵键盘反转法c语言,反转法矩阵键盘
/*P1口外接3*4矩阵键盘,P1^0不用,反转法读键值 本程序虽然稍多几行,但是没有循环, 还可以提前返回,所以执行的速度最快*/ #include #include #define uint un ...
- proteus矩阵按键计算机,基于proteus的51单片机仿真实例八十二、4X4矩阵键盘应用实例...
1.矩阵键盘的工作原理: 1)接口电路:在单片机系统中,当按键数量较多时,为了减少IO口的使用,通常将按键排列成矩阵型式,例如本例中的16个按键,被排列成了如下图所示的4X4矩阵方式.即由4根行线和4 ...
- linux下矩阵键盘设备名,Linux下矩阵键盘驱动分析与移植
Post Views: 1,598 首先要介绍一下Linux中input子系统的模型,一图胜千言,所以直接上图. 上图一目了然,我们的键盘驱动就是工作在input子系统的最低层.单纯地从驱动角度讲,我 ...
- 嵌入式linux矩阵键盘,嵌入式linux matrix_keypad矩阵键盘驱动
ARM:AM3517 linux2.6.37 TI官方开发板AM3517EVM 我想移植一个8*5的GPIO矩阵键盘,在linux源码/drivers/input/目录下有很多种键盘驱动程序,但是 能 ...
最新文章
- linux内核中等待队列
- mysql数据库设计中的14个技巧
- 【20181026T2】**图【最小瓶颈路+非旋Treap+启发式合并】
- python序列操作函数有哪些_Python笔记--序列操作函数
- PHPcms框架的Webshell
- 你单身,其实是个科学问题……
- vscode放大缩小快捷键_浏览器使用指南之常用快捷键有哪些?
- 灰度资产管理总规模升至429亿美元
- BMP文件格式详解(BMP file format) (转)
- 数据仓库与数据挖掘 4(上)
- 自定义httpSession
- 表头顺序不一样的表格如何合并_表头一样的几个excel表怎么合并在一起?
- 运算放大器参数的详细解释和分析-运放压摆率(SR)
- 计算机能力参考范文,信息技术能力论文,关于关于中学计算机教学的若干相关参考文献资料-免费论文范文...
- 如何将Mac的磁盘空间从0G清理出100G?
- stata基础使用教程(操作版)
- Excel教程:数值为0不显示的三种解决方法介绍
- 终极WordPress页面构建器:WPBakery
- 简单的EasyUI登录界面
- C#中WorkBook的操作
热门文章
- Visual Object Tracking using Adaptive Correlation Filters(MOSSE)
- 2022年湖北省节能减排政策汇总,申报条件以及奖励补贴讲解(附申报流程)
- Android源码编译 HTC One/M7中文触摸CWM6.0.3.7版Recovery,专为白卡机(S-OFF)量身打造,再也不用担心线刷不了Recovery了
- 排版中字号、磅值、毫米换算表
- swift能干什么,不能干什么及相关概念
- Java随机数-猜数字游戏
- powell法c/c++程序
- WEB漏洞-逻辑越权
- 百鸡百钱:实现一百块买一百只鸡,公鸡1只5块钱,母鸡1只3块钱,小鸡3只一块钱
- Forrester权威专家告诉你:欺诈与反欺诈5日谈