我是STC小小白
发表于 2024-10-18 21:45:18
最近没来了
王云可
发表于 2024-10-19 16:46:26
神农鼎 发表于 2024-10-18 19:46
学习打卡,请发在 学习打卡的专门版块
学习打卡区 | 感悟 国芯技术交流网站 - AI32位8051交流社区 (stcaim ...
视频看完了,能发货吗?
神农鼎
发表于 2024-10-19 16:47:30
学习打卡,请发在 学习打卡的专门版块
https://www.stcaimcu.com/data/attachment/forum/202410/18/194552c2h533f2u277yzuu.jpg
学习打卡区 | 感悟 国芯技术交流网站 - AI32位8051交流社区 (stcaimcu.com)
zjiot
发表于 2024-10-20 08:02:31
跟着大佬学习
zjiot
发表于 2024-10-20 08:02:42
{:lol:}
ysp5318
发表于 2024-10-20 16:49:27
本帖最后由 ysp5318 于 2024-10-20 16:54 编辑
在按键数量较多时,为了减少I/O口的占用,将按键排列成矩阵排列的形式的按键阵列称为矩阵按键。今天开始学习第14集《矩阵按键》
按键识别原理:端口默认为高电平,实时读取到引脚为低电平是表示按下。以P0口为例
第一步:现将P0.0-P0.3输出低电平,P0.6-P0.7输出高电平,如果有按键按下,按下的那一列的IO就会变成低电平,就可以判断出哪一列按下了。
第二步:现将P0.0-P0.3输出高电平,P0.6-P0.7输出低电平,如果有按键按下,按下的那一行的IO就会变成低电平,就可以判断出哪一行按下了。
第三步:行列组合一下就可以判断出是哪个按键按下了。
有个问题要问一下,如果改为P1口,4列用P1.0、P1.1、P1.3、P1.4其中跳过P1.2可以吗?因为STC32G12K128系列没有P1.2。
如果可以代码怎么改。{:4_196:}
下面是原代码
//第一步:现将P0.0-P0.3输出低电平,P0.6-P0.7输出高电平,如果有按键按下,按下的那一列的IO就会变成低电平
,就可以判断出哪一列按下了。
MateixKEY = 0XC0; //1100 0000
MateixKEY_delay();
keystate = (MateixKEY ^ 0XC0); //0100 0000 ^ 1100 0000 =1000 0000
//第二步:现将P0.0-P0.3输出高电平,P0.6-P0.7输出低电平,如果有按键按下,按下的那一行的IO就会变成低电平
,就可以判断出哪一行按下了。
MateixKEY = 0X0f; //0000 1111
MateixKEY_delay();
keystate |= (MateixKEY ^ 0X0f); //0000 1110 ^ 0000 1111 =0000 0001 | 1000 0000 = 0x81
我是STC小小白
发表于 2024-10-21 20:11:20
h好几天没来了
lsj520
发表于 2024-10-22 09:10:27
打卡视频教学第五集,运算符还是挺好理解的,进制换算讲得繁琐了一点
我是STC小小白
发表于 2024-10-22 21:38:45
继续努力
千幽雨翼
发表于 2024-10-22 22:48:02
第十节课学习:这节课学习数码管动态显示。首先学习了数码管的动态控制原理,基本了解了每一部分的操作原理,先基本梳理完成数码管动态显示所需的流程,然后细致了解了动态显示所需的代码构成。感谢制作。