实验五 数码管显示及键盘扫描实验

本实验介绍如何使用单片机实现数码管的动态显示及矩阵键盘的扫描。主要内容包括:掌握数码管动态显示原理,学会用总线方式控制数码管;理解矩阵键盘扫描原理,熟悉其与单片机的接口和编程。实验通过具体代码示例,展示如何将内存中的BCD码转换为七段显示码,并控制数码管显示,同时实现矩阵键盘按键值的读取和显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实验五 数码管显示及键盘扫描实验(2学时)
 实验目的:
– 掌握数码管动态显示的原理,熟悉用总线方式控制数码管显示的方法。
– 掌握矩阵键盘扫描原理,熟悉矩阵键盘与单片机的接口和编程。
 实验内容及要求:
– 将30H ~ 32H中存储的6位十进制数在6个数码管上显示出来(要求编写将一个内存单元中的压缩BCD码转换为两个七段显示码的子程序和延时子程序)。
– 扫描矩阵键盘,将对应键值送LED数码管显示。

ORG 0000H
AJMP START
ORG 0030H

START:
MOV 30H,#12H
MOV 31H,#34H
MOV 32H,#56H
MOV R0,#30H
MOV R1,#20H
BCD:
MOV A,@R0
SWAP A
ANL A,#0FH
ACALL CTAB
MOV R2,A
MOV A,@R0
ANL A,#0FH
ACALL CTAB
MOV R3,A

MOV DPTR,#8002H
MOV A,R1
MOVX @DPTR,A
MOV DPTR,#8004H
MOV A,R2
MOVX @DPTR,A 
MOV A,R1
RR A
MOV R1,A
ACALL DL1MS

MOV DPTR,#8002H
MOV A,R1
MOVX @DPTR,A
MOV DPTR,#8004H
MOV A,R3
MOVX @DPTR,A 
MOV A,R1
RR A
MOV R1,A
ACALL DL1MS

INC R0
CJNE R0,#33H,BCD
LJMP START

CTAB:
PUSH DPH
PUSH DPL
MOV DPTR,#TAB
MOVC A,@A+DPTR
POP DPL
POP DPH
RET
TAB:
DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5FH,79H,71H
DL1MS:
MOV R7,#02H
DL: MOV R6,#0FFH
DL6:DJNZ R6,DL6
DJNZ R7,DL
RET

END
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值