西北师范大学计算机专业课程教学大纲
《微机原理实验》
授课对象:计算机师范专业 课程类型:核心课
授课对象:计算机非师范专业 课程类型:核心课
授课对象:电子信息专业 课程类型:核心课
授课对象:物理专业 课程类型:限选课
学时数:36学时 (计算机师范专业)、
36学时(计算机非师范专业)、
18学时 (电子信息专业)、
20学时 (物理专业)
学分数:1
先修课程:《数学分析Ⅰ、Ⅱ》, 《电子技术基础Ⅰ、Ⅱ》,《计算机组成原理》 等。
基本要求:掌握8086微处理器的指令系统、8086 汇编程序的编程技巧、DOS/BIOS系统调用、可编程接口芯片及其应用的硬/软件设计、A/D转换和D/A转换及其应用的硬/软件设计、8086中断处理的硬/软件设计等(根据不同的专业,确定不同的侧重点)。
一.
实验项目总表
序号 |
实验项目名称 |
学时数 |
项目类别 |
项目类型 |
1 |
8086汇编程序的一般结构和上机过程 |
2 |
基础性 |
必作 |
2 |
调试程序DEBUG |
2 |
基础性 |
必作 |
3 |
顺序结构(立方表) |
2 |
设计性 |
必作 |
4 |
分支结构(符号函数) |
2 |
设计性 |
必作 |
5 |
循环结构(BCD码转换为ASCII码) |
2 |
设计性 |
必作 |
6 |
子程序(大数相乘及累加) |
2 |
设计性 |
必作 |
7 |
系统调用一(随机数产生器) |
3 |
设计性 |
必/选作 |
8 |
系统调用二(彩色点阵绘图) |
3 |
设计性 |
选作 |
9 |
系统调用三(彩色字符阵列) |
3 |
设计性 |
选作 |
10 |
机内8253、8255芯片编程实验(数码音乐) |
4 |
综合性 |
必作 |
11 |
机内8259、8253及8086中断编程实验 (时钟中断) |
6 |
综合性 |
选作 |
12 |
·EXE文件 和 ·COM文件 |
2 |
设计性 |
选作 |
13 |
COPY程序 |
2 |
综合性 |
选作 |
14 |
8253定时/计数器实验(波形输出) |
2 |
设计性 |
选作 |
15 |
8255并行口实验一(读取、显示开关组状态) |
2 |
设计性 |
选作 |
16 |
8255并行口实验二(交通信号灯) |
2 |
设计性 |
必作 |
17 |
8255并行口实验三(位控波形) |
2 |
设计性 |
选作 |
18 |
8259单极中断控制实验 |
2 |
设计性 |
选作 |
19 |
8259极联方式中断控制实验 |
2 |
设计性 |
选作 |
20 |
8253、8259联用实验(统计、显示随机事件) |
4 |
综合性 |
选作 |
21 |
8279键盘/显示器接口实验 |
2 |
设计性 |
选作 |
22 |
8251串行口实验一(双机通讯) |
2 |
综合性 |
必作 |
23 |
8251串行口实验二(串行发送数据波形显示) |
2 |
设计性 |
选作 |
24 |
ADC0809模/数转换实验 |
2 |
设计性 |
必作 |
25 |
DAC0832数/模转换实验一 |
2 |
设计性 |
选作 |
26 |
DAC0832数/模转换实验二 |
2 |
设计性 |
必作 |
27 |
存储器读写实验 |
2 |
设计性 |
选作 |
28 |
DMA实验(存储器到存储器成组传送数据) |
3 |
设计性 |
选作 |
29 |
小直流电机调速试验 |
2 |
综合性 |
选作 |
30 |
步进电机控制试验 |
2 |
综合性 |
选作 |
31 |
继电器控制实验 |
2 |
综合性 |
选作 |
32 |
电传式水表计量、显示、报警系统 |
8 |
综合性 |
选作 |
33 |
压力测量实验 |
8 |
综合性 |
选作 |
34 |
温度测量实验 |
10 |
综合性 |
选作 |
(根据不同的专业,确定不同的选作题目)
二.实验项目内容及要求
实验一 8086 汇编程序的一般结构和上机过程
实验目的: 熟悉 8086 汇编程序的一般结构,
掌握汇编程序的上机过程。
实验内容: 1. 通过程序设计的实例, 熟悉8086汇编程序的一般结构。
2. 通过实际操作,
掌握 8086 汇编程序的上机过程。
使用设备:286以上微机。
实验二 调试程序 debug
实验目的: 掌握调试程序 debug 的使用方法。
实验内容: 通过对两个汇编程序进行各种调试和检测, 掌握调试程序debug 的使用方法。
实验三 顺序结构程序设计
实验目的: 掌握顺序结构的程序设计方法。
实验内容: 内存中自 table 开始的七个单元连续存放着自然数 0 至 6 的立方值
(称立方表)。任给一数 x (0≤x≤6)在 xx 单元, 查表求 x 立方值, 把
结果存入 yy
单元。
使用设备:286以上微机。
实验四 分支结构程序设计
实验目的: 掌握分支结构的程序设计方法和有关指令的使用方法。
实验内容:
1 (当 x>0)
符号函数定义为
y= 0 (当
x=0)
-1 (当 x<0)
编写一个分支结构的程序, 将任意给定的 x 值存放在 xx 中, 相应的 y 值存放在 yy 中。程序汇编、连接通过后,用 debug 进行调试, 改变 xx 单元的值, 运行程序, 看 yy 单元的值是否正确。
使用设备:286以上微机。
实验五 循环结构程序设计
实验目的: 掌握循环结构的程序设计方法和有关指令的使用方法。
实验内容: 内存某一缓冲区中存放 10 个单元的用 bcd 码表示的十进制数。
编写一个循环结构的程序, 将每个单元存放的两个十进制数分别转换为两个对应的 ascii 码。高位的bcd
码转换完后存放在地址较高的单元。程序汇编、连接通过后,在
debug 下进行调试运行, 看结果是否正确。
使用设备:286以上微机。
实验六 子程序设计
实验目的: 掌握子程序的设计及其调用。
实验内容: 编写一个含有子程序调用的程序, 求函数 y = a2 + b2 + ab
a、b 是两个单字节无符号数, 并在数据段中定义, 结果存在y (占用三个字节)。子程序的任务是求两数乘积及累加和。 程序汇编、连接通过后, 用 debug 进行调试, 改变 a、b 的值,将 y 开始的三单元置 0, 运行程序, 看 y 的值是否正确。
使用设备:286以上微机。
实验七 DOS、ROM BIOS 系统调用一(随机数产生器)
实验目的: 掌握基本 I/O、格式化输出、键盘检测、时间计数等方面的系统调用方法。
实验内容: 计算机系统的时间计数器每 55ms 加一。人手匀速击键时,实际击键瞬间的时间间隔不会精确相等, 而具有随机性。编程, 利用系统提供的时间计数的功能和人手击键时间间隔的随机性, 使得每按一次键, 就产生一个50以内的随机整数, 并以二位十进制数的形式显示, 后随一个空格。若按 ESC键, 则结束程序, 返回DOS。
使用设备:286以上微机。
实验八 DOS、ROM BIOS 系统调用二
实验目的: 掌握图形功能的系统调用和图形程序的编程方法。
实验内容: 显示彩色等腰三角形, 定时改变三角形内的颜色, 改变16次(颜色 0~16) 结束。显示模式取 320×200 彩色图形模式, 背景色黄色(颜色号0eh), 彩色组取绿红黄组(0
号调色板)。三角形中心设在屏幕中心。程序结束时, 恢复 80×25 文本显示模式。
使用设备:286以上微机。
实验九 DOS、ROM BIOS 系统调用三
实验目的: 掌握彩色文本功能的系统调用和彩色文本程序的编程方法。
实验内容: 在彩色文本 40×25 显示模式下, 显示 127 个带有属性的彩色字符。属性从 0 开始,逐字加 1。每行显示 11 个字符,字符之间用空格隔开, 每个字符的显示适当延时。屏幕边缘设黄色(0eh)。
使用设备:286以上微机。
实验十 机内8253、8255芯片编程实验(音乐程序)
实验目的: 了解 IBM PC/XT 机内发音电路原理及发音电路中各接口芯片的作用。掌握8253定时/记数器芯片和8255并行接口芯片的编程方法。掌握音乐程序的设计、编程方法。
实验内容: 编程, 使计算机扬声器演奏乐曲 《两只老虎》。
使用设备:286以上微机。
实验十一 机内8259、8253芯片及8086中断控制系统
编程实验(时钟中断)
实验目的:了解 IBM PC/XT
机内中断控制逻辑电路及中断控制原理,以及电路中各接口芯片的作用。掌握8259 中断控制器芯片 和 8253 定时/计数器芯片的接线方法和编程技术。
实验内容:对机内 8253 定时/记数器芯片、8259 中断控制器芯片联用编程,使 8253 每隔
10MS 经
8259 向 CPU 发一次 8 号中断。中断一次,屏幕上显示一个数字。
使用设备:286以上微机。
实验十二 .EXE 文件和 .COM 文件
实验目的: 了解 .EXE 文件和 .COM 文件的不同组成结构, 掌握 .COM 文件结构的编程方 法, 掌握将 .EXE 文件转换为 .COM 文件的方法。
实验内容: 了解 .EXE 文件和 .COM 文件的结构原理, 按照 .COM 文件的结构改写实验十 的源程序, 最终生成能演奏
《两只老虎》 乐曲的 .COM 文件。
使用设备:286以上微机。
实验十三 COPY 程序
实验目的:了解磁盘文件管理的一般原理,了解并掌握利用文件标记存取文件的编程方法。
实验内容:对 COPY 程序进行验证和分析。
使用设备:286以上微机。
实验十四 8253 定时/计数器实验
实验目的: 掌握 8253 芯片的工作原理和编程方法。
实验内容: 设计、连接电路, 编程。使 8253 的计数器 0置于方式 3, 产生方波。用示波器观察波形, 波形幅值为 0~5 V。
使用设备:DVCC-8086E/8086H微机接口实验系统、示波器、导线、[奔2以上微机]。
实验十五 8255A 并行口实验一(读取、显示八位开关状态)
实验目的: 1. 掌握 8255A 和微机接口的方法。
2. 掌握
8255A 的工作方式和编程原理。
实验内容: 将 8255 的 A 口置于方式 0, 作为输入口, 读取K1~ K8 八个开关量, 送 C 口显示。C 口置于方式 0, 作为输出口, 将其 PC0~PC7 通过 74LS244 驱动,按 K1~K8 分别对应 a~h段的关系, 在单个数码管上按段显示开关状态 (高电平对应段亮, 反之灭)。PB0 置方式 0, 作为输出口通过
75451 驱动, 作为单个数码管的位控端
使用设备:DVCC-8086E/8086H微机接口实验系统、导线、[奔2以上微机]。
实验十六 8255A 并行口实验二(交通信号灯)
实验目的: 掌握通过 8255A 并行传输数据的方法, 按交通信号灯的亮灭规律, 控制 12 个发光二极管的亮灭。
实验内容: 1.将 8255 的三个口置于方式 0, 作为输出口。B 口高四位接4个黄灯, C 口低四位接4个绿灯, C 口高四位接4个红灯。
2.了解交通信号灯的亮灭规律, 程控各灯按规律亮灭。
3.各发光二极管共阳极, 8255相应端低电平时, 对应灯亮, 反之灭。
使用设备:DVCC-8086E/8086H微机接口实验系统、导线、[奔2以上微机]。
实验十七 8255A 并行口实验三(位控波形)
实验目的: 利用8255A通道C对数据总线的D0、D1、D2三位进行定时锁存, 使PC0、PC1、PC2三管脚输出规定的波形。
实验内容: 1. 将 8255 的三个口置于方式 0, 作为输出口。C 口低三位对数据总线的D0、D1、D2三位进行定时锁存,使其输出如下的波形:
D0
D1
D2
2.程序实现方法为:把波形的变化数值化,得数据 1,2,6,3,2,4,4,0将些数据反复依次写入8255的C口, 写一次延时一次。
3. 在示波器上显示这一组波形。
使用设备:DVCC-8086E/8086H微机接口实验系统、示波器、导线、奔2以上微机。
实验十八 8259 单极中断控制实验
实验目的: 1. 掌握 8259A 中断控制器的接口方法;
2. 掌握
8259A 中断控制器的应用编程。
实验内容: 本系统中有两片 8259A 芯片 U30 和 U31,
U30工作在主片方式,U31 工作在从片方式。 当 U31 不工作时, U30 即工作于主片方式。主片和从片的 IR0~IR7 全部供用户使用。
本次实验使用 3 号中断源 IR3, IR3 和高脉冲插孔相连, 中断方式为边沿触发方式, 每按两次 AN 按钮产生一次中断。满
5 次中断, 数码管组显示 “8259GOOD”。若中断源电平信号不符合规定要求, 则自动转到7 号中断, 数码管组显示
“ERR”。
使用设备:DVCC-8086E/8086H微机接口实验系统、导线、[奔2以上微机]。
实验十九 8259 极联中断控制实验
实验目的: 掌握 8259A 中断控制级联方式的硬件设计和软件编程。
实验内容: 本系统中有两片 8259A 芯片 U30 和 U31,
U30工作在主片方式,U31 工作在从片方式, 当 U31 不工作时, U30 即工作于主片方式。主片和从片的 IR0~IR7 全部供用户使用。
1. 从片的
IR0孔 (0 号中断申请端) 和单脉冲电路的
孔相连。
2. 主片的
IR3 孔(3 号中断申请端) 和从片的 INT2 孔相连。
本实验要求先在数码管组显示“8259---2”, 按一次 AN 按钮后产生中断, 数码管组显示“8359GOOD”。
使用设备:DVCC-8086E/8086H微机接口实验系统、导线、[奔2以上微机]。
实验二十 8279 键盘接口应用实验
实验目的: 1. 掌握 8279 键盘接口的编程和应用。
2. 了解本系统上
8279 的应用和键盘编码。
实验内容: 1.本实验不需增加硬件线路, 只需阅读、分析本系统中与8279 有关的硬件线路原理图。从图中可见, 本系统通过 8279 接口芯片及相关电路完成键盘显示。
2.编程, 用查询方式获取键盘状态, 读取键值。若按数字键, 显示相应数字;
若按 MON 键, 则显示 “8279GOOD” (均在数码管组上显示);
按其它键不予理睬。
使用设备:DVCC-8086E/8086H微机接口实验系统、[奔2以上微机]。
实验卄一 8251 串行口实验一(串行发送数据波形显示)
实验目的: 1. 了解串行发送的一般原理和 8251 的工作原理。
2. 掌握 8251A 的编程方法。
实验内容: 本实验采用 8251A 异步方式发送,波特率为9600,故8251 发送时钟输入端TXC
输入 153.6KHz 的时钟(9600×16),该时钟由 8253 的 OUT2
产生。8253 的 CLK1 接 1.8432MHz, 其 12 分频恰为 153.6KHz。 故设 8253 计数器 1为工作方式 3(输出方波),其计数初值为 000CH。
本实验发送字符总长为 11 位(1个起始位(0),8个数据位(D0在前),1个奇偶校验位,1个停止位(1),采用偶校验,反复发送数据为55H,在示波器上观察发送数据的确波形。编程采用查询方式。
使用设备:DVCC-8086H微机接口实验系统、示波器、导线、[奔2以上微机]。
实验卄二 8251 串行口实验二(双机通信)
实验目的: 1. 了解串行通讯的一般原理和 8251 的工作原理。
2. 初步了解
RS-232 串行接口标准及 TTL 电路的连接方法。
3.
进一步掌握 8251A 的编程方法。
实验内容:1.本系统中装有一片8251 芯片并和标准 RS-232 接口连好,对
8251 芯片的初始化程序在监控软件中已作好, 我们可以直接 对 8251 进行串口状态查询。
2.准备二台
DVCC-8086 系统, 确定 1 号机为发送, 2 号机为接
收收。1 号机的 RXD 与 2 号机的 TXD 相连, 2 号机的 RXD 与1 号机的 TXD 相连, 两机共地线。
3. 两机间用查询方法进行发送/接收, 1 号机运行发送程序, 2 号机运行接收程序。1 号机上键盘敲入的字符在 2 号机的数码管组上显示。
使用设备:DVCC-8086E/8086H微机接口实验系统、导线、[奔2以上微机]。
实验卄三
8253 定时/计数器、8359中断控制器联用实验----统计随机事件
实验目的: 1. 学会 8253 芯片和微机接口的原理和方法。
2. 掌握
8253 定时/计数器的工作方式和编程原理。
实验内容: 1.设置 8253 的计数器2 为方式 0, 用于事件计数(由按钮单脉冲产生事件)。当计数结束时,
向 8259发出中断请求信号, CPU 响应中断后, 在数码管上显示中断次数。满 5 次中断, 数码管组显示“8253GOOD”。
2.如 8253
OUT2 产生的中断信号不符合 8259 IR3 信号电平要求, 产生 7 号中断, 数码管组显示
“ERR”。
使用设备:DVCC-8086E微机接口实验系统、导线、[奔2以上微机]。
实验卄四 A/D 转换实验
实验目的: 了解 模/数 转换的基本原理, 掌握 ADC0809 模/数 转换芯片的使用方法。
实验内容: 1.0809 的 CLK孔接 500KHZ 的方波信号(分频电路Q4
输出孔),通道 0 的模拟量输入孔IN0 接电位器的中心抽头 (系统箱上的
W1 中心抽头孔)。
2.为同时锁存通道地址并开始 A/D 采样转换,将0809 的START 管脚与 ALE 管脚相连, 其输入控制信号为 CS 和 IOW。
3.用延时方式等待A/D转换的结果。 循环不断采样,边采样边显示A/D转换后的数字量, 并在数码管组上显示。模拟量和数字量间的对应关系的典型值为:
0V──00H、+2.5V──80H、+5V──FFH。
使用设备:DVCC-8086E/8086H微机接口实验系统、导线、[奔2以上微机]。
实验卄五 D/A 转换实验一
实验目的: 了解 数/模 转换的基本原理, 掌握 DAC0832 芯片的使用方法。
实验内容: 1. 由 CS 片选信号确定 DAC 寄存器的端口地址, 然后锁存一个数据通过 0832 输出。
2. 产生方波的周期由延时常数确定。 在示波器上观察波形。
使用设备:DVCC-8086E/8086h微机接口实验系统、示波器、导线、[奔2以上微机]。
实验卄六 D/A 转换实验二
实验目的: 进一步掌握 数/模 转换的基本原理。
实验内容: 1. 硬件原理和电路连接同实验十。
2. 使 AL 中的数据从 00H 逐渐增加到 FFH, 产生溢出后再循环, 从而使
0832OUT产生连续不断的锯齿波, 在示波器上观察波形。
使用设备:DVCC-8086E/8086h微机接口实验系统、示波器、导线、[奔2386/586以上微机]。
实验卄七 存储器读写实验
实验目的:1.熟悉静态RAM的使用方法,掌握8088微机系统扩展RAM的方法。
2.熟悉静态RAM读写数据的编程方法
实验内容:对指定地址区间的RAM(2000H-23FFH)先进行写数据55AAH,然后将其内容读出再写到3000H-33FFH中。
使用设备:DVCC-8086H微机接口实验系统、导线、[奔2以上微机]。
实验卄八 DMA实验
实验目的: 了解DMA实验的基本原理, 掌握8237DMA芯片的使用方法。
实验内容:用RAM到RAM传送方式,将DMA板上8000-83FFH中的内容传送到9000-93FFH中。
使用设备:DVCC-8086E/8086h微机接口实验系统、DMA卡、导线、奔2386/586以上微机。
实验卄九 小直流电机调速实验
实验目的: 1.掌握直流电机的驱动原理。2. 了解直流电机的调速方法。
实验内容:1.了解直流电机驱动的有关预备知识,了解实验电路。
2.用DAC0832 D/A 转换电路的输出,经放大后驱动直流电机。
3.编制程序,改变DAC0832输出经放大后方波信号的占空比,控制电机的转速。
使用设备:DVCC-8086H微机接口实验系统、导线、[奔2以上微机]。
实验三十 步进电机控制实验
实验目的: 1.了解步进电机控制的基本原理。2. 掌握步进电机转动的编程方法。
实验内容:1.了解步进电机驱动的有关预备知识,了解实验电路。
2.用8255A的PB0~PB3 输出脉冲信号,驱动步进电机转动。
使用设备:DVCC-8086H微机接口实验系统、导线、[奔2586以上微机]。
实验卅一 继电器控制实验
实验目的: 掌握用继电器控制的基本方法和编程。
实验内容:1.了解继电器的有关预备知识,了解实验电路。
2.用8255A 的PB0输出高低电平,控制继电器的开闭,以实现对外部装置的控制。
使用设备:DVCC-8086H微机接口实验系统、导线、[奔2以上微机]。
实验卅二 电传式水表计量、显示与报警系统
实验目的: 设计并实现一个实用的综合实验。
实验要求:有一电传式水表,每流过100升水其信号线上产生一个正脉冲。要求设计一个系统,完成如下功能:
1.
统计并在数码管组上显示该表的用水量和剩余水费。
2.
当只有1吨水的剩余水费时,要自动报警。若水费用完,则自动停水。
3.
报警期间,若用户按任意键表示交纳了水费,则按新的剩余水费计算。
实验内容: 1. 该系统中要使用8253、8259、8255、8279芯片。
2. 8253的记数器2置于方式0,用于统计水表的正脉冲次数。将脉冲信号接CLK2
端,CLK2端接到1次正脉冲,则计1次数,计数达到规定值时,OUT2端向
8259 发一次3 号中断请求,并将计数值置0。CPU响应中断后执行3号中断
处理程序:
①.将中断次数加1(即用水量加100升),若中断次数满10次(用了1吨水),则将剩余水费减2,然后通过8279芯片在数码管上显示用水量和剩余水费。
②.若剩余水费为2,则通过8255驱动LED灯闪烁,发出报警。
③.报警期间,若用户按了任意键,则将水费置于初值,并解除报警。
④.若剩余水费为0,则停止供水(记数器停止记数)。
3.用8255的C口控制LED灯报警,C口置方式0,输出,方式控制字为90。
当剩余水费为2时,使其向单个数码管的a~g段轮流输出0FFH和0,使单管闪烁报警。
4.
用水量和剩余水费的显示通过8279控制数码管组(8个8段数码管)来实现。每次显示前,将用水量和剩余水费的数值转换为显示代码,再写入8279的数据口实现显示。
使用设备:DVCC-8086E微机接口实验系统、导线、奔2微机。
实验卅三 压力测量实验
实验目的: 了解力转换为电信号的工作原理,掌握ADC0809的使用方法,提高数据处理程序的设计方法和编程调试能力。
实验内容:1.了解力测量的原理,了解电阻应变片原理,了解应变片电桥测量电路。
2.压力测量电路的输出接0809的模拟量输入端的通道0(IN0),编写调试程序,使0809 IN0输入的模拟电压经ADC0809转换再通过数字滤波和量纲转换后,
以克为单位实时地将测到的弹簧片上的法码重量显示在实验箱的数码管组上。
使用设备:DVCC-8086H微机接口实验系统、温度测量∕压力测量实验卡(含压力传感器)、导线、奔2以上微机。
实验卅四 温度测量实验
实验目的: 了解热电偶的工作原理和应用,熟悉小信号放大器的工作原理和零点、增益的调整方法,掌握双积分AD5G14433的接口技术和提高系数精度的方法,进一步提高微机应用水平。
实验内容:1.了解热电偶测温原理及有关电路原理。
2.热电偶产生的毫伏信号经放大电路后由VT端输出。它作为A/D转换接口芯片的模拟量输入。因热电偶测温范围为0~200°C,对应放大电路的输出电压为
0~2V,故A/D转换芯片宜用5G14433(三位半双积分A/D),其最大输入电压为199.9mV和1.999V两档(由输入的基准电压VR决定)。选择1.999V挡,则转换结果(BCD码)和温度值成一一对应关系。例如,读到的BCD码为01、00、01、05,则温度值为101°C。所以,用5G14433 芯片作为A/D转换,可将转换好的BCD码结果右移一位后直接作为温度值进行显示。
使用设备:DVCC-8086H微机接口实验系统、温度测量/压力测量实验卡、5G14433芯片、1403芯片、导线、奔2以上微机。
三.实验指导书:《微机原理实验讲义》 方宁德编写 2002.5 西北师大数信学院
参考书目:
1.《微型计算机原理与应用》马义德 杜桂芳编著 2001.12 兰州大学出版社
2.《微机原理与接口技术》 贾智平 石冰编著 1999.8 上海交大出版社
3.《微型计算机原理与汇编语言》 潘峰编著 1997.4 电子工业出版社
4.《微计算机原理》 潘名莲 马争 惠林编著 1994.12 电子工业出版社
四.制定责任人:方宁德 审定责任人:朱瑞英