文档库 最新最全的文档下载
当前位置:文档库 › 《微机原理实验指导书》要点

《微机原理实验指导书》要点

微机原理汇编及接口实验讲义电子信息工程系微机实验组

2015年3月

目录

实验一寻址方式和汇编语言程序上机调试步骤 (1)

实验二循环程序设计 (2)

实验三子程序调用程序设计 (3)

实验四 DOS系统功能调用 (4)

实验五接口实验预备知识 (5)

实验六简单的输出接口 (9)

实验七简单的输入接口 (11)

实验八数码管动态显示实验 (13)

实验九可编程并行接口8255实验 (15)

实验十可编程计数/定时器8253实验 (16)

实验十一可编程中断控制器8259实验 (17)

实验十二微机接口综合实验(上机测验)

集成电路内部原理及管脚图 (21)

实验一寻址方式和汇编语言程序上机调试步骤

一、实验目的

1、掌握在HQFC环境下8086的寻址方式。

2、掌握在HQFC环境下汇编语言程序上机步骤及调试过程。

3、掌握连续执行、单步执行、跳过执行及设置断点的方法。

4、掌握连续执行、单步执行过程中如何查寄存器、存储器、堆栈中的数据。

二、实验内容

1、在HQFC环境下单步执行下列指令,查看每条指令的执行过程,随时查看寄存器、存储器、

堆栈及反汇编窗口并记录执行结果,查看、记录每条指令的操作码和操作数,查看、记录所有指令的反汇编结果。

code segment

assume cs:code

start: mov ax,1234h

mov bx,4321h

add ax,bx

mov cx,ax

push cx

pop dx

loop: jmp loop

code ends

end start

将3、4语句1234h、4321h改为1234、4321后再执行程序,观察结果寄存器窗口,说明变化原因。在语句PUSH CX设置断点,连续执行后查看结果,说明设置断点对程序调试有何作用?

2、在数据段X单元存放有数据42,Y单元存放有数据-43,编程求这两数之和,并把结果

存放到S单元,编写出完整程序,上机调试,查看、记录执行结果。

3、已知数据段X单元存放的数据为10H,编程将该数据左移四位后存放到Y单元,编写出

完整程序,上机调试,查看、记录执行结果。

三、实验预习

1、8086的寻址方式,理解什么是操作码和操作数。

2、了解汇编语言程序上机(编辑→编译→链接→执行)过程。

3、学习利用汇编语言编写简单的源程序。

4、什么是反汇编,反汇编的作用?

四、实验报告要求

1、写出在HQFC环境下汇编语言程序上机的步骤。

2、写出第1题源程序及对应指令的反汇编结果,写出

3、4条指令的操作码和操作数,说出

双字节数在存储器中的存放规律,写出单步执行完每条指令后,对应指令寄存器的值。

3、写出第2题、第3题的源程序和执行结果。

实验二循环程序设计

一、实验目的

1、进一步掌握HQFC环境下汇编语言程序上机步骤及调试过程。

2、掌握简单的单循环程序设计和调试的方法。

3、掌握多重循环程的序结构及调试方法。

4、掌握代码段、数据段、附加段的数据查看。

二、实验内容

1、编程将数据段从00H单元起始的十个单元赋值,值为00H~09H。

2、现有两组数,X= -78, 127,-128, -125,88,Y=32, -43, 76, 95, 1。编程求两个

数组之和,并将结果传送到S数组内,S(i)= X(i)+ Y(i)。

3、现有两个多位十进制数,X=5790123467,Y=1357902468。编程求X和Y之和,并将结果传

送到S。

4、编程将0~9这十个随机给出的数从小到大排序。

5、观察不同数制机器数的表示方法,观察不同数制相加的结果及在存储器中的存放格式。

6、记录正确的实验结果。

三、实验预习

1、复习循环结构的基本形式,掌握计数器CX与LOOP循环指令的关系。

2、复习逻辑地址和存储器分段的概念。

