微原实验——七段数码管.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 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)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档