《微机原理与接口技术》实验报告姓名:班级:软124学号:1290742教师:纪平实验一存贮器读写实验一、实验目的:l、熟悉静态RAM的使用方法,掌握8088微机系统扩展RAM的方法。2、掌握静态RAM读写数据编程方法。二、实验内容对指定地址区间的RAM(2000H~23FFH)先进行写数据55AAH,然后将其内容读出再写到3000H~33FFH中。三、硬件电路(系统中已连接好)实验总结:把设备连好,然后把代码敲进里面运行,查看那几个内存单元的数据,本次实验对软件有了初步的了解,熟悉了编辑、调试程序,连续运行等内容。实验二8259单级中断控制器实验一、实验目的1.掌握8259中断控制器的接口方法。2.掌握8259中断控制器的应用编程。二,硬件线路连接⑴8259的INT连Xl5(8088的INTR)⑵8259的INTA连Xl2(8088INTA)⑶“”插孔和8259的3号中断IR3插孔相连,“”端初始为低电平。⑷8259的CS端接X22思考题:若用IR5产生中断,要求修改硬件和软件并调试成功。修改代码如下:CODESEGMENT;H8255-2.ASMASSUMECS:CODEIOCONPTEQU0FF2BHIOAPTEQU0FF28HIOBPTEQU0FF29HIOCPTEQU0FF2AHORG11e0HSTART:MOVAL,82HMOVDX,IOCONPTOUTDX,ALMOVDX,IOBPTINAL,DXMOVBYTEPTRDS:[0601H],ALMOVDX,IOCONPTMOVAL,80HOUTDX,ALMOVDX,IOBPTMOVAL,DS:[0601H]ORAL,0F0HOUTDX,ALMOVDX,IOCPTMOVAL,0FFHOUTDX,ALMOVDX,IOBPTMOVAL,00FHOUTDX,ALCALLDELAY1IOLED0:MOVAL,01011111BMOVDX,IOBPTOUTDX,ALMOVAL,11111010BMOVDX,IOCPTOUTDX,ALCALLDELAY1CALLDELAY1ORAL,0FFHOUTDX,ALMOVCX,8HIOLED1:MOVDX,IOCPTMOVAL,DS:[0601H]ANDAL,10101111BOUTDX,ALCALLDELAY2ORAL,01011111BOUTDX,ALCALLDELAY2LOOPIOLED1MOVDX,IOBPTMOVAL,00FHOUTDX,ALCALLDELAY2MOVAL,10101111BMOVDX,IOBPTOUTDX,ALMOVAL,11110101BMOVDX,IOCPTOUTDX,ALCALLDELAY1CALLDELAY1ORAL,0FFHOUTDX,ALMOVCX,8HIOLED2:MOVDX,IOCPTMOVAL,DS:[0601H]ANDAL,01011111BOUTDX,ALCALLDELAY2ORAL,10100000BOUTDX,ALCALLDELAY2LOOPIOLED2MOVDX,IOCPTMOVAL,0F0HOUTDX,ALCALLDELAY2JMPIOLED0DELAY1:PUSHAXPUSHCXMOVCX,0030HDELY2:CALLDELAY2LOOPDELY2POPCXPOPAXRETDELAY2:PUSHCXMOVCX,8000HDELA1:LOOPDELA1POPCXRETCODEENDSENDSTART实验总结:要换成IRT5中断,修改程序,修改控制字以及连线方式,对照着书上查格式,,掌握了下位机和计算机的简单连接方式。实验三8255A并行口实验一、实验目的1.掌握8255A和微机接口方法。2.掌握8255A的工作方式和编程原理。3.掌握通过8255A并行口传输数据的方法,以控制发光二极管的亮与灭。二、实验内容用8255做输出口,控制十二个发光管亮灭,模拟交通灯管理。硬件原理图如图5-2思考题如果通过8255A控制发光二极管,PB4-PB7对应红灯,PC0-PC3对应绿灯,PC4-PC7对应黄灯,以模拟交通路灯的管理,将如何实现。硬件连接如下:8255A:PC0-L3,PC1-L6,PC2-L9,PC3-L12,红PC4-L2,PC5-L5,PC6-L8,PC7-L11;绿PB4-L1,PB5-L4,PB6-L7,PB7-L10代码修改如下:CODESEGMENT;H8255-2.ASMASSUMECS:CODEIOCONPTEQU0FF2BHIOAPTEQU0FF28HIOBPTEQU0FF29HIOCPTEQU0FF2AHORG11e0HSTART:MOVAL,82HMOVDX,IOCONPTOUTDX,ALMOVDX,IOBPTINAL,DXMOVBYTEPTRDS:[0601H],ALMOVDX,IOCONPTMOVAL,80HOUTDX,ALMOVDX,IOBPTMOVAL,DS:[0601H]ORAL,0F0HOUTDX,ALMOVDX,IOCPTMOVAL,0FFHOUTDX,ALMOVDX,IOBPTMOVAL,00FHOUTDX,ALCALLDELAY1IOLED0:MOVAL,01011111BMOVDX,IOBPTOUTDX,ALMOVAL,11111010BMOVDX,IOCPTOUTDX,ALCALLDELAY1CALLDELAY1ORAL,0FFHOUTDX,ALMOVCX,8HIOLED1:MOVDX,IOCPTMOVAL,DS:[0601H]ANDAL,10101111BOUTDX,ALCALLDELAY2ORAL,01011111BOUTDX,ALCALLDELAY2LOOPIOLED1MOVDX,IOBPTMOVAL,00FHOUTDX,ALCALLDELAY2MOVAL,10101111BMOVDX,IOBPTOUTDX,ALMOVAL,11110101BMOVDX,IOCPTOUTDX,ALCALLDELAY1CALLDELAY1ORAL,0FFHOUTDX,ALMOVCX,8HIOLED2:MOVDX,IOCPTMOVAL,DS:[0601H]ANDAL,01011111BOUTDX,ALCALLDELAY2ORAL,10100000BOUTDX,ALCALLDELAY2LOOPIOLED2MOVDX,IOCPTMOVAL,0F0HOUTDX,ALCALLDELAY2JMPIOLED0DELAY1:PUSHAXPUSHCXMOVCX,0030HDELY2:CALLDELAY2LOOPDELY2POPCXPOPAXRETDELAY2:PUSHCXMOVCX,8000HDELA1:LOOPDELA1POPCXRETCODEENDSENDSTART实验总结:这个实验麻烦些,连的线比较多,代码也比较长,但如果多看几遍,读懂程序,修改就不是问题了。虽然实验箱只是一个小型的模拟平台,但是通过对它的学习和操作,我们对有关接口有了更深刻的了解。实验四8250串口实验一、实验目的(1)系统扩展以8250为核心的可编程串行异步通讯接口芯片。(2)对扩展的串行通讯接口实现自发自收。二、实验内容将寄存器AH的内容从10H开始通过8250发送、接收,每次收发后AH的内容自动增1直到FFH为止,再将每次接收到的数据,依次写到内存3000H~30EFH单元中,实现自发自收。思考题如果使用通讯协议:1个起始位,7位数据位,2个停止位,波特率:9600。系统将如何实现。实验实现代码如下:CODESEGMENT;H8250.ASMASSUMECS:CODE;H8250.ASMDATAEQU0ff80H;BTS-LSBMSBEQU0ff81HLINEEQU0ff83HLSTATEQU0ff85HPAEQU0FF20H;字位口PBEQU0FF21H;字形口PCEQU0FF22H;键入口ORG29A0HSTART:JMPSTART0BUFDB?,?,?,?,?,?data1:db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1hdb86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FHSTART0:MOVAL,80H;DLAB=1MOVDX,LINEOUTDX,ALMOVAL,0cH;BTS=9600MOVDX,DATA;ff80HOUTDX,ALMOVDX,MSBMOVAL,00OUTDX,ALMOVAL,06H;7-BIT,2-STOPMOVDX,LINEOUTDX,ALMOVAL,00;NO-INTMOVDX,MSB;8001HOUTDX,ALMOVAH,10HMOVBX,4000HMAIN:CALLTXDCALLRCVMOV[BX],ALINCBXINCAHCMPAH,00HJNZMAINCALLBUF1MOVCX,00FFHS3:PUSHCXCALLDISPPOPCXLOOPS3CALLBUF3S1:CALLDISPJMPS1TXD:MOVDX,LSTATWAIT1:INAL,DXTESTAL,20HJZWAIT1MOVAL,AHMOVDX,DATAOUTDX,ALRETRCV:MOVDX,LSTATWAIT2:INAL,DXTESTAL,01HJZWAIT2TESTAL,0EHJNZERRMOVDX,DATAINAL,DXRETERR:CALLBUF2S2:CALLDISPJMPS2DISP:MOVAL,0FFH;00HMOVDX,PAOUTDX,ALMOVCL,0DFH;20H;显示子程序,5msMOVBX,OFFSETBUFDIS1:MOVAL,[BX]MOVAH,00HPUSHBXMOVBX,OFFSETDATA1ADDBX,AXMOVAL,[BX]POPBXMOVDX,PBOUTDX,ALMOVAL,CLMOVDX,PAOUTDX,ALPUSHCXDIS2:MOVCX,00A0HDELAY:LOOPDELAYPOPCXCMPCL,0FEH;01HJZLX1INCBXRORCL,1;SHRCL,1JMPDIS1LX1:MOVAL,0FFHMOVDX,PBOUTDX,ALRETBUF1:MOVBUF,08HMOVBUF+1,02HMOVBUF+2,05HMOVBUF+3,00HMOVBUF+4,17HMOVBUF+5,17HRETBUF2:MOVBUF,08HMOVBUF+1,02HMOVBUF+2,05HMOVBUF+3,00HMOVBUF+4,0EHMOVBUF+5,18HRETBUF3:MOVBUF,09HMOVBUF+1,00HMOVBUF+2,00HMOVBUF+3,0DHMOVBUF+4,10HMOVBUF+5,10HRETCODEENDSENDSTART实验总结:实验过程中把学过的计算机编译原理的知识强化,能够把课堂上学的知识通过自己设计的程序表示出来,加深了对理论知识的理解。这个实验做的最快,但如果要白手起家做这个实验,代码可能没几个能写出来的,不过思考题很简单,因为代码后面给出了注释,所以改的也快实验五A/D转换实验一、实验目的了解模/数转换基本原理,掌握ADC0809的使用方法;二、实验内容1、A/D转换实验利用实验系统上电位器提供的可调电压作为0809模拟信号的输入,编制程序,将模拟量转换为数字量,通过数码管显示出来。实验步骤①将0809CS4插孔连到译码输出FF80H插孔。②将通道0模拟量输入端IN0连电位器W1的中心插头AOUT1(0-5V)插孔,8MHZ→T。③运行实验程序,系统上显示“0809XX”。“XX”表示输入模拟量转换后的数字量。④调节电位器Wl,显示器上会不断显示新的转换结果。模拟量和数字量对应关系的典型值为:0V→00H+2.5V→80H+5V→FFH⑤按RST键退出。实验体会与感悟:在这些日子里,通过微机原理课实验,学到很多东西,不仅巩固了以前所学过的知识,而且学到了很多