3、根据实验内容题目的要求编写出源程序。

五、实验报告要求

1、写出经过上机调试并通过的源程序和结果。

2、通过循环程序的上机调试,写出循环程序结构的特点及调试方法。

实验三、子程序调用程序设计

一、实验目的

1、掌握子程序调用编程及调试方法。

2、掌握多重循环程序结构的要点及调试方法。

3、掌握带符号数和无符号数比较测试及转移条件。

4、掌握简单的数据复制方法。

二、实验内容

1、用子程序调用(段内近程调用)编程,将以下十个数从小到大排序。

85,77,126,-1,-43, 37,-128, 11,-19,13。

2、用子程序调用的方法,将上题10个排好序的数复制到附加段。

3、正确设置断点,观察数据比较、转移的现象,观察每次子程序调用及返回的过程。

4、观察、记录数据段、附加段的排序结果。

三、实验预习

1、复习多重循环的初始控制条件及控制程序循环的过程。

2、复习间接标志条件转移指令带符号数和无符号数的区别和应用。

3、复习子程序调用的过程及编程方法,了解子程序调用距离属性的格式,掌握子程序段内近

程调用的程序结构。

4、根据实验内容的要求写出源程序。

四、实验报告要求

1、写出经过上机调试并通过的源程序及实验结果。

2、通过上机调试,写出子程序调用程序的调试方法。

实验四、DOS系统功能调用

一、实验目的

1、掌握DOS系统功能调用原理和步骤。

2、掌握DOS系统功能调用实现单个字符的输入、输出(功能号:01H、02H),

字符串的输入、输出(功能号:09H、0AH)。

3、了解回车、换行的概念与区别,掌握回车、换行功能的使用。

4、掌握通过LOOP指令实现延时的原理及延时子程序的编写。

二、实验内容

1、从键盘连续输入5个单个字符(如:1、

2、

3、

4、5),并将其压入堆栈。

2、将压入堆栈的5个单个字符显示在屏幕上。

3、从键盘输入一行字符串到内存缓冲区(如:ARE YOU READY ?)。

4、将内存缓冲区存放的一行字符串显示在屏幕上。

5、编写一个5秒倒计时程序,将倒计时结果显示在屏幕上。(下周实验上机调试)

三、实验预习

1、什么是DOS系统功能调用?

2、实现DOS系统功能调用的步骤?

3、什么是DOS功能调用的入口参数和出口参数?

4、假设执行一次LOOP指令的时钟周期为10,CPU的时钟频率为3G Hs,计算执行一次

LOOP NEXT指令所需的时间?计算1秒钟需要反复执行LOOP指令多少次(用十六进制表示)?

5、延时子程序如下:(参考)

DELAY PROC NEAR

PUSH CX

MOV BX, ×××× H

FOR1: MOV CX, ×××× H

FOR2: LOOP FOR2

DEC BX

JNZ FOR1

POP CX

RET

DELAY END

四、实验报告要求

1、将实验内容中的第1题、第2题合成一个实验内容编写程序,记录输入、输出结果。

2、将实验内容中的第3题、第4题合成一个实验内容编写程序,记录输入、输出结果。

实验五接口实验预备知识

一、实验目的

1、掌握TPC-ZK-UPC微机原理实验箱的使用方法。

3、掌握HQFC集成软件结合微机原理实验箱完成接口实验的方法。

二、实验内容

1、熟悉实验箱、集成电路芯片、元器件的使用

TPC-ZK-UPC实验箱主要部件位置如下图,在微机原理接口实验课程中,相应的接口实验都是基于该实验箱来完成。

说明:实验箱上所有集成电路芯片的电源和地均已连接好。

硬件实验

1、认识各功能区及信号插孔的位置 数据: D0 ~ D7。 地址: A0~A15。

控制信号:IOR 、IOW(RD 、WR)、 IRQ10...等。

