微机原理与接口技术
实验报告
姓 名 专 业 班 级 学 号 指导教师 计算机科学与技术
安徽工业大学计算机学院
20xx年5月21
日
微机原理与接口技术实验报告
实验一存贮器读写实验
一、实验目的
l、熟悉静态RAM的使用方法,掌握8088微机系统扩展RAM的方法。
2、掌握静态RAM读写数据编程方法。
二、实验内容
对指定地址区间的RAM(4000H~4FFH)先进行写数据55AAH,然后将其内容读出再写到5000H~5FFH中。
三、实验接线图(系统中已连接好)
四、实验步骤
l、将实验系统与PC机连接;
2、在PC机上启功DJ-8086k软件,实验系统进入联机状态;
3、在DJ-8086k软件环境下编辑、调试程序,将程序调试、编译通过;
4、运行程序。
5、稍后按RST键退出,用存贮器读方法检查4000H~43FFH中的内容和5000~53FFH中的内容应都是55AA。
五、本次实验总结(体会、感想与建议)
本次实验对DJ—8086k软件有了初步的了解,熟悉了DJ-8086k软件环境下编辑、调试程序,连续运行等内容,掌握了下位机和计算机的简单连接方式。
实验二 8259单级中断控制器实验
一、实验目的
⒈ 掌握8259中断控制器的接口方法。
2. 掌握8259中断控制器的应用编程。
二、实验内容
利用8259实现对外部中断的响应和处理,要求程序对每次中断进行计数,并将计数结果送数码显示。
三、实验程序框图
1
微机原理与接口技术实验报告
图6-2 主程序流程
IR3中断服务程序:
图6-3 IR3中断服务程序流程
IR7中断服务程序:
图6-4 IR7中断服务流程
四、实验步骤
1、按图6-1连好实验线路图。
2
微机原理与接口技术实验报告
⑴8259的INT连8088的INTR;⑵8259的INTA连8088的INTA;⑶“
插孔和8259的3号中断IR3插孔相连,“ ””端初始为低电平;⑷8259的CS端接FF80H孔。
2、输入并运行实验程序,系统显示8259-1。
3、按动AN开关按钮, 按满5次显示good。
五、思考题:
若用IR5产生中断,要求修改硬件和软件并调试成功。
修改代码如下:
CODE SEGMENT ;H8255-2.ASM
ASSUME CS:CODE
IOCONPT EQU 0FF2BH
IOAPT EQU 0FF28H
IOBPT EQU 0FF29H
IOCPT EQU 0FF2AH
ORG 11e0H
START: MOV AL,82H
MOV DX,IOCONPT
OUT DX,AL
MOV DX,IOBPT
IN AL,DX
MOV BYTE PTR DS:[0601H],AL
MOV DX,IOCONPT
MOV AL,80H
OUT DX,AL
MOV DX,IOBPT
MOV AL,DS:[0601H]
OR AL,0F0H
OUT DX,AL
MOV DX,IOCPT
MOV AL,0FFH
OUT DX,AL
MOV DX,IOBPT
MOV AL,00FH
OUT DX,AL
CALL DELAY1
IOLED0: MOV AL,01011111B
MOV DX,IOBPT
OUT DX,AL
MOV AL,11111010B
MOV DX,IOCPT
3
微机原理与接口技术实验报告
OUT DX,AL
CALL DELAY1
CALL DELAY1
OR AL,0FFH
OUT DX,AL
MOV CX,8H
IOLED1: MOV DX,IOCPT MOV AL,DS:[0601H] AND AL,10101111B OUT DX,AL
CALL DELAY2
OR AL,01011111B OUT DX,AL
CALL DELAY2
LOOP IOLED1
MOV DX,IOBPT MOV AL,00FH
OUT DX,AL
CALL DELAY2
MOV AL,10101111B MOV DX,IOBPT OUT DX,AL
MOV AL,11110101B MOV DX,IOCPT OUT DX,AL
CALL DELAY1
CALL DELAY1
OR AL,0FFH
OUT DX,AL
MOV CX,8H
IOLED2: MOV DX,IOCPT MOV AL,DS:[0601H] AND AL,01011111B OUT DX,AL
CALL DELAY2
OR AL,10100000B OUT DX,AL
CALL DELAY2
LOOP IOLED2
MOV DX,IOCPT MOV AL,0F0H
OUT DX,AL
CALL DELAY2
JMP IOLED0
4
微机原理与接口技术实验报告
DELAY1: PUSH AX
PUSH CX
MOV CX,0030H
DELY2: CALL DELAY2
LOOP DELY2
POP CX
POP AX
RET
DELAY2: PUSH CX
MOV CX,8000H
DELA1: LOOP DELA1
POP CX
RET
CODE ENDS
END START
六、本次实验总结
我认为,在学习中要考虑到“学以致用”,不能过分强调课程的系统性和基本理论的完整性,而应该侧重于基本方法和应用实例。从微机应用系统的应用环境和特点来看,微机系统如何与千变万化的外部设备、外部世界相连,如何与它们交换信息,是微机系统应用中的关键所在,培养一定的微机应用系统的分析能力和初步设计能力才是最终目的。
实验三8255A并行口实验
一、实验目的
掌握通过8255A并行口传输数据的方法,以控制发光二极管的亮与灭。
二、实验内容
用8255做输出口,控制十二个发光管亮灭,模拟交通灯管理。
三、实验程序框图
5
微机原理与接口技术实验报告
四、实验步骤
⒈ 在系统显示监控提示符“P.”时,按SCAL键。
⒉ 按图6-5连好实验线路
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
6
微机原理与接口技术实验报告
⒊ 在“P.”态时,输入11E0后,按EXEC键;系统显示执行符“┌”,同时Ll-Ll5发光二极管模拟交通灯显示。
五、思考题
如果通过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
代码修改如下:
CODE SEGMENT ;H8255-2.ASM
ASSUME CS:CODE
IOCONPT EQU 0FF2BH
IOAPT EQU 0FF28H
IOBPT EQU 0FF29H
IOCPT EQU 0FF2AH
ORG 11e0H
START: MOV AL,82H
MOV DX,IOCONPT
OUT DX,AL
MOV DX,IOBPT
IN AL,DX
MOV BYTE PTR DS:[0601H],AL
MOV DX,IOCONPT
MOV AL,80H
OUT DX,AL
MOV DX,IOBPT
MOV AL,DS:[0601H]
OR AL,0F0H
OUT DX,AL
MOV DX,IOCPT
MOV AL,0FFH
OUT DX,AL
MOV DX,IOBPT
MOV AL,00FH
OUT DX,AL
CALL DELAY1
IOLED0: MOV AL,01011111B
MOV DX,IOBPT
OUT DX,AL
MOV AL,11111010B
MOV DX,IOCPT
7
微机原理与接口技术实验报告
OUT DX,AL
CALL DELAY1
CALL DELAY1
OR AL,0FFH
OUT DX,AL
MOV CX,8H
IOLED1: MOV DX,IOCPT MOV AL,DS:[0601H] AND AL,10101111B OUT DX,AL
CALL DELAY2
OR AL,01011111B OUT DX,AL
CALL DELAY2
LOOP IOLED1
MOV DX,IOBPT MOV AL,00FH
OUT DX,AL
CALL DELAY2
MOV AL,10101111B MOV DX,IOBPT OUT DX,AL
MOV AL,11110101B MOV DX,IOCPT OUT DX,AL
CALL DELAY1
CALL DELAY1
OR AL,0FFH
OUT DX,AL
MOV CX,8H
IOLED2: MOV DX,IOCPT MOV AL,DS:[0601H] AND AL,01011111B OUT DX,AL
CALL DELAY2
OR AL,10100000B OUT DX,AL
CALL DELAY2
LOOP IOLED2
MOV DX,IOCPT MOV AL,0F0H
OUT DX,AL
CALL DELAY2
JMP IOLED0
8
微机原理与接口技术实验报告
DELAY1: PUSH AX
PUSH CX
MOV CX,0030H
DELY2: CALL DELAY2
LOOP DELY2
POP CX
POP AX
RET
DELAY2: PUSH CX
MOV CX,8000H
DELA1: LOOP DELA1
POP CX
RET
CODE ENDS
END START
六、本次实验总结
虽然实验箱只是一个小型的模拟平台,但是通过对它的学习和操作,我们对有关接口的知识将会有一个更广泛的认识,而且它对我们以后的学习也会有帮助的。而且实验也教会我们在团队中要善于与人相处,与人共事,为以后出去工作与人合作打下一定的基础。
实验四8250串口实验
一、实验目的
(1)系统扩展以8250为核心的可编程串行异步通讯接口芯片。
(2)对扩展的串行通讯接口实现自发自收。
二、实验内容
将寄存器AH的内容从10H开始通过8250发送、接收,每次收发后AH的内容自动增1直到FFH为止,同时将每次接收到的数据,依次写到内存4000H~40EFH单元中,实现自发自收。
三、实验步骤
1.用扁平线连JX0(BUS)到JX3(D0~D7),连FF80H孔到CS7,连TXD到RXD(8250实验区)。
2.编辑、调试、运行程序。
9
微机原理与接口技术实验报告
3.当系统显示“8250——good”表示自发自收结束,按RST键,系统返回P态,用内存读写命令检查4000H~40EFH内容是否为10H~FFH,验证其正确性。
四、思考题
如果使用通讯协议:1个起始位,7位数据位,2个停止位,波特率:9600。 系统将如何实现。
实验实现代码如下:
CODE SEGMENT ;H8250.ASM
ASSUME CS: CODE ;H8250.ASM
DATA EQU 0ff80H ;BTS-LSB
MSB EQU 0ff81H
LINE EQU 0ff83H
LSTAT EQU 0ff85H
PA EQU 0FF20H ;字位口
PB EQU 0FF21H ;字形口
PC EQU 0FF22H ;键入口
ORG 29A0H
START: JMP START0
BUF DB ?,?,?,?,?,?
data1:
db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0
c6h,0a1h
db 86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FH
START0: MOV AL,80H ;DLAB=1
MOV DX,LINE
OUT DX,AL
MOV AL,0cH ;BTS=9600
MOV DX,DATA ;ff80H
OUT DX,AL
MOV DX,MSB
MOV AL,00
OUT DX,AL
;—————————————————–
MOV AL,06H ;7- BIT ,2-STOP
MOV DX,LINE
OUT DX,AL
;————————————————–
MOV AL,00 ;NO-INT
MOV DX,MSB ;8001H
OUT DX,AL
MOV AH,10H
MOV BX,4000H
MAIN: CALL TXD
10
微机原理与接口技术实验报告
CALL RCV
MOV [BX],AL
INC BX
INC AH
CMP AH,00H
JNZ MAIN
CALL BUF1
MOV CX,00FFH
S3: PUSH CX
CALL DISP
POP CX
LOOP S3
CALL BUF3
S1: CALL DISP
JMP S1
TXD: MOV DX,LSTAT
WAIT1: IN AL,DX
TEST AL,20H
JZ WAIT1
MOV AL,AH
MOV DX,DATA
OUT DX,AL
RET
RCV: MOV DX,LSTAT
WAIT2: IN AL,DX
TEST AL,01H
JZ WAIT2
TEST AL,0EH
JNZ ERR
MOV DX,DATA
IN AL,DX
RET
ERR: CALL BUF2
S2: CALL DISP
JMP S2
;—————————————————— DISP: MOV AL,0FFH ;00H
MOV DX,PA
OUT DX,AL
MOV CL,0DFH ;20H ;显示子程序 ,5ms MOV BX,OFFSET BUF
DIS1: MOV AL,[BX]
MOV AH,00H
PUSH BX
11
微机原理与接口技术实验报告
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 CX
DIS2: MOV CX,00A0H
DELAY: LOOP DELAY
POP CX
CMP CL,0FEH ;01H
JZ LX1
INC BX
ROR CL,1 ;SHR CL,1
JMP DIS1
LX1: MOV AL,0FFH
MOV DX,PB
OUT DX,AL
RET
BUF1: MOV BUF,08H
MOV BUF+1,02H
MOV BUF+2,05H
MOV BUF+3,00H
MOV BUF+4,17H
MOV BUF+5,17H
RET
;————————————————————- BUF2: MOV BUF,08H
MOV BUF+1,02H
MOV BUF+2,05H
MOV BUF+3,00H
MOV BUF+4,0EH
MOV BUF+5,18H
RET
BUF3: MOV BUF,09H
MOV BUF+1,00H
MOV BUF+2,00H
MOV BUF+3,0DH
MOV BUF+4,10H
MOV BUF+5,10H
RET
12
微机原理与接口技术实验报告
CODE ENDS
END START
五、本次实验总结
实验过程中把学过的计算机编译原理的知识强化,能够把课堂上学的知识通过自己设计的程序表示出来,加深了对理论知识的理解。以前对与计算机操作系统的认识是模糊的,概念上的,现在通过自己动手做实验,从实践上认识了操运行,对计算机编译原理的认识更加深刻.。
实验五 A/D转换实验
一、实验目的
了解模/数转换基本原理,掌握ADC0809的使用方法;
二、实验内容
A/D转换实验
利用实验系统上电位器提供的可调电压作为0809模拟信号的输入,编制程序,将模拟量转换为数字量,通过数码管显示出来。
三、实验流程图
图6-10 A/D转换流程
四、实验步骤
① 将0809 CS4插孔连到译码输出FF80H插孔。
13
微机原理与接口技术实验报告
② 将通道0模拟量输入端IN0连电位器W1的中心插头AOUT1(0-5V)插孔,8MHZ→T。
③ 运行实验程序,系统上显示“0809 XX”。“XX”表示输入模拟量转换后的数字量。
④ 调节电位器Wl, 显示器上会不断显示新的转换结果。
模拟量和数字量对应关系的典型值为:
0V→00H
五、心得体会
在实验过程中我觉得我在芯片编程方面,特别是在初始化方面是我最大的困难,或许是我的汇编语言学得不够好,我只能借助参考资料,查每一条指令的作用与功能,这样一来又巩固了我的对汇编语言的了解,而且在设计中,把死板的课本知识变得生动有趣,激发了学习的积极性。把学过的计算机编译原理的知识强化,能够把课堂上学的知识通过自己设计的程序表示出来,加深了对理论知识的理解。 +2.5V→80H +5V→FFH ⑤ 按RST键退出。