微机原理第三次、四次实验报告 徐丽娜 08011308

更新时间:2023-07-29 22:31:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

东南大学

《微机实验及课程设计》

实验报告

姓 名: 徐丽娜 学 号: 08011308 专 业: 自动化 实 验 室:

实验时间: 2013.4.16 报告时间: 2013.4.20 评定成绩: 审阅教师:

实验三

TPC 装置系统,I/O 与存储器

一. 实验目的与内容(概述)

实验目的:

1)了解掌握TPC 实验系统的基本原理和组成结构,学会测试检查TPC-PCI 总线转接卡地址;

2)正确掌握I/O 地址译码电路的工作原理,学会动态调试程序DEBUG/TD 的直接I/O 操作方法;

3)学会利用I/O 指令单步调试检查硬件接口功能,学会利用示波器检测I/O 指令执行时总线情况;

4)进一步熟悉8086/8088 及PC 机的分段存储特性,了解存储器扩展原理,完成编程及测试。

实验内容:

(1) 观察了解TPC-2003A 实验系统的基本原理和组成结构,测试基本单元电路功能,熟悉各部分辅助 电路的使用;

(2) 通过Win/XP 控制台硬件信息或测试程序检查TPC-PCI 总线转接卡地址,并记录; (3) 按图3.3-5 的I/O 地址译码测试参考电路连线,分析电路原理,分别利用动态调试程序直接I/O

操作功能和单步功能测试;

(4) 编程利用片选负脉冲控制指示灯(如L7)闪烁发光(亮、灭、亮、灭、……),时间间隔通过软

件延时实现;

(5) 修改延时参数,使亮(约1秒)与灭的时间间隔分别为1 秒、5 秒和8 秒,记录延时程序对应参数 BX,CX。

二. 基本实验原理(或基本原理) (1) TPC扩展卡I/O和存储基地址

PCI总线扩展卡将PCI总线转换为伪ISA总线信号,由于PCI总线结构支持即插即用(p&p)功能,每台微机分配给PCI扩展板的资源是动态浮动的,因此分配给设备的I/O基地址、存储器基地址空间及INT中断号会因不同的微机而有所变化,所以实验前需要确定当前微机中PCI卡的资源,并用其替换程序中的相应值,重新编译链接后才能实现实验效果。

需要替换的基地址值为每个汇编程序头中的定义行。查看资源有两种办法:① 直接在windows 下利用控制面板查看;② 在开机启动时进入纯DOS 运行,运行读PCI 硬件资源的程序来获得。 (2) I/O 译码测试实验电路

74LS74为D触发器,可直接使用实验台上数字电路实验区的D触发器,74LS138为地址译码器,用A9~A3 进行译码。译码输出端Y0~Y7在实验台上“I/O地址”输出端引出,每个输出端包含8个地址,Y0:280H~287H,Y1:288H~28FH等。当CPU执行I/ O指令且地址在280H~2BFH范围内,译码器选中,必有一根译码线输出负脉冲。 电路原理图如下:

(3)动态调试程序DEBUG/TD的直接I/O操作方法(Output)

① 命令行方式比较简单,启动,在命令符 – 后键入O C820 20 回车。其中20H 为输出

量,C820H 为端口地址。

② 在TD模式下,选择Out byte,在编辑菜单中输入要输出的地址及输出内容,格式为:输出地址,内容。

三. 方案实现与测试(或调试)

实验步骤:

1、 查看并替换TPC 扩展卡 I/O 和存储基地址

步骤 1:参照实验指导书安装接口卡及其驱动程序;

步骤 2:启动微机并打开“控制面板”-〉 “系统”-〉 “设备管理器”,找到“微机原理教学实验系统” ,打开“TPC” ,点击“资源”看到占用的存储和中断资源,找到两个输入/输出范围,其中一个范围大小是 0ffH 的是 PCI 接口芯片上的设置寄存器组占用的 I/O 地址空间,另一个范围大小是 07fH 的是 TPC 设备的 I/O 地址空间;两个内存范围,一个范围大小是 0ffH 的是PCI 接口芯片占用的 mem地址空间,另一个范围大小是 0fffffH 的是 TPC 设备的 mem 地址空间。

