华北电力大学科技学院实验报告||实验名称实验一开发器的使用与设计实验实验二中断8259应用、定时/计数器8253应用实验三并行接口8255应用实验四存储器拓展实验实验五A/D转换结果送数码管显示课程名称微机原理实验与课程设计||专业班级:学生姓名:学号:成绩:指导教师:张少敏实验日期:2013/5华北电力大学科技学院实验报告第页共页实验一、数据转换实验一、实验目的1、初步掌握在PC机上建立、汇编、链接和运行8086/88汇编语言程序的过程。2、通过对两个验证性实验的阅读、调试,掌握不同进制数及编码相互转换的程序设计方法。3、完成程序设计题,加深对数码转换的理解,了解简单程序设计方法。二、实验条件一台计算机三、实验内容与步骤1)设二字节十六进制数存放于起始地址为3500H的内存单元中,把他们转换成ASCII码后,再分别存入起始地址为350AH的四个内存单元。从书上ASCII码表中可知十六进制数加30H即可得到0H~9H的ASCII码,而要得到AH~FH的ASCII码,则需再加7H。2)参考程序如下:CODESEGMENTASSUMECS:CODESTART:MOVCX,0004hMOVDI,3500HMOVAX,0000HMOVDS,AXMOVDX,[DI]A1:MOVAX,DXANDAX,000FH华北电力大学科技学院实验报告第页共页CMPAL,0AHJBA2ADDAL,07HA2:ADDAL,30HMOV[DI+0AH],ALINCDIPUSHCXMOVCL,04HSHRDX,CLPOPCXLOOPA1MOVAH,4CHINT21HCODEENDSENDSTART四、实验结论与分析错误分析:在保存文件时,第一步忘了加后缀.ASM,导致打开不了文件。实验结果:在调试运行后350AH的内存单元中会显示3500H中所转换的对应的ASCII码。五、实验心得在这次课程设计的过程中的收获是很大的。这次课程设计我主要是应用老师教的相关知识及自己的一些想法,完成了数据转换问题。当然,这次实验,我也发现了自身的很多不足之处,在以后的学习中,我会不断的完善自我,不断进取,能使自己在这方面有一个大的发展,我真的很高兴有这次的锻炼机会。华北电力大学科技学院实验报告第页共页实验二、接收小写字母转换成大写字母并显示一、实验目的通过阅读并调试示例程序,完成程序设计题,掌握利用DOS中断的调用来实现人机对话的编程方法。二、实验条件一台计算机三、实验内容与步骤1)从键盘上接收一串小写字母存入内存单元,经过转换后在屏幕上显示其大写字母。设计思路:利用DOS中断的01号子功能接收键盘输入的一串字符串并存入内存单元,当接收到回车键时,将小写字母的ASCII码转换为大写字母的ASCII码,利用DOS功能的02号子功能将其显示在屏幕上。2)参考程序如下:DATASEGMENTBUFDB200DUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVSI,OFFSETBUFMOVCL,00HA1:MOVAH,01HINT21HCMPAL,0DH华北电力大学科技学院实验报告第页共页JZA2SUBAL,20HMOV[SI],ALINCSIINCCLJMPA1A2:MOVDL,0AHMOVAH,02HINT21HMOVDL,ODHINT21HMOVSI,OFFSETBUFMOVCH,00HA3:MOVDL,[SI]MOVAH,02HINT21HINCSILOOPA3MOVAH,4CHINT21HCODESEGMENTENDSTART四、实验结论与分析华北电力大学科技学院实验报告第页共页实验结果:找到当前文件所在的位置,打开.exe文件,输入小写字母,按回车键相应的会输出大写的字母五、实验心得在这次课程设计的过程中的收获是很大的。这次课程设计我主要是应用老师教的相关知识及自己的一些想法,完成了接收小写字母转换成大写字母DOS调用问题。主要掌握了01号和02号子功能。当然,这次实验,我也发现了自身的很多不足之处,在以后的学习中,我会不断的完善自我,不断进取,能使自己在这方面有一个大的发展,我真的很高兴有这次的锻炼机会。实验三、中断8259应用一、实验目的1、通过阅读并调试示例程序,学习8088/86与8259A的连接与控制方法,掌握8259A中断控制器的工作原理。2、完成程序设计题,学会编写中断服务程序。二、实验条件一台计算机,8259A可编程中断控制器,仿真软件三、实验内容与步骤1、实验原理8259A是一种可编程中断控制器,与8088/86微机兼容,能处理8级向量优先权中断,亦可以通过级联构成64级向量优先权中断系统。具有可编程控制中断方式,并能分别屏蔽各个中断请求。通过4个初始化命令字(icw1~icw4)及3个操作命令字(ocw1~ocw3)使用8259A可编程程序中断控制器。2、实验内容用8088/86控制8259可编程中断控制器,实现对外部中断的响应和处理。要求程序对每次中断进行计数,并将计数结果用8255的PA口输出到LED显示。3、参考流程图及程序华北电力大学科技学院实验报告第页共页modeequ80hpa8255equ8000hpb8255equ8001hctl8255equ8003hicw1equ00010011bicw2equ00100000bicw4equ01hocw1equ11111110bcs8259aequ09000hcs8259bequ09001hdatasegmentcntdb0cndb0dataendscodesegmentassumecs:code,ds:dataienterprocnearpushaxpushdxmovdx,pb8255inccntcmpcnt,0ahjnzP1华北电力大学科技学院实验报告第页共页movcnt,0inccnmoval,cnoutdx,alP1:movdx,cs8259amoval,20houtdx,alpopdxpopaxiretienterendpinitprocnearmovdx,cs8259amoval,icw1outdx,almovdx,cs8259bmoval,icw2outdx,almoval,icw4outdx,almoval,ocw1outdx,alret华北电力大学科技学院实验报告第页共页initendpstartprocnearmovdx,ctl8255moval,modeoutdx,alclimovax,0movds,axmovbx,4*icw2movax,offsetientermov[bx],axmovax,codeincbxincbxmov[bx],axcallinitmovax,datamovds,axmovcn,0moval,cnmovdx,pb8255outdx,alsti华北电力大学科技学院实验报告第页共页lp:nopjmplpstartendpcodeendsendstart四、实验结论与分析错误分析:由于此次实验的连线较多,有几个临近的线连错了,导致显示的结果又问题。实验结果:通过按单脉冲,使之产生中断,然后再LED显示按下的次数就是中断的次数。五、实验心得在这次课程设计的过程中的收获是很大的。这次课程设计我主要是应用老师教的相关知识及自己的一些想法,完成了中断8259应用。当然,这次实验,我也发现了自身的很多不足之处,在以后的学习中,我会不断的完善自我,不断进取,能使自己在这方面有一个大的发展,我真的很高兴有这次的锻炼机会。实验四、定时/计数器8253应用一、实验目的通过阅读并调试示例程序,完成程序设计题,掌握8253的基本工作原理和编程方法,熟悉8253在系统中的典型接法。二、实验条件一台计算机,8253可编程定时/计数器三、实验内容与步骤1、实验原理8253可编程定时/计数器是Intel公司生产的统一外围接口芯片它有3个独立的16位计数方式和操作方式都通过编程控制。华北电力大学科技学院实验报告第页共页2、实验内容利用8088/86外接8253可编程定时/计数器,可以实现对外部事件进行计数,且可以设置断点读回计数器的值。本实验中计数器按方式0工作,即十六位二进制计数器。当计数设置好后,计数器就开始计数。如果要读入计数器的值,要先锁存计数值,才能读到计数值。本实验所设计数值为五,也就是每5个外部脉冲,计数器值加1.同时out脚输出一个高电平。实验时,可以将out0接到LED上,观察计数器是否工作。3、流程图及参考程序CONTROLEQU08003HCOUNT0EQU08000HCOUNT1EQU08001HCOUNT2EQU08002HCODESEGMENTASSUMECS:CODESTARTPROCNEARMOVAL,30HMOVDX,CONTROLOUTDX,ALMOVAL,5MOVDX,COUNT0OUTDX,ALMOVAL,0OUTDX,ALAGAIN:MOVAL,00000000BMOVDX,CONTROL华北电力大学科技学院实验报告第页共页OUTDX,ALMOVDX,COUNT0INAL,DXMOVBL,ALINAL,DXMOVAH,ALMOVAL,BLJMPAGAINSTARTENDPCODEENDSENDSTART四、实验结论与分析错误分析:由于计数是自己手动时按的太快,没有计到5就LED就显示了,后来经过重新仔细的数了一遍发现是正确的。实验结果:每按单脉冲5下,LED灯就会显示。五、实验心得在这次课程设计的过程中的收获是很大的。这次课程设计我主要是应用老师教的相关知识及自己的一些想法,完成了定时/计数器8253应用问题。经过老师的指导,才做到了心中有数,我在此很想感谢给予我耐心解答的老师,同学们勤恳塌实,始终热情高涨,我感谢这种氛围。当然,这次实验,我也发现了自身的很多不足之处,在以后的学习中,我会不断的完善自我,不断进取,能使自己在这方面有一个大的发展,我真的很高兴有这次的锻炼机会。华北电力大学科技学院实验报告第页共页实验五、并行接口8255应用一、实验目的1、通过阅读并调试示例程序,掌握8255A可编程并行接口的工作原理;2、完成程序设计题,学会并行接口电路的设计,及编写输入输出控制程序。二、实验条件一台计算机,8255A可编程控制芯片,LED灯的电路板三、实验内容与步骤1、实验原理8255A是可编程的通用并行输入输出接口芯片,因通用性强,使用灵活,可直接与cpu总线相连,应用非常广泛。8255A芯片内部有3个8位的输入输出端口,即A口、B口、C口。从内部控制的角度来讲,可分为两组:A组和B组。A组控制模块管理A口和C口的高4位(pc7~PC4),B组控制模块管理B口和C口的低4位(pc3~pc0)。2、实验内容设计跑马灯程序设计,要求K0=0,从左向右跑马灯;K1=0时,从右向左跑马灯;K2=0时,从左从右向中间跑马灯,LED从pc口输出。完成电路设计及程序的编制,进行调试并验证结果。参考程序MNSSDATASEGMENTMODEEQU082HPORTAEQU8000HPORTBEQU8001HPORTCEQU8002HCADDREQU8003HPOSDB0FFH华北电力大学科技学院实验报告第页共页NOWDATADB0FFHLEFTDB0FFHRIGHTDB0FFHDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAL,MODEMOVDX,CADDROUTDX,ALINPUT:MOVDX,PORTBINAL,DXCMPAL,NOWDATAJNZINITIALCMPAL,0FEHJZK0CMPAL,0FDHJZK1CMPAL,0FBHJZK2华北电力大学科技学院实验报告第页共页CMPAL,0F7HJZK3JMPINPUTINITIAL:MOVNOWDATA,ALCMPAL,0FEHJZINTIK0CMPAL,0FDHJZINTIK1CMPAL,0FBHJZINT