当前位置:网站首页 > 编程语言 > 正文

单片机程序示例(单片机程序示例图)



首先我们看一下按键的原理图,如图1,当J5中的2,3接在一起的时候,红线标注就是一个完整的电路图,此时只有s4、s5、s6、s7按键可以使用,也就是独立按键。例如:当我们按下s4时,电路导通,P33引脚被拉为低电平0,此时我们读取P33引脚电平的高低就能判断出哪个按键被按下。其他按键也是如此。

 消抖的方法包括:硬件消抖和软件消抖。硬件消抖主要是通过添加滤波电路消除抖动干扰。软件消抖则是延迟时间,当检测到按键状态发生变化时,延迟5~10ms的时间,让抖动消失后,再次检测按键的状态。我们在这里主要使用软件消抖。当我们按下按键时,整个过程的波形如下图2所示。所以,当我们检测到按键状态发生变化时,加一个10ms的延迟后,再次检测按键状态,如果与上次状态相同则说明按键被按下。

如图3所示,J5中的1,2连接在一起就形成4X4的矩阵按键,这里我们设从下到上依次为Y1、Y2、Y3、Y4(行),从左到右依次为X1、X2、X3、X4(列),例如:想要扫描第一列时,只要使X1为低电平0,Y1、Y2、Y3、Y4为高电平1,此时如果没有按键按下,那么这个状态会一直保持。当S7按下的时候,由于X1为低电平0,S7按下电路导通,使得Y4也为低电平0。(这里我们就可以用代码判断:Y4的电平高低,当Y4为低电平时,说明S7按下)其他按键同理。

这里我们最好使用 #include "stc15f2k60s2.h" 而不是  #include "reg52.h" ,下图我们对比一下,reg52.h中有很多端口没有声明。而stc15f2k60s2.h中则比较全面。大家有兴趣也可以自己去头文件里看一下。

如使用独立按键请将矩阵按键代码屏蔽,反之亦然。

独立按键S4的功能:按下时8个数码管全亮,松开时8个数码管全灭。

矩阵按键S4、S8、S12、S16的功能:按下S4 L1 L2亮,按下S8L3 L4亮,按下S12 L5 L6亮,按下S16 L7 L8亮,松开熄灭。

到此这篇单片机程序示例(单片机程序示例图)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • edge修复网络(edge修复网络最简单方法网页版登录)2026-05-19 16:54:08
  • sigmoid什么意思神经网络(神经网络mse是什么意思)2026-05-19 16:54:08
  • C7000纸盒不显示(m7400显示纸盒无纸)2026-05-19 16:54:08
  • pointnet源码(pointnet原理)2026-05-19 16:54:08
  • ssh免密码登录配置不起作用(ssh免密码登录配置还需要输入密码)2026-05-19 16:54:08
  • nvme能插sata的m.2(nvme口能插sata)2026-05-19 16:54:08
  • point和pointat的区别(pointat和pointto的区别)2026-05-19 16:54:08
  • pdf文档如何查找内容(pdf文件怎么快速查找内容)2026-05-19 16:54:08
  • siem是什么意思(silme是什么意思)2026-05-19 16:54:08
  • 三星c7000拆机视频(三星c7000如何拆装)2026-05-19 16:54:08
  • 全屏图片