- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验六 8255并行输入输出
东南大学《微机实验及课程设计》实验报告实验六 8255并行输入输出姓 名:学 号: 专 业:测控技术与仪器 实 验 室: 516同组人员: 评定成绩: 实验目的1)掌握8255方式0的工作原理及使用方法,利用直接输入输出进行控制显示;掌握8段数码管的动态刷新显示控制;(1)实验内容(必做)6-1、8段数码管静态显示: 编程从键盘输入一位十进制数字(0~9),在数码管上显示出来。6-2、8段数码管动态显示:在两个数码管上同时显示不同的两位数字或字母,保持不变直至退出。(如56或7f) (2)实验内容(必做一题,选做一题)6-3 静态显示:用逻辑电平开关预置某个数字(0~9)的ASCII码,将该数据用8255的C口读入,并用A口输出,并在数码管显示出来;如果预置的ASCII码不是数字(0~9),数码管显示E字母。6-4 动态显示:在两个数码管上滚动循环显示不同的0~f字符。(即开始时两个数码管显示01,12,23,34 ··f0,一直循环直至退出)实验原理实验预备知识图 八段式LED数码管的符号和引脚6-1流程图:NY6-1源代码:data segmentioport equ 0ec00h-0280hio8255aequ ioport+288h ;8255A口地址io8255bequ ioport+28bh ;8255控制寄存器端口地址led db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh ;段码mesg1 db 0dh,0ah,Input a num (0--9h):,0dh,0ah,$;提示data endscode segmentassume cs:code,ds:datastart: mov ax,data mov ds,axmov dx,io8255b ;使8255的A口为输出方式 mov ax,80h out dx,alsss: mov dx,offset mesg1 ;显示提示信息 mov ah,09h int 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 ;转SSSexit: mov ah,4ch ;返回DOS int 21hcode endsend start(3)6-2接线图:6-2源代码:data segmentioportequ 0ec00h-0280hio8255aequ ioport+288hio8255cequ ioport+28ahio8255kequ ioport+28bhled db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh ;段码buffer1 db 5,6 ;存放要显示的个位和十位bz dw ? ;位码data endsstacks segment stackdb 100 dup(?)stacks endscode segmentassume cs:code,ds:data,ss:stacksstart:mov ax,data mov ds,axmov ax,stacks mov ss,ax mov dx,io8255k ;将8255设为A口输出 mov al,80h out dx,al mov di,offset buffer1 ;设di为显示缓冲区loop2:mov bh,02lll: mov al,0 ;送全灭断码 mov dx,io8255a ;自8255A口输出 out dx,al mov byte ptr bz,bh push di dec di
文档评论(0)