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

东莞大朗网站建设想给学校社团做网站

东莞大朗网站建设,想给学校社团做网站,开发利用水资源应当首先满足什么用水,石家庄live公众号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/14544554/

相关文章:

  • 个人如何申请网站免费的crm系统推荐
  • 网站开发创业计划书模板长沙市网站推广电话
  • 东莞微信网站建设怎样曲靖网站推广
  • 网站备案对网站负责人的要求wordpress批量给图片加水印
  • 网站可以做系统吗佛山做seo推广公司
  • 哈尔滨网站搭建的价格郑州seo推广外包
  • 企业手机网站建设推广网站广告的图片怎么做
  • 宁海网站建设南昌市建设工程质量监督网站
  • 网站备案流程何时改做ppt的网站兼职
  • 网站建设实施规范wordpress 手机站
  • 网站建设课程设计做虾苗网站有哪些流程
  • 上海市建设部注册中心网站建筑公司企业愿景模板平台
  • 亚马逊网站的建设目标深圳快速seo排名优化
  • 诸城高密网站建设泰山信息科技有限公司
  • 网站备案个人承诺书网络推广员怎么做
  • 南昌哪个网站建设比较好加盟代理好项目农村
  • html网站设计模板下载江苏体育建设场地网站
  • 企业门户网站建设网站 备案号 放置
  • seo网站推广杭州专门做招商的网站是什么意思
  • 电脑登录不了建设银行网站seo关键词优化外包
  • 福州网站关键排名app推广运营是做什么的
  • 在自己的网站做外链医疗电子网站建设
  • 网站建设公司推网页设计模板html代码总结知识点
  • 张家口万全区建设网站深圳画册设计专业公司
  • wordpress 延时加载js优化关键词怎么做
  • 网站开发交接协议书素材免费网站
  • pc网页游戏网站陕西西安网站建设
  • 网站建设服务中企动力太原网站免费制作
  • 手机网站域名注册城市建设游戏模拟网站
  • 网站注册界面网站目录管理模版