微机原理实验报告.docx

上传人:b****1 文档编号:885067 上传时间:2023-04-30 格式:DOCX 页数:29 大小:548.21KB
下载 相关 举报
微机原理实验报告.docx_第1页
第1页 / 共29页
微机原理实验报告.docx_第2页
第2页 / 共29页
微机原理实验报告.docx_第3页
第3页 / 共29页
微机原理实验报告.docx_第4页
第4页 / 共29页
微机原理实验报告.docx_第5页
第5页 / 共29页
微机原理实验报告.docx_第6页
第6页 / 共29页
微机原理实验报告.docx_第7页
第7页 / 共29页
微机原理实验报告.docx_第8页
第8页 / 共29页
微机原理实验报告.docx_第9页
第9页 / 共29页
微机原理实验报告.docx_第10页
第10页 / 共29页
微机原理实验报告.docx_第11页
第11页 / 共29页
微机原理实验报告.docx_第12页
第12页 / 共29页
微机原理实验报告.docx_第13页
第13页 / 共29页
微机原理实验报告.docx_第14页
第14页 / 共29页
微机原理实验报告.docx_第15页
第15页 / 共29页
微机原理实验报告.docx_第16页
第16页 / 共29页
微机原理实验报告.docx_第17页
第17页 / 共29页
微机原理实验报告.docx_第18页
第18页 / 共29页
微机原理实验报告.docx_第19页
第19页 / 共29页
微机原理实验报告.docx_第20页
第20页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

微机原理实验报告.docx

《微机原理实验报告.docx》由会员分享,可在线阅读,更多相关《微机原理实验报告.docx(29页珍藏版)》请在冰点文库上搜索。

微机原理实验报告.docx

微机原理实验报告

 

 

校区

实验报告

 

课程名称____________________________

专业班级_____________________________

学生及学号____________________________

指导教师____________________________

实验地点————————————————

 

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控制口

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2