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. 重载new、delete和强制类型转换运算符()
  2. 灯泡亮度控制单片机_如何延长投影机灯泡使用寿命 延长投影机灯泡使用寿命方法【介绍】...
  3. Jquery的.post说解(一)
  4. 拉曼软件在win8上运行出错问题
  5. Numpy中np.dot()与np.matmul()的区别(矩阵乘积、矩阵乘法、矩阵相乘)
  6. UpdatePanel里使用FileUpload
  7. android retrofit入门,Android开发 retrofit入门讲解
  8. SAP ERP和C4C Acount和Contact的双向同步
  9. 阿里宜搭重磅发布专有云版本、精品应用市场,助力政企数字化转型
  10. linux网络流量实时监控工具之iptraf 【个人比较喜欢用的流量监控软件】
  11. Centos memcached的php拓展 管理界面
  12. 战神级CTO直招产品技术小鲜肉,“悦家”团队带你玩转家装O2O
  13. 《转》SAP RM07扩展
  14. JDK8 有关集合部分常用的语法
  15. 实用软件工程(张海藩)课后答案
  16. 超市管理系统软件测试用例图,《天天超市管理系统》所有模块测试用例集.doc...
  17. wuli大excel
  18. 共享屏幕,录屏的方法
  19. 蜗牛—cocos2dx之初识
  20. linux 网络编程 51cto,Linux服务器开发,2小时搞定高并发网络编程

热门文章

  1. ThreadPoolExecutor源码走读
  2. 遥感影像云检测-传统方法-:Haze Optimized Transformation(HOT)方法
  3. Unity中如何判断两个向量的旋转角?
  4. 经典WEB项目之宠物商店(一)
  5. 二维数组实现n阶方阵
  6. AppStore商店App的相关信息的获取
  7. 计算机网络三大必备书,网络十大神书据说都看过的可以成仙
  8. 好乐买总裁李树斌:我的第一次失败(Songtaste创始人)
  9. 第一章 初识HTML
  10. JavaScript编程技术基础