合肥工业大学电气与自动化专业实验中心 80X86微机原理及接口技术实验教程 思考题部分参考答案5Word文件下载.docx
《合肥工业大学电气与自动化专业实验中心 80X86微机原理及接口技术实验教程 思考题部分参考答案5Word文件下载.docx》由会员分享,可在线阅读,更多相关《合肥工业大学电气与自动化专业实验中心 80X86微机原理及接口技术实验教程 思考题部分参考答案5Word文件下载.docx(44页珍藏版)》请在冰点文库上搜索。
![合肥工业大学电气与自动化专业实验中心 80X86微机原理及接口技术实验教程 思考题部分参考答案5Word文件下载.docx](https://file1.bingdoc.com/fileroot1/2023-5/6/d4372ace-72e2-4b52-b77c-f4d93b2a9e34/d4372ace-72e2-4b52-b77c-f4d93b2a9e341.gif)
BLEBLE
BHEBHE
MEMWWR
MRMDRD
图2.3SRAM单元电路图
实验程序清单(MEM1.ASM)
SSTACKSEGMENTSTACK
DW32DUP(?
)
SSTACKENDS
CODESEGMENT
STARTPROCFAR
ASSUMECS:
CODE
MOVAX,8000H;
存储器扩展空间段地址
MOVDS,AX
AA0:
MOVSI,0000H;
数据首地址
MOVCX,0010H
MOVAX,0000H
AA1:
MOV[SI],AX
INCAX
INCSI
LOOPAA1
MOVAX,4C00H
INT21H;
程序终止
STARTENDP
CODEENDS
ENDSTART
图2.4SRAM实验接线图
2.1.5实验步骤
(注:
本章实验选择16位寄存器)
1.实验接线图如图2.4所示,按图接线。
2.编写实验程序,经编译、链接无误后装入系统。
3.先运行程序,待程序运行停止。
4.通过D命令查看写入存储器中的数据:
D8000:
0000回车,即可看到存储器中的数据,应为0000、0001、0002、…、000F共16个字。
5.改变实验程序,按非规则字写存储器,观察实验结果。
MOVAX,8001H;
6.改变实验程序,按字节方式写存储器,观察实验现象。
SSTACKSEGMENTSTACK
DB32DUP(?
MOV[SI],AL
7.将实验程序改为死循环程序,分别按规则字与非规则字的方式写存储器。
。
JMPAA1;
无条件循环
2.4.1实验目的
1.学习并掌握8255的工作方式及其应用。
2.掌握8255典型应用电路的接法。
2.4.2实验设备
PC机一台,TD-PITE实验装置一套。
2.4.3实验内容
1.基本输入输出实验。
编写程序,使8255的A口为输入,B口为输出,完成拨动开关到数据灯的数据传输。
要求只要开关拨动,数据灯的显示就发生相应改变。
2.流水灯显示实验。
编写程序,使8255的A口和B口均为输出,数据灯D7~D0由左向右,每次仅亮一个灯,循环显示,D15~D8与D7~D0正相反,由右向左,每次仅点亮一个灯,循环显示。
2.4.4实验原理
图2.318255内部结构及外部引脚图
并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。
CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位或32位等。
8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:
方式0--基本输入/输出方式、方式1--选通输入/输出方式、方式2--双向选通工作方式。
8255的内部结构及引脚如图4.31所示,8255工作方式控制字和C口按位置位/复位控制字格式如图2.32所示。
图2.328255控制字格式
8255实验单元电路图如图2.33所示:
图2.338255实验单元电路图
2.4.5实验步骤
1.基本输入输出实验
本实验使8255端口A工作在方式0并作为输入口,端口B工作在方式0并作为输出口。
用一组开关信号接入端口A,端口B输出线接至一组数据灯上,然后通过对8255芯片编程来实现输入输出功能。
具体实验步骤如下述:
(1)实验接线图如图4.34所示,按图连接实验线路图。
(2)编写实验程序,经编译、连接无误后装入系统。
(3)运行程序,改变拨动开关,同时观察LED显示,验证程序功能。
图2.348255基本输入输出实验接线图
A3D3F4
CS1CS
A1A0
A2A1
A0~7开关
B0~7灯1
实验程序清单(A82551.ASM)
CODE
START:
MOVDX,276H
MOVAL,90H
OUTDX,AL
MOVDX,270H
INAL,DX
CALLDELAY
MOVDX,272H
OUTDX,AL
JMPAA1
DELAY:
PUSHCX
MOVCX,0F00H
AA2:
PUSHAX
POPAX
LOOPAA2
POPCX
RET
第一个程序为何能联系到开关?
是哪条程序?
2.流水灯显示实验
使8255的A口和B口均为输出,数据灯D7~D0由左向右,每次仅亮一个灯,循环显示,D15~D8与D7~D0正相反,由右向左,每次仅点亮一个灯,循环显示。
实验接线图如图2.35所示。
实验步骤如下所述:
(1)按图2.35连接实验线路图。
(2)编写实验程序,经编译、链接无误后装入系统。
(3)运行程序,观察LED灯的显示,验证程序功能。
(4)自己改变流水灯的方式,编写程序。
图2.358255流水灯实验接线图
A0~7改成灯2
实验程序清单(A82552.ASM)
MOVAL,80H
MOVBX,8001H
MOVDX,270H
MOVAL,BH
RORBH,1
MOVAL,BL
ROLBL,1
MOVCX,05000H
思考题:
1:
执行程序后,使发光二极管闪动。
MOVBX,00000H
NOTBH
NOTBL
2:
执行程序后,使发光二极管高八位和低八位亮灭相反。
MOVBX,0FF00H
3:
利用中断完成实验一。
4:
利用方式一发中断请求信号。
一、实验目的与要求
了解8253的内部结构、工作原理;
了解8253与8086的接口逻辑;
熟悉8253的控制寄存器和初始化编程方法,熟悉8253的6种工作模式。
二、实验设备
SUN系列实验仪一套、PC机一台
三、实验内容
1、编写程序:
使用8253的计数器0和计数器1实现对输入时钟频率的两级分频,得到一个周期为1秒的方波,用此方波控制蜂鸣器,发出报警信号,也可以将输入脚接到逻辑笔上来检验程序是否正确。
2、连接线路,验证8253的功能,熟悉它的使用方法。
四、实验原理图
五、实验步骤
1、连线说明:
C4区:
CS、A0、A1
——
A3区:
CS2、A0、A1
CLK0
B2区:
2M
OUT0
CLK1
OUT1
F8区:
Ctrl(蜂鸣器)
GATE
C1区的VCC
2、测试实验结果:
蜂鸣器发出时有时无的声音;
用逻辑笔测试蜂鸣器的输入端口,红绿灯交替点亮。
六、演示程序
.MODEL
TINY
COM_ADDR
EQU
0263H
T0_ADDR
EQU
0260H
T1_ADDR
0261H
.STACK
100
.CODE
MOV
DX,COM_ADDR
AL,35H
OUT
DX,AL
;
计数器T0设置在模式2状态,BCD码计数
DX,T0_ADDR
AL,00H
DX,AL
AL,10H
CLK0/1000
AL,77H
计数器T1为模式3状态,输出方波,BCD码计数
MOV
DX,T1_ADDR
CLK1/1000
JMP
$
OUT1输出1S的方波
END
START
七、实验扩展及思考
1、8253还有其它五种工作方式,其它工作模式下,硬件如何设计?
程序如何编写?
2、使用8253,编写一个实时钟程序。
.MODELTINY
COM_ADDREQU0263H
T0_ADDREQU0260H
T1_ADDREQU0261H
T2_ADDREQU0262H
.STACK100
.CODE
MOVDX,COM_ADDR
MOVAL,00110101B
OUTDX,AL;
计数器T0,方式2,BCD码计数
MOVDX,T0_ADDR
MOVAL,00H
OUTDX,AL
MOVAL,10H
OUTDX,AL;
MOVAL,01110111B
OUTDX,AL;
MOVDX,T1_ADDR
MOVAL,20H
OUTDX,AL;
CLK1/1000;
OUT1接到LED灯
MOVDX,COM_ADDR
MOVAL,10010101B
计数器T2为模式2状态,输出方波,BCD码计数
MOVDX,T2_ADDR
MOVAL,60H
CLK1/60
;
OUT2输出60S的方波
ENDSTART
;
OUT2接到蜂鸣器
了解8259A的内部结构、工作原理;
了解8259A与8086的接口逻辑;
掌握对8259A的初始化编程方法,了解8086是如何响应中断、退出中断的;
体会8259A的中断优先级处理方法。
复习本节实验内容,可尝试自行编写程序,做好实验准备工作,填写实验报告。
二、实验设备
1、编制程序:
拨动单脉冲开关,“
”送给8259A的IR0,“
”送给8259A的IR7,F5区的最左边数码管对应IR7中断:
没有触发中断或中断处理完毕,显示“0”,正在响应中断,显示“1”;
F5区的最右边数码管对应IR0中断:
没有触发中断或中断处理完毕,显示“0”,正在响应中断,显示“1”,如果IR0中断IR7,显示“2”
B3区:
CS、A0
CS3、A0
INT、INTA
INTR、INTA
IR07
单脉冲
D3区:
CS1、A0、A1
JP20、B、C
F4
PC0、PC1
F4白线
2、运行程序.MODELTINY
IO8259_0EQU0260H
IO8259_1EQU0261H
.DATA
BUFFERDB8DUP(?
CounterDB?
ReDisplayFlagDB0
.STACK100
.CODE
MOVAX,@DATA
MOVDS,AX
MOVES,AX
PUSHDS
CALLWriIntver
CLI
POPDS
;
初始化主片8255
MOVDX,0273H
初始化主片8259
MOVDX,IO8259_0
MOVAL,13H
OUTDX,AL;
ICW1
MOVDX,IO8259_1
MOVAL,08H
ICW2
MOVAL,09H
ICW4
MOVAL,0;
OCW1
MOVCX,0
STI
NOP
JMPAA1
WriIntverPROCNEAR
PUSHES
MOVAX,0
MOVES,AX
MOVDI,20H
LEAAX,MIR7
STOSW
MOVAX,CS
POPES
RET
WriIntverENDP
MIR7:
ADDCX,1
MOVDX,0270H
MOVAL,CL
MOVDX,0271H
MOVAL,CH
MOVAL,20H
中断结束命令
IRET
3、拨动单脉冲开关,“
”送给8259A的IR7,G5区的最左边数码管对应IR7中断:
G5区的最右边数码管对应IR0中断:
没有触发中断或中断处理完毕,显示“0”,正在响应中断,显示“1”,如果IR0中断IR7,显示“2”
六、演示程序(例子程序名8259_3.asm)
1、从8259A收到上升沿,到8086响应中断,试画这个过程的时序图。
2.28259中断控制实验
2.2.1实验目的
1.掌握8259中断控制器的工作原理。
2.学习8259的应用编程方法。
3.掌握8259级联方式的使用方法。
2.2.2实验设备
2.2.3实验内容及步骤
1.中断控制器8259简介
在Intel386EX芯片中集成有中断控制单元(ICU),该单元包含有两个级联中断控制器,一个为主控制器,一个为从控制器。
该中断控制单元就功能而言与工业上标准的82C59A是一致的,操作方法也相同。
从片的INT连接到主片的IR2信号上构成两片8259的级联。
在TD-PITE实验系统中,将主控制器的IR6、IR7以及从控制器的IR1开放出来供实验使用,主片8259的IR4供系统串口使用。
8259的内部连接及外部管脚引出如图2.5:
图2.58259内部连续及外部管脚引出图
表2.1列出了中断控制单元的寄存器相关信息。
表2.1ICU寄存器列表
寄存器
口地址
功能描述
ICW1(主)
ICW1(从)
(只写)
0020H
00A0H
初始化命令字1:
决定中断请求信号为电平触发还是边沿触发。
ICW2(主)
ICW2(从)
0021H
00A1H
初始化命令字2:
包含了8259的基址中断向量号,基址中断向量是IR0的向量号,基址加1就是IR1的向量号,依此类推。
ICW3(主)
初始化命令字3:
用于识别从8259设备连接到主控制器的IR信号,内部的从8259连接到主8259的IR2信号上。
ICW3(从)
表明内部从控制器级联到主片的IR2信号上。
ICW4(主)
ICW4(从)
初始化命令字4:
选择特殊全嵌套或全嵌套模式,使能中断自动结束方式。
OCW1(主)
OCW1(从)
(读/写