资源描述:
《东南大学微机原理第四次实验报告.docx》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、《微机实验及课程设计》实验报告实验一 汇编语言与程序调试基础姓名:同组人员:学号:专业:仪器科学与工程学院实验室:计算机硬件技术实验时间:2014年04月17日报告时间:2014年04月24日评定成绩:审阅教师:实验目的1.掌握简单并行接口的工作原理。2.熟悉8路锁存器芯片74LS273和8路缓冲器芯片74LS244的功能及使用方法。3.掌握用汇编语言编写简单的输入输出接口程序的方法。二、实验内容1.输出接口输出,根据8个发光二极管发光的情况验证编程从键盘输入一个字符或数字,将其ASCII码通过正确性。(输出端口实验)(必做)2.用逻辑电平开关预置某个字母的AS
2、CII码,编程输入这个ASCII码,并将其对应字母在屏幕上显示出来。(输入端口实验)(必做)3.利用基本实验(1)中的输出锁存电路,设计L0~L7为流水灯,流水间隔时间由软件产生。(输出端口实验)4.利用基本实验(2)中的输入电路,监测逻辑电平开关K0~K7的变换,当开关状态为全开时,在屏幕上显示提示信息并结束程序。(输入端口实验)(选做)三、实验原理及接线接线:第1,3题:第2,4题:四、实验源程序以及主要思路1.实验一二完全参见书本。2.①实验三思路:连线同第一题,程序部分,先给al赋初值1,然后循环移位功能加以延时并显示,这样即可实现流水灯的功能。②实验三
3、源程序:ioportequ0ec00h-0280hls273equioport+2a8h;y5片选端stackssegmentstackdb100dup(?)stacksendscodesegmentassumecs:code,ss:stacksmainprocfarstart:movax,stacksmovss,axmovdx,ls273moval,7fhpushaxloop1:popaxoutdx,alroral,1calldelaypushax;出入栈防止改变ax的值movah,1int16h;这里面某一句会改变ax的值,导致ax只会跳一次jeloop1;
4、有件输入,退出程序movah,4chint21hmainendpdelayprocnearmovbx,5000zzz:movcx,0zz:loopzzdecbxjnezzzretdelayendpcodeendsendstart3.①实验四思路:代码与实验二基本相同,接线与实验二也一样,只是多一个输入是否为的判断,并且多加一个数据段,里面存放一句提示语句即可。实验四代码:ioportequ0c400h-0280hls244equioport+2a0h;y4片选端datasegmentstring1db0dh,0ah,'theinputiswhatwewant:!
5、codeends.',0dh,0ah,24hdataendsstackssegmentstackdb100dup(?)stacksendscodesegmentassumecs:code,ss:stacks,ds:datamainprocfarstart:movax,stacksmovss,axmovax,datamovds,axmovdx,ls244calldelay;如果没有这句延时,会导致读入数据不是预设值,因为选中该地址需要一定的时间。inal,dxmovdl,alcmpdl,0ffhjnegomovah,09hmovdx,offsetstring1in
6、t21hgo:movah,06;是否有按键按下movdl,0ffhint21hjnzexit;有按键jestart;无,则转startjmpstartexit:movah,4chint21hmainendpdelayprocnearmovbx,2000zzz:movcx,0zz:loopzzdecbxjnezzzretdelayendpcodeendsendstart