微机原理第三次、四次实验报告 徐丽娜 0801130
时间:2025-03-11
时间:2025-03-11
东南大学
《微机实验及课程设计》
实验报告
姓 名: 徐丽娜 学 号: 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
将程序编号保存为 …… 此处隐藏:3437字,全部文档内容请下载后查看。喜欢就下载吧 ……
上一篇:容易被忽视的身体提示
下一篇:中国中铁年报摘要