《微机原理 实验报告.doc》由会员分享,可在线阅读,更多相关《微机原理 实验报告.doc(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、微机原理与接口技术实验指导书班级 学号 姓名 安徽工业大学计算机学院实验一 存贮器读写实验一、实验内容 对指定地址区间的RAM(4000H4FFH)先进行写数据55AAH,然后将其内容读出再写到5000H5FFH中。二、实验步骤 l、将实验系统与PC机连接;2、在PC机上启功DJ-8086k软件,实验系统进入联机状态;3、在DJ-8086k软件环境下编辑、调试程序,将程序调试、编译通过;4、运行程序。5、稍后按RST键退出,用存贮器读方法检查4000H43FFH中的内容和500053FFH中的内容应都是55AA。三、实验程序清单CODE SEGMENT ;RAM.ASMASSUME CS:CO
2、DEPA EQU 0FF20H ;字位口PB EQU 0FF21H ;字形口PC EQU 0FF22H ;键入口ORG 1850hSTART: JMP START0BUF DB ?,?,?,?,?,?data1: db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1h db 86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FHSTART0: MOV AX,0H MOV DS,AX MOV BX,4000H MOV AX,55AAH MOV CX,0200HRAMW1: MOV
3、DS:BX,AX ADD BX,0002H LOOP RAMW1 MOV AX,4000H MOV SI,AX MOV AX,5000H MOV DI,AX MOV CX,0400H CLD REP MOVSB call buf1 mov cx,0ffhcon1: push cx call disp pop cx loop con1 call buf2con2: call disp jmp con2DISP: MOV AL,0FFH ;00H MOV DX,PA OUT DX,AL MOV CL,0DFH ;20H ;显示子程序 ,5ms MOV BX,OFFSET BUFDIS1: MOV
4、AL,BX MOV AH,00H PUSH BX MOV BX,OFFSET DATA1 ADD BX,AX MOV AL,BX POP BX MOV DX,PB OUT DX,AL MOV AL,CL MOV DX,PA OUT DX,AL PUSH CXDIS2: MOV CX,00A0H LOOP $ POP CXCMP CL,0FEH ;01HJZ LX1INC BXROR CL,1 ;SHR CL,1JMP DIS1LX1: MOV AL,0FFHMOV DX,PBOUT DX,ALRETBUF1: MOV BUF,06H MOV BUF+1,02H MOV BUF+2,02H MO
5、V BUF+3,05H MOV BUF+4,06H MOV BUF+5,17H RETBUF2: MOV BUF,17H MOV BUF+1,17H MOV BUF+2,09H MOV BUF+3,00H MOV BUF+4,00H MOV BUF+5,0dH RETCODE ENDSEND START四、实验总结 通过该实验让我们了解了如何对存储器进行读写,写入存储器后,如何通过机器检查存储单元内的内容,通过该实验让我对计算机的存储器有了更进一步的认识。实验二 8259单级中断控制器实验一、实验内容 利用8259实现对外部中断的响应和处理,要求程序对每次中断进行计数,并将计数结果送数码显示。
6、二、实验步骤 1、按实验原理图连好实验线路图。8259的INT连8088的INTR;8259的INTA连8088的INTA;“ ”插孔和8259的3号中断IR7插孔相连,“ ”端初始为低电平;8259的CS端接FF80H孔。2、输入并运行实验程序,系统显示82591。 3、按动AN开关按钮, 按满5次显示good。三、程序清单CODE SEGMENT ;ASSUME CS:CODEINTPORT1 EQU 0FF80HINTPORT2 EQU 0FF81HINTQ3 EQU INTREEUP3INTQ7 EQU INTREEUP7PA EQU 0FF20H ;字位口PB EQU 0FF21H
7、;字形口PC EQU 0FF22H ;键入口ORG 12D0HSTART: JMP START0BUF DB ?,?,?,?,?,?intcnt db ?data1: db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1hdb 86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FHSTART0:CLDCALL BUF1CALL WRINTVER ;WRITE INTRRUPTMOV AL,13HMOV DX,INTPORT1OUT DX,ALMOV AL,08HMOV DX,IN
8、TPORT2OUT DX,ALMOV AL,09HOUT DX,ALMOV AL,0DFHOUT DX,ALMOV intcnt,01H;TIME=1STIWATING: CALL DISP ;DISP 8259-1JMP WATINGWRINTVER:MOV AX,0H MOV ES,AX MOV DI,0034H LEA AX,INTQ3 STOSW MOV AX,0000h STOSW MOV DI,003CH LEA AX,INTQ7STOSW MOV AX,0000h STOSW RETINTREEUP3:CLI push ax push bx push cx push dx MOV
9、 AL,INTCNT CALL CONVERS MOV BX,OFFSET BUF ;077BH MOV AL,10H MOV CX,05HINTRE0: MOV BX,AL INC BX LOOP INTRE0 MOV AL,20H MOV DX,INTPORT1 OUT DX,AL ADD INTCNT,01H CMP INTCNT,06H JNA INTRE2 CALL BUF2 ;DISP:goodINTRE1: CALL DISP JMP INTRE1CONVERS: AND AL,0FH MOV BX,offset buf ;077AH MOV BX+5,AL RETINTRE2:
10、 MOV AL,20H MOV DX,INTPORT1 OUT DX,AL pop dx pop cx pop bx pop ax STI IRETINTREEUP7:CLI MOV AL,20H MOV DX,INTPORT1 OUT DX,AL call buf3 ;disp:errINTRE3: CALL DISP JMP INTRE3DISP: MOV AL,0FFH ;00HMOV DX,PAOUT DX,ALMOV CL,0DFH ;20H ;显示子程序 ,5msMOV BX,OFFSET BUFDIS1: MOV AL,BX MOV AH,00H PUSH BX MOV BX,O
11、FFSET DATA1 ADD BX,AX MOV AL,BXPOP BXMOV DX,PBOUT DX,ALMOV AL,CLMOV DX,PAOUT DX,ALPUSH CXDIS2:MOV CX,00A0H LOOP $ POP CXCMP CL,0FEH ;01HJZ LX1INC BXROR CL,1 ;SHR CL,1JMP DIS1LX1: MOV AL,0FFHMOV DX,PBOUT DX,ALRETCODE ENDSEND START四、实验小结 通过8259单级中断控制器实验,让我对8259中断控制器的接口方法和8259中断控制器的应用编程有了一定的了解。实验三 8255
12、A并行口实验一、实验内容 用8255做输出口,控制十二个发光管亮灭,模拟交通灯管理。二、实验步骤 在系统显示监控提示符“P.”时,按SCAL键。按实验原理图连好实验线路8255A:PB4-PB7对应红灯, PC0-PC3对应绿灯, PC4-PC7对应黄灯在“P.”态时,输入11E0后,按EXEC键;系统显示执行符“”,同时Ll-Ll5发光二极管模拟交通灯显示。三、实验程序清单CODE SEGMENT ;H8255-2.ASMASSUME CS:CODEIOCONPT EQU 0FF2BHIOAPT EQU 0FF28HIOBPT EQU 0FF29HIOCPT EQU 0FF2AHORG 11
13、e0HSTART:MOV AL,82HMOV DX,IOCONPTOUT DX,ALMOV DX,IOBPTIN AL,DXMOV BYTE PTR DS:0601H,ALMOV DX,IOCONPTMOV AL,80HOUT DX,ALMOV DX,IOBPTMOV AL,DS:0601HOR AL,0F0HOUT DX,ALMOV DX,IOCPTMOV AL,0F0HOUT DX,ALCALL DELAY1IOLED0: MOV AL,BMOV DX,IOCPTOUT DX,ALCALL DELAY1CALL DELAY1OR AL,0F0HOUT DX,ALMOV CX,8HIOLED
14、1: MOV DX,IOBPTMOV AL,DS:0601HAND AL,BOUT DX,ALCALL DELAY2OR AL,BOUT DX,ALCALL DELAY2LOOP IOLED1MOV DX,IOCPTMOV AL,0F0HOUT DX,ALCALL DELAY2MOV AL,BOUT DX,ALCALL DELAY1CALL DELAY1OR AL,0F0HOUT DX,ALMOV CX,8HIOLED2: MOV DX,IOBPTMOV AL,DS:0601HAND AL,BOUT DX,ALCALL DELAY2OR AL,BOUT DX,ALCALL DELAY2LOOP
15、 IOLED2MOV DX,IOCPTMOV AL,0F0HOUT DX,ALCALL DELAY2JMP IOLED0DELAY1: PUSH AXPUSH CXMOV CX,0030HDELY2: CALL DELAY2LOOP DELY2POP CXPOP AXRETDELAY2: PUSH CXMOV CX,8000HDELA1: LOOP DELA1POP CXRETCODE ENDSEND START四、实验小结 通过该实验,让我掌握了如何通过8255控制发光二级管,以及发光二级管的工作原理。实验四 8250串口实验一、实验内容 将寄存器AH的内容从10H开始通过8250发送、接收
16、,每次收发后AH的内容自动增1直到FFH为止,同时将每次接收到的数据,依次写到内存4000H40EFH单元中,实现自发自收。二、实验步骤 1.用扁平线连JX0(BUS)到JX3(D0D7),连FF80H孔到CS7,连TXD到RXD(8250实验区)。2.编辑、调试、运行程序。3.当系统显示“8250good”表示自发自收结束,按RST键,系统返回P态,用内存读写命令检查4000H40EFH内容是否为10HFFH,验证其正确性。三、实验程序清单 CODE SEGMENT ;H8250.ASMASSUME CS:CODE ;H8250.ASMDATAEQU0ff80H;BTS-LSBMSBEQU0
17、ff81HLINEEQU 0ff83HLSTATEQU0ff85HPA EQU 0FF20H ;字位口PB EQU 0FF21H ;字形口PC EQU 0FF22H ;键入口ORG 29A0HSTART: JMP START0BUF DB ?,?,?,?,?,?data1:db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1h db 86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FHSTART0: MOV AL,80H;DLAB=1MOV DX,LINEOUT DX,ALM
18、OV AL,0cH;BTS=9600MOV DX,DATA ;ff80HOUT DX,ALMOV DX,MSBMOV AL,00OUT DX,AL;-MOV AL,06H7- BIT ,2-STOPMOV DX,LINEOUT DX,AL;-MOV AL,00;NO-INTMOV DX,MSB ;8001HOUT DX,ALMOV AH,10HMOV BX,4000HMAIN:CALL TXDCALL RCVMOV BX,ALINC BXINC AHCMP AH,00HJNZ MAINCALL BUF1MOV CX,00FFHS3: PUSH CXCALL DISPPOP CXLOOP S3C
19、ALL BUF3S1: CALL DISP JMP S1TXD: MOV DX,LSTATWAIT1:IN AL,DXTEST AL,20HJZ WAIT1MOV AL,AHMOV DX,DATAOUT DX,ALRETRCV: MOV DX,LSTATWAIT2: IN AL,DXTEST AL,01HJZ WAIT2TEST AL,0EHJNZ ERRMOV DX,DATAIN AL,DXRETERR: CALL BUF2S2: CALL DISP JMP S2;-DISP: MOV AL,0FFH ;00H MOV DX,PA OUT DX,AL MOV CL,0DFH ;20H ;显示
20、子程序 ,5ms MOV BX,OFFSET BUFDIS1: MOV AL,BX MOV AH,00H PUSH BX MOV BX,OFFSET DATA1 ADD BX,AX MOV AL,BXPOP BXMOV DX,PBOUT DX,ALMOV AL,CLMOV DX,PAOUT DX,AL PUSH CXDIS2: MOV CX,00A0HDELAY: LOOP DELAY POP CX CMP CL,0FEH ;01H JZ LX1 INC BX ROR CL,1 ;SHR CL,1 JMP DIS1LX1: MOV AL,0FFH MOV DX,PB OUT DX,AL RET
21、CODE ENDSEND START四、实验小结 通过该实验让我对系统扩展以8250为核心的可编程串行异步通讯接口芯片有了一定了了解,实现了对扩展的串行通讯接口实现自发自收。该实验让我对8250有了更深一步的认识。实验五 A/D转换实验一、实验内容利用实验系统上电位器提供的可调电压作为0809模拟信号的输入,编制程序,将模拟量转换为数字量,通过数码管显示出来。二、实验步骤 将0809 CS4插孔连到译码输出FF80H插孔。 将通道0模拟量输入端IN0连电位器W1的中心插头AOUT1(05V)插孔,8MHZT。 运行实验程序,系统上显示“0809 XX”。“XX”表示输入模拟量转换后的数字量。
22、调节电位器Wl, 显示器上会不断显示新的转换结果。模拟量和数字量对应关系的典型值为:0V00H+2.5V80H+5VFFH 按RST键退出。三、实验程序清单CODE SEGMENT ;ASSUME CS:CODEADPORT EQU 0FF80hPA EQU 0FF20H ;字位口PB EQU 0FF21H ;字形口PC EQU 0FF22H ;键入口 ORG 1000HSTART: JMP START0BUF DB ?,?,?,?,?,?data1: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1h db 86
23、h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FHSTART0: CALL BUF1ADCON: MOV AX,00 MOV DX,ADPORT OUT DX,AL MOV CX,0500H;DELAY: LOOP DELAY MOV DX,ADPORT IN AL,DX CALL CONVERS CALL DISP JMP ADCONCONVERS: MOV AH,AL AND AL,0FH MOV BX,OFFSET BUF MOV BX+5,AL MOV AL,AH AND AL,0F0H MOV CL,04H SHR AL,CL MOV BX+
24、4,AL RETDISP: MOV AL,0FFH MOV DX,PAOUT DX,ALMOV CL,0DFH MOV BX,OFFSET BUFDIS1: MOV AL,BX MOV AH,00HPUSH BXMOV BX,OFFSET DATA1 ADD BX,AX MOV AL,BXPOP BXMOV DX,PBOUT DX,ALMOV AL,CLMOV DX,PAOUT DX,ALPUSH CXDIS2: MOV CX,00A0H LOOP $ POP CXCMP CL,0FEH JZ LX1INC BXROR CL,1 JMP DIS1LX1: MOV AL,0FFHMOV DX,PBOUT DX,ALRETBUF1: MOV BUF,00H MOV BUF+1,08H MOV BUF+2,00H MOV BUF+3,09H MOV BUF+4,00H MOV BUF+5,00H RETCODE ENDSEND START