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

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

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2025-04-23 14:03:23

13

主题

27

回帖

452

积分

中级会员

积分
452
发表于 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, 2025-5-3 12:46 , Processed in 0.252207 second(s), 48 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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