8086实验指导书微机原理实验室实验一、简单I/O口扩展实验一、实验目的:1、认识简单输入输出接口的工作原理。2、掌握D触发器(74LS273)和缓冲器(74LS244)的引脚及使用方法。二、实验内容:1、熟悉74LS273、74LS244的应用接口方法。2、熟悉用锁存器、三态门扩展简单并行输入、输出口的方法。用逻辑电平开关作为74LS244的输入,用发光二极管作为74LS273的输出,编写程序使得电平开关的输入状态从发光二极管上显示出来。逻辑电平开关拨上时为5V,发光二极管输入“1”为亮、“0”为灭。三、实验原理图UVuv四、实验步骤1、连线:将74LS244(IC25)的输入SI0~SI7分别与逻辑电平开关的K1~K8相连,从I/O地址片选信号中选择CS0与74LS244的片选信号(CSU10\)相连(例如CS0\)。将74LS273(IC24)的输出与SO0~SO7分别与发光二极管电路的L1\~L8\相连,从I/O地址片选信号选择CS1与74LS273的片选信号相连。2、编写程序,单步运行,调试程序。3、观察实验现象,并编写实验报告。五、实验说明用逻辑电平开关作为74LS244(IC25)的输入,用发光二极管作为74LS273(IC24)的输出,编写程序,使得逻辑电平开关的输入状态从发光二极管上显示出来。逻辑电平开关拨上时为5V,拨下时为0V。发光二极管输入‘1’为亮,‘0’为灭。从74LS244读入的数据应求反后从输出口输出。六、实验程序框图七、实验程序举例assumecs:codecodesegmentpublicorg100hstart:movdx,04a0hinal,dxmovdx,04b0houtdx,aljmpstartcodeendsendstart实验二、8255A并行口实验一、实验目的:(1)掌握通过8255A实现并行接口实验。(2)掌握8255A的编程方法。二、实验内容:1、掌握8255A的编程原理2、熟悉计算机并行接口的使用方法将8255A的A端口作为输入用,B端口作为输出用,用逻辑电平开关作为A端口的输入,用发光二极管作为B端口的输出,编写程序使得电平开关的输入状态从发光二极管上显示出来。逻辑电平开关拨上时为5V,发光二极管输入“1”为亮、“0”为灭。三、实验原理图四、实验步骤:1、在实验系统上连接线路:将8255A(IC37)的PA0~PA7分别与逻辑电平开关的K1~K8相连;PB0~PB7与发光二极管的L1~L8相连。从I/O地址片选信号中选择CS0与8255A的片选(CS8255)端相连。2、编辑程序,单步运行,调试程序。3、程序调试通过后,全速运行,观察试验结果,并编写实验报告。五、实验说明逻辑电平开关拨上时5V,拨下时0V;发光二极管输入为‘1’时亮,输入为‘0’时灭。拨动开关,观察发光二极管的变化。当开关某位拨上时,对应的发光二极管点亮,拨下时灭。六、实验程序框图七、实验程序举例assumecs:codecodesegmentpublicorg100hstart:movdx,04a6hmovax,90houtdx,axstart1:movdx,04a0hinax,dxmovdx,04a2houtdx,axmovdx,04a4houtdx,axjmpstart1codeendsendstart实验三8253定时器/计数器接口试验一、实验目的掌握8253定时器的编程原理,用示波器或A/D、D/A卡观察不同模式下的输出波形。二、实验内容编程将计数器0,1,2设置为模式2(分频方式),并观察其输出波形。三、实验原理图四、实验步骤1、连线:从CS0\~CS7中任选一个(如CS0\)于8253的片选信号(CS8253)相连,8253的OUTO与CLK2相连,OUT2与发光二极管L1相连,OUT1接示波器。有A/D、D/A卡的输出与实验箱的j2相连。在软件DB86种打开波形观察窗口可观察波形。2、编写并调试程序,通过后全速运行,观察实验结果,并编写实验报告。五、实验说明8253的时钟端CLK0,CLK1均为1M/8。CLK2的时钟由OUT来控制。六、实验程序框图七、实验程序举例assumecs:codecodesegmentpublicorg100hstart:movdx,04a6hmovax,36houtdx,axmovdx,04a0hmovax,24houtdx,axmovax,0f4houtdx,axmovdx,04a6hmovax,76houtdx,axmovdx,04a2hmovax,0ahoutdx,axmovax,0outdx,axmovdx,04a6hmovax,0b6houtdx,axmovdx,04a4hmovax,20houtdx,axmovax,0outdx,axloop:movdx,04b0hmovax,34houtdx,axmovdx,04c0hmovbp,1h;modifylay1:decbpcmpbp,0jnelay1wait1:inax,dxandax,1cmpax,1jnewait1movdx,04b0hinax,dxandax,0ffhnopjmploopcodeends;endofcodesegmentendstart;endassembly实验四A/D实验一、实验目的熟悉A/D转换的基本原理,掌握ADC0809的使用方法。二、实验内容按查询方式采样三路A/D转换数据,用简单输入口(74LS244)查询EOC信号。每循环一次0,1,2通道个采样一次。采样结果是0通道放入CX中,CL有效,1通道放入BX中,BL有效,2通道放入AX中,AL有效。三、实验原理图四、实验步骤1、连线:将可变电位器KB1,KB2,KB3分别与ADC0809的IN0,IN1,IN2相连,从CS0\~CS3中任选一个(如CS0\)与ADC0809的片选(CS0809)端相连。将ADC0809的EOC与IC25(74LS244)的SI0相连,从CS0~CS7中任选一个(如CS1\)与IC25的片选(CSU10\)端相连。2、编写并调试程序,通过后设置断点全速运行,观察实验结果,并编写实验报告。五、实验说明实验电路中启动信号START与地址锁存信好相连,所以启动A/D转换的方法为:MOV,DX,PADC;PADC是ADC0809的端口地址OUT,AL,DX;发片选及IOW信号,这是0通道;启动1通道时,DX应加1六、实验程序框图七、实验程序举例assumecs:codecodesegmentpublicorg100hstart:movdx,04a0hmovax,34houtdx,axmovdx,04b0hmovbp,1000hlay1:decbpcmpbp,0jnelay1wait1:inax,dxandax,1cmpax,1jnewait1movdx,04a0hinax,dxandax,0ffhmovcx,axmovdx,04a2hmovax,34houtdx,axmovbp,1000hlay2:decbpcmpbp,0jnelay2movdx,04b0hwait2:inax,dxandax,1cmpax,1jnewait2movdx,04a2hinax,dxandax,0ffhmovbx,axmovdx,04a4hmovax,34houtdx,axmovbp,1000hlay3:decbpcmpbp,0jnelay3movdx,04b0hwait3:inax,dxandax,1cmpax,1jnewait3movdx,04a4hinax,dxandax,0ffhnopjmpstartcodeends;endofcodesegmentendstart;endassembly实验五D/A实验一、实验目的熟悉数模转换的基本原理,掌握DAC0832的使用方法。二、实验内容看懂接口电路后连好硬件线路,编写程序已产生以下两种波形并用示波器观察。1、锯齿波形3、三角波形三、实验原理图四、实验步骤1、连线:从CS0\~CS7\中任选一个(如CS0\)与DAC0832的片选(CS0832)端相连。将示波器接至DAC0832的输出端OUT。具体连接方法与实验三相同。2、编写并调试程序,通过后全速运行,产生不同波形。观察实验结果,并编写实验报告。五、实验说明DAC0832再上图所示的接口电路中,KB6调节参考电压VREF,KB5调节DA的零点,KB4调节DA的瞒偏,DAC0832工作在双缓冲接口方式下。当A1=0时可锁存输入数据,当A1=1时,可启动转换输出。六、实验程序框图七、实验程序举例1、产生锯齿波程序assumecs:codecodesegmentpublicorg100hstart:movdx,04a0hup1:movbx,0up2:movax,bxoutdx,axmovdx,04a2houtdx,axmovdx,04a0hincbxcmpbx,0ffhjneup2jmpup1codeends;endofcodesegmentendstart;endassembly2、产生三角波程序assumecs:codecodesegmentpublicorg100hstart:movdx,04a0hup1:movbx,0up2:movax,bxoutdx,axmovdx,04a2houtdx,axincbxmovdx,04a0hcmpbx,0ffhjneup2up3:movax,bxoutdx,axmovdx,04a2houtdx,axdecbxmovdx,04a0hcmpbx,0jneup3jmpup1codeends;endofcodesegmentendstart;endassembly实验六8250串口实验一、实验目的1、熟悉串行通信的一般原理和8250的工作原理;2、了解RS—232串行接口标准及连接方法;3、掌握8250芯片的编程方法。二、实验内容在实验箱与PC机(上位机)之间实行串行通信,按下面流程图编写程序,主机每下传一个字符,如通讯正确,则下位机返回一个同样的字符;如果不正确,则无返回或返回值不相同。三、实验原理图四、实验步骤1、用通信电缆连接实验箱与PC机;2、编写程序(8250各引脚线路均已接好);3、在主机上运行DB86,下载实验程序T6.asm,并全速运行;4、主机退出DB86,启动实验六的上位机驱动程序T6UP.EXE,首先选择串行口,然后输入ASCII码,看是否有返回。若要退出T6UP.EXE,按回车键。五、实验说明上下机波特率均选用9600Bit。上下机均用查询方式。8250的端口地址为0480起始的偶地址单元。8250的时钟为1.8432MHz。六、实验程序框图七、实验程序举例1、下位机程序;*******************************************codesegment;definedatasegmentassumecs:codeorg0100hstart:movbx,0480hmovdx,bxadddx,6movax,80houtdx,axmovdx,bxmovax,0ch;000ch---9600,clk=4.77MHZ/4;AL=4770000/16/9600/4=8outdx,axadddx,2movax,0houtdx,axadddx,4;movdx,3fbhmovax,07;nope,8bit,1stopoutdx,axmovdx,bxadddx,2;movdx,3f9h;nointeruptmovax,0outdx,axadddx,8h;movdx,3fdhinax,dxmovdx,bx;movdx,3f8hinax,dxcrd:callrecvcallsendjmpcrdsend:pushaxmovbx,0480hmovdx,bxadddx,0ah;movdx,3fdhinax,dxtestax,20hjnzrecv2popaxjmpsendrecv2:popaxmovdx,bx;movdx,3f8houtdx,a