微机原理实验报告.docx
- 文档编号:6333266
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:29
- 大小:546.22KB
微机原理实验报告.docx
《微机原理实验报告.docx》由会员分享,可在线阅读,更多相关《微机原理实验报告.docx(29页珍藏版)》请在冰豆网上搜索。
微机原理实验报告
宣城校区
实验报告
课程名称____________________________
专业班级_____________________________
学生姓名及学号____________________________
指导教师____________________________
实验地点————————————————
2015~2016学年第二学期
《微机原理与接口技术》实验一
(1)
实验名称
存贮器内部数据传送
姓名
系院专业
电子信息类
班级
学号
实验日期
2016.6.14
指导教师
成绩
一、实验目的和要求
1、初步掌握星研集成环境工具软件的使用方法。
2、掌握存储器内部不同位置间数据传送的方法。
3、认真预习本节实验内容,尝试自行编写程序,填写实验报告。
二、实验内容(包括实验步骤和代码)
1、编写源程序,要求将数据段中3000H~30FFH单元的内容传送给6000H~60FFH单元中。
2、编译、连接所编写的源程序。
3、执行程序前,利用存贮器窗口将DS:
3000H~300FH中的数据改为11、22、33、44、
55、66、77、88、99、AA、BB、CC、DD、EE、FF、00,存贮器窗口支持数据的直接修改功能,在相对应的地址中直接输入数据即可。
4、进入调试状态后,分别以“全速运行”、“全速断点”、“单步”、“单步进入”等方式运行程序,同时在工作区窗口的CommonRegister视图中查看本程序所使用的寄存器(CX、DI、SI)内容的变化。
5、在如下图所示的存贮器窗口中检查程序运行结果是否正确。
程序如下:
.MODELTINY;memorymode:
tiny
.STACK100;堆栈
.CODE;开始程序段
START:
MOVAX,@DATA
MOVDS,AX
MOVES,AX
NOP
MOVCX,100H
MOVSI,3000H
MOVDI,6000H
CLD
REPEMOVSB
MOVCX,100H
MOVSI,3000H
MOVDI,6000H
REPECMPSB
JNEERROR
TRUE:
JMP$
ERROR:
JMP$
ENDSTART
三、实验结果及其分析
1、通过该实验,成功地将数据段中3000H~30FFH单元的内容传送到了6000H~60FFH单元中。
《微机原理与接口技术》实验一
(2)
实验名称
数据传送(存贮器)
姓名
系院专业
电子信息类
班级
学号
实验日期
2016.6.14
指导教师
成绩
一、实验目的和要求
1、了解静态存贮器的特性、扩展方法,掌握存贮器的读写时序。
2、掌握CPU对16位静态存贮器的访问方法
3、认真预习本节实验内容,尝试自行编写程序,填写实验报告。
二、实验内容(包括实验步骤和代码)
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、连接线路验证功能,熟悉它的使用方法。
实验原理图:
连线说明:
程序如下:
.MODELTINY;memorymode:
tiny
.STACK100;堆栈
.CODE;开始程序段
START:
MOVAX,8000H
MOVDS,AX
MOVES,AX
NOP
MOVCX,100H
MOVSI,3000H
MOVDI,6000H
CALLMove
MOVCX,100H
MOVSI,3000H
MOVDI,6000H
CLD
REPECMPSB
JNEERROR
TRUE:
JMP$
ERROR:
JMP$
MovePROCNEAR
CLD
CMPSI,DI
JZReturn
JNBMove1
ADDSI,CX
DECSI
ADDDI,CX
DECDI
STD
Move1:
REPMOVSB
Return:
RET
MoveENDP
ENDSTART
三、实验结果及其分析
1、通过该实验,成功地将数据段中3000H~30FFH单元的内容传送到了6000H~60FFH单元中。
2、子程序Move中为什么比较SI、DI:
源数据块与目标范围有可能部分重叠,需要考虑从第一个字节开始复制(顺序复制),还是从最后一个字节开始复制(倒序复制)。
3、本实验与实验一
(1)的异同点:
实验一
(一)和实验一
(二)都是将3000H中的内容复制到6000H中,而实验一
(一)用的是模拟寄存器,里面的内容全是00,实验一
(二)中寄存器内是有实际的值的。
《微机原理与接口技术》实验二
(1)
实验名称
8259A中断控制器实验
姓名
系院专业
电子信息类
班级
学号
实验日期
2016.6.14
指导教师
成绩
一、实验目的和要求
1、了解8259A的内部结构、工作原理;了解8259A与8086的接口逻辑;掌握对8259A的
初始化编程方法,了解8086是如何响应中断、退出中断的。
2、复习本节实验内容,可尝试自行编写程序,做好实验准备工作,填写实验报告。
二、实验内容(包括实验步骤和代码)
编制程序:
拨动单脉冲开关,将单脉冲送给8259A的IR0,触发中断,8086计数中断次数,显示于F5区的数码管上。
实验原理图:
连线说明:
运行程序后,上下拨动单脉冲开关,拨动二次,产生一个“”,观察结果,数码管上显示的次数与拨动开关次数是否对应。
程序如下:
.MODELTINY
EXTRNInitKeyDisplay:
NEAR,Display8:
NEAR
IO8259_0EQU0250H
IO8259_1EQU0251H
.STACK100
.DATA
BUFFERDB8DUP(?
)
CounterDB?
ReDisplayFlagDB0
.CODE
START:
MOVAX,@DATA
MOVDS,AX
MOVES,AX
NOP
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
OUTDX,AL
MOVAL,09H
OUTDX,AL
MOVAL,0FEH
OUTDX,AL
RET
Init8259ENDP
WriIntverPROCNEAR
PUSHES
MOVAX,0
MOVES,AX
MOVDI,20H
LEAAX,INT_0
STOSW
MOVAX,CS
STOSW
POPES
RET
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
RET
LedDisplayENDP
INT_0:
PUSHDX
PUSHAX
MOVAL,Counter
ADDAL,1
DAA
MOVCounter,AL
MOVReDisplayFlag,1
MOVDX,IO8259_0
MOVAL,20H
OUTDX,AL
POPAX
POPDX
IRET
ENDSTART
三、实验结果及其分析
1、通过该实验,观察数码管数字随开关拨动的变化,了解了8259A的内部结构、工作原理;了解了8259A与8086的接口逻辑;掌握了对8259A的初始化编程方法,了解了8086是如何响应中断、退出中断的。
《微机原理与接口技术》实验二
(2)
实验名称
8259A中断(优先级)实验
姓名
系院专业
电子信息类
班级
学号
实验日期
2016.6.14
指导教师
成绩
一、实验目的和要求
1、了解8259A的内部结构、工作原理;了解8259A与8086的接口逻辑;掌握对8259A的
初始化编程方法,了解8086是如何响应中断、退出中断的;体会8259A的中断优先级处理方法。
2、复习本节实验内容,可尝试自行编写程序,做好实验准备工作,填写实验报告。
二、实验内容(包括实验步骤和代码)
编制程序:
拨动单脉冲开关,向上的脉冲送给8259A的IR0,向下的脉冲送给8259A的IR7,
F5区的最左边数码管对应IR7中断:
没有触发中断或中断处理完毕,显示“0”,正在响应中断,显示“1”;F5区的最右边数码管对应IR0中断:
没有触发中断或中断处理完毕,显示“0”,正在响应中断,显示“1”,如果IR0中断IR7,显示“2”。
实验原理图:
连线说明:
运行程序并拨动单脉冲开关,向上的脉冲送给8259A的IR0,向下的脉冲送给8259A的IR7,F5区的最左边数码管对应IR7中断:
没有触发中断或中断处理完毕,显示“0”,正在响应中断,显示“1”;F5区的最右边数码管对应IR0中断:
没有触发中断或中断处理完毕,显示“0”,正在响应中断,显示“1”,如果IR0中断IR7,显示“2”。
程序如下:
.MODELTINY
EXTRNInitKeyDisplay:
NEAR,Display8:
NEAR
IO8259_0EQU0250H
IO8259_1EQU0251H
.STACK100
.DATA
BUFFERDB8DUP(?
)
IRQ0_INTDB0
IRQ7_INTDB0
.CODE
START:
MOVAX,@DATA
MOVDS,AX
MOVES,AX
NOP
CALLInitKeyDisplay;对键盘、数码管扫描控制器8255初始化
MOVIRQ0_INT,00H
MOVIRQ7_INT,00H
CALLInit8259
CALLWriIntver
CALLLedDisplay
STI;开中断
START1:
LEASI,Buffer
CALLDisplay8
JMPSTART1
LedDisplayPROCNEAR
PUSHAX
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
MOVBuffer+3,10H
MOVBuffer+4,10H
MOVBuffer+5,10H
MOVBuffer+6,10H
MOVAL,IRQ7_INT
MOVBuffer+7,AL;显示1,IR7在中断
POPAX
RET
LedDisplayENDP
Init8259PROCNEAR
MOVDX,IO8259_0
MOVAL,13H
OUTDX,AL
MOVDX,IO8259_1
MOVAL,08H
OUTDX,AL
MOVAL,09H
OUTDX,AL
MOVAL,7EH
OUTDX,AL
RET
Init8259ENDP
DELAYPROCNEAR
PUSHSI
PUSHCX
PUSHAX
MOVCX,100
A3:
LEASI,BUFFER
CALLDISPLAY8
LOOPA3
POPAX
POPCX
POPSI
RET
DELAYENDP
IRQ0:
PUSHDX
PUSHAX
INCIRQ0_INT;显示1,IR0在中断
CALLLedDisplay
STI
CALLDELAY
DECIRQ0_INT;显示0,IR0中断处理完毕
CALLLedDisplay
MOVDX,IO8259_0
MOVAL,20H
OUTDX,AL
POPAX
POPDX
IRET
IRQ7:
PUSHDX
PUSHAX
INCIRQ7_INT;显示1,IR7在中断
CALLLedDisplay
STI
CALLDELAY
DECIRQ7_INT;显示0,IR7中断处理完毕
CALLLedDisplay
MOVDX,IO8259_0
MOVAL,20H
OUTDX,AL
POPAX
POPDX
IRET
WriIntverPROCNEAR
PUSHES
MOVAX,0
MOVES,AX
MOVDI,20H
LEAAX,IRQ0
STOSW
MOVAX,CS
STOSW
MOVDI,20H+7*4
LEAAX,IRQ7
STOSW
MOVAX,CS
STOSW
POPES
RET
WriIntverENDP
ENDSTART
三、实验结果及其分析
1、通过该实验,观察数码管数字的变化,了解了8259A的内部结构、工作原理;了解了8259A与8086的接口逻辑;掌握了对8259A的初始化编程方法,了解了8086是如何响应中断、退出中断的;掌握了8259A的中断优先级处理方法。
《微机原理与接口技术》实验二(3)
实验名称
8253方波实验
姓名
系院专业
电子信息类
班级
学号
实验日期
2016.6.14
指导教师
成绩
一、实验目的和要求
1、了解8253的内部结构、工作原理;了解8253与8086的接口逻辑;熟悉8253的控制寄存器和初始化编程方法,熟悉8253的6种工作模式。
二、实验内容(包括实验步骤和代码)
1、编写程序:
使用8253的计数器0和计数器1实现对输入时钟频率的两级分频,得到
一个周期为1秒的方波,用此方波控制蜂鸣器,发出报警信号,也可以将输入脚接到逻辑笔上来检验程序是否正确。
2、连接线路,验证8253的功能,熟悉它的使用方法。
实验原理图:
连线说明:
测试实验结果:
蜂鸣器发出时有时无的声音;用逻辑笔测试蜂鸣器的输入端口,红绿灯交替点亮。
程序如下:
.MODELTINY
COM_ADDREQU0263H
T0_ADDREQU0260H
T1_ADDREQU0261H
.STACK100
.CODE
START:
MOVDX,COM_ADDR
MOVAL,35H
OUTDX,AL;计数器T0设置在模式2状态,BCD码计数
MOVDX,T0_ADDR
MOVAL,00H
OUTDX,AL
MOVAL,10H
OUTDX,AL;CLK0/1000
MOVDX,COM_ADDR
MOVAL,77H
OUTDX,AL;计数器T1为模式3状态,输出方波,BCD码计数
MOVDX,T1_ADDR
MOVAL,00H
OUTDX,AL
MOVAL,10H
OUTDX,AL;CLK1/1000
JMP$;OUT1输出1S的方波
ENDSTART
三、实验结果及其分析
1、通过该实验,观察逻辑笔红绿灯交替闪亮,了解了8253的内部结构、工作原理;了解了8253与8086的接口逻辑;熟悉了8253的控制寄存器和初始化编程方法,熟悉了8253的6种工作模式。
《微机原理与接口技术》实验三
(一)
实验名称
数据传送(存贮器)
姓名
系院专业
电子信息类
班级
学号
实验日期
2016.6.14
指导教师
成绩
一、实验目的和要求
1、了解8255芯片的工作原理,熟悉其初始化编程方法以及输入、输出程序设计技巧。
学会使用8255并行接口芯片实现各种控制功能,如本实验(控制交通灯)等。
2、熟悉8255内部结构和与8086的接口逻辑,熟悉8255芯片的3种工作方式以及控制
字格式。
二、实验内容(包括实验步骤和代码)
1、编写程序:
使用8255的PA0..2、PA4..6控制LED指示灯,实现交通灯功能。
2、连接线路验证8255的功能,熟悉它的使用方法。
实验原理图:
连线说明:
观察实验结果,是否能看到模拟的交通灯控制过程
程序如下:
.MODELTINY
COM_ADDEQU0273H
PA_ADDEQU0270H
PB_ADDEQU0271H
PC_ADDEQU0272H
.STACK100
.DATA
LED_DataDB10111110B;东西绿灯,南北红灯
DB10111111B;东西绿灯闪烁,南北红灯
DB10111101B;东西黄灯亮,南北红灯
DB11101011B;东西红灯,南北绿灯
DB11111011B;东西红灯,南北绿灯闪烁
DB11011011B;东西红灯,南北黄灯亮
.CODE
START:
MOVAX,@DATA
MOVDS,AX
NOP
MOVDX,COM_ADD
MOVAL,80H;PA、PB、PC为基本输出模式
OUTDX,AL
MOVDX,PA_ADD;灯全熄灭
MOVAL,0FFH
OUTDX,AL
LEABX,LED_Data
START1:
MOVAL,0
XLAT
OUTDX,AL;东西绿灯,南北红灯
CALLDL5S
MOVCX,6
START2:
MOVAL,1
XLAT
OUTDX,AL;东西绿灯闪烁,南北红灯
CALLDL500ms
MOVAL,0
XLAT
OUTDX,AL
CALLDL500ms
LOOPSTART2
MOVAL,2;东西黄灯亮,南北红灯
XLAT
OUTDX,AL
CALLDL3S
MOVAL,3;东西红灯,南北绿灯
XLAT
OUTDX,AL
CALLDL5S
MOVCX,6
START3:
MOVAL,4;东西红灯,南北绿灯闪烁
XLAT
OUTDX,AL
CALLDL500ms
MOVAL,3
XLAT
OUTDX,AL
CALLDL500ms
LOOPSTART3
MOVAL,5;东西红灯,南北黄灯亮
XLAT
OUTDX,AL
CALLDL3S
JMPSTART1
DL500msPROCNEAR
PUSHCX
MOVCX,60000
DL500ms1:
LOOPDL500ms1
POPCX
RET
DL500msENDP
DL3SPROCNEAR
PUSHCX
MOVCX,6
DL3S1:
CALLDL500ms
LOOPDL3S1
POPCX
RET
ENDP
DL5SPROCNEAR
PUSHCX
MOVCX,10
DL5S1:
CALLDL500ms
LOOPDL5S1
POPCX
RET
ENDP
ENDSTART
三、实验结果及其分析
1、通过该实验,成功地观察到了模拟的交通灯控制过程,并了解了8255芯片的工作原理,熟悉了其初始化编程方法以及输入、输出程序设计技巧;学会了使用8255并行接口芯片实现各种控制功能。
2、了解了8255内部结构和与8086的接口逻辑,掌握了8255芯片的3种工作方式以及控制字格式。
《微机原理与接口技术》实验三
(2)
实验名称
8255键盘显示实验
姓名
系院专业
电子信息类
班级
学号
实验日期
2016.6.14
指导教师
成绩
一、实验目的和要求
1、进一步掌握8255的设计、编程方法;
2、掌握矩阵键盘的扫描方法;
3、掌握动态扫描数码块的方法。
二、实验内容(包括实验步骤和代码)
1、编写程序:
扫描键盘,如有按键,键号显示于数码管。
2、连接线路,验证8255的功能,熟悉它的使用方法。
实验原理图:
连线说明:
程序如下:
.MODELTINY
COM_8255EQU0273H;8255控制口
PA_8255EQU0270H
PB_8255EQU0271H
PC_8255EQU0272H
.STACK100
.DATA
BufferDB8DUP(?
);8个字节显示缓冲区
SEG_TABDB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H
DB080H,90H,88H,83H,0C6H,0A1H,86H,8EH,0FFH
.CODE
START:
MOVAX,@DATA
MOVDS,AX
MOVES,AX
NOP
CLD;0->DF,地址自动递增
MOVDX,COM_8255
MOVAL,89H
OUTDX,AL;PA、PB输出,PC输入
LEADI,buffer
MOVAL
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)