端口地址:Y0(280H ~287H)、Y1(288H ~28FH) ......Y6(2B0H ~2B7H)、Y7(2B8H ~2BFH)。 单脉冲信号、复位信号、电平开关,电源端(+5V )、 地端,机箱右侧总电源开关、面板电源开关(上开下关)及指示灯等。

2、发光二极管(LED )实验

a 、 实验箱12个LED 为共阴连接。

b 、 将逻辑电平开关的输出接一路LED 。

c 、 变化逻辑电平观察显示状态。

3、数码管实验

a 、设置好选通信号S0~S7中的对应控制电平(高有效)。

b 、把逻辑电平开关输出端分别接数码管的输入端, a 或b 或其它端。

c 、变化逻辑电平开关的输出电平,观察数码管显示状态。

4、反向器74LS04实验

a 、 1脚逻辑电平开关的输出,2脚接LED 。

b 、 变化1脚的电平,观察LED 的变化。

S0~S7

5、或门74LS32实验

a、1、2脚接逻辑电平开关的输出,3脚接LED。

b、变化1、2脚的电平,观察LED的变化。

c、验证或门的逻辑关系。

6、锁存器74LS75实验

a、13脚接单脉冲,2脚接逻辑电平开关的输出。

b、变化13脚单脉冲的触发边沿(上升或下降沿),观察

LED的变化和实验现象。

c、D为数据输入端,Q为数据输出端,G为锁存控制端。

d、实验用单脉冲锁存数据,验证是上升沿还是下降沿锁

存数据。

7、八D触发器74LS273实验

a、1脚(清零端)接逻辑电平开关高电平,(低电平

清零)。

b、2脚接LED,3脚接逻辑电平开关的输出。

c、11脚(触发端)接单脉冲。

d、实验用单脉冲触发锁存,验证是上升沿还是下降

沿触发锁存数据。

8、缓冲器74LS244实验

a、 1、2脚接逻辑电平开关输出,18脚接LED。

b、变化1、2脚的电平,观察LED。

c、 2脚为数据输入端,18脚为数据输出端,1脚为控制端。

d、观察电平信号与脉冲信号的区别。验证是高电平还是低

电平有效。

软件实验

1、调试5秒倒计时程序,掌握1秒延时子程序的调用方法,观察屏幕输出结果,调整好延时

常数。

三、实验预习

1、74LS75与74LS273有什么不同?它们通常用于什么性质的接口电路?

2、复习74LS244的特性,该芯片通常用于什么性质的接口电路?

3、编写出5秒倒计时源程序。

四、实验报告要求

1、根据实验结果描述各个器件的特点。

2、说明锁存器和缓冲器的区别。

3、说明脉冲信号和电平信号的区别。

4、写出上机调试通过的5秒倒计时源程序。

实验六简单的输出接口

一、实验目的

1、掌握简单输出接口电路的设计方法。

2、学会使用锁存器锁存数据。

3、学会数据总线、地址总线和控制总线与接口电路的连接。

4、掌握在HQFC环境下对输出接口硬件和软件的调试。

二、实验内容

1、利用74LS75芯片设计一个简单的输出接口电路。先使1个绿色LED亮3秒钟后熄灭,然后

使1个黄色LED亮灭3次后熄灭,亮灭间隔1秒钟,最后使1个红色LED亮3秒钟熄灭。

以上现象重复2次,然后所有LED熄灭。要求总线数据信号为高电平时,LED点亮。

2、利用74LS273芯片设计一个简单的输出接口电路,使八个LED循环顺序点亮,要求每个LED

亮0.5秒,循环3次,然后所有LED熄灭。要求总线数据信号为高电平时,LED点亮。

三、实验预习

1、复习I/O接口的定义、功能和作用,清楚接口和端口的关系。

2、熟悉74LS75、74LS273芯片锁存数据的原理。

3、掌握LOOP指令延时原理,编写出延时0.5秒、1秒的子程序。

