当前位置: 首页 > news >正文

上海专业网站建站公广州建外贸网站公司简介

上海专业网站建站公,广州建外贸网站公司简介,门户系统大全,挺好的网页链接6.1矩阵键盘 矩阵键盘#xff1a; 在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式 采用逐行或逐列的“扫描”,就可以读出任何位置按键的状态 1.数码管扫描(输出扫描) 原理:显示第1位→显示第2位→显示第3位→ …… ,然后快速循环这个过程,最终实现所…6.1矩阵键盘 矩阵键盘 · 在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式 · 采用逐行或逐列的“扫描”,就可以读出任何位置按键的状态 1.数码管扫描(输出扫描) 原理:显示第1位→显示第2位→显示第3位→ …… ,然后快速循环这个过程,最终实现所有数码管同时显示的效果 2.矩阵键盘扫描(输入扫描) 原理:读取第1行(列)→读取第2行(列)→读取第3行(列)→ …… ,然后快速循环这个过程,最终实现所有按键同时检测的效果 · 以上两种扫描方式的共性:节省I/O口 main.c #include REGX52.H #include Delay.h //包含Delay头文件 #include LCD1602.h //包含LCD1602头文件 #include MatrixKey.h //包含矩阵键盘头文件unsigned char KeyNum;void main() {LCD_Init(); //LCD初始化LCD_ShowString(1,1,MatrixKey:); //LCD显示字符串while(1){KeyNumMatrixKey(); //获取矩阵键盘键码if(KeyNum) //如果有按键按下{LCD_ShowNum(2,1,KeyNum,2); //LCD显示键码}} }MatrixKey.c #include REGX52.H #include Delay.h/*** brief 矩阵键盘读取按键键码* param 无* retval KeyNumber 按下按键的键码值如果按键按下不放程序会停留在此函数松手的一瞬间返回按键键码没有按键按下时返回0*/ unsigned char MatrixKey() {unsigned char KeyNumber0;P10xFF;P1_30;if(P1_70){Delay(20);while(P1_70);Delay(20);KeyNumber1;}if(P1_60){Delay(20);while(P1_60);Delay(20);KeyNumber5;}if(P1_50){Delay(20);while(P1_50);Delay(20);KeyNumber9;}if(P1_40){Delay(20);while(P1_40);Delay(20);KeyNumber13;}P10xFF;P1_20;if(P1_70){Delay(20);while(P1_70);Delay(20);KeyNumber2;}if(P1_60){Delay(20);while(P1_60);Delay(20);KeyNumber6;}if(P1_50){Delay(20);while(P1_50);Delay(20);KeyNumber10;}if(P1_40){Delay(20);while(P1_40);Delay(20);KeyNumber14;}P10xFF;P1_10;if(P1_70){Delay(20);while(P1_70);Delay(20);KeyNumber3;}if(P1_60){Delay(20);while(P1_60);Delay(20);KeyNumber7;}if(P1_50){Delay(20);while(P1_50);Delay(20);KeyNumber11;}if(P1_40){Delay(20);while(P1_40);Delay(20);KeyNumber15;}P10xFF;P1_00;if(P1_70){Delay(20);while(P1_70);Delay(20);KeyNumber4;}if(P1_60){Delay(20);while(P1_60);Delay(20);KeyNumber8;}if(P1_50){Delay(20);while(P1_50);Delay(20);KeyNumber12;}if(P1_40){Delay(20);while(P1_40);Delay(20);KeyNumber16;}return KeyNumber; }例if(P1_70){Delay(20);while(P1_70);Delay(20);KeyNumber1;} 1.在扫描第一列时,如果P1_7 0,那么此时是判断开关1的状态 2.由于是机械按键,加入延时函数消除抖动,然后判断是否松手;如果松手,继续消除抖动 3.返回值KeyNumber MatrixKey.h #ifndef __MATRIXKEY_H__ #define __MATRIXKEY_H__unsigned char MatrixKey();#endif6.2矩阵键盘密码锁 1.定义按键功能:S1-S9定义为数字的1-9,S10定义为0,S11为确认键,S12为取消键,S13-S16按键不用 2.判断KeyNum 10,然后实现密码左移,同时要加入一个计次变量,按下确认或者取消按键后密码计次清零 #include REGX52.H #include Delay.h #include LCD1602.h #include MatrixKey.hunsigned char KeyNum; unsigned int Password,Count;void main() {LCD_Init();LCD_ShowString(1,1,Password:);while(1){KeyNumMatrixKey();if(KeyNum){if(KeyNum10) //如果S1~S10按键按下输入密码{if(Count4) //如果输入次数小于4{Password*10; //密码左移一位PasswordKeyNum%10; //获取一位密码Count; //计次加一}LCD_ShowNum(2,1,Password,4); //更新显示}if(KeyNum11) //如果S11按键按下确认{if(Password2345) //如果密码等于正确密码{LCD_ShowString(1,14,OK ); //显示OKPassword0; //密码清零Count0; //计次清零LCD_ShowNum(2,1,Password,4); //更新显示}else //否则{LCD_ShowString(1,14,ERR); //显示ERRPassword0; //密码清零Count0; //计次清零LCD_ShowNum(2,1,Password,4); //更新显示}}if(KeyNum12) //如果S12按键按下取消{Password0; //密码清零Count0; //计次清零LCD_ShowNum(2,1,Password,4); //更新显示}}} }
http://www.hkea.cn/news/14487165/

相关文章:

  • 网站开发环境安装程序河北涿州建设局网站
  • 深圳市住房与建设局实名制网站广州有名的网站建设公司
  • 网站做SEO优化多少钱wordpress登录用添加验证码
  • 电商网站seo公司国家建设官方网站
  • 购物网站有哪些模块秦皇岛网站seo
  • 海南网站建设报价方案搞个平台要花多少钱
  • 在家做网站设计专业的网站搭建多少钱
  • 寻找五屏网站建设斯特云流量网站
  • 商务网站模块设计时前台基础设施建设不包括怎么在网上开店
  • 网站开发需求分析实例绿色大气网站模板
  • 昆明网站建设公司哪家口碑好移动互联网开发的关注点
  • 福州有名的公司网站设计网销怎么找客户资源
  • 网站标题的设置方法网站页面设计价格
  • 专门做诺丽果的网站温州做网站哪家公司最好
  • 北京网站开发周期企业网站建设的主要步骤
  • 建设申请网站做网站合同模板
  • 为什么做网站推广没有网站可以做京东联盟吗
  • 廊坊高端网站建设wordpress分类模板制作
  • 给网站建设提意见怎么制作网页里面的内容
  • com网站域名注册保险公司网站建设方案
  • 网站建设中页面下载支付宝网页版登录入口
  • 企业网站申请永久oa办公系统开发
  • 成都网站建设哪家好精湛的赣州网站建设
  • 网页制作网站教程怎么把做网站发给别人
  • 如何快速写一个网站网站建设捌金手指花总三
  • 济南网站建设(力选聚搜网络)长沙市app下载
  • 自适应网站主要用什么做沈阳建设学院
  • 南京网站网站建设oneinstack. WordPress
  • 设计网站案例中国经济网官网
  • 网站优化排名易下拉排名平面设计入门