微机原理与接口实验指导书整合.docx

上传人:b****5 文档编号:27844095 上传时间:2023-07-05 格式:DOCX 页数:102 大小:293.96KB
下载 相关 举报
微机原理与接口实验指导书整合.docx_第1页
第1页 / 共102页
微机原理与接口实验指导书整合.docx_第2页
第2页 / 共102页
微机原理与接口实验指导书整合.docx_第3页
第3页 / 共102页
微机原理与接口实验指导书整合.docx_第4页
第4页 / 共102页
微机原理与接口实验指导书整合.docx_第5页
第5页 / 共102页
点击查看更多>>
下载资源
资源描述

微机原理与接口实验指导书整合.docx

《微机原理与接口实验指导书整合.docx》由会员分享,可在线阅读,更多相关《微机原理与接口实验指导书整合.docx(102页珍藏版)》请在冰豆网上搜索。

微机原理与接口实验指导书整合.docx

微机原理与接口实验指导书整合

 

微机原理与接口

实验指导书

 

 

目录

第一章概述...................................................1

第二章软件实验

1、存储器块清零..............................................................12

2、内存块移动.............................................................14

3、二进制到BCD码转换.....................................................16

4、二进制到ASCII码转换...................................................18

5、程序跳转表..............................................................20

6、数据排序................................................................23

第三章硬件实验

1.硬件演示实验.........................................................26

2.八段数码管显示实验.........................................................30

3.人机交互实验......................................................35

4.8255输入输出实验........................................................42

5.外部中断实验........................................................45

6.计数器实验..........................................................49

7.定时器实验.........................................................51

8.实用电子钟实验...........................................................54

9.计算器实验.............................................................57

10.中断定时器综合实验....................................................59

11.串行接口综合实验........................................................62

12.交通灯模拟控制实验......................................................69

13.A/D、D/A实验.............................................................71

14.空调温度控制实验........................................................75

15.电子琴实验.............................................................78

16.综合设计实验1........................................................81

17.综合设计实验2(多功能I/O接口扩充设计)...................................82

第四章逻辑分析工具.........................................85

第一章概述

Lab6000实验系统可根据教学实践的需要实现MCS51/MCS196单片机原理与接口、8088/8086微机原理与接口的一系列实验,并在硬件上预留了自主开发实验的空间。

对基本实验仅需连少量连接线就可完成,减轻学生工作量。

同时也提供了需较多连线的扩展性实验,以进一步锻炼学生的实践开发能力。

此外,系统还为学生提供了强大的软、硬件调试手段。

§2.1实验系统主机的硬件组成

本实验系统主机上有丰富的实验电路模块和灵活的组成方法,既可以和MCS51、MCS96CPU也可以和8088/8086CPU组合完成各种实验。

本实验箱拥有高档通用仿真器所具有的逻辑分析仪、波形发生器和程序跟踪器等强大的分析功能,让学生在做实验时不仅能了解程序的执行过程,更能直观地看到程序运行时的时序或者电路上的信号。

1、逻辑电平开关电路

图1:

逻辑电平开关电路

实验箱上有8只开关K0―K7,并有与之相对应的K0―K7引线孔为逻辑电平输出端。

开关向上拨相应插孔输出高电平“1”,向下拨相应插孔输出低电平“0”。

2、LED电平显示电路

图2:

LED电平显示电路

 

实验箱上装有8只发光二极管及相应驱动电路。

见图2,L0-L7为相应发光二极管驱动信号输入端,该输入端为高电压电平“1”时发光二极管点亮。

我们可以通过P1口对其直接进行控制,点亮或者熄灭发光二极管。

3、单脉冲电路

单脉冲电路由按键(PULSE)和去抖动电路组成,每按一次(PULSE)键产生一个单脉冲。

板上有单脉冲的输出信号插孔,图为“”和“”,分别为正脉冲和负脉冲。

图3:

单脉冲发生电路

4、逻辑门电路

或门与门非门

图4:

逻辑门电路

本实验箱提供系列门电路:

非门,或门,与门,D触发器。

逻辑门电路由7400和7404组合实现。

5、逻辑测量(逻辑笔)电路

本实验箱上有逻辑测量电路,如图5。

可用于测量各种电平,其中红灯亮表示高电平,绿灯亮表示低电平。

如果两灯同时闪动,表示有脉冲信号;两灯都不亮时,表示浮空(高阻态)。

图5:

逻辑笔电路

6、4 MHz脉冲信号源和多级分频电路

下图是4MHz脉冲信号输出电路。

