/*P1口外接3*4矩阵键盘,P1^0不用,反转法读键值

本程序虽然稍多几行,但是没有循环,

还可以提前返回,所以执行的速度最快*/

#include

#include

#define uint unsigned int

#define uchar unsigned char

uchar code table[]={

~0x3F,~0x06,~0x5B,~0x4F,~0x66,

~0x6D,~0x7D,~0x07,~0x7F,~0x6F,

~0x77,~0x7C,~0x39,~0x5E,~0x79,~0x71};//共阳极LED代码与共阴极正好相反,所以阴极码取反

uchar num;

uchar keyscan();

/*void delay(uint z)

{

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}*/

void main()

{

P0=table[0];

while(1)

{

num=keyscan();

if(num!=16)

P0=table[num];

}

}

uchar keyscan()

{

uchar temh,teml,key;

P1=0xf0;//低四位先输出0

temh=P1;//读入temh,高四位含有按键信息

P1=0x0f;//反转输出0,即高四位输出0

teml=P1;//读入teml,低四位含有按键信息

//------------------

//两次读入的时间间隔,必须尽量小,以尽量避免按键状态发生变化

//要注重这些,有些程序甚至还有间隔几个毫秒的!

//按键会抖动,时间长,有可能读出别的

//------------------

switch(temh)

{

case 0xe0: key=0;break;

case 0xd0: key=1;break;

case 0xb0: key=2;break;

case 0x70: key=3;break;

default :return 16;//按下不是上述键,就当没有键

}

switch(teml)

{

//case 0x0e: return key; 如果P1^0不接,此句不执行,key值稍加改变

case 0x0d: return key;

case 0x0b: return key+4;

case 0x07: return key+8;

default :return 16;//按下不是上述键,就当没有键

}

}

4x6矩阵键盘反转法c语言,反转法矩阵键盘相关推荐

  1. 查询式键盘实验c语言,查询式键盘与阵列式键盘实验.doc

    查询式键盘与阵列式键盘实验 PAGE \* MERGEFORMAT 1 论 文 提 要 在大部分嵌入式系统中,人机交互界面是必不可少的一个重要部分,人机交互界面的设计往往占据很大一部分工作.人机交互界 ...

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

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

  3. c语言中如何转换矩阵,2020-07-06(C语言)矩阵转换

    //C语言矩阵转换 include int main() { int a[10][10], b[10][10], r, c, i, j; printf("输入行和列:"); sca ...

  4. c语言实现矩阵乘法 函数调用,C语言关于矩阵乘法的函数,,

    满意答案 chuan695032 2013.03.12 采纳率:40%    等级:12 已帮助:18780人 童鞋,不知道你是用的什么测试数据,在我的机器上测试了几组数据,结果都是正确的. 重复下我 ...

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

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

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

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

  7. 4x4矩阵键盘扫描c语言程序,单片机4*4矩阵键盘扫描程序(c语言+汇编语言2个版本)...

    ;4X4矩阵键盘程序.主要原理为扫描键盘矩阵时,每次只有一行电平拉低.在逐次扫描拉低的这些行的同时,去读那些列的电平. ;被拉低的行上,按下的键对应的列的电平为0 ,其它为1. 用左移位的指令,在进位 ...

  8. 7-226 sdut-C语言实验-矩阵输出(数组移位)7-227 sdut- C语言实验-计算1到n的和(循环结构)7-228 加法口诀表

    目录 7-226 sdut-C语言实验-矩阵输出(数组移位) 7-227 sdut- C语言实验-计算1到n的和(循环结构) 7-228 加法口诀表 7-226 sdut-C语言实验-矩阵输出(数组移 ...

  9. ACMNO.19 C语言-对角求和 求一个3×3矩阵对角线元素之和。 输入 矩阵 输出 主对角线 副对角线 元素和 样例输入 1 2 3 1 1 1 3 2 1 样例输出 3 7

    这个我做了改进,可以实现NXN的矩阵.求出对角线之和! 只需要修改定义的define z的值就好! 接下来,进入正题! 题目描述: 求一个3×3矩阵对角线元素之和. 输入 矩阵 输出 主对角线 副对角 ...

最新文章

  1. 信息互通联动防御 亚信安全翻开融合终端安全新篇章
  2. 高效搭建Storm全然分布式集群
  3. 开放大学MySQL形考_95至尊考试网-国家开放大学《数据库基础与应用》形考任务1...
  4. JAVA显式锁,各种锁分类
  5. Android窗口管理服务WindowManagerService切换Activity窗口(App Transition)的过程分析
  6. .Net 2.0 文档生成工具
  7. eclipse护眼颜色和字体大小设置
  8. android定义dialog
  9. java常用的网关有哪几种_拼多多java开发一面、二面合并面经
  10. PhoneGap开发环境搭建
  11. 【iOS开发】代理(delegate)
  12. 北理乐学c语言基础答案晕,北理乐学C语言答案最新.doc
  13. (面试总结)您不清楚的18个非技术面试题---今天教你巧妙回答
  14. 计算机实验导论,《计算机科学导论》实验
  15. 档案查询系统php,档案信息管理系统 v2.0
  16. 伯克利校长全员邮件:上课先用 Zoom,还不行就发电报!
  17. 大二Web课程设计——张家界旅游网站设计与实现(HTML+CSS+JavaScript)
  18. c#物联网_喜报:物联网学子获省职业院校技能大赛一等奖
  19. anaconda安装python3.6_Windows10配置Anaconda+Python3.6+TensorFlow+PyCharm
  20. 定义一个复数类Complex,使得代码能够进行下面的工作:

热门文章

  1. 【数据结构】数组的物理地址寻址
  2. 联想拯救者 Y7000P 2020和Y7000 2020的区别 哪个好
  3. 中专学渣上岸内蒙古大学计算机专硕考研经验分享
  4. hivesql练习lag函数和lead函数
  5. GoAccess安装
  6. [答疑]接收报销数据(费用系统)用例规约
  7. 重温经典排序算法之冒泡排序——图解+C/C++实现
  8. Java性能优化:架构设计-分布式架构设计
  9. 2022深圳杯A破除“尖叫效应”与“回声室效应”,走出“信息茧房”
  10. 论述计算机在现代社会中的地位与作用,媒介在现代社会有什么地位和意义