资源描述:
《东南大学微机原理第五次实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、《微机实验及课程设计》实验报告实验五 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
2、码,将该数据用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.asmdatasegmentio
3、portequ0b800h-0280hio8255aequioport+288hio8255bequioport+28bhleddb3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fhstringdb0dh,0ah,'Inputanum(0--9h):',0dh,0ah,'$'dataendsstackssegmentstackdb100dup(?)stacksendscodesegmentassumecs:code,ds:data,ss:stacksstart:movax,stacksmovss,axmovax,datamovds,axmovdx,io8255b;使
4、8255的A口为输出方式movax,80houtdx,alsss:movdx,offsetstring;显示提示信息movah,09hint21hmovah,01;从键盘接收字符int21hcmpal,'0';是否小于0jlexit;若是则退出cmpal,'9';是否大于9jgexit;若是则退出subal,30h;将所得字符的ASCII码减30Hmovbx,offsetled;bx为数码表的起始地址xlat;求出相应的段码movdx,io8255a;从8255的A口输出outdx,aljmpsss;转SSSexit:movah,4ch;返回DOSint21hcodeendsendstart2
5、.output.asmdatasegmentioportequ0b800h-0280h;tpc卡中设备的io地址io8255aequioport+28ah;8255C口地址io8255bequioport+28bh;8255控制寄存器端口地址io8255cequioport+288h;8255A口地址leddb3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh;段码buffer1db5,6;存放要显示的个位和十位bzdw?;位码dataendsstackssegmentstackdb100dup(?)stacksendscodesegmentassumecs:cod
6、e,ds:data,ss:stacksstart:movax,stacksmovss,axmovax,datamovds,axmovdx,io8255b;将8255设为A口输出moval,80houtdx,almovdi,offsetbuffer1;设di为显示缓冲区loop2:movbh,02lll:movbyteptrbz,bhpushdidecdiadddi,bzmovbl,[di];bl为要显示的数popdimoval,0movdx,io8255aoutdx,almovbh,0movsi,offsetled;置led数码表偏移地址为SIaddsi,bx;求出对应的led数码moval,
7、byteptr[si]movdx,io8255c;自8255A的口输出outdx,almoval,byteptrbz;使相应的数码管亮movdx,io8255aoutdx,almovcx,3000delay:loopdelay;延时movbh,byteptrbzshrbh,1jnzlllmovdx,0ffhmovah,06int21hjeloop2;有键按下则退出movdx,io8255amova