JimOrange
发表于 2024-2-11 09:21:39
daw85 发表于 2024-2-11 08:29
这种发贴方式怎么这么象在灌水
我自己学习笔记何来灌水,一集一集看,很多知识点都了解,就简单写一下。你要干嘛?
JimOrange
发表于 2024-2-11 09:46:59
本帖最后由 JimOrange 于 2024-2-11 16:41 编辑
第十三集中:继续修改之前代码,比如如何重命名多个想到名称的变量。寻址变量 bdata. bdata是STC单片机特有的存储类型,与其他的存储类型如code、data、idata、xdata和pdata不同。每种存储类型都有其特定的存储区域和用途。例如,data用于存储00H~7FH的RAM中的变量,idata用于存储00H~FFH的RAM中的变量,等等。定义不同状态按钮编码。
JimOrange
发表于 2024-2-11 16:41:36
本帖最后由 JimOrange 于 2024-2-11 17:16 编辑
第十三集下:假设定义一组相连引脚的按钮,如何判断各按钮的按下时长,可以通过不断循环检测,通过(0x01 << i) '&' 位取与运算检测对应的引脚位是否被按下,然后把对应的数值加一。多用位运算来处理引脚逻辑,会有惊喜!
JimOrange
发表于 2024-2-11 17:28:42
本帖最后由 JimOrange 于 2024-2-11 17:34 编辑
第十三集终:看完呢前面三集,觉得在头文件中,将引脚分区注释标出来也是挺好的主意。最后部分讲解蜂鸣器函数,相对比较简单,我也就不一一列出来了。
daw85
发表于 2024-2-11 18:12:58
变相的灌水,你不是唯一一个
JimOrange
发表于 2024-2-11 22:18:41
daw85 发表于 2024-2-11 18:12
变相的灌水,你不是唯一一个
敢问你有什么好建议,打卡学习,本来就是个人的事情,与你何干? 你的回复对我的学习有何积极作用? 少一点无用的评论行不行,多发点有对别人有积极意义的回复,或者有干货的主题,少在这发牢骚,没必要的少年。我的时间很宝贵的,我还有很多事情要忙。{:4_167:}
JimOrange
发表于 2024-2-11 22:37:20
第十四集:矩阵按钮。 第一次听说这个概念,顺便说明一下,如果比较陌生的知识点,我会以自己的理解,尽量详细写一下,相反,非常熟悉的,我只会简单描述。希望闲杂人等不要打扰我个人的学习,如果都是成年人,真没必要,小屁孩当我没说过。唠叨了这么多。
############
STC矩阵按钮是一种按键布局方式,通常用于电子设备的输入界面。矩阵按钮由多个按键按照矩阵形式排列组成,每个按键占据一个独立的位置,通过行和列的交叉组合实现多个按键的输入。
在STC单片机中,实现矩阵按钮通常需要编写相应的代码来检测按键的状态。矩阵按钮的检测原理通常有两种方式:逐行扫描和行列扫描。逐行扫描是通过依次将高四位轮流输出低电平来对矩阵按钮进行逐行扫描,当低四位接收到数据不全为1时,说明有按键按下,然后通过接收到的数据是哪一位为0来进行判断是哪一个按键按下。行列扫描则是通过高四位全部输出低电平,低四位输出高电平,然后检测接收到的数据来判断是哪一列有按键按下,接着反过来,高四位输出高电平,低四位输出低电平,根据接收到的高四位的值进行判断是哪一行有按键按下,从而确定是哪个按键被按下。
在编写代码时,可以通过定义变量来存储按键的状态,使用中断服务程序来检测按键的按下和释放事件,并根据按键的状态执行相应的操作。同时,还需要注意去抖动处理,以避免按键抖动对按键检测的影响。
需要注意的是,STC单片机的具体型号和开发环境可能会有所不同,因此在实现矩阵按钮时,需要参考相应的技术手册和开发文档,了解单片机的特性和编程方法,并根据具体的需求进行编程实现。
垂柳工作室
发表于 2024-2-12 10:53:14
学习第几集了?发点心得参考参考
JimOrange
发表于 2024-2-13 22:00:19
垂柳工作室 发表于 2024-2-12 10:53
学习第几集了?发点心得参考参考
好了,我水平比较低,莫见笑了{:4_183:}
JimOrange
发表于 2024-2-13 22:14:54
本帖最后由 JimOrange 于 2024-2-16 00:14 编辑
第十五集:外部中断。外部中断和之前用定时器中断放在一起记忆,注意他两区别与共性。通过查看STC手册,“中断列表”中,次序代表它的优先级。其中只有P3.2(INT0)、P3.3(INT1)、P3.5(INT2)、P3.7(INT3)和P3.0(INT4)能作为外部中断。
以INT0为例:需要控制IT0、IE0、EX0、EA。
IT0为0,上升沿和下降沿都会触发(特别注意),为1则只有下降沿触发;
IE0为外部中断0中断标志位,1为已触发,初始化时需要初始化为零;
EX0:外部中断0中断允许位。0为禁止、1位允许;
EA:总中断开关。