收藏 分销(赏)

微机实验指导.doc

上传人:仙人****88 文档编号:7012172 上传时间:2024-12-24 格式:DOC 页数:78 大小:9.54MB 下载积分:10 金币
下载 相关 举报
微机实验指导.doc_第1页
第1页 / 共78页
微机实验指导.doc_第2页
第2页 / 共78页


点击查看更多>>
资源描述
TPC-2003 通用32位微机接口实验系统 实验指导书 信息工程系 电子学实验实践教学中心 华北电力大学 2006年4月 目 录 第一部分 实验的基本要求与方法 4 1.1 实验目的与要求 4 一、实验目的 4 二、实验要求 4 1.2 实验方法 5 一、 汇编程序功能 5 二、建立汇编语言的工作环境 6 第二部分 实验装置的介绍 7 一、概述 7 二、安装 7 1、实验装置基本组成: 7 2、安装步骤: 8 三、实验台结构:(见上页) 11 1、I/O地址译码电路 11 3、时钟电路 11 2、总线插孔 11 4、逻辑电平开关电路 11 5、LED显示电路 12 6、七段数码管显示电路 12 7、单脉冲电路 13 8、逻辑笔 13 9、继电器及驱动电路 13 10、复位电路 13 11、接口集成电路 14 12、跳线开关(JP) 14 13、+5V电源插针 14 14、通用集成电路插座 14 15、数字电路实验区 14 16、接线端子 14 17、50线总线插座信号安排 15 18、直流电源开关(K1)和存储器地址选择开关(K2) 15 19、使用外加直流电源注意事项: 15 四、地址转换和PC机总线结构 15 1、三种地址空间的转换 15 2. PC机总线结构 17 五、汇编程序使用方法 23 第三部分 软件实验部分 27 实验一 DEBUG程序的使用 27 实验二 代码转换实验 33 实验三 两个多位十进制数相加 37 实验四 循环程序设计 38 实验五 子程序设计 39 第四部分 硬件实验 42 实验一 I/O地址译码 42 实验二 简单并行接口 43 实验三 可编程定时器/计数器(8253) 45 实验四 可编程并行接口(一)(8255方式0) 46 实验五 中断 47 实验六 可编程并行接口(二)(8255方式1) 50 实验七 七段数码管 51 实验八 竞赛抢答器 53 实验九 交通灯控制实验 54 实验十 DMA传送 56 实验十一 键盘显示控制器实验 62 实验十二 存储器读写实验 67 附录一 上机基本操作 69 附录二 调试程序DEBUG 71 附录三 汇编程序出错信息 74 附录四 常用字符的7位ASCII码字符表 77 第一部分 实验的基本要求与方法 1.1 实验目的与要求 一、实验目的 学习用汇编语言设计、编写、调试和运行程序的程序的基本方法和技能,以便为后续课打下坚实的基础。 二、实验要求 1.上机前要做好充分准备,包括程序框图、源程序清单、调试步骤、测试方法以及对运行结果的分析等。 2.上机时要遵守实验室的规章制度,爱护实验设备。要熟悉与实验有关的系统软件(如编辑程、汇编程序、连接程序和调试程序等)的使用方法。在程序的调试过程中,有意识地学习及掌握DEBUG程序的各种操作命令,以便掌握程序的调试方法及技巧。 为了更好地进行上机管理,要求用硬盘存储程序,并建立和使用子目录,以避免文件被别人删除。有关目录的操作命令见附录一。此外,为便于统一管理硬盘中的文件,要求实验者按以下形式命名实验文件。 字母学号.扩充名 其中字母取a ~ z的26个英文字母,按实验顺序从a至z排列。如学号为0021023学生的第三个实验程序所对应的文件名为c0021023.asm。 3.程序调试完后,须由指导教师检查运行结果,经教师认可后的源程序可通过打印机输出,并由指导教师在程序清单上签字。 4.实验完成后,写出实验报告。实验报告的内容如下: (1)设计说明:用来说明程序的功能、结构。它包括:程序名、功能、原理及算法说明、程序及数据结构、主要符号名的说明等。 (2)调试说明:便于学生总结经验提高编程及调试能力。它包括:调试情况,如上机时遇到的问题及解决办法,观察到的现象及其分析,对程序设计技巧的总结及分析等;程序的输出结果及对结果的分析;实验的心得体会,以及调试日期、文件存放的软盘号等需要记录的信息。 (3)使用说明:程序提供给用户使用时必须给出的说明。如程序的使用方法,调试方式,操作步骤等;要求输入信息的类型及格式;出错信息的含义及程序的适用范围。 (4)程序框图。 (5)经指导教师签名后的程序清单。 1.2 实验方法 一、 汇编程序功能 图1.1表示了汇编语言程序的建立及处理过程。首先用编辑程序(可用任一种文本编辑程序,如EDIT等)产生汇编语言的源程序(属性为ASM的源文件),源程序就是用汇编语言的语句编写的程序,它是不能为机器所识别的,所以要经过汇编程序加以翻译,因此汇编程序的作用就是把源文件转换成用二进制代码表示的目标文件(称为OBJ文件)。在转换的过程中,汇编程序将对源程序进行扫视,如果源程序中有语法错误,则汇编结束后,汇编程序将指出源程序中的错误,用户还可以用编辑程序来修改源程序中的错误,最后得到无语法错误的OBJ文件。 图1.1 汇编语言程序的建立及汇编过程 OBJ文件虽然已经是二进制文件,但它还不能直接上机运行,必须经过连接程序(LINK)把目标文件与库文件或其他目标文件连接在一起形成可执行文件(EXE文件),这个文件可以由DOS装入存储器,并在机器上运行。 因此,在计算机上运行汇编语言程序的步骤是: (1)调用全屏幕编辑程序WordStar或PCED或EDLIN,建立和修改ASM源程序; (2)用汇编程序(MASM)将源程序(ASM)转换成机器代码形式的目标文件(OBJ); (3)经过连接程序(LINK)处理,将目标文件转换成可执行文件(EXE); (4)利用调试程序(DEBUG)单步执行或利用设断点的方法运行EXE程序,检查程序中的错误。或用DOS命令直接键入文件名就可以执行该程序。如图1.1所示。 目前常用的汇编程序由Microsoft公司推出的宏汇编程序MASM(Macro Assembler)和Borland公司推出的TASM(Turbo Assembler)两种。我们采用MASM5.0版本说明汇编程序所提供的伪操作和操作符。 汇编程序的主要功能是: (1)检查源程序。 (2)测出源程序中的语法错误,并给出出错信息。 (3)产生源程序的目标程序,并可给出列表文件(同时列出汇编语言和机器语言的文件,称为LST文件)。 (4)展开宏指令。 二、建立汇编语言的工作环境 为运行汇编语言程序至少要在磁盘上建立以下文件: (1) 编辑程序,如EDIT.EXE、Word Star.EXE、EDLIN.COM等 (2) 汇编程序,如MASM.EXE (3) 连接程序,如LINK.EXE (4) 调试程序,如DEBUG..COM 必要时,还可建立如CREF.EXE,EXE2BIN.EXE等文件。 第二部分 实验装置的介绍 一、概述 “TPC-2003通用32位微机接口(PCI)实验系统”是清华科教仪器厂综合各学校讲课及实验老师的意见之后推出的微机硬件实验教学设备的新产品。该仪器增加了实验系统的开放能力和灵活性。它不仅使一些典型的微机接口实验方便,而且对一些计算机硬件要求较高的专业提供了锻炼学生动手能力,发挥创造才能的平台。该系统主要有以下特点: ★ 实验电路连接采用了国家专利、获奖产品“自锁紧”插座及导线,消除了连线接触不良的现象。 ★ 电路设计中增加了多项保护措施,可有效的避免由于学生实验时错接、错编程损坏主机或接口集成电路的现象。 ★ 接口实验增加了实用性、趣味性的项目,使用C语言进行实验的程序。 ★ 实验台上增加了逻辑笔、通用IC插座等电路。可作为数字电路实验仪器使用,也可以用于学生毕业设计、实验数据的采集及科研开发。 仪器硬件包括接口卡、实验台(箱)两部分组成,两者之间通过50线扁平电缆相连。接口卡可以插入PC系列微机中任意一个PCI扩展插槽,它的主要功能是将与实验有关的总线信号加以驱动后引到实验台上,同时引出信号还有与“中断”和“DMA”实验操作有关的信号及+5V、+12V、-12V电源。 实验台上设有I/O地址译码电路、总线插孔、接口实验常用集成电路、外围电路及通用IC插座等部分组成。外围电路包括逻辑电平开关电路、LED显示电路、时钟电路、单脉冲电路、逻辑笔、复位电路、七段数码管显示电路、基本门电路、继电器及步进电机、小直流电机的驱动电路。 “TPC-2003通用32位微机接口(PCI)实验系统”可以完成的实验项目有四十多个,本实验指导书结合我校的课时计划安排共设置12个实验项目。 二、安装 1、实验装置基本组成: (1)硬件:PCI接口卡一块;实验台(箱)一个;50线扁平电缆一根;自锁紧导线50根;集成电路芯片(8251、74LS273、74LS244、6116)共4片。 该实验装置在PC系统中的位置如图所示(斜线标出): (2)附件: (A)话筒一个 (B)测试表笔一只 (C)TPC-H键盘显示控制器实验板 (D)ISA总线扩展卡 2、安装步骤: (1)关上PC机电源,打开微机主机箱。 (2)将PC总线接口卡插在任意扩展槽中。接口卡的结构如图1。 (3)用50芯线扁平电缆线连接接口卡和实验台。 (4)接上PC机电源,启动微机,Windows提示发现新硬件,请安装光盘里的安装配置文件 (TPC.inf)。 (5)重新启动计算机后,运行光盘里的Setup程序安装运行支持库文件。 图 1 PLX9054PCI总线扩展卡结构,该卡使用PLX9054和CPLD把PCI总线时序转换成50芯ISA总线时序,提供给微机实验台使用。 9 10 三、实验台结构:(见上页) 1、I/O地址译码电路 如图-3所示,地址空间:280H~2BFH共分8条译码输出线:Y0~Y7,其地址分别是280H~287H;288H~28FH;290H~297H;298H~29FH;2A0H~2A7H;2A8H~2AFH;2B0H~2B7H;2B8H~2BFH,8根译码输出线在实验台“I/O地址”处分别由“自锁紧”插孔引出,供实验选用。 图 3 2、总线插孔 采用“自锁紧”插座在标有“总线”区引出数据总线D7~D0;地址总线A9~A0;读、写信号、;中断请求信号IRQ;DMA请求信号DRQ1;DMA响应信号、;及AEN信号,供学生搭试各种接口实验电路使用。 3、时钟电路 如图-4所示,可以输出1MHZ、2MHZ两种信号,供A/D转换器、定时器/计数器、串行接口实验使用。 图 4 4、逻辑电平开关电路 如图-5所示,实验台右下方设有8个开关K7~K0,开关拨到“1”位置时开关断开,输出高电平,向下打到“0”位置时开关接通输出低电平,电路中串接了保护电阻,使接口电路不直接同+5V、GND相连,可有效地防止学生因误操作、误编程损坏集成电路现象。 图 5 图 6 5、LED显示电路 如图-6所示,实验台上设有8个发光二极管及相关驱动电路(输入端L7~L0),当输入信号为“1”时发光,为“0”时灭。 6、七段数码管显示电路 如图-7所示,实验台上设有两个共阴极七段数码管及驱动电路,段码为同相驱动器,位码为反相驱动器,从段码与位码的驱动器输入端(段码输入端:a、b、c、d、e、f、g、dp,位码输入端:s1、s2)输入不同的代码即可显示不同数字或符号。 图 7 7、单脉冲电路 如图-8所示,采用RS触发器产生,实验者每按一次开关即可以从两个插座上分别输出一个正脉冲及负脉冲,供“中断”、“DMA”、“定时器/计数器”等实验使用。 图 8 图 9 8、逻辑笔 如图-9所示,当输入端Ui接高电平时红灯(D2)亮;接低电平时绿灯亮。 9、继电器及驱动电路 如图-10所示,实验台上设有一个+5V直流继电器及相应的驱动电路,当其开关量输入端输入数字量“1”时,继电器动作:常开触点闭合、常闭触点断开。通过相应的实验使学生了解开关量控制的一般原理。 图 10 图 11 10、复位电路 如图-11所示,能在上电时,或按下复位开关S2后产生一个高电平的复位信号供8255、8251等接口芯片使用。 11、接口集成电路 实验台上有微机原理硬件实验最常用接口电路芯片,包括:可编程定时器/计数器(8253)、可编程并行接口(8255)、数/模转换器(DAC0832)、模/数转换器(ADC0809),这里芯片与CPU相连的引线除片选信号外都已连好,与外界连接的关键引脚在芯片周围用“自锁紧”插座引出,供学生实验时使用。其中数/模转换器附有双极性输出,模/数转换器附有双极性输入插座。具体电路可见下面实验说明。 12、跳线开关(JP) 实验台上共有5个跳线开关,其中Ja、Jb、Jc在实验台的左上角,50线总线插座的左方。Ja用来选择用主机电源还是用外加电源的,当用主机电源时,应将JA上+5V、+12V、-12V三个短路片插好。用户若想使用外加电源,必须首先将JA上的三个短路片全部拔掉,才能将外接电源加入。JB和JC是用来选择实验类型的,I/O实验时JB、JC上的短路片都应插在标有“I/O”的位置。做存储器实验时,短路片应插在标有“MEM”的位置。做“DMA”实验时JB应插在“I/O”位置,JC应插在DMA位置。实验台出厂时短路片在I/O实验位置。 实验台上另外两个跳线开关为JP2和JP3,在实验台的左下角,分别用于模/数转换器模拟量输入极性选择,将JP2的1、2短路时IN2(J2)可输入双极性电压(-5V~+5V),2、3短路为单极性(0~+5V),JP3用于选择IN1的输入极性,方法与JP2相同。 13、+5V电源插针 为了减少主机+5V电源的负担和各主要芯片的安全,在主要接口芯片的左上角都有相应的电源连接插针(标记为+5V),当实验需要该芯片时,用短路块短接插针即可接通+5V电源。对用不到的芯片可将短路片拔掉,以确保芯片安全。 14、通用集成电路插座 实验台上设有4个通用数字集成电路插座,其中插座A、B为20P,插座D为40P,插座D可以插入一个24~40脚的集成电路芯片或者2个8~20脚的集成电路芯片。每个插座引脚附近都有相应的“自锁紧”插座,部分实验(简单并行接口、DMA、串行通讯、集成电路测试)电路是利用这些插座搭试的。要求高的学校可以让学生自己搭试更多的实验,以提高学生动手能力。利用这些插座可以开发新的实验,也可以进行数字电路实验,及学生毕业设计。自锁紧插座插入导线时,应稍加力并延顺时针方向旋转一下,才能保证接触良好,拔出时,应先逆时针方向旋转待插头完全松开后,再向上拔出。 15、数字电路实验区 实验台上有一块数字电路实验区,没有三种基本门电路(与、或、非)及D触发器,供学生在接口实验或数字电路实验时直接使用。 16、接线端子 如图-2所示实验台上设有7个接线端子,标号为J1-J7。J1用于外接喇叭,J2是一个立体声插孔用于外接话筒。J4为继电器触点,其中1接+5V,2、3为常闭触点,3、4为常开触点。5接地线。J5用于接步进电机。J6用于接小直流电机。J7是一个20芯通用插座,用于外接用户开发的实验板,本系统中8279键盘显示实验板就从此插头引出。J7各引脚信号安排如下: 19 17 15 13 11 9 7 5 3 1 D0 D1 D2 D3 D4 D5 D6 D7 IRQ CS RES +5V +5V IOR IOW A0 A1 CLK GND GND 20 18 16 14 12 10 8 6 4 2 17、50线总线插座信号安排 18、直流电源开关(K1)和存储器地址选择开关(K2) 实验台上有一直流电源开关(K1),在实验台的左上角。在主机电源打开后,再打开实验台上开关K1,实验台才会加电。另外,实验台上还有一个四位拨动开关K2,在实验台8255芯片的右方。K2是在做存储器实验时选择存储器地址使用的。 19、使用外加直流电源注意事项: 《1》可以使用主机电源,也可以使用外加直流电源,主机电源通过总线扩展卡引入到实验台的50芯插座上,再通过短路子JA接到电源开关上。该实验台出厂时是按使用主机电源连接的。 《2》若想使用外加电源。必须首先将JA上的三个短路片全部拔掉,将主机电源断开,才能将外部电源接入。 《3》外加直流电源通过外接电源插座J0接到实验台上。插入以前应仔细检查电源插头上各路电源与J0上标注的是否相同,如不相同应修改电源插头,否则会损坏实验台。 《4》外接电源插入以前,应检查各路电源输出是否正确,如不正确应修改或更换电源。 《5》以上各项都正常后,打开电源即可进行实验。 四、地址转换和PC机总线结构 1、三种地址空间的转换 (1)保护模式下操作系统有三种地址空间,虚拟地址,线性地址和物理地址,三者之间的关系如图所示: 分段管理机制和分页管理机制由操作系统统一管理,虚拟地址由16位段选择子加上32位偏移量共48位组成,段选择子(Selector)存放段描述符表的索引,而段描述符(Descriptor)指明段的基地址,段界限和段属性。(段描述符有很多个,它们组成一张段描述符表,由段选择子来索引) 例如:计算虚拟地址0018:00756A12。 解:查段描述表表得:第0018号段描述符的基地址 = 00030000, 段界限 = 0FFFFFFF, 属性为数据段,可读写,则: EA = 00030000 + 00756A12 = 00786A12,该地址为线性地址,如果不分页则为物理地址 (2)虚拟地址到线性地址的计算 (3)线性地址到物理地址的计算 2. PC机总线结构 2.1 总线的基本概念 总线是微机各部件间进行信息传输的公共通路,微机用总线的形式将微机中的各个模块,包括CPU主模块,存储器模块,I/O模块和DMA模块等互连在一起,按照总线规范传送数据,控制信息和状态信息。 2.1.1 总线的主设备和从设备 微机中的各种设备均挂在总线上,这些设备对于总线来讲有主从之分。能在总线上生成总线周期从而发起对存储器或I/O访问的设备称为主设备,响应主设备访问的设备称为从设备。例如CPU可以成为总线的主设备,因为它们能够主动发起对内存或I/O等从设备的访问。DMA控制器既可以是总线的主设备(即当它占用总线将外设数据搬到内存时),也可以是从设备(即当CPU占用总线读写DMA控制器内部寄存器时)。某一时刻总线上只有一对主从设备在传递信息。 2.1.2 分层的总线结构 如图所示是一个PCI总线构建的微机系统的结构图: 现在的Pentuim机都是以PCI总线为中心,CPU的Host总线通过Bridge/Memory Controller和PCI总线相连,图中网卡、声卡、图形卡等高速设备直接挂在PCI总线上,而一些较慢的ISA遗留设备则挂在ISA总线上,这样就形成了一个分层的总线结构。Bridge/Memory Controller也叫做北桥,负责cache控制,主存访问和Host-PCI总线周期的转换,在配有AGP总线的系统里,北桥还负责AGP总线事务处理,而Exp Bus Xface也叫做南桥,集成PCI-ISA桥,PCI总线仲裁,电源管理,DMA控制器和中断控制器。 2.2 PCI总线基本知识 2.2.1 PCI总线引脚定义 PCI能够作为32或64位总线使用。它们可以按照功能不同化为以下几组: 1.系统引脚:包括时钟和重启引脚。 2.地址和数据引脚:包括32条传输地址和数据的引线,其余的引线是为了配合它而使用的。 3.接口控制引脚:用来保持Master和Target之间通信的一致性。 4.仲裁引脚:和其他的PCI信号线不同,这些不是共享的数据线。每一个PCI Master都有它自己的仲裁信号线来直接和ARBITOR相连接。 5.错误监测引脚:用于奇偶校验和其他错误的报告。 除此而外,PCI还提供了另外50条可选的信号线来支持中断、缓存、及64位扩展等功能。 对于只做从设备的PCI设备而言,至少需要47个管脚;而对于用作主设备而言,至少需要48个管脚。下图是对主从兼容设备管脚定义的说明。左边的管脚是必需的,右边的管脚是可选的。 2.2.2 PCI总线基本时序 AD[31~0]:地址数据多路复用信号。在FRAME有效的第一个周期为地址,在IRDY与TRDY同时有效的时候为数据。 C/BE[3~0]:总线命令与字节使能控制信号。在地址其中传输的是总线命令;在数据期内是字节使能控制信号,表示AD[31~0]中那些字节是有效数据。表1是总线命令编码的说明。 表1 总线命令表 C/BE[3:0]# 命令类型说明 C/BE[3:0]# 命令类型说明 0 0 0 0 中断应答 1 0 0 0 保留 0 0 0 1 特殊周期 1 0 0 1 保留 0 0 1 0 I/O读 1 0 1 0 配置读 0 0 1 1 I/O写 1 0 1 1 配置写 0 1 0 0 保留 1 1 0 0 存储器多行读 0 1 0 1 保留 1 1 0 1 双地址周期 0 1 1 0 存储器读 1 1 1 0 存储器一行读 0 1 1 1 存储器写 1 1 1 1 存储器写并无效 PCI总线上所有的数据传输基本上都由以下三条信号线控制。 (1)FRAME:帧周期信号。由主设备驱动,表示一次访问的开始和持续时间,FRAME有效时(0为有效,下同),表示数据传输进行中,失效后,为数据传输最后一个周期。 (2)IRDY:主设备准备好信号。由主设备驱动,表示主设备已经准备好进行数据传输。 (3)TRDY:从设备准备好信号。由从主设备驱动,表示从设备已经准备好进行数据传输。当IRDY与TRDY同时有效时,数据传输才会真正发生。 另外,还有IDSEL信号用来在配置空间读写期间作为片选信号。对于只有一个PCI从设备的情况,它总可以接高电平。IDSEL信号由从设备驱动,表示该设备已成为当前访问的从设备,可以不理会。 在PCI总线上进行读写操作时,PCI总线上的各种信号除了RST、IRQ、IRQC、IRQ之外,只有时钟的下降沿信号会发生变化,而在时钟上升沿信号必须保持稳定。 2.2.3 PCI总线配置空间和PNP原理 一般来讲,PC机有4种资源,即IO空间,MEM空间,中断和DMA(Windows下用户可以通过设备管理器查看)。 在早期的PC机中,每种板卡上都有许多跳线和拨动开关。用户用它们来设置所需要的各种计算机资源(如地址空间,中断号,DMA通道号等),防止板卡之间的资源冲突。这就对用户提出了很高的要求。限制了PC机的使用。为此,Pentium级处理器以上的PC机推出了有计算机自动配置各种资源的方法——即插即用(Plug and Play),从而最大限度的避免了人工干预资源的配置,这就完全解放了用户,降低了对用户的要求,使得PC的使用得到了极大的普及。 所谓即插即用,其原理就是在每块支持PNP的板卡上都有一组称为配置空间的寄存器,在这些寄存器中保存有自己对系统资源的需求参数。当Windows启动时,其BIOS引导程序首先读出这些参数,然后综合每块板卡的对资源的需求,统一对整个系统的资源进行分配,从而避免用户干预。为了BIOS引导程序能够正确的对板卡所需的资源进行动态分配,其配置空间寄存器中存储的是物理空间大小等相对信息,而不是绝对的物理地址。当然,对于不支持PNP的板卡,用户仍需进行手动配置资源。 PCI配置空间是长度为256个字节的一段内存空间,其前64个字节包含PCI接口的信息,我们可以通过它来访问PCI接口。 如下表所示: 配置空间地址 字节3 字节2 字节1 字节0 00H 设备 ID,Device ID 供应商 ID,Vendor ID 04H 状态,Status 命令,Command 08H 类代码 Class Code 版本 ID Revison ID 0CH 自测 BIST 首部类型 Header Type 延迟定时器 Latency Timer Cache行容量 Cache Line Size 10H 基址寄存器0,Base Address Register#0 14H 基址寄存器1,Base Address Register#1 18H 基址寄存器2,Base Address Register#2 1CH 基址寄存器3,Base Address Register#3 20H 基址寄存器4,Base Address Register#4 24H 基址寄存器5,Base Address Register#5 28H CardBus 卡信息结构指针,CardBus CIS Pointer 2CH 子系统 ID Subsystem ID 子系统供应商 ID Subsystem Vendor ID 30H 扩展ROM基址,Expansion ROM Base Address 34H 保留,Reserved 功能指针 Capabilities Pointer 38H 保留,Reserved 3CH 优先级请求 MAX_Lat 时间片请求 MIN_Gnt 中断引脚 Interrupt Pin 中断线 Interrupt Line 这64个字节中,第一个32位的双字包含了DeviceID和VendorID。DeviceID是一个16位的数,如果这个单元没有安装,在启动时,计算机就会显示FFFFH;如果安装了,在0000H和FFFFH之间就会有一个确定的数代表它。类代码用来区分PCI接口类别,VendorID由PCISIG来分配。头标区中比较重要的有Base Address, Interrupt Pin, Interrupt Line. 它们主要用来指明设备所需的资源。 Base Address:基址寄存器,是32位寄存器,可以是IO Base Address 和Mem Base Address. 这是由第0位决定的,第0位由硬件强制置0或1。加电后,引导程序通过向基址寄存器中写入全1,并且读返回值以获得设备所需的地址空间大小,然后操作系统统一给它分配一块I/O或内存空间,并把基地址写回到基址寄存器。然后驱动程序可以通过读这个基址寄存器就可以取得基地址,再加上设备寄存器偏址就可以访问这个寄存器了。 Interrupt Line:中断线寄存器,它是一个8位寄存器,用来报告中断的连接情况,它是一个可读可写的寄存器,并且凡是使用中断引脚的设备必须实现它,系统引导程序在进行初始化和配置时要将中断连线的信息写入该寄存器。这个寄存器的值表示设备的中断引脚与系统中断控制器的哪个输入端相连。设备驱动程序和操作系统可以利用这个信息来确定中断优先级和向量。该寄存器的值要受系统体系的支配。对于X86体系结构,该寄存器的值和标准8259配置中的IRQ编号(0-15)相对应。255表示没有连到任何中断控制器。15-255之间的值为保留值。 Interrupt Pin:中断引脚寄存器。该寄存器是一个只读寄存器,用来表示设备使用了那一根中断线。其值的1,2,3,4分别对应INTA#,INTB#,INTC#,INTD#。0表示没有使用任何中断。 PCI配置机构采用两个32位IO端口,位于地址0xCF8和0xCFC。这两个端口是: (1)32位配置地址端口,占用IO地址的0xCF8到0xCFB (2)32位配置数据端口,占用IO地址的0xCFC到0xCFF 访问配置寄存器的步骤为: 1.将目标总线编号,设备编号,功能编号和双字编号写配置地址端口,并设置使能位为1 2.读或写配置数据寄存器,北桥将指定的目标总线与PCI总线范围做比较,如果目标总线在此范围内,则启动PCI配置读或写操作。 配置地址口的格式为: 在不同的操作系统下,对配置空间有不同的存取方法,在DOS下我们只需要使用简单的汇编指令IN OUT就可了。幸运的是Win9x下其保护机制没有限制这两个端口的读写,固也可以使用这样的办法。WinNT下提供READ_PORT_ULONG 以及WRITE_PORT_ULONG函数来对其读写。 读写配置数据寄存器还可以调用PCI BIOS函数的中断INT1AH来实现。中断调用参数: 入口参数 返回值 功能描述 AX=0B101H EDX='PCI' ASCII字符 AH=执行状态代码 AL=硬件机器 BX=主从版本号 CL=系统中最大总线号 CF=完成状态,1=错误,0=成功 检查PCI BIOS是否存在,版本号为多少 AX=0B102H CX=设备ID号(0-65535)Device ID DX=厂商ID号(0-65534)Vendor ID SI=索引号(0-N) AH=执行状态代码 BH=总线号(0-255) BL=设备号(高5位),功能号(低3位) CF=完成状态,1=错误,0=成功 查找指定厂商和设备号的PCI板卡的位置 AX=0B103H ECX=类代码,在低三位 SI=索引号(0-N) AH=执行状态代码 BH=总线号(0-255) BL=设备号(高5位),功能号(低3位) CF=完成状态,1=错误,0=成功 查找指定类代码和索引的PCI设备的位置 AX=0B108H/0B109H/0B10AH BH=总线号(0-255) BL=设备号(高5位),功能号(低3位) DI=寄存器号 AH=执行状态代码 CL/CX/ECX= 读到的字节/字/双字 CF=完成状态,1=错误,0=成功 字节/字/双字方式读取配置空间数据 AX=0B10BH/0B10CH/0B10DH BH=总线号(0-255) BL=设备号(高5位),功能号(低3位) DI=寄存器号 CL/CX/ECX= 待写入的字节/字/双字 AH=执行状态代码 CF=完成状态,1=错误,0=成功 字节/字/双字方式写配置空间数据 返回值 AH= 00H 成功 81H 不支持的函数 83H 错误的厂商ID值 86H 设备未发现 87H 错误的寄存器号 88H 设置失败 89H 缓冲区太小 其他功能及更详细介绍参看相关文档。 五、汇编程序使用方法 因为pci总线结构支持p&p即插即用功能,每台微机分配给pci扩展板的资源是动态浮动的,不像isa总线是固定死的,因此分配给设备的i/o基地址、mem基地址空间及int中断号会因为不同的微机而变化(详细介绍请参看pci总线规范文档或本设备的教师实验指导书),所以实验前需要确定当前微机中pci卡的资源,并用其替换程序中的相应值,重新编译链接后才能实现实验效果。 如果发现您的微机中tpc卡的设置与以下内容所描述的不一致,这应该是系统没有分配好资源导致的,实验可能做不了,您可以将驱动卸掉再重新安装,看看还出现这种情况否,或是换一台机器试一下,确认是tpc卡的问题还是操作系统安装驱动程序时出现的问题。 需要替换的基地址值为每个汇编程序头中的定义行: io基地址为: 。。。 ioport equ 0d400h-0280h ;tpc 卡中设备的io地址 。。。 或 。。。 ioport_data equ 0d400h-0280h ;tpc 卡中设备的io地址 。。。 或 。。。 ioport_cent equ 0d800h ;tpc 卡中PCI接口芯片的io地址 。。。 mem基地址为: 。。。 mem_data equ 0f6000000h ;tpc 卡中设备的mem地址 。。。 其中”0d400h”是pci接口在微机中被动态分配的io基地址,即需要替换的地址,相当于设备中的地址0280h。 ”0d800h”是TPC卡中PCI接口芯片上的设置寄存器组占用的io地址,因为某些实验需要设置该芯片的寄存器。 ”0f6000000h”是pci接口在微机中被动态分配的mem基地址,也是需要替换的地址,相当于设备存储器的起始地址0h。 替换方法如下: 步骤1: 参照实验指导书安装接口卡及其驱动程序 步骤2: 启动微机并打开“控制面板”-〉“系统”-〉“设备管理器”并查到“微机原理教学实验装置” 打开“TPC” 找到两个输入/输出范围(数值可能不会与图中相同),其中一个范围大小是0ffh的是PCI接口芯片上的设置寄存器组占用的io地址空间,另一个范围大小是07fh的是TPC设备的io地址空间;两个内存范围(数值可能不会与图中相同),一个范围大小是0ffh的是PCI接口芯片占用的mem地址空间,另一个范围大小是0fffffh的是TPC设备的mem地址空间。 它们的起始地址即为我们需要的基址值,图中PCI接口芯片输入输出范围是c000-c0ff,基址为c000;TPC设备的输入输出范围是c800-c87f,基址为c800;TPC设备的内存范围是d0000000-d00fffff,基址为d0000000。 记录下基址值。 步骤3: 用记录下的基址值替换每个汇编程序头中的定义行中的值,并重新编译链接后即可。 io基地址替换为: 。。。 ioport equ 0c800h-0280h ;tpc 卡中设备的io地址 。。。 或 。。。 ioport_data equ 0c800h-0280h ;tpc 卡中设备的io地址 。。。 或 。。。 ioport_cent equ 0c000h ;tpc 卡中PCI接口芯片的io地址 。。。 mem基地址为: 。。。 mem_data equ 0d0000000h ;tpc 卡中设备的mem地址 。。。 即替换“0d400h”为“0c800h”,“0d800h”为“0c000h”,“0f6000000h”为“0d0000000h”,并重新编译链接后即可。 如果程序中使用了中断,则需要根据TPC属性窗口中的中断请求号码来修改程序中的中断向量、中断掩码的参数,并重新编译链接后即可。 本实验装置的中断请求号为:0009 本实验装置中9054所占用的I/O基地址为:c000H。 第三部分 软件实验部分 实验一 DEBUG程序的使用 一、实验目的 1. 学习DEBUG软件的基本使用方法。 2. 掌握8088/8086的寻址方式。 3. 掌握数据传送、算术运算逻辑运算等类指令的基本操作。 二、实验内容和步骤 本实验进行前必须保证系统盘上有DEBUG.EXE文件。在DOS环境下执行DEBUG命令,就在屏幕上显示DEBUG提示符:“_”(短划线)。 C:\MASM>DEBUG _ ;DEBUG程序的提示符,此时,可键入相应的DEBUG命令 1. 程序输入——汇编命令(a命令) 输入程序应注意以下几点: (1) 输入的数字必须是十六进制数,并且不输入H。 (2) 分号后面的内容(注释)不要输入。 (3) 不输入标号,条件转移
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服