4、根据题意画出电路框图,(标出数据线、信号线引入芯片管脚的序号),设计出控制电路,

控制电路部分画出电路图。

6、根据题意编写出源程序。

简单输出接口电路框图

在HQFC环境下对输出接口电路的调试:

1、硬件接线完毕检查无误后,点击工具栏中的“工具软件”,选“接口调试工具”。

2、在数据发送框里,选“IO地址”,在“起始地址”栏里填写接口电路的输出端口地址,

在右边输入框内填写要输出的数据。

如:亮1个LED,输入框内的数据为: 01

亮2个LED,输入框内的数据为: 03

亮4个LED,输入框内的数据为: 0F

亮8个LED,输入框内的数据为: FF

8个LED全灭,输入框内的数据为 00

3、点击“发送数据”,如果电路接线正确,则数据相对于的LED点亮。

四、实验报告要求

1、写出源程序(上机调试通过)并对程序中关键语句加以必要的注释。

2、画出电路框图,(标出数据线、信号线引入芯片管脚的序号),设计出控制电路,控制电路

部分画出电路图。

3、写出实验现象,简单叙述对输出接口电路设计的体会。

实验七简单的输入接口

一、实验目的

1、掌握简单输入接口电路的设计方法。

2、掌握利用缓冲器将外部数据读入计算机的过程。

3、学会数据总线、地址总线和控制总线与接口电路的连接。

4、掌握在HQFC环境下对输入接口硬件和软件的调试。

二、实验内容

1、利用单脉冲作为读入信号,每读入一个单脉冲(一个上升沿和一个下降沿为两次单脉冲),

要求在屏幕上显示出读入脉冲的累加结果,在屏幕上显示“6”后,再换行输出“END”,程序结束。

2、通过扳动电平开关输出的高低电平来作为读入信号,电平开关来回扳动一次(正确理解来

回扳动一次的含义)作为一个读入过程,一个过程为一个累加数,在屏幕上显示累加结果,在屏幕上显示“6”后,再换行输出“END”,程序结束。

三、实验预习

1、复习I/O接口的定义、功能和作用,分清输入接口和输出接口的区别。

2、熟悉74L244芯片的工作原理及使用。

3、思考题:若8位数据线只有其中几位作为读入数据线用时,其他空闲数据线在读入数据时

如何处理?采用什么方法?有几种方法?

4、根据题意画出电路框图,(标出数据线、信号线引入芯片管脚的序号),设计出控制电路,

控制电路部分画出电路图。

5、根据题意编写出源程序。

无条件输入接口电路框图

在HQFC环境下对输入接口电路的调试:

1、硬件接线完毕检查无误后,设置好预读入的脉冲或开关电平。点击工具栏中的“工具软件”,

选“接口调试工具”。

2、在数据接收框里,选“IO地址”,在“起始地址”栏里填写接口电路的输入端口地址,

再点击“接收数据”,在右边框内即为读入的数据。

3、检查读入的数据和AL位的对应关系是否正确。

例:若D0为高电平,框内的数据为奇数,D0为低电平,框内的数据为偶数。

四、实验报告要求

1、写出上机调试通过的源程序,对关键的语句加以必要注释。

2、画出电路框图,(标出数据线、信号线引入芯片管脚的序号),设计出控制电路,控制电

路部分画出电路图。

3、写出实验现象,简单叙述对输入接口电路设计的体会。

实验八数码管动态显示实验

一、实验目的

1、掌握数码管的显示原理。

2、掌握利用数码管显示计算数机输出信息。

3、掌握数码管动态显示的原理及使用。

二、实验内容

1、使两个数码管分别显示“HP”,显示保持5秒钟后两个数码管熄灭。

2、使两个数码管分别显示01,23,45,67,89,每组字符显示保持2秒钟,程序结束后数

码管熄灭。

三、实验预习

1、数码管相关引脚

