东南大学微机原理第五次实验报告.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《微机实验及课程设计》 实验报告实验五 8255并行输入输出姓 名:学 号:专 业: 仪器科学与工程学院 实 验 室:计算机硬件技术实验时间: 2014年05月22日报告时间: 2014年05月28日 评定成绩:审阅教师:实验目的 1、掌握8255方式0的工作原理及使用方法,利用直接输入输出进行控制显示。 2、掌握8段数码管的动态刷新显示控制。 实验内容 1、8段数码管静态显示: 编程从键盘输入一位十进制数字(0~9),在数码管上显示出来。 2、8段数码管动态显示:在两个数码管上同时显示不同的两位数字或字母,保持不变直至退出。(如56或7f,参考程序p69) 3、静态显示:用逻辑电平开关预置某个数字(0~9)的ASCII码,将该数据用8255的C口读入,并用A口输出,并在数码管显示出来;如果预置的ASCII码不是数字(0~9),数码管显示E字母。 4、动态显示:在两个数码管上滚动循环显示不同的0~f字符。(即开始时两个数码管显示01,12,23,34 ··f0,一直循环直至退出)(选作)实验台的数码管显示电路入实验接线图1、静态显示PA0~PA6分别接数码管的a~gPC0~PC7分别逻辑电平开关的K0~K7位选端S1接+5V位选端S0接地数码管dp端接地2、动态显示PA0~PA6分别接数码管的a~g位选端S0 、S1接8255C口的PC0、PC1端源代码 1.input1.asm data segment ioportequ 0b800h-0280h io8255aequ ioport+288h io8255bequ ioport+28bh led db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh string db 0dh,0ah,Input a num (0--9h):,0dh,0ah,$ data ends stacks segment stackdb 100 dup (?) stacks ends code segmentassume cs:code,ds:data,ss:stacks start: mov ax,stacksmov ss,axmov ax,datamov ds,axmov dx,io8255b;使8255的A口为输出方式mov ax,80hout dx,al sss: mov dx,offset string;显示提示信息mov ah,09hint 21hmov ah,01;从键盘接收字符int 21hcmp al,0;是否小于0jl exit;若是则退出cmp al,9;是否大于9jg exit;若是则退出sub al,30h;将所得字符的ASCII码减30Hmov bx,offset led;bx为数码表的起始地址xlat;求出相应的段码mov dx,io8255a;从8255的A口输出out dx,aljmp sss;转SSS exit: mov ah,4ch;返回DOSint 21h code ends end start2.output.asm data segment ioport equ 0b800h-0280h ;tpc卡中设备的io地址 io8255a equ ioport+28ah ;8255C口地址 io8255b equ ioport+28bh ;8255控制寄存器端口地址 io8255c equ ioport+288h ;8255A口地址 led db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh ;段码 buffer1 db 5,6;存放要显示的个位和十位 bz dw;位码 data ends stacks segment stackdb 100 dup (?) stacks ends code segmentassume cs:code,ds:data,ss:stacks start: mov ax,stacksmov ss,axmov ax,datamov ds,axmov dx,io8255b;将8255设为A口输出mov al,80hout dx,almov di,offset buffer1;设di为显示缓冲区 loop2:mov bh,02 lll: mov byte ptr bz,bhpush didec diadd di, bzmov bl,[di];bl为要显示的数pop dimov al,0mov dx,io8255aout dx,almov bh,0mov si,offset led;置led数码表偏移地址为SIadd si,bx;求出对应的led数码mov al,byte ptr [si]mo

文档评论(0)

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

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

1亿VIP精品文档

相关文档