华中科技大学计算机原理实验报告.docx

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

华中科技大学计算机原理实验报告.docx

《华中科技大学计算机原理实验报告.docx》由会员分享,可在线阅读,更多相关《华中科技大学计算机原理实验报告.docx(46页珍藏版)》请在冰点文库上搜索。

华中科技大学计算机原理实验报告.docx

华中科技大学计算机原理实验报告

《计算机原理与应用实验》课程

实验报告

电气与电子工程学院

2012级

 

姓名:

学号:

专业班号:

日期:

2014年1月7日

实验成绩:

评阅人:

实验评分表

基本实验

实验名称

实验分值

评分

实验一EMU8086软件安装与使用

实验二汇编语言实例讲解与程序编写

实验三基于Proteus软件8086最小系统硬件设计

实验四基于8086最小系统的汇编程序设计

实验五8255并行接口实验(演示实验)

设计性实验

实验名称

实验分值

评分

实验六工频测频接口电路设计与实现

教师评价意见

总分(100)

实验一:

EMU8086软件安装与使用

一、实验目的

通过本实验学习EMU8086软件的安装与使用。

二、实验设备

PC微机一台,Emu8086仿真软件

三、实验任务

1.安装Emu8086仿真软件。

2.利用Emu8086仿真软件编程。

四、实验原理

Emu8086仿真软件就是在Windows下的一种仿真软件,它可以仿真模拟8086的程序运行,并且可以直观地观察CPU寄存器的变化情况。

Emu8086-MicroprocessorEmulator结合了一个先进的原始编辑器、组译器、反组译器、具除错功能的软件模拟工具(虚拟PC),还有一个循序渐进的指导工具。

这对刚开始学组合语言的人会是一个很有用的工具。

它会在模拟器中一步一步的编译程序码并执行,视觉化的工作环境让它更容易使用。

你可以在程序执行当中检视暂存器、旗标以及记忆体。

模拟器会在虚拟PC中执行程序,这可以隔绝你的程序,避免它去存取实际硬体,像硬碟、记忆体,而在虚拟机器上执行组合程序,这可以让除错变得更加容易。

这个软件完全相容於Intel的下一代处理器,包括了PentiumII、Pentium4,而相信Pentium5也会继续支援8086的。

这种现象让8086程序码的可携性相当高,它可以同时在老机器以及现代的电脑是执行,8086的另一个优势是它的指令比较小且相当容易学习。

五、实验内容

安装Emu8086仿真软件,熟悉菜单栏,工具栏的每个选项的作用,按照操作流程完成程序的编译、链接,并对编辑窗口中所编写的简单汇编程序进行仿真调试,最后能够输出正确结果。

六、实验过程及结果

1.EMU8086安装。

2.EMU8086使用,安装完毕,得到窗口如下图1-1:

图1-1Emu进入主界面

3.操作流程

(1)file->new->emptyworkplace,编辑程序,如下图1-2:

图1-2Emu程序编辑界面

(2)file->save,保存程序(**.asm格式),完成程序的编辑.

(3)assmbler->compile,完成程序的编译和链接,如下图1-3:

图1-3Emu程序编译完成界面

4.emulator->showemulator,开始仿真调试,如下图1-4:

图1-4Emu程序仿真调试界面

5.左键点击run运行程序,结果如图1-5:

图1-5Emu程序仿真调试结果界面

七、实验感想

在这次实验中,初步了解了8086仿真软件,对上课的一些知识有了更深刻的认识,知道其是如何工作的。

利用软件完成了几个实验,收获很多。

八、参考文献

[1]李继灿,谭浩强.微机原理与接口技术.北京:

清华大学出版社

[2]王爽.汇编语言.北京:

清华大学出版社

[3]沈美明,温冬婵.汇编语言程序设计.北京:

机械工业出版社

[4]许立梓.微型计算机原理及应用.北京:

机械工业出版社

 

实验二:

汇编语言实例讲解与程序编写

一、实验目的

学习所给的汇编程序示例,自己能亲自动手编写基本的汇编程序。

二、实验设备

PC微机一台,Emu8086仿真软件

三、实验任务