可将4MHz脉冲信号接到分频电路上,经过分频后,能得到2M、1M、500K、250K、125K、62.5KHz多种频率的脉冲信号。

图6-1:

4 MHz脉冲产生电路

 

7、可调模拟量输入电路

图7:

电位器

电位器电路用于产生可变的模拟量(0-5V)。

8、串口通信程序实验插孔

做串行通信实验时,如果不需要将TTL电平转到RS232电平,可直接将POD51/96仿真板或POD8086仿真板上的TXD、RXD与通信对方交叉对接,并且共地即可。

单片机与标准的串行设备通信,需要将TTL电平转到RS232电平或将RS232电平转成TTL电平。

本实验箱提供用户串行通信接口,可以用这两个插孔进行RS232通信程序实验,经电平转换后,再通过实验箱的“用户串口”接到PC机或其它RS232设备,实现数据互传。

9、六位LED数码显示器和4×6键盘电路

本实验箱的LED显示电路和键盘电路如图8。

显示控制的位码由74HC374输出,经ULN2003反向驱动后,做LED的位选通信号。

位选通信号也可做为键盘列扫描码,键盘扫描的行数据从74HC245读回,374输出的列扫描码经245读入后,用来判断是否有键被按

 

图8:

键盘及LED显示电路

 

下,以及按下的是什么键。

如果没有键按下,由于上拉电阻的作用,经245读回的值为高,如果有键按下,374输出的低电平经过按键被接到245的端口上,这样从245读回的数据就会有低位,根据374输出的列信号和245读回的行信号,就可以判断哪个键被按下。

LED显示的段码由另一个74HC374输出。

键盘和LED显示电路的地址译码见图8,做键盘和LED实验时,需将KEY/LEDCS接到相应的地址译码上。

位码输出地址为0X002H,段码输出地址为0X004H,键盘行码读回地址为0X001H,此处X是由KEY/LEDCS决定。

例如将KEY/LEDCS接到地址译码的CS0上,那么位码输出地址就为08002H,段码输出地址就是08004H,键盘行码读回地址为08001H。

10、存储器电路

本实验箱上有一片32K存储器61256。

提供给学生做存储器实验,由于地址译码为4K一段,所以只能提供4K容量使用,地址从0000H~0FFFH。

用RAMCS来选择不同的地址段,以适应不同的应用电路。

图9:

8255端口扩展电路

11、8255端口扩展电路

12、A/D转换电路

实验箱上有一个0~5V的可调电位器,将可变电压输出端接入A/D转换电路的输入端,通过CPU软件处理,读进A/D转换值,再将转换值送数码管显示。

我们可以调节电位器,使之输出不同电压值,通过数码管的显示,检验A/D转换正确与否。

图10:

A/D转换电路

13、D/A转换电路

图11:

D/A转换电路

我们可以通过软件编程控制D/A转换芯片DAC0832,输出相应电流值,经过采样电路取出模拟量电压值,用电压表测量电压输出端子,读出电压值。

14、16×16LED点阵电路

图12:

LED点阵电路

15、8251A串行口扩展电路

图13:

8251A串行口扩展电路

 

图14:

8253定时器/计数器扩展电路

16、8253定时器/计数器扩展电路

17、8259中断扩展电路

图29-1:

实验板右边8259中断扩展电路

图15:

实验板左边8259中断扩展电路

图16:

8237DMA扩展电路

18、8237DMA扩展电路

图17:

4-16译码器电路

19、4-16译码器

20、实验电路插座

本实验箱具有1个40芯通用电路插座,每个插座的全部引脚都被引出到相应的插孔,40芯通用插座可兼容28芯、24芯、16芯和14芯插座。

利用这个插座,可对双列直插式的各种微机芯片进行实验。

21、总线插孔

本实验箱上有三排总线插座,用于引出各种总线信号,其中AD0~AD7为8根数据总线,A0~A15为16根地址总线。

另外ALE,RD,WR为控制总线。

与CPU相关的一些控制信号和I/O信号例如P1口、RXD、TXD等信号在相应的仿真板上。

22、地址译码插孔

片选号

地址范围

CS0

08000H~08FFFH

CS1

09000H~09FFFH

CS2

0A000H~0AFFFH

CS3

0B000H~0BFFFH

CS4

0C000H~0CFFFH

CS5

0D000H~0DFFFH

CS6

0E000H~0EFFFH

CS7

0F000H~0FFFFH

§2.2实验系统的EX88B仿真板简介

进行i8088/86的实验时,需将EX88B仿真板插在实验箱上,EX88B仿真板如图:

 

IO/M:

用于选择访问外设还是存储器

 

§2.3实验系统的使用方法