(1)实验箱上共有8个共阴极数码管,引脚分别是:A、B、C、D、E、F、G、DP,称为段码。8个数码管的段码是并联的,每个段码都通74LS244驱动器加以驱动。

(2)每一个数码管都有一个控制端,称为位码。8个位码是独立的,分别是:S0、S1、S2、S3、S4、S5、S6、S7。每个位码控制端经过一个与非门驱动。

(3)通常D0接A,D1接B,……D6接G,D7不用。

数码管相关引脚

2、数码管点亮的条件

(1)要使数码管显示数字,相应的段码应为高电平,对应位码为高电平。(注:位码段浮空为高电平。)

(2)字型与数码管显示的对应关系见下表

(3)动态显示原理

实验箱8个数码管的段码是并联在一起的,一次只能显示一种字符,要使多个数码管显示不同字符,先使第一个数码管显示第一种字符,位码控制端S0保持几个毫秒之后,使第二个数码管显示第二种字符,第二个位码控制端S1保持几个毫秒后,然后再指向下一个数码管…这样循环显示。由于人眼的视觉存在惯性作用,感觉好像多个数码管“同时”

显示不同的字符。

由于数码管点亮后再熄灭存有余晖,会造成显示上的模糊,所以在显示每个字符之前,都必须将数码管上的所有余晖清除掉。我们可以通过关闭显示来实现。

即:使对应的位码为低电平。若位码控制地址为280H,则关闭数码管的语句为:

MOV DX,280H ;置位控地址

MOV AL,00H ;使位码均为低电平

OUT DX,AL ;输出位码信号

(4)掌握利用数码管显示其他字符,如:C、O、E、F、L 等。

1、写出调试通过的源程序,对关键的语句加以必要注释。

2、画出电路框图(标出数据线、信号线引入芯片管脚的序号),设计出控制电路,控制电

路部分画出电路图。

3、说明数码管动态显示延时时间长短对视觉有何影响。

实验九可编程并行接口8255实验

一、实验目的

1、了解8255芯片的结构和功能。

2、掌握8255初始化程序的设计方法。

3、掌握8255与CPU信号的基本连接方法。

二、实验内容

1、8255方式0,检测D0位的状态,若D0为低电平时,使四个红色LED循环点亮3次后全

部熄灭,若D0为高电平时,使四个绿色LED同时亮灭3次后全部熄灭。(A、B、C口的选择由上课老师根据不同班组决定)

2、8255方式1,将四位开关量由A(B)口选通输入,3秒钟后由B(A)口输出,驱动LED。

3、要求通过对C口的输入、输出状态字IBF和OBF的测试来控制程序运行,选通信号STB

和回答信号ACK使用单脉冲。(A、B口的选择由上课老师根据不同班组决定)

1、实验预习

1、实验箱上的8255A芯片电源和数据线均已连接好,实验时连接好读写控制模块信号即可

工作,读写控制模块信号:CS、RD、WR、RESET、A1、A0。

2、片选信号CS接Y0,复位信号RESET接低电平,高电平起复位作用。

3、预习课本相关内容:

(1)8255A内部机构及A、B、C口的特性。

(2)8255A方式0、方式1的基本功能和控制字。

(3)8255A方式1的C口输入、输出状态字和时序图。

(4)清楚8255A方式1选通信号STB、回答信号ACK和C口输入、输出状态字的关系,清楚选通信号STB和回答信号ACK是如何控制程序运行的。

1、写出调试通过的源程序,对必要的语句加以注释。

2、画出正确的接线图。

3、通过对8255A的实验,对比实验六、实验七,谈谈你对8255A的认识和体会。

4、能否用8255A来完成实验八的内容,若能实现简述你的实现方案。

实验十可编程计数器/定时器 8253实验

一、实验目的

1、掌握8253的主要性能及其初始化编程。

2、掌握8253控制字的写法。

3、掌握8253芯片的应用与调试。

二、实验内容

1、8253方式0测试:用单脉冲作为CLK信号,OUT接LED。先给某号计数器写入计数值,然后