由截图可知,实验中TPC 设备的 I/O 地址空间起始地址为0B800H。

步骤 3:用记录下的实际基址值替换每个汇编程序头中的定义行中的值,并重新编译链

代码为:

ioport equ 0ec00h-0280h outport1 equ ioport+2a0h outport2 equ ioport+2a8h

2、将试验箱安装好,并按原理图搭接译码电路。

在实验之前必须检验自己的实验箱是否完好,最简单快速的方法是观察年字程序是否可以运行,一般情况下可以运行认为该实验箱可以正常工作;其次可以检验蜂鸣器是否响,响说明实验箱一定有问题。

3、先用调试工具软件直接 I/O,观察输出结果,再编写相应程序。 源程序:

ioport equ 0C800h-0280h ;tpc卡中设备的io地址· outport1 equ ioport+2a0h ;译码输出端地址·Y4 outport2 equ ioport+2a8h ;译码输出端地址·Y5 stacks segment stack db 100 dup (?) stacks ends code segment

assume cs:code,ss:stacks main proc far start: mov ax,stacks

mov ss,ax

mov dx,outport1 out dx,al

call delay ;调獭延时程序 mov dx,outport2

call delay ;调獭延ó时子程序 mov ah,1 int 16h je start mov ah,4ch int 21h main endp

delay proc near ;延时子程序 mov bx,20000 ZZZ: mov cx,0 ZZ: loop ZZ dec bx jne ZZZ ret delay endp code ends end start

程序主要算法:

利用delay子程序进行延时操作,控制LED的亮灭。 delay proc near ;延时子程序 mov bx,2000 ZZZ: mov cx,0 ZZ: loop ZZ dec bx

ret delay endp

将程序编号保存为.asm格式,使用tasm进行汇编,再使用tlink进行链接,得到.exe可执行文件,使用TD进行调试,全屏下F9运行,观察实验箱。实验箱的LED灯进行周期性的亮灭。

修改延时长度,即bx中保存的数值,再进行汇编调试,观察LED的亮灭周期,随数值的增大而延长或数值的减小而缩短。

四、分析与总结

这次实验只要是TPC系统地址和I/O端口地址确定来实现系统的输入输出,把书本上学到的IN和OUT指令在使用中加深理解和巩固。

通过本实验,我们进一步掌握掌握了I/O地址译码电路的工作原理,学会动态调试程序DEBUG/TD 的直接I/O 操作方法;以及学会利用I/O指令单步调试检查硬件接口功能。 程序实现I/O输出的方法如下: mov dx,outport1 out dx,al

即可实现在地址为outport1的端口的输出。

利用DEBUG的I/O指令单步调试检查硬件接口的方法也比较简单:例如利用指令O C820 20(其中20H为输出量,C820H 为端口地址)即可。

实验四(1) 简单输入输出

一. 实验目的与内容(概述)

实验目的:

1)进一步掌握TPC实验装置的基本原理和组成结构;

2)掌握利用I/O指令单步调试检查硬件接口功能,学会利用示波器检测I/O指令执行时总线情况;

3)掌握简单并行输入输出接口的工作原理及使用方法,进一步熟悉掌握输入输出单元的功能和使用。 实验内容:

(1) 按图3.4-1 简单并行输出接口参考电路图连接线路(74LS273 插通用插座,74LS32 用实验台上的“或门”)。74LS273 为八D 触发器,8 个D 输入端分别接数据总线D0~D7,8 个Q 输出端接LED 显示电路L0~L7;

(2) 编程从键盘输入一个字符或数字,将其ASCⅡ码通过这个输出接口输出,根据8 个发光二极管发光情况验证正确性;

(3) 按图3.4-2 简单并行输入接口参考电路图连接电路(74LS244 插通用插座,74LS32 用实验台上的“或门”)。74LS244 为八缓冲器,8 个数据输入端分别接逻辑电平开关输出K0~K7,8 个数据输出端分别接数据总线D0~D7;

(4) 用逻辑电平开关K0~K7 预置一字母的ASCⅡ码,编程输入这个ASCⅡ码,并将其对应字母在屏幕上显示出来。(标准ASCII 码的范围为20H~FFH);

