微机基础原理与接口技术实验报告Word格式.docx
《微机基础原理与接口技术实验报告Word格式.docx》由会员分享,可在线阅读,更多相关《微机基础原理与接口技术实验报告Word格式.docx(38页珍藏版)》请在冰豆网上搜索。
MOVES,AX
NOP
MOVCX,100H
MOVSI,3000H
MOVDI,6000H
1
CLD
REPEMOVSB
REPECMPSB
JNEERROR
TRUE:
JMP$
ERROR:
ENDSTART
三、实验结果及其分析
结果:
实验一
(2)数据传送(存贮器)
6.1
1、了解静态存贮器的特性、扩展方法,掌握存贮器的读写时序。
2、掌握CPU对16位静态存贮器的访问方法
实验内容:
1、说明:
实验仪选用常用的静态存贮器芯片62256(32K×
8位),二片组成32K×
16
位,共64K字节。
实验仪具有16位数据总线D0..D15、20位地址线A0..A19、BLE(低电平
有效,选择低8位存贮器芯片)、BHE(低电平有效,选择高8位存贮器芯片);
BLE、BHE同
时有效,对存贮器字方式读写,BLE或BHE有效,对存贮器字节方式读写。
扩展16位存贮
器时,不使用地址线A0。
2、编写程序:
将B4区的静态存贮器3000H-30FFH单元中数据复制到6000H-60FFH的单
元中,并校验,检测写入的数据是否正确。
3、连接线路验证功能,熟悉它的使用方法。
实验原理图
实验步骤
1、连线说明:
B4(RAM)区:
CS、BLE、BHE——A3区:
mCS0、BLE、BHE
RD、WR——A3区:
MEMR、MEMW
JP49(A0..A7)——A3区:
JP29(A1..A8)
JP38(A8..A15)——A3区:
JP33(A9..A16)
JP57(D0..D7)——A3区:
JP42(D0..D7)
JP56(D8..D15)——A3区:
JP40(D8..D15)
2、通过星研集成环境软件的存贮器窗、寄存器窗等,观察运行结果。
演示程序
;
数据块移动(16位存贮器实验)
.MODELTINY
.STACK100
.CODE
MOVAX,8000H;
存贮器扩展空间段地址
CALLMove
MovePROCNEAR
CMPSI,DI
JZReturn
JNBMove1
ADDSI,CX
DECSI
ADDDI,CX
DECDI
STD
Move1:
REPMOVSB
Return:
RET
MoveENDP
实验二
(1)8259A中断控制器实验
6.8
了解8259A的内部结构、工作原理;
了解8259A与8086的接口逻辑;
掌握对8259A的
初始化编程方法,了解8086是如何响应中断、退出中断的。
复习本节实验内容,可尝试自行编写程序,做好实验准备工作,填写实验报告。
实验内容
1、编制程序:
拨动单脉冲开关,“”送给8259A的IR0,触发中断,8086计数中断
次数,显示于F5区的数码管上
B3区:
CS、A0——A3区:
CS3、A0
INT、INTA——A3区:
INTR、INTA
IR0——B2区:
单脉冲
D3区:
CS、A0、A1——A3区:
CS1、A0、A1
PC0、PC1——F5区:
KL1、KL2
JP20、B、C——F5区:
A、B、C
2、运行程序。
3、上下拨动单脉冲开关,拨动二次,产生一个“”,观察结果,数码管上显示的次
数与拨动开关次数是否对应。
演示程序
EXTRNInitKeyDisplay:
NEAR,Display8:
NEAR
IO8259_0EQU0250H
IO8259_1EQU0251H
.DATA
BUFFERDB8DUP(?
)
CounterDB?
ReDisplayFlagDB0
CALLInitKeyDisplay;
对键盘、数码管控制器8255初始化
CALLInit8259
CALLWriIntver
MOVCounter,0;
中断次数
MOVReDisplayFlag,1;
需要显示
STI;
开中断
START1:
LEASI,Buffer
CALLDisplay8
CMPReDisplayFlag,0
JZSTART1
CALLLedDisplay
MOVReDisplayFlag,0
JMPSTART1
Init8259PROCNEAR
MOVDX,IO8259_0
MOVAL,13H
OUTDX,AL
MOVDX,IO8259_1
MOVAL,08H
MOVAL,09H
MOVAL,0FEH
RET
Init8259ENDP
WriIntverPROCNEAR
PUSHES
MOVAX,0
MOVDI,20H
LEAAX,INT_0
STOSW
MOVAX,CS
POPES
WriIntverENDP
LedDisplayPROCNEAR
MOVAL,Counter
MOVAH,AL
ANDAL,0FH
MOVBuffer,AL
ANDAH,0F0H
RORAH,4
MOVBuffer+1,AH
MOVBuffer+2,10H;
高六位不需要显示
MOVBuffer+3,10H
MOVBuffer+4,10H
MOVBuffer+5,10H
MOVBuffer+6,10H
MOVBuffer+7,10H
LedDisplayENDP
INT_0:
PUSHDX
PUSHAX
ADDAL,1
DAA
MOVCounter,AL
MOVReDisplayFlag,1
MOVAL,20H
POPAX
POPDX
IRET
实验二
(2)8259A中断(优先级)实验
初始化编程方法,了解8086是如何响应中断、退出中断的;
体会8259A的中断优先级处理
方法。
拨动单脉冲开关,“”送给8259A的IR0,“”送给8259A的IR7,
F5区的最左边数码管对应IR7中断:
没有触发中断或中断处理完毕,显示“0”,正在响应
中断,显示“1”;
F5区的最右边数码管对应IR0中断:
没有触发中断或中断处理完毕,显
示“0”,正在响应中断,显示“1”,如果IR0中断IR7,显示“2”
IR7——B2区:
3、拨动单脉冲开关,“”送给8259A的IR0,“”送给8259A的IR7,F5区的最
左边数码管对应IR7中断:
没有触发中断或中断处理完毕,显示“0”,正在响应中断,显示
“1”;
没有触发中断或中断处理完毕,显示“0”,正
在响应中断,显示“1”,如果IR0中断IR7,显示“2”。
IRQ0_INTDB0
IRQ7_INTDB0
对键盘、数码管扫描控制器8255初始化
MOVIRQ0_INT,00H
MOVIRQ7_INT,00H
开中断
MOVAL,IRQ0_INT
ORAL,IRQ0_INT
JZLedDisplay1
ADDAL,IRQ7_INT;
如果CPU正在处理IR7,显示2
LedDisplay1:
MOVBuffer,AL;
显示1或2,IR0在中断
MOVBuffer+1,10H
MOVBuffer+2,10H
MOVAL,IRQ7_INT
MOVBuffer+7,AL;
显示1,IR7在中断
MOVAL,7EH
DELAYPROCNEAR
PUSHSI
PUSHCX
MOVCX,100
A3:
LEASI,BUFFER
CALLDISPLAY8
LOOPA3
POPCX
POPSI
DELAYENDP
IRQ0:
INCIRQ0_INT;
显示1,IR0在中断
STI
CALLDELAY
DECIRQ0_INT;
显示0,IR0中断处理完毕
IRQ7:
INCIRQ7_INT;
DECIRQ7_INT;
显示0,IR7中断处理完毕
LEAAX,IRQ0
MOVDI,20H+7*4
LEAAX,IRQ7
ENDSTART
实验二(3)8253方波实验
了解8253的内部结构、工作原理;
了解8253与8086的接口逻辑;
熟悉8253的控制寄
存器和初始化编程方法,熟悉8253的6种工作模式。
1、编写程序:
使用8253的计数器0和计数器1实现对输入时钟频率的两级分频,得到
一个周期为1秒的方波,用此方波控制蜂鸣器,发出报警信号,也可以将输入脚接到逻辑笔
上来检验程序是否正确。
2、连接线路,验证8253的功能,熟悉它的使用方法。
C4区:
CS2、A0、A1
CLK0——B2区:
2M
OUT0——C4区:
CLK1
OUT1——F8区:
Ctrl(蜂鸣器)
GATE——C1区的VCC
2、测试实验结果:
蜂鸣器发出时有时无的声音;
用逻辑笔测试蜂鸣器的输入端口,红
绿灯交替点亮。
COM_ADDREQU0263H
T0_ADDREQU0260H
T1_ADDREQU0261H
MOVDX,COM_ADDR
MOVAL,35H
OUTDX,AL;
计数器T0设置在模式2状态,BCD码计数
MOVDX,T0_ADDR
MOVAL,00H
MOVAL,10H
CLK0/1000
MOVDX,COM_ADDR
MOVAL,77H
计数器T1为模式3状态,输出方波,BCD码计数
MOVDX,T1_ADDR
CLK1/1000
JMP$;
OUT1输出1S的方波
8253工作在方式3的时候其特性是:
在gate为高电平时,当写入控制字后,out变高,在写完计数值后就自动开始计数,输出保持高电平,当计数到一半值时,输出变低,直到计数值为0.所以它的波形是方波。
但计数初值为奇数和偶数时它的波形不一样。
实验三
(1)8255控制交通灯实验
6.14
1、了解8255芯片的工作原理,熟悉其初始化编程方法以及输入、输出程序设计技巧。
学会使用8255并行接口芯片实现各种控制功能,如本实验(控制交通灯)等。
2、熟悉8255内部结构和与8086的接口逻辑,熟悉8255芯片的3种工作方式以及控制
字格式。
使用8255的PA0..2、PA4..6控制LED指示灯,实现交通灯功能。
2、连接线路验证8255的功能,熟悉它的使用方法。
JP23(PA口)——F4区:
JP18
2、观察实验结果,是否能看到模拟的交通灯控制过程。
COM_ADDEQU0273H
PA_ADDEQU0270H
PB_ADDEQU0271H
PC_ADDEQU0272H
LED_DataDB10111110B;
东西绿灯,南北红灯
DB10111111B;
东西绿灯闪烁,南北红灯
DB10111101B;
东西黄灯亮,南北红灯
DB11101011B;
东西红灯,南北绿灯
DB11111011B;
东西红灯,南北绿灯闪烁
DB11011011B;
东西红灯,南北黄灯亮
MOVDX,COM_ADD
MOVAL,80H;
PA、PB、PC为基本输出模式
MOVDX,PA_ADD;
灯全熄灭
MOVAL,0FFH
LEABX,LED_Data
MOVAL,0
XLAT
CALLDL5S
MOVCX,6
START2:
MOVAL,1
CALLDL500ms
MOVAL,0
LOOPSTART2
MOVAL,2;
CALLDL3S
MOVAL,3;
START3:
MOVAL,4;
MOVAL,3
LOOPSTART3
MOVAL,5;
DL500msPROCNEAR
MOVCX,60000
DL500ms1:
LOOPDL500ms1
DL500msENDP
DL3SPROCNEAR
DL3S1:
CALLDL500ms
LOOPDL3S1
ENDP
DL5SPROCNEAR
MOVCX,10
DL5S1:
LOOPDL5S1
8255A是可编程并行接口芯片,他有3个通道A,B,C。
有三种工作方式A可以在3种方式下工作,B可以在方式1和2下工作,c只能在方式1。
在本试验中,三个口都工作在输出方式
实验三
(2)8255键盘显示实验
1、进一步掌握8255的设计、编程方法。
2、掌握矩阵键盘的扫描方法
3、掌握动态扫描数码块的方法
4、认真预习,做好实验前的准备工作,填写实验报告
扫描键盘,如有按键,键号显示于数码管。
2、连接线路,验证8255的功能,熟悉它的使用方法。
CS、A0