Protues中的KEYPAD-PHONE如图

 需要注意的是,与矩阵键盘不同,矩阵键盘采用扫描的方式,如图的数字键盘是一个键对应一个输入端口。

 驱动12键KEYPAD-PHONE的代码如下

#define KEY_PORT P1void Delay(unsigned int n)
{unsigned int i=0, j=0;for(i=0;i<n;i++){for(j=0;j<120;j++);}
}unsigned char key_phone_scan(void)
{unsigned char key_value=0;char a=0;KEY_PORT=0xFB;//给第一列赋值0,其余全为1if(KEY_PORT!=0xFB)//判断第一列按键是否按下{Delay(10);//消抖switch(KEY_PORT)//保存第一列按键按下后的键值   {case 0x7B: key_value=1;break;case 0xBB: key_value=4;break;case 0xDB: key_value=7;break;case 0xEB: key_value=10;break;}}while((a<50)&&(KEY_PORT!=0xFB))  //按键松手检测{Delay(1);a++;}KEY_PORT=0xFD;//给第二列赋值0,其余全为1if(KEY_PORT!=0xFD)//判断第二列按键是否按下{Delay(10);//消抖switch(KEY_PORT)//保存第二列按键按下后的键值   {case 0x7D: key_value=2;break;case 0xBD: key_value=5;break;case 0xDD: key_value=8;break;case 0xED: key_value=11;break;}}while((a<50)&&(KEY_PORT!=0xFD))  //按键松手检测{Delay(1);a++;}KEY_PORT=0xFE;//给第三列赋值0,其余全为1if(KEY_PORT!=0xFE)//判断第三列按键是否按下{Delay(10);//消抖switch(KEY_PORT)//保存第三列按键按下后的键值   {case 0x7E: key_value=3;break;case 0xBE: key_value=6;break;case 0xDE: key_value=9;break;case 0xEE: key_value=12;break;}}while((a<50)&&(KEY_PORT!=0xFE))  //按键松手检测{Delay(1);a++;}return key_value;
}

数字按键KEYPAD-PHONE的使用 附代码相关推荐

  1. Get了!用Python制作数据预测集成工具 | 附代码

    作者 | 李秋键 责编 | 晋兆雨 大数据预测是大数据最核心的应用,是它将传统意义的预测拓展到"现测".大数据预测的优势体现在,它把一个非常困难的预测问题,转化为一个相对简单的描述 ...

  2. java中自造类是什么意思_Java建造者模式是什么?如何实现?(附代码)

    本篇文章给大家带来的内容是关于Java建造者模式是什么?如何实现?(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 建造者模式 一.什么是建筑者模式? 建造者模式(Build ...

  3. 一文弄懂元学习 (Meta Learing)(附代码实战)《繁凡的深度学习笔记》第 15 章 元学习详解 (上)万字中文综述

    <繁凡的深度学习笔记>第 15 章 元学习详解 (上)万字中文综述(DL笔记整理系列) 3043331995@qq.com https://fanfansann.blog.csdn.net ...

  4. html5自定义属性作用,html5自定义属性:如何获取自定义属性值(附代码)

    这篇文章给大家介绍的内容是关于html5自定义属性:如何获取自定义属性值(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 自定义属性: 在HTML5中我们可以自定义属性,其格 ...

  5. 手把手教你用Keras进行多标签分类(附代码)_数据派THU-CSDN博客 (翻译:程思衍校对:付宇帅)

    手把手教你用Keras进行多标签分类(附代码)_数据派THU-CSDN博客 手把手教你用Keras进行多标签分类(附代码)_数据派THU-CSDN博客

  6. 独家 | 手把手教TensorFlow(附代码)

    上一期我们发布了"一文读懂TensorFlow(附代码.学习资料)",带领大家对TensorFlow进行了全面了解,并分享了入门所需的网站.图书.视频等资料,本期文章就来带你一步步 ...

  7. MobileViT: 一种更小,更快,高精度的轻量级Transformer端侧网络架构(附代码实现)...

    点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要5分钟 Follow小博主,每天更新前沿干货 [导读]之前详细介绍了轻量级网络架构的开源项目,详情请看深度学习中的轻量级网络架构总结与代码实现 ...

  8. 【卷积神经网络结构专题】一文详解AlexNet(附代码实现)

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! [导读]本文是卷积神经网络结构系列专题第二篇文章,前面我们已经介绍了第一个真正意义 ...

  9. 数据表格搜索php代码_手把手教学:提取PDF各种表格文本数据(附代码)

    标星★公众号     爱你们♥ 量化投资与机器学习编辑部报道 近期原创文章: ♥ 5种机器学习算法在预测股价的应用(代码+数据) ♥ Two Sigma用新闻来预测股价走势,带你吊打Kaggle ♥  ...

  10. 彻底理解cookie,session,localStorage(附代码)

    2019独角兽企业重金招聘Python工程师标准>>> 1. cookie 1.1 什么是cookie cookie 是存储于访问者的计算机中的变量.每当同一台计算机通过浏览器请求某 ...

最新文章

  1. golang web 框架 gin beego iris 对比
  2. 2019 css 框架_宣布CSS 2019调查状态
  3. 如何将 MySQL 去重操作优化到极致?| CSDN 博文精选
  4. bzoj 1878: [SDOI2009]HH的项链 ——树状数组+ 差分
  5. 29muduo_net库源码分析(五)
  6. python读取txt文件存储数组_python – 从文本文件中将数据读入numpy数组
  7. 【java学习之路】(javaWeb篇)006.构造函数、JQuery函数库
  8. 【编辑器】用CodeRunner打造VScode的C++开发环境
  9. 高阶函数 / abs方法
  10. 深度学习图像分类(四): GoogLeNet(V1,V2,V3,V4)
  11. 在SQLServer软件导入文件与数据查询
  12. 计算机如何恢复记事本,如何使用电脑桌面便签恢复误删除了的记事本数据内容?...
  13. android instrumentation 用法,android测试之——Instrumentation(一)
  14. 【毕设论文——必修篇】论文撰写-宝藏工具网址
  15. 华为手机pc模式机型_哪些手机型号外接便携显示器能实现PC电脑模式
  16. c语言 猜字游戏,【c语言】       小游戏――猜字游戏
  17. android 之手机客户端登陆
  18. 指数、对数以及根式的运算【初级中阶辅导】
  19. systemctl enable与systemctl start的区别
  20. 云储存-阿里云对象存储

热门文章

  1. 初识C语言:小白学习C语言的第一周记录
  2. 【万字好文】一文看懂持续部署按需发布!DevOps部署和发布方法大全
  3. 如何科学检测新型冠状病毒?
  4. 【无人机学习】Mission Planner(pc端)和QGroundControl(android端)
  5. python画哪吒_哪吒票房逼近30亿,python爬取哪吒短评分析
  6. shell判断文件目录或文件是否存在
  7. 【vivado UG学习】Synthesis策略学习
  8. GPS定位与IP地址定位有何不同?
  9. 也来分析BloomFilter
  10. 基于360SafeDemo对duilib整体框架的概述