二. 基本实验原理(或基本原理)

(1) 动态调试程序TD的直接I/O操作方法(Input)

① TD模式下,启动TD(全屏模式),将光标置于代码区右击后可得到代码区局部菜单,选中I/O选项 将出现菜单。

② 选择in byte,在编辑菜单中输入所要读入数据的地址,确认后即可得到该地址的数据内容,要读

74ls244的当前输出端的数据,可在编辑菜单中输入: 0C800-280+2A0H

③ 确认后即可得到74LS244输入端的数据。

(2) 动态调试程序DEBUG的直接I/O操作方法(Input)

①实验电路中中并行输出接口的地址为2A8H,并行输入接口的地址为2A0H,通过上述并行接口电

路输出数据需要三条指令: MOV AL, 数据字节

MOV DX, 0C428H ;C400H-280H+2A8H OUT DX, AL

②通过上述并行接口输入数据需要2 条指令: MOV DX, 0C420H ;C400-280H+2A0H IN AL, DX

(3)关键电路原理图 ①74LS273

74LS244

(4)程序框图

图1 74LS273相应程序流程图

图2 74LS244相应程序流程图

三. 方案实现与测试(或调试)

(1)实验步骤 ① 并行输出

1、具体实验使用的是LED点阵的一列代替数码管,通过编程控制某一列点阵作为数码管显示输出结果。

2、编程从键盘输入一个字符或数字,将其ASCⅡ码通过这个输出接口输出,根据选择一列的数码管的发光情况判断输出结果和输入的字符或者数字的ASCII是否相符。 光情况验证正确性。

② 并行输入

1、按图3.4-2 简单并行输入接口参考电路图连接电路(74LS244插通用插座,74LS32用实验台上的 “或门”)。

2、用逻辑电平开关K0~K7预置一字母的ASCⅡ码,编程输入这个ASCⅡ码,并将其对应字母在屏幕上显示出来。(标准ASCII 码的范围为20H~FFH);

(2)重要程序片段 ① 74LS273 ioport ls273

equ 0ec00h-0280h ;tpc卡中设备的io地址 equ ioport+2a8h ;译码输出端地址Y5片选ls273

stacks segment stack db 100 dup (?) stacks ends code segment

assume cs:code,ss:stacks main proc far

start: mov ax,stacks

mov ss,ax

mov ah,2 ;回车符 mov dl,0dh

int 21h

mov ah,1 ;等待键盘输入 int 21h

cmp al,27 ;判断是否为ESC键 je exit ;若是则退出

mov dx,ls273 ;若不是,从2A8H输出其ASCII码 out dx,al

jmp start ;转start

exit: mov ah,4ch ;返回DOS

int 21h

main endp code ends end start

② 74LS244 ioport ls244

equ 0C800h-0280h ;tpc卡中设备的io地址 equ ioport+2a0h ;译码地址Y4片选ls244

stacks segment stack db 100 dup (?) stacks ends code segment

assume cs:code,ss:stacks main proc far

start: mov ax,stacks mov ss,ax

mov dx,ls244 ;从2A0输入一数据

in al,dx

mov dl,al ;将所读数据保存在DL中 mov ah,02 int 21h

mov dl,0dh ;显示回车符 int 21h

mov dl,0ah int 21h

mov ah,06 mov dl,0ffh int 21h jnz exit

je start exit: mov ah,4ch

int 21h

main endp code ends end start

;显示换行符 ;是否有键按下 ;若无,则转start

;返回DOS

四.分析与总结

实验箱的第二次接触,开始对它有了基本的理解,慢慢熟悉它的的使用。进一步掌握了

TPC实验装置的基本原理和组成结构, 熟悉测试检查TPC-PCI总线转接卡地址、I/O地址译码电路的工作原理、动态调试程序直接I/O操作方法;掌握利用I/O指令单步调试检查硬件接口功能,学会利用示波器检测I/O指令执行时总线情况;掌握简单并行输入输出接口的工

本文来源:https://www.bwwdw.com/article/6m2m.html

Top