4个io口控制16个按键 io开关分别是什么?

[更新]
·
·
分类:互联网
3725 阅读

4个io口控制16个按键

io开关分别是什么?

io开关分别是什么?

带有这种标认的开关属于英制开关。i和O分别代表着英语单词启动和断开的首字母。i是input启动的首字母。O是0utput断开的首字母。现在这种开关己经不多见了。现在我们经常使用的是公制开关。开关按键上带有红点的是开,另一端为关。简洁明了,一看便知。

单片机IO输入模式口悬空时干扰?

到底怎么回事,低电平时正常工作,高电平时也被判断成了低电平,加上拉电阻加电容都可解决问题,也可软件上采取些措施,像按键消抖一样

单片机同一IO口,可以既作为输入又作为输出吗?(按键并着LED灯,输入有变化时也需要LED指示)?

可以的,单片机的IO口本身就可以设置成输入或输出的,但当输入与输出有冲突时还是会出现不确定因素的,比如你输入是要求LED灯灭,此时按键,灯肯定会点亮。

led灯怎么实现按键按下灯不停的在闪烁?

LED和R1组成了LED驱动电路,这里我们采用单片机拉电流的驱动方式,当单片机IO口(P1.0)输出高电平时,电流从单片机IO口输出,流过LED和电阻R1,最终流到电源地,从而LED发光。
当单片机IO口(P1.0)输出低电平时,P1.0电平和电源地电平一样,没有电压差,就不会有电流流过LED,所以LED不会发光。
也就是说只要我们通过程序控制单片机IO口P1.0口的电平就可以实现控制LED的亮灭,那我们控制IO的电平重复出现“高---低---高---低……”就可以实现LED闪烁了。今天的问题是用按键控制实现闪烁和灭。下面我就来说按键的事。

单片机用一个IO口采集多个按键信号,如何实现?

一个IO口检测多个按键肯定是可以实现的,下面简单举几个例子,为大家指点一下思路。
使用普通的I/O口检测多个按键通常我们使用按键检测的时候,一般都是一个I/O口检测一个按键,比如:
M×N阵矩阵式按键至少也需(M N)个I/O口,比如4×4共16个按键的矩阵共需8个I/O口。
那么一个I/O口可不可以实现检测多个按键呢?其实是可以的,硬件电路设计复杂,值不值得这么做。比如通过检测占空比来区分不同的按键,每个按键后面做硬件防抖处理后再加555定时器组成的电路。或者类似于串行通讯的方式,比如第一个按键按下输出1个脉冲,第二个按键按下输出两个脉冲,第三个按下输出3个脉冲等,这种按键后端电路处理更复杂。
使用单片机的一个ADC采样口检测多个按键使用ADC检测多个按键时,按键之间的电压间隔最好相近,而且范围较宽,这样设计误差会更小一些。
比如以5个按键为例,ADC检测电压范围为0~5V,那么在设计电路时各按键之间的电压间隔应大约为5V/51V。
上图为本人设计的电路图,S1按下电压为0V;S2按下电压约为0.97V;S3按下电压为2.03V;S4按下电压约为2.94V;S5按下电压约为3.99V。软件处理时只要设置±0.1V的检测范围宽度即可。
以上是本人的观点,大家有什么想法,欢迎一起讨论。