找回密码
 立即注册
查看: 915|回复: 0

新手学STC单片机 实验三 按键

[复制链接]
  • TA的每日心情

    2024-1-8 16:35
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    10

    主题

    18

    回帖

    350

    积分

    中级会员

    积分
    350
    发表于 2023-3-2 18:31:07 | 显示全部楼层 |阅读模式
    本帖最后由 sbk100 于 2023-3-2 18:40 编辑

    先上电路

    新手学STC单片机 实验三 按键-1.png



          如左图独立键盘及四个并联的开关,开关没有按下时电路开路输出 DK 为高电平,开关按下后形成闭合电路,输出 DK 为低电平。
    程序读入键盘的状态输出给 LED 灯,显示具体哪个开关按下。


          右图为 AD 开关,第一个开关按下输出电平为 VCC,第二个是 3/4VCC,第三个1/2VCC,第四个 1/4VCC。可以由万用表测得对应
    按键输出的电压值,也可以由 AD转换电路将输出的电压值读入单片机中完成键位的区分。AD 开关多使用于节省 I/O口开销,如:
    需要用一个 I/O 口读 8 个开关,就可以通过读到的电压值来判断具体按下的开关。


    新手学STC单片机 实验三 按键-1.png



          如图3-2,4*4 键盘的行通过连接限流电阻接VCC,列由限流电阻连接到I/O口,按键没有按下时KL1KR 0。按键按下后,行仍为高
    电平,对应的列变为高电平。为检测是哪个键按下要在列上输出低电平来检测。检测按键状态可以使用逐列扫描或者翻转法,这里我们使用

    转法。首先读入当前的列状态,然后对列输出全0,读入行状态,通过查表判断当前按键按下的状态,在数码管上输出。



    实验测试
    连接:JP81连接到 P0,P0^0连接A;JP82连接到P2;JP76连接到P1 ,低位接KR0-3,高位接KL0-3。
    实验现象:数码管显示对应按键的值。


    回复 送花

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-4-26 23:15 , Processed in 0.052561 second(s), 31 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表