当前位置:文档之家› 微机实验指导书

微机实验指导书

微机实验指导书
微机实验指导书

机自学院自动化系2016.3.20

目录

实验一开关状态显示 (3)

实验二模拟交通灯实验 (6)

实验三8253定时器/计数器实验 (10)

实验四D/A转换器实验 (15)

实验五A/D转换器实验 (18)

实验六8259中断控制(1) (22)

实验七8259中断控制(2) (25)

实验一开关状态显示

一、实验目的

熟悉实验箱和软件开发平台的使用。了解基本I/O端口的操作方法和技巧,掌握编程和调试基本技能。

二、实验内容

利用74LS244作为输入口,读取开关状态,根据给定表格中开关状态对应的输出关系,通过74LS273驱动发光二极管显示出来。

三、实验区域电路连接图

参考上图连线:

Y0~Y1接K1~K2(对应J1、J2);Q0~Q7接L1~L8(对应J3至J10);CS1接8000H 孔(对应J12);CS2接9000H孔(对应J11);IOWR→IOWR;IORD→IORD;然后用数据排线连接JX7→JX17(BUS2)。

四、编程指南

本实验要求编写程序将连接在74LS244芯片端口的开关状态读入,根据下面表格给出的开关状态对应的LED输出灯亮状态,控制74LS273芯片驱动LED。按下MON或系统复位键则返回监控。

五、程序框图

六、实验步骤

1. 按连线图连接好,检查无误后打开实验箱电源。

2. 在PC端软件开发平台上输入设计好的程序,编译通过后下载到实验箱。

3. 运行程序后,拨动K1-K2,L1-L8会跟着亮灭。

4. 如果运行不正常就要检查连线,程序。排查错误,修改程序,直到运行程序正常。

七、实验程序清单及注释

根据要求编写程序,最后记录调试成功的程序,写好注释便于自己或他人阅读。

八、实验报告

应包括画电路图、实验程序框图、编程(要有注释)、调试过程及心得体会等。问答题:

1. I/O端口的寻址方式有哪2种?在x86系统中,采用哪一种?

2. 在输入/输出电路中,为什么常常要使用锁存器和缓冲器?

实验二模拟交通灯实验

一、实验目的

1. 学习在PC机系统中扩展简单I/O 接口的方法。

2. 进一步学习编制数据输出程序的设计方法。

3. 学习模拟交通灯控制的方法。

二、实验内容

用8255做输出口,控制十二个发光管(4组红绿黄灯)的亮灭,模拟十字路口交通灯管理。

三、实验区域电路连接图

PC0→L3;PC1→L7;PC2→L11;PC3→L15;红灯

PC4→L2;PC5→L6;PC6→L10;PC7→L14;绿灯

PB4→L1;PB5→L5;PB6→L9;PB7→L13。黄灯

8255数据、控制线内部已线连好。

四、编程指南

1. 通过8255A控制发光二极管,PB4-PB7对应黄灯,PC0-PC3对应红灯,PC4-PC7对应绿灯,以模拟交通路灯的管理。

2. 要完成本实验,必须先了解交通路灯的亮灭规律,设有一个十字路口l、3为南北方向,2、4为东西方向,初始状态为四个路口的红灯全亮,之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车。延时一段时间后,l、3路口的绿灯熄灭,而l、3路口的黄灯开始闪烁,闪烁若干次以后,l、3路口红灯亮,而同时2、4路口的绿灯亮,2、4路口方向通车,延时一段时间后,2、4路口的绿灯熄灭,而黄灯开始闪烁,闪烁若干次以后,再切换到l、3路口方向,之后,重复上述过程。

3. 程序中设定好8255A的工作模式及三个端口均工作在方式0,并处于输出状态。

4. 各发光二极管共阳极,使其点亮应使8255A相应端口的位清0。

五、程序框图

六、实验步骤

1. 按连线图连接好,检查无误后打开实验箱电源。

2. 在PC端软件开发平台上输入设计好的程序,编译通过后下载到实验箱。

3. 运行程序后,观察模拟交通管理灯是否按照设计的规律变化。

4. 如果运行不正常就要检查连线,程序。排查错误,修改程序,直到运行程序正常。

七、实验程序清单及注释

根据要求编写程序,最后记录调试成功的程序,写好注释便于自己或他人阅读。

八、实验报告

应包括画电路图、实验程序框图、编程(要有注释)、调试过程及心得体会等。

问答题:

1.8255A的哪个端口能实现位操作输出(按位置位/复位)?执行控制字写入

操作的端口是哪个?

2.写出下图中Intel8255A占用的4个端口地址。

A

A4

实验三8253定时器/计数器实验

一、实验目的

1.学会8253芯片与微机接口的原理和方法。

2. 掌握8253定时器/计数器的工作原理和编程方法。

二、实验内容

编写程序,将8253的计数器0设置为方式2(频率发生器),计数器1设置为方式3(方波频率发生器),计数器0的输出作为计数器1的输入,计数器1的输出接在一个LED上,运行后可观察到该LED在不停地闪烁。

1.编程时用程序框图中的二个计数初值,计算OUT1的输出频率,用表观察LED,进行核对。

2.修改程序中的二个计数初值,使OUT1的输出频率为1Hz,用手表观察LED,进行核对。

3.上面计数方式选用的是16进制,现若改用BCD码,试修改程序中的二个计数初值,使LED的闪亮频率仍为1Hz。

三、实验区域电路连接图

CS3→0040H;JX8→JX0;IOWR→IOWR;IORD→IORD;A0→A0;A1→A1;

GATE0→+5V;GATE1→+5V;OUT0→CLK1;OUT1→L1;CLK0→0.5MHz;(单脉冲与时钟单元)四、编程指南

8253是一种可编程定时/计数器,有三个十六位计数器,其计数频率范围为0-2MHz,用+5V单电源供电。8253的六种工作方式:

⑴方式0:计数结束中断⑷方式3:方波频率发生器

⑵方式l:可编程频率发生⑸方式4:软件触发的选通信号

⑶方式2:频率发生器⑹方式5:硬件触发的选通信号

8253方式控制字

SC1SC0RL1RL0M2M1M0BCD

00:选择计数器0 01:选择计数器1 10:选择计数器2 11:未使用00:锁定计数器

01:选择低8位

10:选择高8位

11:选择16位

(先读写低8位

后读写高8位)

000:选择方式0

001:选择方式1

x10:选择方式2

x11:选择方式3

100:选择方式4

101:选择方式5

计数码

制选择:

0:二进

制计数

1:BCD

码计数

8253初始化编程

1.8253初始化编程

8253的控制寄存器和3个计数器分别具有独立的编程地址,由控制字的内容确定使用的是哪个计数器以及执行什么操作。因此8255在初始化编程时,并没有严格的顺序规定,但在编程时,必须遵守两条原则:

①在对某个计数器设置初值之前,必须先写入控制字;

②在设置计数器初始值时,要符合控制字的规定,即只写低位字节,还是只写高位

字节,还是高、低位字节都写(分两次写,先低字节后高字节)。

2.8253的编程命令

8253的编程命令有两类:一类是写入命令,包括设置控制字、设置计数器的初始值命令和锁存命令;另一类是读出命令,用来读取计数器的当前值。

锁存命令是配合读出命令使用的。在读出计数器值前,必须先用锁存命令锁定当前计数寄存器的值。否则,在读数时,减1计数器的值处在动态变化过程中,当前计数输出寄存器随之变化,就会得到一个不确定的结果。当CPU将此锁定值读走后,锁存功能自动失效,当前计数输出寄存器的内容又跟随减1计数器变化。在锁存和读出计数值的过程中,减1计数器仍在作正常减1计数。这种机制确保了即能在计数过程中读取计数值,又不影响计数过程的进行。

五、程序框图

六、实验步骤

1. 按连线图连接好,检查无误后打开实验箱电源。

2. 在PC端软件开发平台上输入设计好的程序,编译通过后下载到实验箱。

3. 运行程序后,观察LED闪烁周期(可以看10次或更多次闪烁时间,以提高观察准确度)。

再按要求调整初始值,使得闪烁周期为1S时间。

4. 如果运行不正常就要检查连线,程序。排查错误,修改程序,直到运行程序正常。

七、实验程序清单及注释

根据要求编写程序,最后记录调试成功的程序,写好注释便于自己或他人阅读。

八、实验报告

应包括画电路图、实验程序框图、编程(要有注释)、调试过程及心得体会、计算步骤及结果、观察过程、实验内容部分要求的1Hz及BCD码的修改程序。

问答题:

1.8253初始化编程时需要遵循的原则是什么?

2.简述8253初始化编程的步骤。

实验四D/A转换器实验

一、实验目的

了解D/A转换的基本原理,掌握DAC0832芯片的性能、使用方法及对应的硬件电路。

二、实验内容

编写程序,要求输出锯齿波、三角波及方波,分别用示波器观察波形;如有能力,把三段程序编在一起,循环输出三种波形。

三、实验区域电路连接图

连线如下所示:

CS5→8000H;

IOWR→IOWR;

JX2→JX17;

AOUT→示波器。

四、编程指南

1. 首先须由CS片选信号确定量DAC寄存器的端口地址,然后锁存一个数据通过0832输出,典型程序如下:

MOV DX,DAPORT ;0832口地址

MOV AL ,DATA ;输出数据到0832

OUT

DX ,AL

2. 产生波形信号的周期由延时常数确定。

五、程序框图

六、实验步骤

1. 按连线图连接好,检查无误后打开实验箱电源。

2. 在PC 端软件开发平台上输入设计好的程序,编译通过后下载到实验箱。

3. 运行程序后,用示波器测量0832左侧AOUT 插孔,应有方波或锯齿波输出。

4. 如果运行不正常就要检查连线,程序。排查错误,修改程序,直到运行程序正常。

七、实验程序清单及注释

根据要求编写程序,最后记录调试成功的程序,写好注释便于自己或他人阅读。

八、实验报告

应包括画电路图、三个实验程序框图、编程(要有注释)、调试过程及心得体会等。得到的波形图要标示出示波器的量度(纵向每格电压幅度、横向每格时间标度)。波形的转折点处要标示清楚。给出清晰、明了的示波器波形解读(幅度和周期)。

问答题:

1.DAC产生波形的频率如何调节?频率上限的限制取决于那些因素?

2. 如果要求产生正弦波一般用什么方法实现?具体如何实施的(给个方案)。

实验五A/D转换器实验

一、实验目的

了解模/数转换基本原理,掌握ADC0809的使用方法。掌握A/D转换与计算机的接口方法,了解ADC0809芯片的转换性能及编程,了解计算机如何进行数据采集。

二、实验内容

编写程序,用查询方式采样输入模拟电压(模拟量电压从实验装置的电位器接入),并将其转换为二进制数字量,用发光二极管显示。

三、实验区域电路连接图

IN0→AOUT1(可调电

压,VIN→+5V);

IOWR→IOWR;

IORD→IORD;

CLK→500K(单脉冲与时

钟单元);

ADDA、ADDB、ADDC→GND;

CS4→8000H

JX6→JX17(数据总线)

PA0~7→L1~L8

四、编程指南

1. ADC0809的START端为A/D转换启动信号,ALE端为通道选择地址的锁存信号,实验

电路中将其相连,以便同时锁存通道地址并开始A/D采样转换,其输入控制信号为CS 和WR,故启动A/D转换只须如下两条指令:

MOV DX,ADPORT ;ADC0809端口地址

OUT DX,AL ;发CS和WR信号并送通道地址

2. A/D转换芯片为逐次逼近型,精度为8位,每转换一次约100微秒,所以程序若为查

询式,则在启动后要加适当延时。用延时方式等待A/D转换结果,使用下述指令读取A/D转换结果。

MOV DX,ADPORT ;ADC0809端口地址

IN AL,DX

3. 循环不断采样A/D转换的结果,边采样边显示A/D转换后的数字量。

五、程序框图

六、实验步骤

1. 按连线图连接好,参考实验一连接8255和LED让ADC转换结果在LED上显示。电位

器只需连接中心抽头,电源内部已经连接好了(电位器无需连接电源,以防短路)。

检查无误后打开实验箱电源。

2. 在PC端软件开发平台上输入设计好的程序,编译通过后下载到实验箱。

3. 运行程序后,观察LED显示,记录代码,计算获得的代码是否与输入电压符合。如果

显示的代码末位跳动厉害,影响观察,可以插入延时(大概1秒左右)。

4. 如果运行不正常就要检查连线,程序。排查错误,修改程序,直到运行程序正常。

5. 修改程序把延时获取A/D数据的方式改成查询EOC获取A/D数据的方式,指定8255

相关主题
文本预览
相关文档 最新文档