关注分享主机优惠活动
国内外VPS云服务器

一位身家过亿的女CEO问一位年轻的程序员:“你知道怎么按按钮吗?”

总结:行列共使用一个端口,可以扫描某个按键的开关状态。 这就是矩阵键盘的优点。 端口之间必须串联电阻。

文章目录 小程序员正在为 CEO 做什么。 好吧,为了知识,你敢说你不会按按钮吗?==** 皇城百万富翁、豪门总裁文章链接【资产过亿的皇城百万富翁】是个年轻的程序员](https://blog.csdn.net/diandengren/article/details/120679417?spm=1001.2014.3001.5502)**==独立按钮和矩阵按钮独立按钮图案示意图图简单按钮功能(智能车可以靠)==[展示流程](https://www.bilibili.com/video/BV1qQ4y167Xs/)==功能==[半成品演示]( https://www .bilibili.com/video/bv1NL4y167vx)====[乞丐版本显示](https://www.bilibili.com/video/BV13h411J7sZ?spm_id_from=333.999.0.0)==按住有一些功能需要添加,但代码基本相似,所以不是。 我需要再写一次。 每一个都是同一个作品的重复 矩阵键盘示意图 矩阵键盘解析==** 皇城百万富翁富家老总链接文章【皇城过亿资产的百万富翁对年轻人说话 上一篇 一个程序员流程已经学好了](https://blog.csdn.net/diandengren/article/details/120679417?spm= 1001.2014.3001.5502)**==

小程序员敢按按钮为了总统,呃,为了知识。不? 帝都富豪和豪门总裁联名文章。 帝都的一位身家超过一亿日元的富翁告诉年轻的程序员,他学到了很多关于预处理的知识。 独立按键和矩阵按键。 独立按键模式

按下按钮后经常会出现抖动问题。 按钮本身的弹性使得按下和释放按钮时的冲击力不稳定。 这个过程需要一些时间,并且在此过程中微控制器无法读取IO状态。 软件或硬件延迟

示意图

按钮的简单功能(对于智能车,可以靠按钮)

显示处理

之所以没有做成GIF,是因为我放入typora后没有砍掉1M的限制,所以没有显示出来,所以就提交给站了B、以后B站就是我的视频库了。

功能

只需按一次上面的按钮即可。 没有什么吸引力或亮点,所以我从头开始

半成品演示

长按标志显示

p>乞丐显示版本

显示乞丐版本

//按键扫描 void Key_Scan_Drive(){static bit flag = 0; //长/短按标志 static bit key_down = 0;//按下标记。 由于也是用于双击,需要扩大标记范围 static u8 count1 = 0;//计数器1,u8就足够了,因为在100以内 static u16 count2 = 0;//计数器2 如果是大于255, u16if( key_down) //检测是否有按键按下 {count2++;if(count2>250){count2 = 0;flag = 1;//长按程序 LCD12864_Write_Cmd(0x8c);LCD12864_Write_Data(0x30 ) ;LCD12864_Write_Data (0x30+LCD12864_Num_Buffer[1]);}if(KEY1){key_down = 0;//释放并清除标志 count2 = 0;if(flag){flag = 0;}else{//短按程序 LCD12864_Write_Cmd(0x8c);LCD12864_Write_Data(0x30);LCD12864_Write_Data(0x30+LCD12864_Num_Buffer[3]) ; }}}else{if(!KEY1){count1++;if(count1>20){count1 = 0;if(!KEY1){key_down = 1;}}}}} 您也可以按住进行添加。 ,不过代码基本类似,不用再写一遍。 所有这些都是重复的类似任务。 工作的高潮即将来临。 矩阵键盘

P6^0 P6^1 P6^2 P6^3 4行是行扫描,P6^4 P6^5 P6^6 P6^7 4行是列扫描。 4行4列共8个IO口,可用于扫描16个按键的开关状态。 这就是矩阵键盘的优点。 (IO口之间必须串接电阻)。

原理图

分析

#include "all.h"u8 code KEY4x4_Buffer[4] = {0xef,0xdf,0xbf,0x7f};//列输入/列控制数组 u8 xdata KEY4x4_Read_Byte = 0; //读取/检测到的字节数 void KEY4x4_Drive_Init(){P6M1 = 0;P6M0 = 0; }void KEY4x4_Scan_Drive(){static xdata u16 count = 0;u8 i = 0; //循环扫描变量u8 Value = 0;//检测行变量count++;if(count>10)//计数以减少循环次数并消除抖动 {count = 0;for(i = 0) ;i= 1;/ /右移一位}}P6 = 0xff;//耗尽时将P6端口脉冲为高电平以供将来使用去找他}} 皇城富豪老总的矩阵键盘合作文章。 一位身价过亿的皇城富翁告诉年轻的程序员,他预处理学得很好。

未经允许不得转载:主机频道 » 一位身家过亿的女CEO问一位年轻的程序员:“你知道怎么按按钮吗?”

评论 抢沙发

评论前必须登录!