1.熟练掌握基本的汇编指令意义。

2.正确理解所给示例中每行代码的意义及作用。

3.按要求编写所给的3个题目的代码并正确显示结果。

四、实验原理

汇编程序规范编程:

使用汇编编程采用下面的编程规范能够极大简化编程过程,提高编程效率,同时能够保证功能的顺利实现,下文是规范化汇编程序的基本框架,一段典型的汇编程序主要包括数据段及其定义,堆栈段及其定义,最后一部分是代码的编写。

DATASSEGMENT;此处输入数据段代码

DATASENDS

;-----------------------------------------------

STACKSSEGMENT;此处输入堆栈段代码

STACKSENDS

;-----------------------------------------------

CODESSEGMENT

ASSUMECS:

CODES,DS:

DATAS,SS:

STACKS

START:

MOVAX,DATAS

MOVDS,AX

;此处输入代码段代码

MOVAH,4CH

INT21H

CODESENDS

ENDSTART

以下以“hello”为例,介绍简单汇编程序的基本内容:

aaSEGMENT;数据段1

xxDB'Hello!

’;定义源串

aaENDS

;-----------------------------------------------

bbSEGMENT;数据段2

yyDB6dup(?

);定义目的缓冲区

bbENDS

;-----------------------------------------------

ccSEGMENT;代码段

ASSUMECS:

cc,DS:

aa,ES:

bb;指示指令中标号,变量所在段

start:

CLD;设置传送方向

MOVAX,aa;DS:

SI←源串首地址

MOVDS,AX

LEASI,xx

   MOVAX,SEGyy;ES:

DI←目的首地址

MOVES,AX

MOVDI,OFFSETyy

MOVCX,6;CX←串的长度

REPMOVSB;串传送

MOVAH,4CH;调用4CH系统功能,返回DOS

INT21H

ccENDS

ENDstart;指示程序结束和程序入口

五、实验内容

1:

十进制数的显示,就是显示十进制数字number

2:

编程计算(w1-(w2*w3+w4-25000))/w5=w6

