资源描述:
《实验六8255并行输入输出》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、东南大学《微机实验及课程设计》实验报告实验六8255并行输入输出姓名:学号:专业:测控技术与仪器实验室:516同组人员:评定成绩:一、实验目的1)掌握8255方式0的工作原理及使用方法,利用直接输入输出进行控制显示;2)掌握8段数码管的动态刷新显示控制;二、(1)实验内容(必做)6-1、8段数码管静态显示:编程从键盘输入一位十进制数字(0~9),在数码管上显示出来。6-2、8段数码管动态显示:在两个数码管上同时显示不同的两位数字或字母,保持不变直至退出。(如56或7f)(2)实验内容(必做一题,选做一题
2、)6-3静态显示:用逻辑电平开关预置某个数字(0~9)的ASCII码,将该数据用8255的C口读入,并用A口输出,并在数码管显示出来;如果预置的ASCII码不是数字(0~9),数码管显示E字母。6-4动态显示:在两个数码管上滚动循环显示不同的0~f字符。(即开始时两个数码管显示01,12,23,34··f0,一直循环直至退出)三、实验原理(1)实验预备知识图八段式LED数码管的符号和引脚(2)6-1流程图:是否为0~9?设置8255控制字(A端口输出)从键盘输入字符开始N将对应段码输出到8255A端口结
3、束Y6-1源代码:datasegmentioportequ0ec00h-0280hio8255aequioport+288h;8255A口地址io8255bequioport+28bh;8255控制寄存器端口地址leddb3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh;段码mesg1db0dh,0ah,'Inputanum(0--9h):',0dh,0ah,'$';提示dataendscodesegmentassumecs:code,ds:datastart:movax,
4、datamovds,axmovdx,io8255b;使8255的A口为输出方式movax,80houtdx,alsss:movdx,offsetmesg1;显示提示信息movah,09hint21hmovah,01;从键盘接收字符int21hcmpal,'0';是否小于0jlexit;若是则退出cmpal,'9';是否大于9jgexit;若是则退出subal,30h;将所得字符的ASCII码减30Hmovbx,offsetled;bx为数码表的起始地址xlat;求出相应的段码movdx,io8255a;
5、从8255的A口输出outdx,aljmpsss;转SSSexit:movah,4ch;返回DOSint21hcodeendsendstart(3)6-2接线图:6-2源代码:datasegmentioportequ0ec00h-0280hio8255aequioport+288hio8255cequioport+28ahio8255kequioport+28bhleddb3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh;段码buffer1db5,6;存放要显示的个位和十位
6、bzdw?;位码dataendsstackssegmentstackdb100dup(?)stacksendscodesegmentassumecs:code,ds:data,ss:stacksstart:movax,datamovds,axmovax,stacksmovss,axmovdx,io8255k;将8255设为A口输出moval,80houtdx,almovdi,offsetbuffer1;设di为显示缓冲区loop2:movbh,02lll:moval,0;送全灭断码movdx,io825
7、5a;自8255A口输出outdx,almovbyteptrbz,bhpushdidecdiadddi,bzmovbl,[di];bl为要显示的数popdimovbh,0movsi,offsetled;置led数码表偏移地址为SIaddsi,bx;求出对应的led数码moval,byteptr[si]movdx,io8255a;自8255A的口输出outdx,almoval,byteptrbz;使相应的数码管亮movdx,io8255aoutdx,almovcx,3000delay:loopdelay;
8、延时movbh,byteptrbzshrbh,1jnzlllmovdx,0ffhmovah,06int21hjeloop2;有键按下则退出movdx,io8255amoval,0;关掉数码管显示outdx,almovah,4ch;返回int21hcodeendsendstart将E对应段码输到A口将对应段码输到A口是否属于0~9?从C口输入一数据设置8255控制字,C口输入,A口输出开始(4)6-3流程图:结束是否有键输入?YNNY6-3源