计算机硬件技术基础实验材料.docx

上传人:b****8 文档编号:30524332 上传时间:2023-08-16 格式:DOCX 页数:35 大小:1,003.16KB
下载 相关 举报
计算机硬件技术基础实验材料.docx_第1页
第1页 / 共35页
计算机硬件技术基础实验材料.docx_第2页
第2页 / 共35页
计算机硬件技术基础实验材料.docx_第3页
第3页 / 共35页
计算机硬件技术基础实验材料.docx_第4页
第4页 / 共35页
计算机硬件技术基础实验材料.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

计算机硬件技术基础实验材料.docx

《计算机硬件技术基础实验材料.docx》由会员分享,可在线阅读,更多相关《计算机硬件技术基础实验材料.docx(35页珍藏版)》请在冰豆网上搜索。

计算机硬件技术基础实验材料.docx

计算机硬件技术基础实验材料

计算机硬件技术基础实验指导书

 

蔡学敬编写

 

重庆大学城市科技学院电气信息学院

目录

目录2

实验一 简单程序设计3

实验二数据在内存的存放和传送8

实验三分支程序设计12

实验四循环程序设计13

实验五子程序设计实验14

实验六查表程序设计实验15

实验八8255并行接口试验21

实验九LED数码管显示设计实验24

实验十8259中断控制器实验25

实验十一、8251串行接口实验30

实验十二键盘扫描及显示设计实验31

实验一 简单程序设计

一、实验目的:

1、熟悉汇编程序设计的基本过程;

2、单步运行程序,通过观察窗口观察指令对寄存器和内存中数据的影响。

二、实验内容:

设计一个完整的汇编语言源程序,实现Z=X+Y。

要求:

1、编写源程序,X、Y的值自己定;

2、编译链接通过生成运行程序;

3、用TD调试程序,分步运行;

观察并记录标志寄存器的值;

和内存地址中值的变化;

4、修改程序中XY的值,重新做上述步骤。

三、实验步骤:

1、汇编语言上机步骤

(1)在windows下,在D盘建立自己的文件夹

(2)点击开始菜单,选择“运行”项,在“运行”对话框中,输入CMD,进入DOS系统

(3)\D:

(进入D盘)

(4)\CD文件夹名(cai)(进入自己的文件夹)

(5)D:

\cai\EDIT(进入编辑环境输入源程序,保存为tab.asm)

(6)D:

\cai\pathd:

\tasm\bin(TASM文件夹拷贝在D盘根目录)

(7)D:

\cai\TASM32tab.asm(汇编生成目标文件tab.obj)

(8)D:

\cai\TLINktab.obj(链接生成执行文件tab.exe)

(9)D:

\cai\TDtab(进入CPU窗口运行调试)

2、TD调试窗口

(1)进入调试窗口

(2)打开调试文件

(3)调试窗口的各子窗口作用

(4)DS断基址的加载

(5)调试环境和输出显示窗口之间的切换操作

(6)进入DS段,查看相应内存中的数据

(7)代码段窗口相关信息

3、实验程序清单

DATASEGMENT

XDB15

YDB45

ZDB?

DATAENDS

CODESEGMENT

ASSUMENCS:

CDOE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVAL,X

MOVBL,Y

ADDAL,BL

MOVZ,AL

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

思考:

汇编程序设计有那些步骤,应该注意什么?

实验二数据在内存的存放和传送

一、实验目的

1、熟练掌握汇编调试环境;

2、熟悉数据在内存中的存放;

3、掌握内存变量的应用;

4、掌握汇编程序结构;

5、掌握数据传送指令;

6、练习寻址方式;

7、单步运行程序,通过观察窗口观察指令对寄存器中数据的影响。

二、实验内容

1、输入下列程序并观察运行结果

(1)将下列数据定义输入到数据段相应位置

DAT1DB16H,8/2,11100011B

DB216,-12,0D2H,‘ABCDE’

DAT2DB?