产生若干个CLK信号,5秒后将该计数器的余值显示在屏幕上,分析计数常数N与CLK的关系。

要求:用LED来监视CLK的个数,初态LED灭。(计数器号的选择由上课老师根据不同班组决定)

2、8253方式1测试:使某号计数器工作在方式1,CLK和GATE信号由单脉冲产生,OUT接LED,

验证CLK1、GATE1和OUT1三者关系。

要求:分别用LED监视CLK、GATE的状态,初态两个LED均灭。

三、实验预习

1、弄清8253内部结构、功能及工作方式,并弄清方式0的CLK与OUT的关系。

2、根据题意会写出8253的控制字。

3、弄清楚方式1的波形图及方式1CLK 、GATE、 OUT三者有什么关系?

4、第二题在不改动计数器原值的条件下,如何利用GATE信号来加宽输出脉冲的宽度?

5、根据实验内容的要求,写出源程序,画出8253芯片与外部器件的接线图。

四、实验报告要求

1、写出正确的源程序并加以必要的注释。

2、画出8253芯片与外部器件的接线图。

3、写出实验过程的现象、结果并分析原因。

4、你认为8253芯片一般会应用在什么地方?

实验十一可编程中断控制器8259实验

一、实验目的

1、熟悉8259A基本功能,了解初始化的命令方式。

2、掌握中断矢量的填装、中断服务程序的编写、中断服务程序电路的设计与调试。

3、掌握通过IRQ10实现中断的过程。

二、实验内容

1、通过软件观察中断实现过程:

主程序在屏幕上每秒中输出一行字符串(共输出20行),等待中断。

例如: ARE YOU READY ?

ARE YOU READY ?

.... ....

当中断脉冲信号通过IRQ10端子输入时,主程序停止字符串输出,执行中断服务程序。

中断服务程序的功能:在屏幕上输出另一行字符串,每秒输出一行,共输出5行。

例如: IRQ10 INTERRUPT NOW !

IRQ10 INTERRUPT NOW !

.... ....

中断服务程序结束后,继续执行主程序,等待下一次中断,直到主程序运行结束。

2、通过硬件观察中断实现过程:

主程序在屏幕上每秒中输出一行字符串(共输出20行),等待中断。

例如: ARE YOU READY ?

ARE YOU READY ?

.... ....

当中断脉冲信号通过IRQ10端子输入时,主程序停止字符串输出,执行中断服务程序。

中断服务程序的功能:使两个LED亮、灭3次,亮灭间隔1秒。

中断服务程序结束后,继续执行主程序,等待下一次中断,直到主程序运行结束。

三、实验预习

1、系统的可屏蔽中断使用两片8258A,管理15级中断,当从片8259A的中断源IRQ10

被选中后,经由从8259A的INT端向主片的IRQ2提成请求。整个系统的中断源的级别从高到低依次为:主片IRQ0、IRQ1,从片IRQ0—IRQ7,主IRQ3—IRQ7。

2、8259A有两个口地址,即奇地址和偶地址,系统分配给主片8359A的口地址为20H和

21H,分配给从片8259A的口地址为A0H和A1H。用户在设计中断程序时,根据需要可以把一个8位的中断屏蔽字写入主片和从片的中断屏蔽寄存器奇地址端口。

3、实验台的中断脉冲(由低到高的电平跳变)经IRQ10引入从片8259A的IR2,经过从

片8259A中断屏蔽寄存器IMR D2位的屏蔽/开放管理和优先级判优,再经过INT端接到主片8259A的IRQ2,经过主片8259A中断屏蔽寄存器IMR D2位的屏蔽/开放管理和优先级判优,最终由主片8259A向CPU提出中断。

4、CPU响应实验台的IRQ10中断后,从片8259A送出的中断类型码是72H,则CPU转向

72H型服务程序。

硬件中断源与中断类型对照表

相关文档