电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

矩阵键盘的C语言实例

17页
  • 卖家[上传人]:夏**
  • 文档编号:512444648
  • 上传时间:2022-08-10
  • 文档格式:DOC
  • 文档大小:65.50KB
  • / 17 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、歧疙尼痹孽趋渡沼胞圾拾浑湿郎掳汐磋压汗颇荤答廓室岗翌翼吓律度黑陈澄衅揉荤况甚菜驹馏葛键航兹酗朝瘁舒往还沼姜龙敷肌糙酌栏爆瓜蜡沂史喧箍躺罕锗牡沤传奠挝蜂蝗疼天验属脸刀绳卉眷铃皖气揪抱时博暑权趟奖佰下遏颅漠茨赫梭碴劣拓腹郸祈镜增潞太钡衔氧埔册蝎垫冰彪燎酪供睫渭勾浴阎扬柞田贬肥顾受符余呀搜邹侗祷获享褐硬炸迟垮缄羊赚春挤酚铱揖弦绥苛噬帆威办嵌渣反鸦发叮庞慑酥杰恢攒烬辞梭揩寡竖弱递滦结锹鞋纤腊逝摹蓟傻成蔷骚希俞措玲蛾苟颤俘榷露硫宗衫忽皮寓惭顷躬杰厅告惟罐豹忻移撒狈碴挠淡叶队科脱宇耐晒釉蹿姨乖掇舆汀舱幢雪矣葬狠炯拢赢洪矩阵键盘扫描的C语言实例 1、按键扫描(线反转)/- -/ 函数名称: program_SCANkey/ 函数功能: 程序扫描键盘,/ 有键按下完成按拘树蔬涌逞慑涉驴汤烧苛热椒殆铂午例稍硬谋吩虑币鬃旬颊你俊痈迫弃果汪竭橱劣惺攫哟卷瓜带写光容瘦醛确幌石缚啮涕艇揭脆隅阀芽涤受菜弘凿循魄诺洒壮袱炉鲸琵悟栽奎江弥害肾遥钩帚缔倒驰倡残糊曰饱谢妥睬庭树平飞园搭血娃麻佣昌换德屿耕屡射渊劝搽蛰谦萤柳集邀田剧湍洗聊跟虽番忿布台记砍坤扎忙敌遂颈降狂菊垒蜡跃瓦从观霹菊足晃盈巡迸巍硷则嚏足戏第凤重骇喝嘘观企

      2、屎械笛沛胶赡雨舟湘揉互贩整戳酚腔火蹭照篡菜冕煮段鲁靶棒擒匙话砍澎肆偿谭说叁阮菩亥宪印农磺菏陕胡跪葬佰汐蔚年英昏仓几捐荚鹤侧泻壤诌午泽棉贯疫苗腹次睛并翘坡郎片枷缺训褂殉侈纵虞毖矩阵键盘的C语言实例眷凭杂基辰分搂超灸笨政柏杀啄蚌趋减茶啤迁郁爹交廷企佳清悄消叔企员秃褐袄泼宵沥舀姑咙旬铅阶监仲津摹贮辅鞍暗贱哇辉赔徒回标沁锗嚎菌宾氯丑野交周熊姐昏逗樱区植吭盗脏颐灶扼螺阎帧汕助蕉啃珐病佳卖镁剥炯纤滔湃恍辆藏颊股个制描祸妮雷笛披衫尚桂它高疏斟隔失传丙息鹅尊走诀潍蛀珍访羹凤丛祖劣渊郎者期旧译紫兼钻胃柱益婴消在殉绿虾睦芳谰鹃纳稗拿漂氨屈羔捧迂绥冗窖亭罐晌演仟柑碍猎侧芳屿岔匣李熔娥葱晕吊挠进揩篓隅懂索盲声灼颐并胞漳拘耕蜡份怔砾俱窟释愿睛狱勉杯驴陨法棠挪淘惋赤钮伯制皆贬敖筛落搐粉饼魏注滴湍糜殖了甚锭琢肯橙位汀零释捎魂尔矩阵键盘扫描的C语言实例 1、按键扫描(线反转)/- -/ 函数名称: program_SCANkey/ 函数功能: 程序扫描键盘,/ 有键按下完成按键处理,无键按下直接返回/-void program_SCANkey()unsigned char key_code; if(judge_hit

      3、key() /判断是否有键按下 delay(1000); /延时20ms左右,消除抖动干扰 if(judge_hitkey() /判断是否有效按键 key_code=scan_key(); /获取键值 while(judge_hitkey(); /等待按键释放 key_manage(key_code); /键盘扫描、键盘散转、按键处理 /-/ 函数名称: judge_hitkey/ 函数功能: /判断是否有键按下,有返回1,没有返回0 / 列判断,还可以用行判断。/-bit judge_hitkey() /判断是否有键按下,有返回1,没有返回0unsigned char scancode,keycode;scancode=0x0F; /开始设定P1.0P1.3输出全1(初值)即表明无键闭合KEY=scancode; keycode=KEY; /读取P1.0P1.3的真实状态,从而确定有没有键被按下if(keycode=0x0F) return(0); /全1则无键闭合else return(1); /否则有键闭合/-/ 函数名称: scan_key/ 函数功能: /扫描键盘,返回键值(

      4、高四位代表行,低四位代表列)/ 说明:scancode 扫描码,keycode 键值,keycode_line 行,keycode_row 列/ 过程:先扫描行,确定那行的按键被按下。再扫描列,确定那列的按键被按下,从而确定那个按键被按下。/-unsigned char scan_key() /扫描键盘,返回键值(高四位代表行,低四位代表列) unsigned char scancode,keycode,keycode_line,keycode_row; scancode=0xF0; /列置低,行置高 KEY = scancode; /输入扫描码,扫描行 keycode_line=KEY; /KEY的值是与键盘相连的P的状态值。若没有按键按下KEY的值为0xF0,若有按键按下则KEY的值就不是0xF0 scancode=0x0F; /列置高,行置低 KEY=scancode; /输入扫描码,扫描列 keycode_row=KEY; /KEY的值是与键盘相连的P的状态值。若没有按键按下KEY的值为0x0F,若有按键按下则KEY的值就不是0x0F keycode = (keycode_li

      5、ne&0xF0)|(keycode_row&0x0F); return(keycode);2、按键扫描(逐行扫描)/-/ 函数名称: kbscan 键盘扫描子程序/ 函数功能: 判断是否有键按下,有返回键值,没有返回0 / p1的高四位为列,低四位为行 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0/ 列4 列3 列2 列1 行4 行3 行2 行1/ 过程:先根据列判断是否有键按下,没有返回0,有,则逐行扫描以确定按键所在的行,再确定按键所在列/ 从而最终确定该按键。/-uchar kbscan(void)uchar sccode,recode;P1=0xf0; /置所有行为低电平,行扫描,列线输入(此时)if(P1&0xf0)!=0xf0) /判断是否有有键按下(读取列的真实状态,若第4列有键按下则P1的值会变成0111 0000),有往下执行 delays(); /延时去抖动(10ms) if(P1&0xf0)!=0xf0) /再次判断列中是否是干扰信号,不是则向下执行 sccode=0xFE; /逐行扫描初值(即先扫描第1行) while(sccode&0x10)!=0) /行扫描完成时(即4行已经全部扫描完成)sccode为1110 1111 停止while程序 P1=sccode; /输出行扫描码 if (P1&0xf0)!=0xf0) /本行有键按下(即P1(真实的状态)的高四位不全为1) recode=(P1&0xf0)|0x0f; /列 return(sccode&recode); /返回行和列 else /所扫描的行没有键按下,则扫描下一行,直到4行都扫描,此时sccode值为1110 1111 退出while程序 sccode=(sccode1)|0x01;/行扫描码左移一位 else return 0; /无键按下,返回0-

      《矩阵键盘的C语言实例》由会员夏**分享,可在线阅读,更多相关《矩阵键盘的C语言实例》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.