5dup(?

NUM1DB12H,34H,56H,78H,90H

COUNTDW$-DAT1

NUM2DW5566H,3344H,7823H

NUM3DD13579024H,0A0D0C0BH

NUM4DWDAT2

(2)将下列程序输入到代码段相应位置

MOVBL,NUM1

MOVBH,NUM1+2

MOVBL,BYTEPTRNUM3

MOVBX,WORDPTRNUM1+2

MOVAL,NUM1[2*3]

MOVCX,NUM2[3]

MOVDX,WORDPTRNUM3[5]

MOVDI,3

MOVAH,[DI]

MOVSI,OFFSETCOUNT

MOVBX,[SI+2]

MOVAX,[BX+DI]

MOVDI,[10H]

LEABP,NUM3

LEABX,DAT2

(3)完成整个源程序的存盘、编译、链接、TD调试

(4)F8分布运行程序

(5)每一步观察结果并完成报告要求项目

2、编写程序,将10H----15H共6个字节数据写入内存22000H开始的连续6个存储单元中;另将22000H开始的连续6个存储单元中的数据传送到41000H开始的6个存储单元中。

三、实验报告

(一)分布运行源程序,完成下列内容

1、数据段寄存器内容DS=

2、画出内存分配图(右),要表明变量名和物理地址。

3、DAT1+2单元的偏移地址是

内容为:

原数据为:

依据为:

DAT1+3单元的物理地址是

内容为:

原数据为:

依据为:

DAT1+4单元的逻辑地址是

内容为:

原数据为:

依据为:

DAT1+6~~10单元的内容为:

原数据为:

依据为:

COUNT单元内容为:

原数据为:

依据为:

DAT2单元的物理地址是:

NUM1单元的物理地址是:

NUM2单元的物理地址是:

4、

写出下列每句程序运行的结果:

MOVBL,NUM1BL=

MOVBH,NUM1+2BX=

MOVBL,BYTEPTRNUM3BL=

MOVBX,WORDPTRNUM1+2BX=

MOVAL,NUM1[2*3]AL=

MOVCX,NUM2[3]CX=

MOVDX,WORDPTRNUM3[5]DX=

MOVDI,3DI=,寻址方式:

MOVAH,[DI]AH=,寻址方式:

MOVSI,OFFSETCOUNTSI=,数据代表:

MOVBX,[SI+2]BX=,寻址方式:

MOVAX,[BX+DI]AX=,寻址方式:

MOVDI,[10H]DI=,寻址方式:

LEABP,NUM3BP=,数据代表:

LEABX,DAT2BX=,数据代表:

5、程序的第1.2两句是:

作用是:

6、程序的第最后两句是:

作用是:

(二)写出第二题的程序清单

四、第一题参考程序清单(1.ASM)

DATASEGMENT

DAT1DB16H,8/2,11100011B

DB216,-12,0D2H,‘ABCDE’

DAT2DB?

5dup(?

NUM1DB12H,34H,56H,78H,90H

COUNTDW$-DAT1

NUM2DW5566H,3344H,7823H

NUM3DD13579024H,0A0D0C0BH

NUM4DWDAT2

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVBL,NUM1

MOVBH,NUM1+2

MOVBL,BYTEPTRNUM3

MOVBX,WORDPTRNUM1+2

MOVAL,NUM1[2*3]

MOVCX,NUM2[3]

MOVDX,WORDPTRNUM3[5]

MOVDI,3

MOVAH,[DI]

MOVSI,OFFSETCOUNT

MOVBX,[SI+2]

MOVAX,[BX+DI]

MOVDI,[10H]

LEABP,NUM3

LEABX,DAT2

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

实验三分支程序设计

  一、实验目的:

  l、掌握分支程序程序的结构;

2、掌握分支程序的设计、调试方法;

3、8088/8086条件转移指令的使用;

4、充分利用Intel80486丰富的条件转移指令,构成较复杂分支程序,实现对内存数据的控制。

  二、实验内容

1、把内存中的源数据区(10个字节数据)传送到目的数据块。

2、找出以BUFF开始的连续三个单元中的最大数(假设均为8位无符号数)

 

实验四循环程序设计

一、实验目的:

1、掌握循环程序设计的结构;

2、加深循环结构的理解;

3、掌握循环程序的设计、调试方法;

4、熟练应用移位指令、除法指令;

5、掌握不同进制数之间的相互转换。

二、实验内容:

1、分别计算以BUFF开始的连续10个内存单元中奇、偶数的个数,奇数个数放入OD内存单元,偶数个数放入EV内存单元。

2、将BX寄存器中的数转换为相对应的十进制数,并将转换后的十进制数写入相对应的内存单元。

实验五子程序设计实验

一、实验目的

1.学习子程序的定义和调用方法;

2.掌握子程序的结构;

3.掌握子程序的程序设计及调试方法;

4.过程调用伪指令:

PROC,ENDP,NEAR和FAR;

5.8088/8086指令:

CALL,RET,RETn。

二、实验内容

求N!

实验六查表程序设计实验

一、实验目的:

1、学习查表程序设计方法;

2、熟悉DOS系统提供功能调用;

3、利用DOS系统提供的功能调用INT21H进行屏幕显示的方法;

4、80X86系列微型计算机中的ASCII码表及控制字符的使用;

二、试验内容:

查表就是根据从键盘输入的某个值,在数据表格中找到与之对应的一个数据。

要求:

从键盘输入一个数据,该数据的平方值输出到显示器屏幕上。

实验七8254定时/计数器应用实验

一、实验目的

    1、学会8254芯片和微机接口原理和方法。

2、掌握8254定时器/计数器的工作方式和编程原理。

二、实验设备

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

三、实验内容

8254的计数器0工作在方式3,用信号源1MHz作为CLK0时钟,OUT0是周期为2秒的方波,并用该信号点亮LED灯。

四、实验原理

8254是Intel公司生产的可编程间隔定时器,具有以下基本功能:

(1)有3个独立的16位计数器;

(2)每个计数器可按二进制或十进制(BCD)计数;

(3)每个计数器可编程工作于6种不同工作方式;

(4)8254每个计数器允许的最高计数频率10MHz;

(5)8254有读回命令,除了可以读出当前计数单元的内容外,还可以读书状态寄存器的内容;

(6)计数脉冲可以是有规律的时钟信号,也可以是随机信号。

计数初值公式为:

,其中

是输入时钟的频率,

是输出波形的频率

图7-1是8254的内部结构框图和引脚图,它是由与CPU的接口、内部控制电路和三个计数器组成。

8254的工作方式如下所述:

(1)方式0:

计数到0结束输出正跃变信号方式;

(2)方式1:

硬件可重触发单稳方式;

(3)方式2:

频率发生器方式;

(4)方式3:

方波发生器;

(5)方式4:

软件触发选通方式;

(6)方式5:

硬件触发选通方式;

图7-18254的内部结构和引脚

8254控制字有两个:

一个用来设置计数器的工作方式,称为方式控制字;另一个用来设置读回命令,称为读回控制字。

这两个控制字共用一个地址,由标识位来区分。

控制字格式如表7-1所示。

表7-18254的方式控制字格式

表7-28254读出控制字格式

表7-38254状态字格式

实验步骤:

(1)接线图如图7-2所示

(2)根据实验内容,编写实验程序,经编译、链接无误后加载到系统

(3)运行实验程序,验证程序功能。

图7-28254定时应用实验接线图

附:

电子发声实验

一、实验目的:

学习用8254定时/计数器使蜂鸣器发声的编程方法。

二、实验设备

PC微机一台、TD-PITE实验箱一台。

三、实验内容

根据实验提供的音乐频率表和时间表,编写程序控制8254,使其输出连接到扬声器上能发出相应的乐曲。

四、实验说明及步骤

一个音符对应一个频率,将对应一个音符频率的方波通到扬声器上,就可以发出这个音符的声音。

将一段乐曲的音符对应频率的方波依次送到扬声器,就可以演奏出这段乐曲。

利用8254的方式3——“方波发生器”,将相应一种频率的计数初值写入计数器,就可产生对应频率的方波。

计数初值的计算如下:

计数初值=输入时钟÷输出频率

例如输入时钟采用1MHz,要得到800Hz的频率,计数初值即为1000000÷800。

音符与频率对照关系如表7-4所示。

对于每一个音符的演奏时间,可以通过软件延时来处理。

首先确定单位延时时间程序(根据CPU的频率不同而有所变化)。

然后确定每个音符演奏需要几个单位时间,将这个值送入DL中,调用DALLY子程序即可。

;单位延时时间;N个单位延时时间(N送至DL)

DALLYPROCDALLYPROC

D0:

MOVCX,0010HD0:

MOVCX,0010H

D1:

MOVAX,0F00HD1:

MOVAX,0F00H

D2:

DECAXD2:

DECAX

JNZD2JNZD2

LOOPD1LOOPD1

RETDECDL

DALLYENDPJNZD0

RET

DALLYENDP

表7-4音符与频率对照表(单位:

Hz)

下面提供了乐曲《友谊地久天长》实验参考频率表、时间表。

程序中频率表是将曲谱中的音符对应的频率值依次记录下来(B调、四分之二拍),时间表是将各个音符发音的相对时间记录下来(由曲谱中节拍得出)。

频率表和时间表是一一对应的,频率表的最后一项为0,作为重复的标志。

根据频率表中的频率算出对应的计数初值,然后依次写入8254的计数器。

将时间表中相对时间值带入延时程序来得到音符演奏时间。

实验参考程序流程如图7-3所示。

图7-3电子发生实验参考程序流程

实验步骤如下:

1.参考图7-4所示连接实验线路;

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

3.运行程序,听扬声器发出的音乐是否正确。

图7-4电子发生实验接线图

《友谊地久天长》实验参考频率表、时间表

实验八8255并行接口试验

一、实验目的

1.学习并掌握8255的工作方式及其应用;

2.掌握8255典型应用电路的接法。

二、实验设备

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

三、实验内容

1.基本输入输出实验。

编写程序,使8255的A口为输入,B口为输出,完成拨动开关到数据灯的数据传输。

要求只要开关拨动,数据灯的显示就发生相应改变。

四、实验原理

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

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

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

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

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

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

图8-28255控制字格式

五、实验步骤

1.基本输入输出实验

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

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

具体实验步骤如下述:

(1)实验接线图如图8-3所示,按图连接实验线路图;

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

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

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

附:

流水灯显示实验

编写程序,使8255的A口和B口均为输出,数据灯D7~D0由左向右,每次仅亮一个灯,循环显示,D15~D8与D7~D0正相反,由右向左,每次仅点亮一个灯,循环显示。

实验接线图如图8-5所示。

实验步骤如下所述:

(1)按图8-5连接实验线路图;

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

(3)运行程序,观察LED灯的显示,验证程序功能;

(4)自己改变流水灯的方式,编写程序。

图8-58255流水灯实验接线图

实验九LED数码管显示设计实验

一、实验目的

了解数码显示基本原理,熟悉8255A编程。

二、实验设备

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

三、实验内容

将本人学号后六位显示在实验箱数码管上,

将8255单元与数码管显示单元连接,编写实验程序,将本人学号后六位显示于实验箱数码上。

实验参考接线图如图9-1所示。

图9-1

实验十8259中断控制器实验

一、实验目的

1.掌握8259中断控制器的工作原理;

2.学习8259的应用编程方法;

3.掌握8259级联方式的使用方法。

二、实验设备

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

三、实验内容及步骤

1.中断控制器8259简介

在Intel386EX芯片中集成有中断控制单元(ICU),该单元包含有两个级联中断控制器,一个为主控制器,一个为从控制器。

该中断控制单元就功能而言与工业上标准的82C59A是一致的,操作方法也相同。

从片的INT连接到主片的IR2信号上构成两片8259的级联。

在TD-PITE实验系统中,将主控制器的IR6、IR7以及从控制器的IR1开放出来供实验使用,主片8259的IR4供系统串口使用。

8259的内部连接及外部管脚引出如图10-1所示。

图10-18259内部连续及外部管脚引出图

表10-1列出了中断控制单元的寄存器相关信息。

表10-1ICU寄存器列表

寄存器

端口地址

功能描述

ICW1(主)

ICW1(从)

(只写)

0020H

00A0H

初始化命令字1:

决定中断请求信号为电平触发还是边沿触发。

ICW2(主)

ICW2(从)

(只写)

0021H

00A1H

初始化命令字2:

包含了8259的基址中断向量号,基址中断向量是IR0的向量号,基址加1就是IR1的向量号,依此类推。

ICW3(主)

(只写)

0021H

初始化命令字3:

用于识别从8259设备连接到主控制器的IR信号,内部的从8259连接到主8259的IR2信号上。

ICW3(从)

(只写)

00A1H

初始化命令字3:

表明内部从控制器级联到主片的IR2信号上。

ICW4(主)

ICW4(从)

(只写)

0021H

00A1H

初始化命令字4:

选择特殊全嵌套或全嵌套模式,使能中断自动结束方式。

OCW1(主)

OCW1(从)

(读/写)

0021H

00A1H

操作命令字1:

中断屏蔽操作寄存器,可屏蔽相应的中断信号。

OCW2(主)

OCW2(从)

(只写)

0020H

00A0H

操作命令字2:

改变中断优先级和发送中断结束命令。

OCW3(主)

OCW3(从)

(只写)

0020H

00A0H

操作命令字3:

使能特殊屏蔽方式,设置中断查询方式,允许读出中断请求寄存器和当前中断服务寄存器。

IRR(主)

IRR(从)

(只读)

0020H

00A0H

中断请求:

指出挂起的中断请求。

ISR(主)

ISR(从)

(只读)

0020H

00A0H

当前中断服务:

指出当前正在被服务的中断请求。

POLL(主)

POLL(从)

(只读)

0020H

0021H

00A0H

00A1H

查询状态字:

表明连接到8259上的设备是否需要服务,如果有中断请求,该字表明当前优先级最高的中断请求。

初始化命令字1寄存器(ICW1)说明见图10-2所示。

图10-2初始化命令字1寄存器

初始化命令字2寄存器(ICW2)说明见图10-3所示。

图10-3初始化命令字2寄存器

初始化命令字3寄存器(ICW3)说明,主片见图10-4,从片见图10-5。

图10-4主片初始化命令字3寄存器

图10-5从片初始化命令字3寄存器

初始化命令字4寄存器(ICW4)说明见图10-6。

图10-6初始化命令字4寄存器

操作命令字1寄存器(OCW1)说明见图10-7。

图10-7操作命令字1寄存器

操作命令字2寄存器(OCW2)说明如图10-8所示。

图10-8操作命令字2寄存器

操作命令字3寄存器(OCW3)说明如图10-9所示。

图10-9操作命令字3寄存器

查询状态字(POLL)说明如图10-10所示。

图10-10程序状态字寄存器

在对8259进行编程时,首先必须进行初始化。

一般先使用CLI指令将所有的可屏蔽中断禁止,然后写入初始化命令字。

8259有一个状态机控制对寄存器的访问,不正确的初始化顺序会造成异常初始化。

在初始化主片8259时,写入初始化命令字的顺序是:

ICW1、ICW2、ICW3、然后是ICW4,初始化从片8259的顺序与初始化主片8259的顺序是相同的。

系统启动时,主片8259已被初始化,且4号中断源(IR4)提供给与PC联机的串口通信使用,其它中断源被屏蔽。

中断矢量地址与中断号之间的关系如下表所示:

2.8259单中断实验

实验接线图如图10-11所示,单次脉冲输出与主片8259的IR7相连,每按动一次单次脉冲,产生一次外部中断,在显示屏上输出一个字符“Good”。

图10-118259单中断实验接线图

实验步骤

(1)按图10-11连接实验线路;

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

(3)运行程序,重复按单次脉冲开关KK1+,显示屏会显示字符“7”以说明响应了中断。

3.8259级联实验

实验接线图如图10-12所示,KK1+连接到主片8259的IR7上,KK2+连接到从片8259的IR1上,当按一次KK1+时,显示屏上显示字符“M7”,按一次KK2+时,显示字符“S1”。

编写程序。

图10-128259级联实验

实验步骤

(1)按

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

当前位置:首页 > 人文社科 > 设计艺术

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1