新手学STC单片机 实验三 按键
本帖最后由 sbk100 于 2023-3-2 18:40 编辑先上电路
如左图独立键盘及四个并联的开关,开关没有按下时电路开路输出 DK 为高电平,开关按下后形成闭合电路,输出 DK 为低电平。
程序读入键盘的状态输出给 LED 灯,显示具体哪个开关按下。
右图为 AD 开关,第一个开关按下输出电平为 VCC,第二个是 3/4VCC,第三个1/2VCC,第四个 1/4VCC。可以由万用表测得对应
按键输出的电压值,也可以由 AD转换电路将输出的电压值读入单片机中完成键位的区分。AD 开关多使用于节省 I/O口开销,如:
需要用一个 I/O 口读 8 个开关,就可以通过读到的电压值来判断具体按下的开关。
如图3-2,4*4 键盘的行通过连接限流电阻接VCC,列由限流电阻连接到I/O口,按键没有按下时KL为1,KR 为0。按键按下后,行仍为高
电平,对应的列变为高电平。为检测是哪个键按下要在列上输出低电平来检测。检测按键状态可以使用逐列扫描或者翻转法,这里我们使用翻
转法。首先读入当前的列状态,然后对列输出全0,读入行状态,通过查表判断当前按键按下的状态,在数码管上输出。
实验测试
连接:JP81连接到 P0,P0^0连接A;JP82连接到P2;JP76连接到P1 ,低位接KR0-3,高位接KL0-3。
实验现象:数码管显示对应按键的值。
页:
[1]