数码管显示实验报告.docx
实验名称数码管显示实验
学生姓名学生学号专业班级指导老师
2014-12-17
实验三数码管显示实验
一、实验目的
1.学习按键扫描的原理及电路接法;
2.掌握利用8255完成按键扫描及显示。
二、实验内容
连接8255与键盘扫描单元,编写程序完成按键扫描功能,并将读到的按键值依次显示在数码管上。
图1键盘、数码管电路原理图
三、实验原理
实验系统中的键盘及数码管显示单元提供了4行×4列共16个按键,6位7段数码管也接成扫描电路方式。共用段位控制信号A~Dp,各自独立的公共
端X1~X6,其中X1~X4是与列扫描信号复用,行扫描信号为Y1~Y4。电路原理如图1所示。
四、实验步骤
1、数码管循环显示1-9
a.实验接线图如图2所示,按图连接实验线路图,实物图3如所示;
系统总线古言名古石合名二
系统总线
古言名古石合名
二心
XD7
PB0
06
PBIPB2
PB3PB4
PBS
PB6PB7
PA0PAI
PA2PA1PA4
PAS
1OY0
PC0pCIPC2
PC?
键盘及数码显示单元
AB
c
D
E
GDP
Lt
LLL4
L5
Lo
AIA0
RRDCs
8255单元
AIX2XX4
0wr
20R4
Y?Y3Y4
(00
D0
L4
84
LI
图2实验接线图
b.运行Tdpit集成操作软件,根据实验内容,编写实验程序,编译、链接,代码如下:
1OY0EQU3000H;片选1OY0对应的端口始地址
DATA1SEGMENT
NUMDB0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0EOH,0FEH,0F6H
DATA1ENDS
STACKISEGMENTSTACKDW256DUP(?)
STACKIENDS
CODESEGMENT
ASSUMECS:CODE,DS:DATAI
START:
MOVAX,DATA1MOVDS,AX
MOVDX,1OY0LEASI,NUM
MOVCX,10
XORAX,AXNEXT
MOVAL,[SIMOVAH,IFH
OUTDX,AXCALLDALLYINCSI
LOOPNEXT
JMPSTART
DALLYPROCNEARPUSHCX
PUSHAX
MOVCX,0FFFH
DI;MOVAX,0FFFFH
D2;DECAX
JNZD2LOOPDIPOPAXPOPCXRET
DALLYENDP
;软件延时子程序
CODEENDS
ENDSTART
c.运行程序,观察数码管的显示,循环显示0-9,如图3所示,达到预期要求。
图3循环显示0-9
2、数码管两位‘同时’显示不同的数字
实验步骤同上,但代码更改如下(更改部分,红色标出):10Y0EQU3000H;片选10Y0对应的端口始地址
DATAISEGMENT
NUMDBOFCH,60HL,0DAH,0F2H,66H,0B6H,0BEH,0E0H,0FEH,0F6HDATA1ENDS
STACKISEGMENTSTACKDW256DUP(?)
STACK1ENDS
CODESEGMENT
ASSUMECS:CODE,DS:DATA1
START
MOVAX,DATA1MOVDS,AX
MOVDX,1OY0LEASI,NUM
MOVCX,10
XORAX,AXNEXT:
MOVAL,[SI]MOVAH,1FH
OUTDX,AXCALLDALLY
MOVAL,[SI+3]MOVAH,2FH
OUTDX,AX
CALLDALLYJMPNEXT
DALLYPROCNEARPUSHCX
PUSHAX
MOVCX,00FFH
D1:MOVAX,000FFH
D2:DECAX
JNZD2L0OPDIPOPAXPOPCX
RET
DALLYENDP
CODEENDS
ENDSTART实验截图如所示。
;软件延时子程序
图4数码管同时显示两位数
五、实验总结
‘同时’将两个数字显示