本实验系统具有三种使用方法:

1、无系统机,仅用实验箱的板上仿真器进行仿真和实验。

2、有系统机,用系统机上的集成调试软件驱动板上仿真器进行仿真和实验。

3、无实验箱、无仿真器,仅在系统机上采用软件模拟方式进行仿真。

§2.48088/86CPU系列实验说明

一、系统的启动

1、进行8088/86CPU实验时,并插上EX88B仿真板。

2、将配套的串行通讯电缆的一端与实验台的RS2329芯D形插座相连,另一端与PC相的串行口相连。

3、将实验台的电源线与220V电源相连。

(实验结束后应拔下)

4、打开实验台电源开关,红色电源指示灯亮。

仿真开发器初始化成功后,会在LED上显示‘8088’。

5、打开计算机电源,执行WAVE集成调试软件。

注意:

1、无论是集成电路的插拔、通讯电缆的连接、跳线器的设置还是实验线路的连接,都应确保在断电情况下进行,否则可能造成对设备的损坏。

2、实验线路连接完成后,应仔细检查无误后再接通电源。

二、8088/8086CPU系列实验软件设置

WAVE集成调试环境应设置如下:

仿真器型号:

伟福Lab6000实验箱

仿真头型号:

8088/86实验(8088/86)

语言设置对话框各命令行应设置如下:

编译器路径:

一般情况下为C:

\COMP86,也可设为你自己的安装路径。

ASM命令行:

‘/zi/l’

C命令行:

‘-mt-v-y-c’

LINK命令行:

‘/m/l/v’

 

软件实验一存储器块清零

一、实验要求

指定存储器中某块的起始地址和长度,要求能将其内容清零。

二、实验目的

1.掌握存储器读写方法

2.了解存储器的块操作方法

三、实验说明

通过本实验,学生可以了解8088微机读写存储器的读写方法,同时也可以了解8088微机编程,调试方法。

如何将存储器块的内容置成某固定值(例全填充为07FH)?

请学生修改程序,完成此操作。

四、参考程序

1、参考程序

datasegment

Blockdb256dup(55h)

dataends

codesegment

assumecs:

code,ds:

data

startprocnear

movax,data

movds,ax

movbx,offsetBlock;起始地址

movcx,256;清256字节

Again:

mov[bx],byteptr0

incbx

LoopAgain;记数减一

jmp$

codeends

endstart

 

五、实验步骤

(1)进入Wave6000,输入程序并检查,保存程序。

(2)“编译”程序。

(3)“全速执行”程序。

(4)“暂停”程序运行,在“数据窗口(MEMOREY)”查看0400H起始的单元内容,并记录。

(5)在指令“jmp$”处设断点。

(6)“全速执行”程序。

(7)在“数据窗口(MEMOREY)”查看0400H起始的单元内容,记录并分析实验结果。

 

六、思考题

(1)请修改程序,向Block存储器块填入00,01,02,…,FE,FF等256字节;

软件实验二内存块移动

一、实验要求

将指定源地址和长度的存储块移到指定目标位置

二、实验目的

1.了解内存的移动方法。

2.加深对存储器读写的认识。

三、实验说明

块移动是计算机常用操作之一,多用于大量的数据复制和图象操作。

本程序是给出起始地址,用地址加一方法移动块,请思考给出块结束地址,用地址减一方法移动块的算法。

另外,若源块地址和目标块地址有重叠,该如何避免?

四、程序框图

;移动32字节

datasegment

Sourcedb32dup(055h)

Targetdb32dup(0aah)

dataends

codesegment

assumecs:

code,ds:

data,es:

data

startprocnear

movax,data

movds,ax

moves,ax

movsi,offsetSource

movdi,offsetTarget

movcx,20H

repmovsb

jmp$

codeends

endstart

 

五、实验步骤

(1)进入Wave6000,输入程序并检查,保存程序。

(2)“编译”程序。

(3)在指令“jmp$”处设断点。

(4)“全速执行”程序。

(5)在“数据窗口(MEMOREY)”分别查看0400H、0500H开始32个单元的内容,记录并分析实验结果。

 

软件实验三二进制到BCD转换

一、实验要求

将给定的一个二进制数转换成二十进制(BCD)码。

二、实验目的

1、掌握简单的数值转换算法。

2、基本了解数值的各种表达方法。

三、实验说明

计算机中的数值有各种表达方式,这是计算机的基础。

掌握各种数制之间的转换是一种基本功。

有兴趣的同学可以试试将BCD转换成二进制码。

四、参考程序

;将AX拆为三个BCD码,并存入Result开始的三个单元。

