资源预览内容
第1页 / 共31页
第2页 / 共31页
第3页 / 共31页
第4页 / 共31页
第5页 / 共31页
第6页 / 共31页
第7页 / 共31页
第8页 / 共31页
第9页 / 共31页
第10页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第二部分第二部分 硬件硬件实验实验一、实验装置基本组成:一、实验装置基本组成:(1) 、硬件:PCI 接口卡一块;实验台(箱)一个;50 线扁平电缆一根;自锁紧导线 50根;集成电路芯片(8251、74LS273、74LS244、6116)共 4 片。该实验装置在 PC 系统中的位置如图所示(斜线标出): (2) 、软件:光盘一张。(3) 、资料:学生实验指导书一本。(4) 、附件:话筒一个,测试表笔一只,50 芯实验连接线。(5) 、可选附件: (A)32 位数据扩展实验套件(包括扩展卡及 34 线扁平电缆各一个) (B)实验盒(包括:步进电机、小直流电机、喇叭、指示灯各一个) (C)TPC-H 键盘显示控制器实验板 (D)总线扩展 PCI 卡 (6)、接口集成电路实验台上有微机原理硬件实验最常用接口电路芯片,包括:可编程定时器/计数器(8253) 、可编程并行接口(8255) 、数/模转换器(DAC0832) 、模/数转换器(ADC0809) ,这里芯片与 CPU 相连的引线除片选信号外都已连好,与外界连接的关键引脚在芯片周CS围用“自锁紧”插座引出,供学生实验时使用。其中数/模转换器附有双极性输出,模/数转换器附有双极性输入插座。 (7)、跳线开关(JP)实验台上共有 5 个跳线开关,其中 Ja、Jb、Jc 在实验台的左上角,50 线总线插座的左方。Ja 用来选择用主机电源还是用外加电源的,当用主机电源时,应将 JA 上+5V、+12V、-12V 三个短路片插好。若想使用外加电源,必须首先将若想使用外加电源,必须首先将 JA 上的三个短路片上的三个短路片全部拔掉,才能将外接电源加入。全部拔掉,才能将外接电源加入。JB 和 JC 是在使用 ISA 卡时来选择实验类型的,I/O 实验时 JB、JC 上的短路片都应插在标有“I/O”的位置。做存储器实验时,短路片应插在标有“MEM”的位置。做 DMA 实验时 JB 应插在“I/O”位置,JC 应插在 DMA 位置。实验台出厂时短路片在 I/O 实验位置。实验台上另外两个跳线开关为 JP2 和 JP3,在实验台的左下角,分别用于模/数转换器模拟量输入极性选择,将 JP2 的 1、2 短路时 IN2(J2)可输入双极性电压(5V5V) ,2、3 短路为单极性(05V) ,JP3 用于选择 IN1 的输入极性,方法与 JP2 相同。 (8)、5V电源插针为了减少主机5V 电源的负担和各主要芯片的安全,在主要接口芯片的左上角都有相应的电源连接插针(标记为5V) ,当实验需要该芯片时,用短路块短接插针即可接通5V 电源。对用不到的芯片可将短路片拔掉,以确保芯片安全。(9)、通用集成电路插座实验台上设有 4 个通用数字集成电路插座,其中插座 A、B 为 20P,插座 D 为 40P,插座 D 可以插入一个 2440 脚的集成电路芯片或者 2 个 820 脚的集成电路芯片。每个插座引脚附近都有相应的“自锁紧”插座,部分实验(简单并行接口、DMA、串行通讯、集成电路测试)电路是利用这些插座搭试的。要求高的学校可以让学生自己搭试更多的实验,以提高学生动手能力。利用这些插座可以开发新的实验,也可以进行数字电路实验,及学生毕业设计。自锁紧插座插入导线时,应稍加力并延顺时针方向旋转一下,才能保证接触良好,拔出时,应先逆时针方向旋转待插头完全松开后,再向上拔出。二、二、PCIPCI卡安装步骤:卡安装步骤:(1)关上 PC 机电源,打开微机主机箱。 (2)将 PC 总线接口卡插在任意扩展槽中。接口卡的结构如图 1。 (3)用 50 芯线扁平电缆线连接接口卡和实验台。 (4)接上 PC 机电源,启动微机,Windows 提示发现新硬件,请安装光盘“Disk 驱动”目 录里的安装配置文件(TPC.inf) (5)重新启动计算机后,运行光盘里的 Setup 程序安装运行支持库文件。图图 1PLX9054PCI 总线扩展卡结构,该卡使用 PLX9054 和 CPLD 把 PCI 总线时序转换成 50 芯 ISA 总线时序,提供给微机实验台使用。三实验注意:三实验注意:因为 pci 总线结构支持 ptpc 卡中设备的 io 地址 或 ioport_centequ 0d800h;tpc 卡中 PCI 接口芯片的 io 地址 mem 基地址为: mem_dataequ 0f6000000h;tpc 卡中设备的 mem 地址 其中”0d400h”是 pci 接口在微机中被动态分配的 io 基地址,即需要替换的地址,相当 于设备中的地址 0280h。(范围为 7f) ”0d800h”是 TPC 卡中 PCI 接口芯片上的设置寄存器组占用的 io 地址,因为某些实验 需要设置该芯片的寄存器。(范围为 ff) ”0f6000000h”是 pci 接口在微机中被动态分配的 mem 基地址,也是需要替换的地址, 相当于设备存储器的起始地址 0h。 替换方法如下: 步骤步骤 1:参照实验指导书安装接口卡及其驱动程序步骤步骤 2:启动微机并打开“控制面板”- “系统”- “设备管理器”并查到“微机原理 教学实验装置”打开“TPC”找到两个输入/输出范围(数值可能不会与图中相同) ,其中一个范围大小是 0ffh 的是 PCI 接口芯片上的设置寄存器组占用的 io 地址空间,另一个范围大小是 07fh 的是 TPC 设 备的 io 地址空间;两个内存范围(数值可能不会与图中相同) ,一个范围大小是 0ffh 的是 PCI 接口芯片占用的 mem 地址空间,另一个范围大小是 0fffffh 的是 TPC 设备的 mem 地址空间。 它们的起始地址即为我们需要的基址值,图中 PCI 接口芯片输入输出范围是 c000- c0ff,基址为 c000;TPC 设备的输入输出范围是 c400-c47f,基址为 c400;TPC 设备的内存 范围是 f5800000-f58fffff,基址为 f5800000。记录下基址值。 步骤步骤 3: 用记录下的基址值替换每个汇编程序头中的定义行中的值,并重新编译链接后即可。 即替换“0d400h”为“0c400h” , “0d800h”为“0c000h” , “0f6000000h”为“0f58000000h” ,并重新编译链接后即可。 如果程序中使用了中断,则需要根据 TPC 属性窗口中的中断请求号码来修改程序中 的中断向量、中断掩码的参数,并重新编译链接后即可。四、四、windows 下的下的 API 函数函数1 Startup(); 语法:BOOL Startup() 功能描述:查询 PC 机的微机接口实验装置是否可用,如果可用则打开。 参数:无 返回值:如果设备存在并且可用,则返回 True,否则返回 False 备注:应用程序在对板卡做任何操作之前必须调用该函数,应用程序结束时必须使用 Cleanup 函数关闭该设备。2 void Cleanup(); 语法:void Cleanup() 功能描述:关闭设备。 参数:无 返回值:无 备注:应用程序结束时必须使用 Cleanup 函数关闭该设备。它和 Startup 成对使用。3 PortReadByte; 语法:BOOL PortReadByte(DWORD address, BYTE *pdata); 功能描述:读该板卡某个的 IO 端口值。 参数: address:指明要读的 IO 端口地址 pdata: 该函数执行完后,address 所指明的端口值被填入该地址 返回值:如果读成功,则返回 True,否则返回 False 备注:应用程序使用该函数前必须先调用 Startup 函数。 例子: BYTEdata; DWORD address = 0x283; if (!Startup() /ERROR.出错处理 if(!PortReadByte(address, 语法:BOOL PortWriteByte(DWORD address, BYTE data); 功能描述:将给定值写入该板卡所指明的 IO 端口。 参数: address:指明要写的硬件 IO 端口地址 data: 该函数执行完后,data 将被写入 address 所指明的 IO 端口 返回值:如果读成功,则返回 True,否则返回 False 备注:应用程序使用该函数前必须先调用 Startup。 例子: BYTEdata; DWORD address = 0x283; if (!Startup() /ERROR.出错处理 if(!PortReadByte(address,设置 tpc 卡中 9054 芯片 io 口,使能中断 in ax,dx or ax,0900h out dx,ax 其中 IOPORT_CENT 是 9054 芯片寄存器组的 I/O 起始地址,每台微机可能都不同,编程时需要了解当前的微机使用哪段并进行设置,获取方法请参看本书结尾部分的介 绍。 (也可使用自动获取资源分配的程序取得) ,+68H 的偏移是关于中断使能的寄存器 地址,设置含义如下: 设置 INTCSR(68H)寄存器,中断模式设置BITS功能 81:能够产生 PCI 中断 0:禁止产生 PCI 中断111:能够 LOCAL 端输入的中断送到 PCI 端 0:禁止 LOCAL 端输入的中断送到 PCI 端其它位为零即可,更多内容参看 9054 芯片数据手册程序退出前还要关闭 9054 的中断,代码如下: mov dx,ioport_cent+68h ;设置 tpc 卡中 9054 芯片 io 口,关闭中断 in ax,dx and ax,0f7ffh out dx,ax6.PC机中断控制器8259 的地址为20H、21H,编程时要根据中断类型号设置中断矢量, 8259中断屏蔽寄存器IMR对应位要清零(允许中断) ,中断服务结束返回前要使用 中断结束命令: MOV AL,20H OUT 20H,AL 中断结束返回 DOS 时应将 IMR 对应位置 1,以关闭中断 。四、参考流程图四、参考流程图(如下图如下图)五、实验步骤五、实验步骤 1)、连接电路,编程程序。 2)在相应的地方设置断点,记录下相应的次数、数据段irq_times的值。按钮次数按钮次数irq_times 偏移地址偏移地址=( )3)修改程序,当中断 3 次后程序退出。 4)修改程序,用MOV指令代替INT 21H的AH=25H功能,来传送中断向量,并运行。流程图流程图开始设置TPC卡中断使能保存原中断向量设置新中断向量设置中断掩码显示提示信息恢复中断掩码计数器为0?YN按任意键?YN恢复原中断向量设置TPC卡中断关闭关中断开中断结束返回中断开始计数器减一显示提示信息发出E0I结束中断关中断开中断中断返回实验六实验六 数数/ /模转换器模转换器一、实验目的一、实验目的 了解数/模转换器的基本原理,掌握 DAC0832 芯片的使用方法。二、实验内容二、实验内容 1、实验电路原理如图 26,DAC0832 采用单缓冲方式,具有单双极性输入端(图中的 Ua、Ub),利用 debug 输出命令(O 290 数据)输出数据给 DAC0832,用万用表测量单 极性输出端a 及双极性输出端b 的电压,验证数字与电压之间的线性关系。,验证数字与电压之间的线性关系。 2、编程产生以下波形(用示波器观察)(用示波器观察)(1)锯齿波 图图 26三、编程提示三、编程提示1、8 位 D/A 转换器 DAC0832 的口地址为 290H,输入数据与输出电压的关系为:(UREF 表示参考电压,N 表示数数据) ,这里的参考电压为机的电源。 2、产生锯齿波只须将输出到 DAC0832 的数据由 0 循环递增。产生正弦波可根据正弦 函数建一个下弦数字量表,取值范围为一个周期,表中数据个数在 16 个以上。
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号