《微型计算机原理与接口技术题解与实验指导》
封面与版权页
内容提要
本书是与《微型计算机原理与接口技术》(清华大学出版社 2002 年出版)配套使用的
辅助教材。
本书由习题解答和实验指导两部分组成。习题解答部分包括《微型计算机原理与接口技
术》中全部习题的详细分析和解答。实验指导部分分为两章。第 1 章为汇编语言程序设计实
验,包括汇编语言设计的各种典型问题;第 2 章为硬件接口电路实验,借鉴了清华同方公司
基于 TCP-H 实验装置设计的某些实验,对读者学好微型计算机原理和接口技术将会有较大的
帮助。另外,附录中给出了部分实验的程序清单和 TD.EXE 的简要使用说明。
本书可帮助读者更深入地理解和掌握教材内容,提高独立思考、分析和解决问题的能力。
目 录
第一部分 习题及解答
第 1 章 基础知识
第 2 章 微型计算机基础
第 3 章 指令系统
第 4 章 汇编语言程序设计
第 5 章 存储器系统
第 6 章 输入输出和中断技术
144
第 7 章 常用数字接口电路
第 8 章 模拟量的输入输出
第 9 章 常用外设及多媒体技术
第二部分 实验指导书
第一篇 汇编语言程序设计实验
预备知识 汇编语言程序设计的过程及上机步骤
实验一 数据传送
实验二 算术逻辑运算及移位操作
实验三 串操作
实验四 字符及字符串的输入和输出
实验五 直线程序设计
实验六 分支及循环程序设计
*实验七 综合程序设计
第二篇 硬件接口电路实验
预备知识 微机接口实验台使用说明
实验一 I/O 地址译码
实验二 简单并行接口
实验三 存储器扩充
实验四 8253 可编程定时器/计数器
实验五 8255 可编程并行接口(一)
实验六 中断
*实验七 8255 可编程并行接口(二)
*实验八 8250 串行通信接口
实验九 D/A 转换器
实验十 A/D 转换器
*实验十一 步进电机控制
附录一 部分实验的参考程序清单
附录二 TD.EXE 简要使用说明
典型内容
一、实验目的
8255 可编程并行接口(一)
掌握 8255 方式 0 的工作原理及使用方法,用 8255 实现十字路口交通信号灯的模拟控制。
二、实验设备
1.IBMPC 微型计算机
一台
145
2.TPC-H 型通用微机接口实验台 一台
三、实验预习要求
1. 复习 8255 并行接口的工作原理和初始化方法。
2. 预先编写好实验程序。
四、实验内容
1. 按图 2.26 虚线连接电路,8255 的 C 口接逻辑电平开关的输出端子 K0~K7,A
口接发光二极管显示电路的输入端子 L0~L7。编写程序从 8255 的 C 口输入数据(数据由
开关设定),再从 A 口输出,显示在 8 个发光二极管上。
图 2.26 实验内容 1 的电路
2. 图 2.27 是一个用 8255 实现十字路口交通灯的模拟控制的电路。图中发光二极管
L7、L6、L5 作为南北路口的交通灯与 8255 的 PC7、PC6、PC5 相连,L2、L1、L0 作为东
西路口的交通灯与 8255 的 PC2、PC1、PC0 相连。编程使这六个发光二极管按交通信号灯
的变化规律发光或熄灭。
图 2.27 交通信号灯的模拟控制的实验电路
146
五、实验提示
1.本实验中 8255 的地址分配如下:
控制寄存器地址
A 口的地址
C 口的地址
28BH
288H
28AH
2.实验内容 1 中,C 口的高 4 位和低 4 位都要设置为输入。
3.实验内容 2 中,要求交通信号灯始终按以下规律发光与熄灭:
①南北路口的绿灯、东西路口的红灯同时亮 30 秒左右。
②南北路口的黄灯闪烁若干次,同时东西路口红灯继续亮。
③南北路口的红灯、东西路口的绿灯同时亮 30 秒左右。
④南北路口的红灯继续亮、同时东西路口的黄灯亮闪烁若干次。
4.实验内容 2 中,为使编程方便,在数据段预先定义交通信号灯的 6 种可能的状态数
据,其中为第②和第④种情况定义了 6 个数据,用于控制三次亮/灭、亮/灭、亮/灭的过程,
以达到闪烁的效果。
5.绿灯亮时的延时常数可设为 2000*9000(长延时),绿灯不亮时的延时常数可设为
20*9000(短延时)。延时程序段用两层循环,内循环的循环次数设置为 9000,外循环的循
环次数设置为 2000(长延时)或 20(短延时)。有无绿灯亮可根据灯状态数据判断(若状态
数据的 bit5=1 或 bit1=1 则有绿灯亮)。
六、程序流程图
实验内容 1 的流程图见图 2.28,实验内容 2 的流程图见图 2.29
。
147
开始
设置 C 口输入,A 口输出
从 C 口输入数据
将输入的数据自 A
口输出
有按键?
Y
结束
开始
设置 C 口为输出
初始化灯状态数据表指针
从表中取当前状态数据
N
Y
是结束标
志?
N
图 2.28 实验内容 1 的程序流程图
把状态数据输出到 C 口
以点亮相应的灯
Y
长延时
N
有绿灯亮?
短延时
Y
结束
有键按下?
N
指针指向下一
个状态数据
图 2.29 交通灯控制的程序流程图
七、程序框架
1.实验内容 1 的程序框架(略)
2.交通灯控制程序的框架
DATA SEGMENT
STABLE DB 24H ; 南北绿灯亮,东西红灯亮
DB 44H,04H,44H,04H,44H,04H ; 南北黄灯闪,东西红灯亮
DB 81H ; 南北红灯亮,东西绿灯亮
DB 82H,80H,82H,80H,82H,80H ; 南北红灯亮,东西黄灯闪
DB 0FFH ; 结束标志
DATA ENDS
;
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START: MOV AX, DATA
148
ON:
MOV DS, AX
设置 8255 工作方式 0,C 口输出
取出当前状态数据,若是结束标
志则从头开始,否则输出该状态
数据。
若当前状态数据中有绿灯亮,则
长延时,否则短延时。
MOV AH, 1
INT 16H ; 测试有无按键
JZ ON ; 没有则循环
EXIT: MOV AH, 4CH ; 有则退回 DOS
END START
INT 21H
CODE ENDS
八、实验习题
若把实验内容 1 中的发光二极管换成七段数码管,根据开关设置的数据(‘0’~‘9’、‘A’~
‘Z’的 ASCII 码)分别显示相应的字符‘0’~‘9’和‘A’~‘Z’。电路及程序应如何修改?(提示:参
考实验二中的有关内容)
九、实验报告要求
1. 完成实验用的二个程序。
2. 总结 8255 工作方式 0 的特点。
3. (选做)完成实验习题。
149
*8255 可编程并行接口(二)
一、实验目的
1. 掌握 8255 工作方式 1 的使用及编程。
2. 进一步掌握中断处理程序的编写。
二、实验设备
1.IBMPC 微型计算机
一台
2.TPC-H 型通用微机接口实验台 一台
三、实验预习要求
1. 复习教材中 8255 的工作方式 1。
2. 预先编写好实验程序。
四、实验内容
1.按图 2.31 所示的 8255 方式 1 中断方式输出电路,连好线路。
2.编程实现此功能:用每按一次单脉冲按钮 K 所产生的正脉冲(模拟外设的响应信号)
使 8255 产生一次中断请求,让 CPU 进行一次中断服务。在中断服务程序中向 8255 依次输
出 01H、02H、04H、08H、10H、20H、40H、80H 使 L0~L7 依次发光,中断 8 次结束。
图 2.31 8255 方式 1 中断方式输出电路
3.按图 2.32 所示的 8255 方式 1 中断方式输入电路,连好线路。
150
4.编程实现此功能:用每按一次单脉冲按钮 K 所产生的正脉冲(模拟外设的选通脉冲)
使 8255 产生一次中断请求,CPU 在中断服务程序中读取逻辑电平开关预置的 ASCII 码,在
屏幕上显示其对应的字符,中断 8 次结束。
图 2.32 8255 方式 1 中断方式输入电路
五、参考流程图
开始
保存原 IRQ7 的中断向量,
保存原 8259 中 IMR 的内容
设置新 IRQ7 的中断向量,
允许 8259 的 IRQ7 中断
设置 8255 的 A 口方式 1 输出,
把 INTE1(PC6)置 1
开始
设置(BL)=01H
把 BL 中的内容从 A 口输出
N
(BL)=0?
Y
恢复原 IRQ7 的中断向量,
恢复原 8259 IMR 的内容,
CPU 开中断(STI)
Y
(BL)=0?
N
BL 左移一位
向 8259PIC 发出 EOI 命令
返回 DOS
中断返回
图 2.33 输出方式主程序流程图
图 2.34 输出方式中断服务程序流程图
151