datasegment

Resultdb3dup(?

dataends

codesegment

assumecs:

code,ds:

data

startprocnear

movax,data

movds,ax

movax,123

movcl,100

divcl

movResult,al;除以100,得百位数

moval,ah

movah,0

movcl,10

divcl

movResult+1,al;余数除以10,得十位数

movResult+2,ah;余数为个位数

jmp$

codeends

endstart

结束

 

五、实验步骤

(1)进入Wave6000,输入程序并检查,保存程序。

(2)“编译”程序。

(3)在指令“jmp$”处设断点。

(4)“全速执行”程序。

(5)在“数据窗口(MEMOREY)”查看0400H、0401H、0402H三个单元的内容,记录并分析实验结果。

 

六、思考题

(1)请编写程序,实现BCD转换成二进制码

软件实验四二进制到ASCII码转换

一、实验要求

给出一个BCD数,将其转换成ASCII值。

二、实验目的

1.了解BCD值和ASCII值的区别。

2.了解如何将BCD值转换成ASCII值。

3.了解如何查表进行数值转换及快速计算。

三、实验说明

此实验主要让学生了解数值的BCD码和ASCII码的区别,利用查表功能可能快速地进行数值转换。

进一步了解数值的各种表达方式。

四、程序框图

;将AX拆为二个ASCII码,并存入Result开始的二个单元

datasegment

Resultdb2dup(?

ASCIITab:

db"0123456789ABCDEF";定义数字对应的ASCII表

dataends

codesegment

assumecs:

code,ds:

data

startprocnear

movax,data

movds,ax

movax,1ah

movbl,al

shrbl,4

movbh,0

movah,byteptrASCIITab[bx]

movResult,ah

andal,0fh

movbl,al

movah,byteptrASCIITab[bx]

movResult+1,ah

jmp$

codeends

endstart

结束

五、实验步骤

(1)进入Wave6000,输入程序并检查,保存程序。

(2)“编译”程序。

(3)在指令“jmp$”处设断点。

(4)“全速执行”程序。

(5)在“数据窗口(MEMOREY)”查看0400H、0401H两个单元的内容,记录并分析实验结果。

软件实验五程序跳转表

一、实验要求

在多分支结构的程序中,能够按调用号执行相应的功能,完成指定操作。

二、实验目的

1.了解程序的多分支结构

2.了解多分支结构程序的编程方法

三、实验说明

多分支结构是程序中常见的结构,若给出调用号来调用子程序,一般用查表方法,查到子程序的地址,转到相应子程序。

四、程序框图

下列程序并非为了完成某一特定功能编写的,而是提供给我们了解程序的多分支结构及其编程方法使用的。

codesegment

调用返回

assumecs:

code

Func0procnear

movax,0

ret

Func0endp

Func1procnear

movax,1

ret

Func1endp

Func2procnear

movax,2

ret

Func2endp

Func3procnear

movax,3

ret

Func3endp

FuncEnterprocnear

cmpax,0

jnzNext1

jmpFunc0

Next1:

cmpax,1

jnzNext2

jmpFunc1

Next2:

cmpax,2

jnzNext3

jmpFunc2

Next3:

cmpax,3

jnzNext4

jmpFunc3

Next4:

ret

FuncEnterendp

startprocnear

movax,0

callFuncEnter

movax,1

callFuncEnter

movax,2

callFuncEnter

movax,3

callFuncEnter

jmp$

codeends

五、实验步骤

(1)进入Wave6000,输入程序并检查,保存程序。

(2)“编译”程序。

(3)在指令“cmpax,0”处设断点。

(4)“单步”执行程序。

(5)记录指令的执行顺序,并分析实验结果。

 

软件实验六数据排序

一、实验要求

给出一组随机数,将此组数据排序,使之成为有序数列

二、实验目的

1.了解数据排序的简单算法。

三、实验说明

有序的数列更有利于查找。

本程序用的是“冒泡排序”法,算法是将一个数与后面的数相比较,如果比后面的数大,则交换,如此将所有的数比较一遍后,最大的数就会在

数列的最后面。

再进行下一轮比较,找出第二大数据,直到全部数据有序。

四、程序框图

Lenequ10

datasegment

Arraydb5,2,1,0,2,3,8,6,5,9

Changedb0

dataends

codesegment

assumecs:

code,ds:

data

startprocnear

movax,data

movds,ax

Sort:

movbx,offsetArray

movcx,Len-1

movChange,0

Goon:

moval,byteptr[bx]

incbx

cmpal,byteptr[bx]

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

当前位置:首页 > 高中教育 > 数学

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

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