- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
微原实验——七段数码管
微原实验——七段数码管
实验目的
通过上机实验,熟悉汇编语言开发环境,了解代码编译,连接,执行的相关过程
掌握接口芯片的编址方法,掌握8255的初始化设置,及数码管显示原理,掌握段控及位控的概念
实验内容
连接地址译码器与8255的连线及8255与数码管的连线;
在数据段中存放0到9的字型码;
从微机键盘输入2个数字的ASCII码,在输入过程中检查如非数字键则重新输入;
然后将输入的ASCII码变成相应的数字,再利用换码指令XLAT查表得到相应的字形码;
将字形码送到8255输出口所接的数码管上显示。
实验设备及软件
硬件:PC,实验箱
软件:TPC2003+汇编集成开发环境
实验代码及注释
PORTA EQU 0EF00H-280H+288H
PORTC EQU 0EF00H-280H+28AH
PORTRL EQU 0EF00H-280H+28BH ;8255各端口地址
STACK SEGMENT STACK
DW 100 DUP (?)
STACK ENDS
DATA SEGMENT
X DB 0,0
Y DB PLEASE ENTER THE NUMBER YOU WANT TO SHOW:$
VAL DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;表中存放0到9
的字形码
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
MAIN PROC
MOV AX,DATA
MOV DS,AX
MOV BX,OFFSET VAL
SUB AX,AX ;清零ZF标志位
NEXT2:
MOV SI,OFFSET X
JNZ NEXT5 ;有新的输入,直接跳到NEXT5处
CALL DISP
NEXT1: MOV DL,0FFH
MOV AH,6
INT 21H
JZ NEXT1 ;检测是否输入第一个数
PUSH AX
MOV DL,AL
MOV AH,2
INT 21H
POP AX
NEXT5: CMP AL,0DH
JE EXIT ;若输入为回车,退出程序
AND AL,0FH
MOV [SI],AL
INC SI ;存入第一个数字
NEXT3: MOV DL,0FFH
MOV AH,6
INT 21H
JZ NEXT3 ;检测是否输入第一个数
PUSH AX
MOV DL,AL
MOV AH,2
INT 21H
POP AX
CMP AL,0DH
JE EXIT
AND AL,0FH
MOV [SI],AL ;存入第二个数字
MOV AL
MOV DX,PORTRL
OUT DX,AL ;向8255写入初始化控制字
NEXT4: MOV DX,PORTA
MOV AL,X
XLAT
OUT DX,AL
MOV DX,PORTC
MOV AL,10B
OUT DX,AL
CALL DELAY ;显示第一个数字并延时
MOV DX,PORTA
MOV AL,X+1
XLAT
OUT DX,AL
MOV DX,PORTC
MOV AL,01B
OUT DX,AL
CALL DELAY ;显示第二个数字并延时
MOV DX,PORTC
MOV AL,00B
OUT DX,AL ;显示完毕,使两位熄灭
MOV DL,0FFH
MOV AH,6
INT 21H
JZ NEXT4 ;无键盘输入,跳回NEXT4继续显示
JMP NEXT2 ;有键盘输入,跳至NEXT2
EXIT: MOV AH,4CH
INT 21H
MAIN ENDP
DELAY PROC
PUSH BX
PUSH CX
MOV BX,100
MOV CX,0
CON1: LOOP CON1
DEC BX
JNZ CON1
POP CX
POP BX
RET
DELAY ENDP ;延时子程序
DISP PROC
PUSH AX
PUSH BX
PUSH DX
MOV DX,OFFSET Y
MOV AH,9
INT 21H
MOV DL,0DH
MOV AH,2
INT 21H
MOV DL,0AH
MOV AH,2
INT 21H
RET ;显示子程序
DISP ENDP
CODE ENDS
END MAIN
程序流程图
键盘输入第一个数字
实验感想
本次实验是软件和硬件的结合,由于我和同组的同学事先写好了代码,所以实验的时候速度比较快。但是开始时只显示第一个数字,后来检查很久才发
文档评论(0)