微机接口技术
实验指导书
马 莉 编
实验一 汇编语言程序设计和TPC-2003实验系统基本操作练习
第一部分 汇编语言程序设计
一、实验目的
1、 熟练掌握编写汇编语言源程序的基本方法和基本框架。 2、 掌握编写顺序结构、分支结构和循环结构的汇编程序。 3、 掌握程序中数据的产生与输出的方法。
4、 熟悉建立源文件,进行汇编和连接的全过程,并对程序进行调试。
二、实验要求
1、 实验前准备
1) 分析题目,将程序中的原始数据、中间结果和最终结果的存取方式确定好。
2) 写出算法或画出流程图。 3) 写出源程序。
4) 对程序中的结果进行分析,并准备好上机调试的过程 2、 本实验要求在PC机上进行。
3、 汇编过程中出现问题,可以用DEBUG进行调试。
三、实验内容
1、题目:分类统计字符个数,程序接收用户键入的一行字符(字符个数不超过80个,该字符串用回车符结束),并按字母、数字及其它字符分类计数,然后将结果存入以letter、digit和other为名的存储单元中。
2、写出源程序,画出程序流程图; 3、编辑源程序,建立.asm文件 4、用masm程序汇编产生.obj 文件 5、用了link程序产生.exe文件
6、进入debug运行程序并查看计数结果。
7、提示:程序可采用0AH功能调用把键入字符直接送到缓冲区中,然后再逐个取出分类计数。也可采用01H功能调用在接收字符后分类计数然后再存入缓冲区中。
第二部分 TPC-2003
实验系统基本操作练习
一、实验目的
学习并掌握实验系统地基本操作,为后续的实验打下基础。
二、实验设备
TPC-2003实验系统
三、实验准备工作
系统一经连好,检查无误后,可通电运行。
四、实验内容
1、要求:实验电路如图1所示,其中74LS74为D触发器,可直接使用实验台上数字电路实验区的D触发器,74LS138为地址译码器。译码输出端Y0~Y7在实验台上“I/O地址“输出端引出,每个输出端包含8个地址,Y0:280H~287H,Y1:288H~28FH,?? 当CPU执行I/ O指令且地址在280H~2BFH范围内,译码器选中,必有一根译码线输出负脉冲。
例如:执行下面两条指令 MOV DX,2A0H
OUT DX,AL(或IN AL,DX) Y4输出一个负脉冲,执行下面两条指令 MOV DX,2A8H
OUT DX,AL(或IN AL,DX) Y5输出一 个负脉冲。
图 1
利用这个负脉冲控制L7闪烁发光(亮、灭、亮、灭、??),时间间隔通过软件延时实现。
2、编程提示
1)实验电路中D触发器CLK端输入脉冲时,上升沿使Q端输出高电平L7发光,RD端加低电平L7灭。
2)由于TPC卡使用PCI总线,所以分配的IO地址每台微机可能都不同,编程时需要了解当前的微机使用那段IO地址并进行设置。
实验二8255芯片的应用
一、实验目的
1、熟悉8255在TPC-2003系统中的典型接法; 2、掌握8255的工作方式及应用编程。
二、实验设备
1、TPC-2003实验系统 2、导线若干
三、实验内容
(一)实验内容一
1、要求:实验电路如图2,8255C口接逻辑电平开关K0~K7,A口接LED显示电路L0~L7。编程利用K7—K0八个开关从8255C口输入数据,再从A口输出,控制L7—L0八个发光二极管的亮灭。
图 2
2、编程提示
1)8255控制寄存器端口地址 28BH
A口的地址 C口的地址
2)参考流程图(见图3)
288H 28AH
开 始设置8255C口输入A口输出从C口输入数据将此数据自A口输出N有键按下吗?Y结 束
图 3
(二)实验内容二
1、要求:
1)按图4连接好电路,将8255的A口PA0~PA6分别与七段数码管的段码驱动输入端a~g相连,位码驱动输入端S1接+5V(选中),S0、dp接地(关闭)。编程从键盘输入一位十进制数字(0~9),在七段数码管上显示出来。
图 4
图 5
2)按图5连接好电路,七段数码管段码连接不变,位码驱动输入端S1,S0接8255 C口的PC1,PC0。编程在两个数码管上显示“56”。
2、编程提示
1)实验台上的七段数码管为共阴型,段码采用同相驱动,输入端加高电平,选中的数码管亮,位码加反相驱动器,位码输入端高电平选中。 2)七段数码管的字型代码表如下表: