单片机 按键检测

来源:百度知道 编辑:UC知道 时间:2024/06/01 09:39:25
8051单片机要接四个按键,当某个按键按下时,对应有一个灯会亮,想知道电路该如何连接呢?老师要说按键要检测,不能直接连单片机,请高手帮帮忙啊
晕了,哪位高手能具体告诉我电路是怎样的啊,我用单片机的接口接了按键再接了上拉电阻接电源,老师说不对,要检测按键,按键检测就是按键消抖吗?哪位能清楚点告诉我下啊,万分感谢

按键消抖的电路怎么接呢?
1.调用一个10MS的延时程序
2.或加虑波电容都可以

你好种接法就对,接个上拉电阻接是源,之后接按键,按键的另一脚接地

按你的说法,接了5V没按下时就是高电平了,按下就是低电平了,要想按下是低电平,就要在按键和单片机之间接反相器74LS04。下面的监控程序仍有效

按键连P3口,(不一定非P3),设计程序,让单片机对按键实时监控和检测。下面是一小段检测开按键的汇编,供参考

ORG 0000H

MOV P3,#0FFH :开关准备
MOV A,P3 ;读开关值
LOOP:MOV P1,A ;送P1口显示
MOV 20H,A ;暂存
WQ:MOV A,P3 ;再次检测开关
CJNE A,20H,LOOP ;有新数据送P1口显示
SJMP WQ ;无新数据,继续检测P3口
END

按键消抖的电路怎么接呢?
实际中不用按键消抖的电路:r-s触发器和单稳电路(要花成本)
一般采用软件消抖 也就是按键按下时调用一个10MS的延时程序
延时程序很好写自己写就是了 (只是占用一点CPU资源)
怎么样来检测它已经按下?
通过程序来检测啊

注意按键的消抖