建材秒知道
登录
建材号 > 设计 > 正文

如何进行单片机键盘电路的设计

忧心的火龙果
贪玩的手套
2023-02-26 00:40:41

如何进行单片机键盘电路的设计?

最佳答案
会撒娇的猎豹
复杂的黑夜
2026-05-09 10:14:55

其实比较好写的..

行是,P3.0-P3.3,例是,P3.4-P3.7,最后得到的键值存在,KEYS中数为,0-15,

有什么问题可以再问...

START:

MOV P1,#00H

MOV P2,#0FH

CLR KEYCARD

LOOP:

ACALL KEY_CHECK

JNB KEYCARD,LOOP 为0从重新扫描

ACALL KEY_MARK 为1有按键,调用KEY_MARK

AJMP LOOP

KEY_CHECK: 键盘扫描

MOV P3,#0FH

MOV A,P3

ANL A,#0FH

CJNE A,#0FH,KEY_C1

CLR KEYCARD

RET

KEY_C1:

ACALL DELAY 有键接下,消抖

SETB KEYCARD

RET

KEY_MARK:

MOV A,#0EFH 第一例,行扫描,

KEY_M1: 键值扫描

MOV P3,A

MOV KEYS,A

MOV A,P3

ANL A,#0FH 取与

CJNE A,#0FH,KEY_M2 在第一例则跳,KEY_M2

MOV A,KEYS 并非在第一例刚移位

SETB C

RLC A

JC KEY_M1 C=1,重新扫描..

CLR KEYCARD 扫完一圈后,完成..

RET

KEY_M2: 键值计算

MOV R0,#KEYS 将KEYS的地址装入R0

XCH A,@R0 交换KEYS,A

XCHD A,@R0 交换低4位..

MOV KEYS,A

MOV R0,#0

LCALL KEY_ZHI

KEY_MX: 等待按键释放

MOV A,P3

ANL A,#0FH

CJNE A,#0FH,KEY_MX

CLR KEYCARD

RET

KEY_ZHI:

MOV A,R0

INC R0

MOV DPTR,#KEY_VALUE

MOVC A,@A+DPTR

CJNE A,KEYS,KEY_ZHI 查找键值.

DEC R0

MOV KEYS,R0

MOV P1,KEYS KEYS中的数为:0-15

RET

DELAY:

MOV R7,#20 延时大约2ms

D1: MOV R6,#50

DJNZ R6,$

DJNZ R7,D1

RET

KEY_VALUE: DB 0EEH,0DEH,0BEH,07EH,0EDH,0DDH,0BDH,07DH,0EBH,0DBH,0BBH,07BH,07EH,07DH,077H

END

最新回答
直率的钥匙
认真的大米
2026-05-09 10:14:55

键盘系统设计

首先,确定键盘编码方案:采用编码键盘或非编码键盘。随后,确定键盘工作方式:采用中断或查询方式输入键操作信息。然后,设计硬件电路。非编码键盘系统中,键闭合和键释放的信息的获取,键抖动的消除,键值查找及一些保护措施的实施等任务,均由软件来完成。

曾经的牛排
贪玩的蜻蜓
2026-05-09 10:14:55
8255有三个8位的并行接口,只有PC口是可以拆分使用的,所以:

用PA口的8条线,输出数码管的段选

用PC口的6条线,输出数码管的位选

用PC口的2条线,作为键盘输入

用PB口的8条线,作为键盘输入。

正好都能用上。

8255的初始化,控制字要写对,才行。

宜选用共阳的数码管,电路中,还要有位驱动、段限流的部分。

键盘应接地,口线要接上拉电阻。

甜蜜的橘子
朴实的冬日
2026-05-09 10:14:55
键盘编码器电路设计目的有。

1、掌握基本数字电路的一般设计方法,了解电子设备的研发思路。

2、认识基本电路的原理并对其安装及调试。

3、通过课程设计提高解决实际问题的能力。

4、提高团队意识和自学能力。

无辜的墨镜
温暖的花瓣
2026-05-09 10:14:55

数字电路中有优先编码器74LS147,要接键盘应该用输入芯片,而那个CD4017是十进制的计数/译码器,是输出的,不能用。

74LS147的用法如下图:可以接9个键盘,分别是数字1~9,不用0键,9个键都不按时输出就是0,这种芯片输出的是BCD码的反码,输出端DCBA需要加4个非门反相才行。图中的1~9的输入端接9个按键,按键另一端接地。

附件是74LS147的技术资料,详细说明可阅读资料。