(w1到w5可以在数据定义时自行赋值,为使程序简单,最好使得最终w6的结果为整数。

3:

将BL寄存器的内容按二进制形式显示出来

提示:

把要显示的数字存入bl寄存器;最后的输出结果就是3的二进制。

(比如待显示数据为7,则其二进制显示结果为00000111)

六、实验过程及结果

1:

十进制数的显示,就是显示十进制数字number

(1)file->new->emptyworkplace,如下图

编辑程序如图

(2)file->save,保存程序(**.asm格式),完成程序的编辑.

(3)assmbler->compile,完成程序的编译和链接,如下图

4.emulator->showemulator,开始仿真调试,如下图

5.左键点击run运行程序,结果如图

2:

编程计算(w1-(w2*w3+w4-25000))/w5=w6

(1)file->new->emptyworkplace,如下图2-3

编辑程序如图

(2)file->save,保存程序(**.asm格式),完成程序的编辑.

(3)assmbler->compile,完成程序的编译和链接,如下图

4.emulator->showemulator,开始仿真调试,如下图

5.左键点击run运行程序,结果如图

3:

将BL寄存器的内容按二进制形式显示出来

提示:

把要显示的数字存入bl寄存器;最后的输出结果就是3的二进制。

(比如待显示数据为7,则其二进制显示结果为00000111)

(1)file->new->emptyworkplace,如下图

编辑程序如图

(2)file->save,保存程序(**.asm格式),完成程序的编辑.

(3)assmbler->compile,完成程序的编译和链接,如下图

4.emulator->showemulator,开始仿真调试,如下图

5.左键点击run运行程序,结果如图

七、实验感想

在这次实验中,收获很多,读懂了程序,同时对其中国内一些程序进行了修改,从而使它更简洁。

比如例三中,修改了一些语句,同时没有影响其运行结果。

在助教的讲解下,学会了如何使用防闪退,这是另一个收获。

八、参考文献

[1]李继灿,谭浩强.微机原理与接口技术.北京:

清华大学出版社

[2]王爽.汇编语言.北京:

清华大学出版社

[3]沈美明,温冬婵.汇编语言程序设计.北京:

机械工业出版社

[4]许立梓.微型计算机原理及应用.北京:

机械工业出版社

实验三:

基于Proteus软件的8086最小系统硬件设计

一、实验目的

1.学习使用Proteus进行8086微机系统仿真设计的方法。

2.学习8086CPU以及外部电路的接法和应用原理。

二、实验设备

PC微机一台、Proteus软件、emu8086编码器软件

三、实验任务

1.正确安装Proteus软件。

2.使用Proteus绘制38译码电路,并通过通断开关,观察二极管导通情况。

3.在Proteus中绘制8086最小系统电路,并加载程序,观察运行结果。

四、实验原理

本实验首先学习Proteus软件的安装,并通过绘制简单的38译码器电路掌握该软件的使用方法。

然后利用该软件设计完成一个8086最小模式系统原理图并加载指定程序实现LED显示开关状态。

设计8086最小模式系统包括8086CPU、地址锁存器、数据总线收发器、时钟发生器等。

利用74LS373芯片进行扩展外接开关和LED发光二极管。

Proteus软件是英国LabCenterElectronics公司出版的EDA工具软件。

它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。

它是目前比较好的仿真单片机及外围器件的工具。

它受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。

本次试验将以该软件为基础分别绘制38译码器电路图和8086最小系统电路图。

74LS138译码器有三个输入端:

A0、A1、A2和八个输出端/Y0~/Y7。

当输入端A0、A1、A2的编码为000时,译码器输出为/Y0=0,而/Y1~/Y7=1。

即Q0对应于A0、A1、A2为000状态,低电平有效。

A0、A1、A2的另外7种组合见后面的真值表。

S1、S2、S3为使能控制端,起到控制译码器是否能进行译码的作用。

只有S1为高电平,S2、S3均为低电平时,才能进行译码,否则不论输入为何值,每个输出端均为1。

8086最小模式即系统中只有8086(或8088)一个微处理器。

最小模式是单处理器系统。

系统中所需要的控制信号全部由8086(或8088)CPU本身直接提供。

该最小系统电路图

微处理器级总线带负载的能力弱,加之部分引脚采用复用引脚,所以在微机系统设计时,不能直接与存储器、I/O接口连接。

地址锁存:

对存储器读写或对I/O设备输入输出的总线周期中,要求地址信息一直保持有效。

因此总线控制逻辑必须完成对分时复用的地址/数据总线中地址信息的锁存,以实现地址总线和数据总线的分离。

(74ls373)

数据缓冲(三态输出的总线收发器):

总线控制逻辑中的驱动器和

接收器是为了提高总线的驱动电流的能力和承受电容负载的能力。

(74ls245)他们都必须要求具有三态功能。

最小系统原理图:

图3-18086最小模式系统原理图

五、实验内容

实验中,我首先学习了Proteus软件的安装,并通过绘制简单的38译码器电路掌握该软件的使用方法。

然后利用该软件设计完成一个8086最小模式系统原理图并加载指定程序实现LED显示开关状态。

设计8086最小模式系统包括8086CPU、地址锁存器、数据总线收发器、时钟发生器等。

利用74LS373芯片进行扩展外接开关和LED发光二极管。

六、实验过程及结果

(1)以下是Proteus软件的安装步骤:

先运行“setup proteus 75.exe”,安装中途会弹出添加Key的对话框。

这个Key文件在文件夹中“Proteus+7[1].5+SP3+v2.1.3+破解文件”里面,选中“Grassington North Yorkshire.lxk”。

添加后单击install。

然后运行破解文件夹里面另一个程序“LXK Proteus 7.5 SP3 v2.1.3.exe”,找到Proteus安装路径,点Updata,出现successfull的字样便更新成功。

以下是截图

开始的界面如图

2.设计绘制8086最小模式系统图并加载指定程序实现LED显示开关状态。

所用元器件:

8086处理器

74LS373锁存器

74LS245数据缓冲

74LS138三八译码器

62648Kx8RAM

8255AIO扩展

ADC08098位AD转换器

BUTTON按键

DIPSW拨码开关

7SEG-BCD数码管

LED_RED发光二极管

SWITCH开关

PULLUP上拉电阻

ANDORNOTXORNANDNOR逻辑器件

实验截图:

实验结果截图:

实验所用代码

七、实验感想

通过设计8086最小模式系统电路图,学习8086CPU以及外部电路的接法和应用原理。

在助教老师的指导下,学习使用proteus仿真软件,收获颇多。

首先,在画图的过程中不免会有很多问题,比如如何添加引脚,如何标注等,在自己无法解决的时候,通过向同学求助和助教老师的帮助下,逐步解决问题,这也是这次实验的预期效果之一。

在将来的学习工作中,一定会经常使用此类仿真软件,所以这次的实验为今后的学习工作打下了基础。

八、参考文献

[1]李继灿,谭浩强.微机原理与接口技术.北京:

清华大学出版社

[2]王爽.汇编语言.北京:

清华大学出版社

[3]沈美明,温冬婵.汇编语言程序设计.北京:

机械工业出版社

[4]许立梓.微型计算机原理及应用.北京:

机械工业出版社

实验四:

基于8086最小系统的汇编程序设计

一、实验目的

1.学习使用Proteus进行8086微机系统仿真设计的方法。

2.学习8086CPU以及外部电路的接法和应用原理。

3.编程实现电路功能,学习汇编程序的编辑、编译、链接、执行的全过程。

二、实验设备

PC微机一台、Proteus软件、emu8086编码器软件

三、实验任务

1.研究所给实验材料中的8086最小系统电路原理图,了解其基本工作原理,包括工作时序、地址译码、相关逻辑器件的配合等。

2.根据电路的工作原理,编写程序,实现由矩阵按键控制BCD数码管显示0~F的基本功能。

四、实验原理

该8086最小系统的输入端物理地址为4004H,输出端地址为4000H。

该系统不断扫描输入端4*4矩阵开关的状态,当发现4*4矩阵开关有开关闭合,将该开关所代表的横纵坐标传给8086CUP进行计算,求出其代表的键值,并将该值传给输出端通过BCD数码管显示输出该值。

在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式。

在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。

这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。

由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。

1、判断键盘中有无键按下:

将全部行线Y0-Y3置低电平,然后检测列线的状态。

只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。

若所有列线均为高电平,则键盘中无键按下。

2、判断闭合键所在的位置:

在确认有键按下后,即可进入确定具体闭合键的过程。

其方法是:

依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。

在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。

若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。

电路如图4-1所示:

图4-18086系统电路图

五、实验内容

本实验首先需阅读Proteus设计文件中已经给出的译码表和译码电路,然后编写程序实现显示按键号的功能,即16个按键对应显示0~F。

电路中的数码管为BCD数码管,控制脚连接到IO口上,每个IO口分别代表二进制的一位,四位二进制可表示0~15的数,对应此数码管则显示0~F。

六、实验过程及结果

实验设计框图:

图4-2程序流程图

2、编写程序:

OUT1EQU4000H

OUT2EQU4002H

IN1EQU4004H

DATASSEGMENT

;此处输入数据段代码

DATASENDS

STACKSSEGMENT

;此处输入堆栈段代码

STACKSENDS

CODESSEGMENT

ASSUMECS:

CODES,DS:

DATAS,SS:

STACKS

START:

MOVAL,00H

MOVBX,OUT1

MOV[BX],AL

MOVDL,00000001B;初始化DL

L:

MOVAL,DL

MOVBX,OUT2

MOV[BX],AL;按键扫描输出

MOVBX,IN1

MOVAL,[BX];数据读入

CMPAL,0;判断有无按键按下

JNEKEY;若不为0,表示有按键按下,跳到KEY执行

SHLDL,01H;左移-位

CMPDL,00010000B;判断是否扫描完全部4行按键

JNEL;若不等于,跳到L

MOVDL,00000001B;若等于,DL复位

JMPL;跳到L执行下一次扫描

KEY:

MOVBX,0000H

MOVCX,0000H;清零需要用到的计数器

LINECOUNT:

;计算列数

CMPDL,01H

JEROWCOUNT;若DL为1,列计数完毕,转到行计数

ADDCX,01H

SHRDL,01H;右移一位

JMPLINECOUNT

ROWCOUNT:

;计算行数

CMPAL,01H

JEVALUE;若AL为1,行计数完毕,转到显示输出

ADDBX,04H

SHRAL,01H;右移一位

JMPROWCOUNT

VALUE:

ADDCX,BX

MOVAL,CL

MOVBX,OUT1

MOV[BX],AL;输出到A口的LED显示

JMPL;跳转到L继续下一次扫描

CODESENDS

ENDSTART

实验电路图截图如下:

3、载入程序验证结果

图4-3实验结果展示

七、实验感想

此次实验是基于8086最小系统硬件设计实验的基础上进行的一步扩展。

实验主要研究实验材料中的8086最小系统电路原理图,了解其基本工作原理,包括工作时序、地址译码、相关逻辑器件的配合等。

这次实验也是收获颇多。

首先在之前实验的基础上,对proteus仿真软件的使用有了基础,可以更快的上手,画图比上次实验要快很多。

我们这次实验并没有要求自己写程序而是老师提供了已经有的程序,也使得实验轻松一些。

不过我们仍然要对自己严格要求,对老师提供的程序进行研究学习。

八、参考文献

[1]李继灿,谭浩强.微机原理与接口技术.北京:

清华大学出版社

[2]王爽.汇编语言.北京:

清华大学出版社

[3]沈美明,温冬婵.汇编语言程序设计.北京:

机械工业出版社

[4]许立梓.微型计算机原理及应用.北京:

机械工业出版社

实验五:

8255并行接口实验(演示实验)

一、实验目的

1.学习使用Wmd86编写汇编程序,并会加载到试验箱的8086运行。

2.学习常用电路模块之间的接线。

3.学习8086CPU以及8255可编程并行I/O接口芯片的编程和应用。

二、实验设备

PC机一台,TD-PITE实验装置一套。

三、实验任务

1.安装Wmd86并能够加载到试验箱上运行。

2.了解试验箱的基本功能和模块。

3.按照所给8255输入输出试验箱电路图正确接线。

四、实验原理

并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。

CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位或32位等。

8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:

方式0--基本输入/输出方式、方式1--选通输入/输出方式、方式2--双向选通工作方式。

8255的内部结构及引脚如图5-1所示,8255工作方式控制字和C口按位置位/复位控制字格式如图5-2所示。

图5-18255内部结构及外部引脚图

图5-28255控制字格式

本实验使8255端口A工作在方式0并作为输入口,端口B工作在方式0并作为输出口。

用一组开关信号接入端口A,端口B输出线接至一组数据灯上,然后通过对8255芯片编程来实现输入输出功能。

五、实验内容

1.实验接线图如图5-3所示,按图连接实验线路图;

图5-38255基本输入输出实验接线图

2.编写实验程序,经编译、连接无误后装入系统;

3.运行程序,改变拨动开关,同时观察LED显示,验证程序功能。

六、实验过程及结果

1.按照实验原理中8255结构图和控制字,编写汇编语言程序,使8255的A口为输入端口,B为输出端口。

2.按照实验原理部分的电路接线图3,完成5-电路的线路连接。

3.拨动开关,观察到数据灯的显示(输出端口)随着开关的拨动(输入端口)发生了相应的改变。

验证了程序和电路接线的正确性,初步学习了TD试验箱的使用,了解了其基本功能和模块。

实验代码及代码注释:

;=======================================================

;文件名:

A82551.ASM

;功能描述:

A口为输入,B口为输出,将读入的数据输出显示

;注:

IOY0为实验箱提供好的译码引脚,地址空间为0600H~063FH(由A10,A9译码而成,部分译码,地址有重叠),此实验中接8255的片选管脚(CS),即8255编程地址由它和A2,A1(接实验箱的A1,A0)决定,具体参考8255地址确定

;=======================================================

MY8255_AEQU0600H;600H为A口地址

MY8255_BEQU06

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

当前位置:首页 > 总结汇报 > 学习总结

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

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