4*4矩阵键盘c语言,经典4*4矩阵键盘C51程序
原标题:经典4*4矩阵键盘C51程序
/**************************
文件所用资源
1.:P2
2.调用delay_ms函数
**************************/
#
#include
#key_port P2 //键盘
sbit key_port_0=key_port^0;
sbit key_port_1=key_port^1;
sbit key_port_2=key_port^2;
sbit key_port_3=key_port^3;
/**************************
延时函数
***************************/
delay_ms(unsigned int ms)
{
unsigned int i,j;
for( i=0;i
for(j=0;j
}
/**************************
键盘扫描函数
**************************/
unsigned char keyscan(void)
{
unsigned char key,i;
unsigned char code key_table[16]=
{0xee,0xed,0xeb,0xe,0xde,0xdd,0xdb,0xd7,0xbe,0xbd,0xbb,0xb7,0x7e,0x7d,0x7b,0x77};
//扫描端口数据与键值的对应关系,可以根据使用来调节顺序
key_port=0x0f; //确定行列位置
if(key_port==0x0f)urn(0x10); //无键按下返回0
delay_ms(10); //调用延时函数 ,目的是去前沿键抖。
if(key_port==0x0f)return(0x10); //再次判断。目的是检测正确
e
{
for(i=0;i<4;i++) //以下为经典的计算键值(判断闭合键所在的位置)
{
key_port=_cror_(0x7f,i);
if(key_port_0==0)break;
if(key_port_1==0)break;
if(key_port_2==0)break;
if(key_port_3==0)break;
}
key=key_port; //取得键值
for(;key_port!=0x0f;key_port=0x0f); //等待键松开,目的是去后沿键抖
for(i=0;key_table[i]!=key && i<16;i++); //查表取key的值0-F
key=i;
return(key); //带键值返回主调函数
}
}
责任编辑:
4*4矩阵键盘c语言,经典4*4矩阵键盘C51程序相关推荐
- c语言编程 输入螺旋数组,C语言 经典题目螺旋矩阵 实例详解
C语言 经典题目螺旋矩阵 实例详解 C语言 经典题目螺旋矩阵 //N阶螺旋矩阵 #include #include int main() { int N,i,j,n,num=1; int a[10][ ...
- geo读取表达矩阵 RNA-seq R语言部分(表达矩阵合并及id转换)
geo读取表达矩阵 RNA-seq R语言 方法一:1.从geo页面直接下载表达矩阵,然后通过r读取表达矩阵 2.利用getgeo函数读取表达矩阵 3.利用geo自带的geo2r,调整p值为1,获取探 ...
- mpi大规模矩阵乘法C语言,MPI多进程并行计算矩阵乘法实现
MPI多进程并行计算矩阵乘法实现,对原始矩阵A.B进行初始化算为: 其主要思想:是把相乘的矩阵按行分解(任务分解),分别分给不同的进程,然后在汇总到一个进程上,在程序上实现则用到了主从模式,人为的把进 ...
- 4*4矩阵键盘c语言,单片机 4*4 矩阵键盘应用
在单片机按键使用过程中,当键盘中按键数量较多时 为了减少端口的占用通常将按键排列成矩阵 形式如下图所示,在矩阵式键盘中 每条水平线和垂直线在交叉处不直接连通而是通过一个按键加以连接,到底这样做是出意何 ...
- c语言经典的螺旋矩阵的几种
11.13 "今天也要好好学习,虽然水了一天,今天的高代数分也没怎么搞懂" 螺旋矩阵出现在我们学校2-3周前布置的编程题里,当时把自己转晕了. 现在来回顾一下,介绍一下主流的实现算 ...
- 二维数组c语言矩阵加法,C 语言实例 – 两个矩阵相加 - C 语言基础教程
C 语言实例 使用多维数组将两个矩阵相加. #include int main(){ int r, c, a[100][100], b[100][100], sum[100][100], i, j; ...
- 万能遥控程序c语言,单片机解码万能红外遥控器C51程序
使用方法:打开串口调试助手,设置为9600 bps 单片机这边用11.0592MHz的晶振,使用sm0038或者其他型号的红外接收头按下面的电路连接好,其中out直接与单片机的p3.2脚相连.按下遥控 ...
- 单片机 rs232 c语言,单片机与RS232串口通信C51程序
/*************************************************************************/ #i nclude "iom16v.h ...
- 矩阵键盘逐行扫描C语言,矩阵键盘C语言编程.pdf
矩阵键盘C语言编程.pdf 矩阵键盘 [例12] 根据原理图12 所示,编写程序实现以下功能:用7 段数码管显示矩阵非编码键 盘的键名.例如,按1 键则显示"1",按2 键则显示& ...
- c语言键盘控制数码管显示,3*4矩阵键盘控制4位数码管显示的C程序
这个很简单 ;******************************************************************************** ;* 标题: 伟纳电 ...
最新文章
- [k8s] 第八章 数据存储
- 使用Servlet实现用户注册
- mysql查询_MYSQL查询
- Android中用OpenGL ES Tracer分析绘制过程
- 1.1 STL 概述
- 基于 webdriver 的测试代码日常调试方python 篇
- 使用Cisco Packet Tracer进行网络模拟
- 计算机系统三员试题,2013年计算机软考程序员试题及答案3
- Cisco Packet Tracer 子网划分实验
- ps 条件动作添加 图层锁定和解锁
- 如何用好 Google 等搜索引擎
- 设备报废鉴定怎么做?
- INSERT IGNORE INTO 与 INSERT INTO
- -webkit-touch-callout禁止长按菜单
- 网络营销中的动态定价策略
- python和anaconda安装顺序_Anaconda详细安装步骤图文教程
- DxO PhotoLab 4.2Crack,使用独特的DxO本地调整工具
- DO-Conv 涨点模块
- 韩信点兵 中国剩余定理
- 尝到“线下”的甜,但随行付也吃到了模式的苦