《计算机接口技术》实验指导教学内容_第1页
《计算机接口技术》实验指导教学内容_第2页
《计算机接口技术》实验指导教学内容_第3页
《计算机接口技术》实验指导教学内容_第4页
《计算机接口技术》实验指导教学内容_第5页
已阅读5页,还剩74页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Good is good, but better carries it.精益求精,善益求善。计算机接口技术实验指导计算机接口与通信技术实验指导书二零零六年十月曲俊华谢萍徐茹枝编二零一三年四月成永强改编华北电力大学控制与计算机工程学院目录TOCo1-3hzuHYPERLINKl_Toc354566602目录PAGEREF_Toc354566602h2HYPERLINKl_Toc354566603前言PAGEREF_Toc354566603h3HYPERLINKl_Toc354566604汇编语言上机指导PAGEREF_Toc354566604h4HYPERLINKl_Toc354566605第一

2、部分基本型实验PAGEREF_Toc354566605h6HYPERLINKl_Toc354566606实验一熟悉汇编程序的编写PAGEREF_Toc354566606h6HYPERLINKl_Toc354566607实验二汇编语言分支程序的编写PAGEREF_Toc354566607h7HYPERLINKl_Toc354566608实验三汇编语言循环程序的编写PAGEREF_Toc354566608h8HYPERLINKl_Toc354566609实验四汇编语言子程序的编写PAGEREF_Toc354566609h9HYPERLINKl_Toc354566610实验五使用汇编语言实现键盘的输

3、入PAGEREF_Toc354566610h10HYPERLINKl_Toc354566611第二部分设计型实验PAGEREF_Toc354566611h11HYPERLINKl_Toc354566612实验一8253计数器定时器的基本工作方式实验PAGEREF_Toc354566612h11HYPERLINKl_Toc354566613实验二8255A工作方式实验PAGEREF_Toc354566613h13HYPERLINKl_Toc354566614实验三8251A串行口通信实验PAGEREF_Toc354566614h16HYPERLINKl_Toc354566615实验四8259A中

4、断实验PAGEREF_Toc354566615h19HYPERLINKl_Toc354566616实验五DMA实验PAGEREF_Toc354566616h23HYPERLINKl_Toc354566617实验六D/A、A/D实验PAGEREF_Toc354566617h26HYPERLINKl_Toc354566618实验七LED显示实验PAGEREF_Toc354566618h29HYPERLINKl_Toc354566619第三部分综合型实验PAGEREF_Toc354566619h32HYPERLINKl_Toc354566620实验一小键盘的设计与实现PAGEREF_Toc35456

5、6620h32HYPERLINKl_Toc354566621实验二计时器的设计与实现PAGEREF_Toc354566621h32HYPERLINKl_Toc354566622附录PAGEREF_Toc354566622h33HYPERLINKl_Toc354566623附录一TPC-1A实验系统的结构及使用说明PAGEREF_Toc354566623h33HYPERLINKl_Toc354566624附录二红华5020B示波器使用简要说明PAGEREF_Toc354566624h40前言实验总体目标掌握本课程涉及的所有硬件接口的结构和工作原理,掌握利用汇编语言设计接口驱动程序或通信程序的方法

6、,掌握基于TPC实验箱的软硬件相结合开发平台的使用方法,为进一步开发应用打下坚实的基础。适用专业计算机科学与技术先修课程数字电子技术基础、汇编语言程序设计实验课时分配实验项目学时5个基本型实验自行安排设计型实验实验一8253计数器定时器的基本工作方式实验2实验二8255A工作方式实验26实验三8251A串行口通信实验24实验四8259A中断实验24实验五DMA实验24实验六D/A、A/D实验24实验七LED显示实验24综合型实验实验一小键盘的设计与实现24实验二计时器的设计与实现48本课程所涉及的实验内容较多,可根据具体课程的学时安排来选择并完成其中的全部或部分实验。实验环境计算机1台、TPC

7、实验箱1套、汇编语言开发环境、示波器1台。实验总体要求以TPC实验箱为硬件载体,能够熟练利用汇编语言编程方法设计接口驱动程序或通信程序,能够初步掌握计算机接口和通信应用系统的设计与实现方法。本实验的重点、难点及教学方法建议本实验的重点:掌握本课程所涉及硬件接口的结构和工作原理,能够独立完成所列出的实验内容。本实验的难点:两个综合型实验题目。教学方法建议:指导教师通过一个简单实例,带领学生将设计的全过程完整走一遍,后面的实验内容要求学生独立全面完成。汇编语言上机指导进入实验室的注意事项:(1)实验室配置有26套设备,指导教师根据实验人数分组,每组填写实验登记表后位置即固定不再更改;(2)请将垃圾

8、放到实验室屋内前后门处垃圾箱内;(3)学生实验中如设备有问题勿自行处理,请联系实验室值班实验员处理;(4)注意用电安全和实验设备安全,不要带电插拔,线路连接好以后再开电源;(5)自己编写程序,记录在本子上,现场录入、调试;(6)在实验的整个过程,做好实验记录(过程、现象、结论等);(7)认真完成实验报告(注意格式),下一次实验时交。汇编语言程序的建立和执行:要建立汇编语言程序,系统盘(当前目录)中必须有如下文件:EDIT.exeTASM.exeLINK.exeDEBUG.exe(1)用EDITABC.asm指令编辑源程序;(2)用TASMABC命令产生目标文件(ABC.OBJ);如果有语法错误

9、,需要返回编辑环境进行修改,直到没有错误存在。(4)用LINKABC命令产生可执行文件ABC.EXE;(5)可执行文件的执行;(6)使用DEBUGABC.exe命令可以完成对指定可执行文件的调试:此时屏幕上出现一个短划线。系统提示我们可以用一些指令对已经调入到内存的ABC.exe进行调试。U;从当前地址开始反汇编,也可以从某个地址处开始反汇编,即:U200;从CS:200H处开始反汇编;G;执行程序G120;执行程序,直到0120H处发生断点,显示当前各个寄存器的情况;dDS:0000;从数据段的0单元开始显示128个字节;(默认情况)dDS:0000L20;从数据段的0单元开始,显示20H个

10、单元。t;单步执行程序,每次执行以后屏幕都会显示当前寄存器的值和下一个要执行的指令;tn;也可以指定要一次性完成的指令的条数;r;查看各个寄存器的值Q;退出编辑源程序EDITABC.ASM汇编源程序TASMABC.ASM形成目标程序ABC.OBJ连接目标程序LINKABC.OBJ有连接错误信息?形成可执行程序ABC.EXE装入可执行程序到内存,并执行D:subABC下一程序用DEBUG调试可执行程序D:subDEBUGABC.EXE找到原因YYNNYN有汇编错误信息?Y运行结果正确?用DEBUG调试程序查错?N第一部分基本型实验实验一熟悉汇编程序的编写1.实验目的(1)熟悉汇编语言程序的结构、

11、开发过程;(2)学习汇编程序的编辑、编译、链接、执行和调试的全过程;(2)学习汇编语言程序的语法规则。2.实验内容(1)例题实践1首地址为Buffer(3000H:0200H)存放有20个16位有符号数的数据块,找到其中的最大值,并存放到MAX字单元中(0228H)。编写整理程序,编辑录入、编译、链接、调试;查看指定内存单元值是否为数据块的最大值;做实验记录。(2)例题实践2编写完整汇编语言程序,完成内存数据块传送功能。将某段中的字符串“Hello!”传送到另一段中。编写整理程序,编辑录入、编译、链接、调试;查看指定内存单元值是否满足要求;做实验记录。实验二汇编语言分支程序的编写1.实验目的(

12、1)进一步熟悉汇编语言程序的结构、开发过程;(2)进一步掌握汇编程序的编辑、编译、链接、执行和调试的全过程;(3)学习基本程序控制结构的设计方法。2.实验内容例题实践:统计某次考试各个成绩段的学生人数(假设每个学生的成绩已知);(1)编写整理程序,编辑录入、编译、链接、调试;(2)预设指定内存单元分别存放不同成绩段学生人数;(3)查看指定内存单元内容是否正确,做实验记录。实验三汇编语言循环程序的编写1.实验目的(1)熟悉汇编语言程序的结构、开发过程;(2)进一步上机实践汇编语言程序设计;(3)掌握循环结构程序设计方法。2.实验内容:(1)编写一个程序,用二进制显示从键盘输入一个字符的ASCII

13、码。(2)编写一个程序,记录某个字存储单元数据中1的个数,以十进制形式显示结果。实验四汇编语言子程序的编写1.实验目的(1)熟悉汇编语言程序的结构、开发过程;(2)进一步上机实践汇编语言程序设计;(3)学习子程序设计、子程序递归调用算法。2.实验内容自编程序计算N!,阶乘的定义如下:n(n1)!当n1时n!=1当n=1时要求:编写程序,分别计算18的阶乘;完成程序的流程图;运行程序,观察运行结果并记录,完成实验报告。实验五使用汇编语言实现键盘的输入1.实验目的(1)熟悉巩固汇编语言程序的结构、开发过程;(2)进一步上机实践汇编语言程序设计;(3)综合运用汇编语言程序设计相关方法、思想和设计结构

14、。2.实验内容(1)试编制一程序:从键盘输入一行字符,要求第一个键入的字符必须是空格符,如不是,则退出程序;如是,则开始接收键入的字符并顺序存放在首地址为BUFFER的缓冲区中(空格符不存入),直到接收到第二个空格符时退出程序。(2)编写一段程序,实现从键盘任意输入一个数字,使其插入一个已经整序的数字数组中。(假设整序的数字数组已知,并已整序,保存于内存的连续表中)要求:分析题意,编写程序,上机调试;运行程序,观察所定义的内存单元是否符合要求;画出程序的流程图,记录实验数据,完成实验报告。第二部分设计型实验实验一8253计数器定时器的基本工作方式实验一、实验目的通过实验了解8253的基本结构、

15、工作方式及使用方法;掌握8253的编程方法。二、实验设备PC机一台、TPC实验箱一个、示波器一台。三、实验要求用示波器观察8253不同工作模式下的输出波形。四、实验原理8253有6种工作模式,不同工作模式下输出的波形各不相同。置入计数初值N后,定时器/计数器会在时钟源频率下开始计数N-1,N-2,0。可以将计数器的输出端OUT接一个发光二极管,同时接示波器,通过观察二极管亮灭的快慢来对比频率的变化,通过示波器观察信号的频率。五、实验步骤(1)根据实验内容连接硬件电路并检查。(2)画流程图并编写程序代码。(3)编译程序,软件调试。(4)通过示波器观察不同工作模式下的输出波形并记录比较是否与实际相

16、符。8253OUT0GATE0CLK0CSA1A0200207A1A0+5V地K1示波器74LS393Q4A+5V+5VB8MHz+5V250KHz六、硬件连接图将分频器74LS393的B端与8MHz信号相连;将分频器74LS393的A端接+5V;将CS接200207;将CLK0与8MHz分频得到的250KHz信号(74LS393的Q4端)相连;将GATE0接开关K1。开关向上拨,电平为1;向下拨,电平为0;将OUT0接示波器或与一个发光二极管相连。七、程序参考流程图开始设置8253工作方式字结束送计数器初值实验二8255A工作方式实验一、实验目的了解8255A的基本结构和工作原理;掌握通过8

17、255A并行口输入或输出数据的控制方法。二、实验设备PC机一台、TPC实验箱一个。三、实验原理8255A有3种工作方式。当工作于方式0时,A、B、C三个端口24条I/O线全部由用户分配,不设专用联络线;当端口A或端口B工作于方式1时,C口某些引脚被设置为专用的中断请求和联络信号线,用户不可对其再编程。工作于方式1输入时规定PC3(INTR)、PC4(STB)、PC5(IBF)用于A口联络,PC0(INTR)、PC1(IBF)、PC2(STB)用于B口联络,工作于方式1输出时规定PC7(OBF)、PC6(ACK)、PC3(INTR)用于A口联络,PC0(INTR)、PC1(OBF)、PC2(AC

18、K)用于B口联络。方式2只适用与端口A,为双向传输。控制数据的传送方式可以采用查询方式或无条件方式(由具体连接的外设决定)。四、实验步骤(1)根据实验内容连接硬件电路并检查。(2)画流程图并编写程序代码。(3)编译程序,软件调试。(4)观察执行结果。五、硬件连接图和程序参考流程图通过8255A方式0输出控制LED发光二极管的亮灭,模拟交通路灯的管理。(1)硬件连接图将PB4PB7插孔与发光二极管的L1L4相连;将PC0PC7插孔与发光二极管的L5L12相连;CS与21821F相连;其中L1L4为黄灯,L5L8为红灯,L9L12为绿灯。(2)程序参考流程图实验三8251A串行口通信实验一、实验目

19、的了解串行通信的一般原理和8251A的工作原理,掌握利用8251A进行双机通信的编程方法。二、实验设备PC机两台;TPC实验箱两个。三、实验要求采用全双工通信方式,通过8251A将主机1键盘输入字符串行发送给主机2接收并显示在主机2屏幕上;同时将主机2键盘输入字符串行发送给主机1接收并显示在主机1屏幕上。发送和接收时钟信号由8253提供。四、实验原理8251A可按同步或异步方式工作,确定了字符格式及波特率之后,可实现半双工或全双工串行通信。8251A芯片的初始化有严格的规定:复位后,第一次用高端口地址写入的值作为模式字写入模式寄存器。如模式寄存器中规定8251工作在同步模式,那么接着往高端口地

20、址写入一个或两个字节的同步字符,同步字符被写入同步字符寄存器。只要不是复位命令,不管是同步模式还是异步模式,写入高端口地址的值送到控制字寄存器。复位时采用先送3个00H后再送40H到高端口地址的方法。五、实验步骤(1)根据实验内容自行设计,连接硬件电路并检查。(2)画流程图并编写程序代码。(3)编译程序,软件调试。(4)观察计算机屏幕上的显示结果。六、硬件连接图实验板1TXDRXD实验板2TXDRXD主机1主机2将主机1实验板上8251A的TXD和RXD与主机2实验板上8251A的RXD和TXD端连接,形成全双工串行通信方式;8251A的CS和20820F插孔相连;任意选择8253的一个计数器

21、作为波特率发生器,将计数器的OUT端与8251的TXC、RXC相连,作为发送和接收时钟,波特率自定;8253的连接可参照实验一。如果接收采用中断控制方式,可将8251A的RXRDY引脚与PC总线的IRQ2(或B4)相连,由此端向PC主机发中断请求;采用查询方式时不用接。七、程序参考流程图(1)查询方式双机通信的参考流程图NYNNNYYY显示提示信息:请键入字符,Q结束,该字符将显示在对方计算机屏幕上从8251A数据口发送BL中字符从8251A数据口读入接收的字符读键入的字符存BL读8251A状态字TXRDY=1?读8251A状态字RXRDY=1?该字符Q?返回DOS开始8253初始化8251A

22、初始化将该字符显示在屏幕上有键按下?(2)中断方式接收的中断处理程序参考流程实验四8259A中断实验一、实验目的掌握8259A中断控制器工作原理;熟悉实验中涉及到的中断屏蔽寄存器IMR和中断服务寄存器ISR的使用方法;学会中断处理程序的编写。二、实验设备PC机一台、TPC实验箱一个。三、实验要求每次主机响应外部中断IRQ2时,能够显示字符串“THISISA8259AINTERRUPT!”(或其他串),中断10次后,退出程序。四、实验原理(1)本实验使用微型机内的8259A芯片。PC机用户可使用的硬件中断只有可屏蔽中断,由8259A中断控制器管理。中断控制器用于接收外部的中断请求信号,经过优先级

23、判别等处理后向CPU发出可屏蔽中断请求。IBMPC、PC/XT机内有一片8259A中断控制器对外可以提供8个中断源:中断源中断类型号中断功能IRQ008H时钟IRQ109H键盘IRQ20AH保留IRQ30BH串行口2IRQ40CH串行口1IRQ50DH硬盘IRQ60EH软盘IRQ70FH并行打印机8个中断源中IRQ2IRQ7中断请求信号在IBMPCXT62芯总线中可以引出,系统已经设定中断请求信号为“边沿触发”,普通结束方式。对于PC/AT及286以上微机内又扩展了一片8259A形成主从式结构,主片8259A的IRQ2用于两片8259A之间的级连,对外可提供15个中断源:中断源中断类型号中断功

24、能IRQ870H实时时钟IRQ971H用户中断IRQ1072H保留IRQ1173H保留IRQ1274H保留IRQ1375H协处理器IRQ1476H硬盘IRQ1577H保留实验的中断请求通过IBMPCXT62芯总线的IRQ2端输入(对应IRQ10),中断源可以是片外8253A定时器输出的脉冲,也可以是其他脉冲(比如通过实验板上单脉冲按钮产生的脉冲信号)。若用8253A做中断源,参看8253A接口实验连接的线路,并把8253A的OUT和62芯总线槽IRQ2(B4)连接好;若用实验板上单脉冲按钮产生中断源,将62芯总线槽IRQ2(B4)与单脉冲连接。PC中断控制器主片的端口地址为20H(偶地址端口)

25、、21H(奇地址端口),从片的端口地址为0A0H(偶地址端口)、0A1H(奇地址端口)。编程时要将主、从片中断屏蔽寄存器对应位清零(允许中断),由于PCI扩展卡的影响,IRQ2接入PC后实际对应的中断线不再是0002H,而是有在PC机启动时由BIOS自动分配,假定分配的结果是0006H,则设置中断屏蔽寄存器代码如下:INAL,21H;主片允许中断ANDAL,10111111BOUT21H,ALINAL,0A1H;从片允许中断ANDAL,11111111BOUT0A1H,AL中断服务程序结束返回前分别要向主、从片发送中断结束命令。中断结束命令代码如下:MOVAL,20HOUT0A0H,ALOUT

26、20H,AL中断结束返回DOS前应将IMR对应位置1,以关闭中断。(2)由于实验中TPC卡使用9054芯片连接微机来实现P&P功能,所以在编程使用微机中断前需要使能9054的中断功能,代码如下:MOVDX,0EC00H+68H;9054的I/O起始地址及中断使能寄存器的偏移地址INAX,DXORAX,0900H;设置中断允许OUTDX,AX程序退出前还要关闭9054中断,代码如下:MOVDX,0EC00H+68H;9054的I/O起始地址及中断使能寄存器的偏移地址INAX,DXORAX,0F7FFH;中断禁止OUTDX,AX注意:本例假定所用PC为9054的寄存器组分配的IO基址是0EC00H

27、(3)关于中断向量。首先虽然因PCI扩展卡的存在,TPC-1A上的中断线与主板上8259的中断线并不一一对应。但PC启动时自动分配给PCI扩展卡的中断线与中断矢量的对应关系并没有变,对应关系如下:中断线中断类型号008H109H20AH30BH40CH50DH60EH70FH870H971H0aH72H0bH73H0cH74H0dH75H0eH76H0fH77H如果pcitest.exe检测出的中断线是0006H,则对应的中断矢量为0eH。其次使用中断时,中断服务程序的首地址要写入中断矢量处。但现在系统运行在DOS之下,DOS已经占用了这个中断矢量,为使实验过程不会破坏DOS的中断系统,需要在

28、初始化时保存好原有的中断矢量,实验结束时恢复原有的中断矢量。典型的程序段如下,这里假定中断号是0006H,对应的中断矢量为0eH。MOVAH,35HMOVAL,0eH;取0eH号中断向量送ES:BXINT21HPUSHES;ES:BX中是原有的中断向量PUSHBX;用栈保存原中断向量,也可存放在预留的存储中PUSHDXMOVDX,SEGINT;INT是(即0e号中断向量)的新向量MOVDS,DXMOVDX,OFFSETINTMOVAH,25HMOVAL,0eHINT21H;设置(即6号中断)新的中断向量POPDS以上是设置新的中断向量的过程,程序退出前应当恢复原有向量,其程序步骤正好与上述相反

29、。五、实验步骤(1)根据硬件连接图连接硬件并检查。(2)画流程图并编写程序代码。(3)编译程序,软件调试。(4)观察执行结果。六、程序参考流程图主程序实验五DMA实验一、实验目的掌握DMA工作方式的原理和通过PCI卡实现DMA的编程方法;掌握如何在PC机环境下进行DMA方式的数据传送。二、实验设备PC机一台、TPC实验箱一个。三、实验要求采用DMA方式将用户程序中数据段的测试电文写入到实验电路中6116存储器(在本实验中它们按I/O端口寄存器使用),然后再将6116存储器中的电文传送到用户程序的数据段缓冲区,最后把缓冲区中的电文显示在屏幕上,以验证DMA传送的结果。电文如下:Thequickb

30、rownfoxjumpsoverlazydog四、实验原理(1)由于实验使用9054接口芯片控制DMA的传送,需要进行初始化的寄存器如下(通道0)如下:偏移地址名称长度功能80HDMAMODE032位DMA模式寄存器84HDMAPADR032位DMAPCI端起始地址值(微机端)88HDMALADR032位DMALOCAL端起始地址值(设备端)8CHDMASIZE32位传输数据长度90HDMADPR032位DMA传输控制,方向/中断A8HDMACSR08位DMA命令/状态,开始/结束/取消/中断/当前传输状态寄存器设置步骤如下:设置DMAMODE0BITS功能10LOCAL端总线宽度:008位,

31、0116位,1x16位6设置为19设为0,块传输模式101DMA传输完成能够产生中断0DMA传输完成不能产生中断121外部硬件请求模式传输(只进行32位传输)0软件启动传输171DMA传输完成能够产生中断去PCI端(微机端)0DMA传输完成能构产生中断LOCAL端(设备端)设置DMAPADR0,DMAPCI端起始地址值(微机端),32位设置DMALADR0,DMALOCAL端起始地址值(设备端),32位,当设备端为扩展I/O地址范围时,最高位应置为“1”,表示I/O地址范围。设置DMASIZE,传输数据长度,23位,31:23位未用。设置DMADPR0,DMA传输控制,方向/中断BITS功能2

32、1DMA传输完成能够产生中断0DMA传输完成不能产生中断31LOCAL端向PCI端传输,设备向微机0PCIL端向LOCA端传输,微机向设备设置DMACSR0,DMA命令/状态BITS功能01DMA传输使能0DMA传输关闭11启动DMA传输21中止DMA传输31清除DMA传输结束中断标志41DMA传输结束0DMA传输中当使用外部请求传送模式进行DMA传输时,9054只进行32位的传送,传送8、16位数据时需要将数据规整为32位后传输。因为PCI总线最大宽度为64位,9054芯片为了节省传输资源,当由LOCAL端外部输入数据时,芯片将数据缓存,凑够64位后一次送入PCI端,即微机端。这会出现进行两

33、次外部DMA请求后9054芯片才将64位数据传送到PCI端,即微机端的情况。(2)需先后两次按DMA键,第一次为程序向6116传输,第二次为6116向机内传输。DMA的请求通过按下6116芯片旁边的红色按钮发出,每按1次产生1次DMA请求。五、实验步骤(1)根据实验内容连接硬件电路并检查。(2)画流程图并编写程序代码。(3)编译程序,软件调试。(4)观察执行结果是否正确。六、硬件连接图用短路子分别将J2,J3,J4的“3”和“2”短接。将6116芯片的A0A10接62芯PC总线信号的A0A10。将DRQ信号接62芯PC总线信号的DRQ1。七、程序参考流程图等待按键实验六D/A、A/D实验一、实

34、验目的了解数模转换的基本原理,掌握DAC0832、ADC0809芯片的使用方法。二、实验设备PC机一台、TPC实验箱一个、示波器一台。三、实验要求(1)通过D/A转换器DAC0832实现以下功能,并用示波器观察输出波形。产生锯齿波;产生三角波;产生正弦波;(2)通过A/D转换器ADC0809实现电压模拟量的数据采样,并将结果在PC机上显示出来。四、实验原理(1)DAC0832内部具有双缓冲:输入寄存器和DAC寄存器。要把1个数据通过0832输出,需进行两次锁存。典型的程序段如下:MOVDX,PORTIN;输入寄存器端口号MOVAL,DATAOUTDX,AL;送数据到输入寄存器INCDXOUTD

35、X,AL;送数据到DAC寄存器其中第二次I/O写是一个虚拟写过程,其目的只是为了产生一个IOW信号。(2)产生锯齿波和三角波只须由AL存放的数字量的增减来控制,而要产生正弦波,较好的手段是根据正弦函数造一个正弦数字量表,取值范围为一个周期,其中采样点数的多少由精度决定。(3)ADC0809的分辨率为8位,可有8个(1N0IN7)模拟输入,模拟电压范围为05V,在CLK为500kHz时,转换速度为128s,它的START端为A/D转换启动信号。ALE端为通道选择的地址锁存信号,实验电路中将START和ALE相连,以便同时锁存通道地址并开始A/D采样转换。其输入控制信号为CS和IOW,故启动A/D

36、转换只须如下2条指令:MOVDX,PORTADC;ADC0809的端口地址OUTDX,AL;发CS及IOW信号至于AL中具体为什么内容并不重要,这是一个虚拟写动作。(4)当A/D转换结果的读取可以通过延时方式来读取转换结果,使用如下指令即可读取A/D转换的结果。MOVDX,PORTADCINAL,DXA/D转换结束后会自动产生EOC信号,因此也可以将该信号与中断请求线相连,当EOC信号有效时就会引起一次硬中断,在中断处理程序中读取转换结果。五、实验步骤(1)根据实验内容连接硬件电路并检查。(2)画流程图并编写程序代码。(3)编程实现D/A、A/D转换功能。(4)编译程序,软件调试,观察实验结果

37、。六、硬件连接图(1)DAC0832的硬件连接图(2)ADC0809的硬件连接图模拟电压输入由2.2K电位器中心抽头提供;ADC0809的CLK需外加,范围为10KHz1280kHz,可以取CLK=500kHz。500kHz信号由8MHz时钟经74LS393分频获得,为此,将8MHz时钟连74LS393分频器的A端,而分频器B端接+5V,Q3端(500kHz)接A/D的CLK端。七、程序参考流程图NNNNYYYNYYYYNYY显示提示信息返回DOS开始等待按键NYY是1键?有键按下?NAL清零AL送0832输出AL增加10HAL=0?是2键?是3键?是4键?是5键?NNNNNAL清零AL送08

38、32输出AL增加10HAL=F0H??AL送0832输出AL减去10HAL=0?N有键按下?SI指向正弦数据表首址,数据长度送BL数据送0832输出SI加1BL-1=0?有键按下?Y1:锯齿波2:三角波3:正弦波4:暂停5:返回DOSAL清零附:正弦波数据表SINDB128,88,53,24,6,0,6,24,53,88,128,168,203,232,250,255,250,232,203,168实验七LED显示实验一、实验目的了解七段数码管显示数字的原理;掌握只用一个段锁存器和一个位锁存器同时显示多位数字的技术。二、实验设备PC机一台、TPC实验箱一个。三、实验要求用七段数码管显示分、秒值

39、。四、实验原理(1)通过位选锁存器选择某一位数码管,显示其数字(对应段值为1),然后关闭此数码管,再选择下一位数码管进行显示;如果在1秒内,每位数码管都能显示30次以上,则人眼看到的是几位数码管同时在显示。(2)主程序中等待输入任意键以结束程序。(3)定时由8253完成,8253通过62芯总线中IRQ2线向CPU发中断,每隔25毫秒一次,即40次秒。每次进入中断,中断服务子程序将6个数码管都显示1次,因此,每秒内6个数码管都被显示40次。在中断服务子程序中,还必须对中断次数进行计数,每够40次中断,时间增加1秒。因此在执行下面所列举的程序时,需首先做接口实验2-8253计数器定时器实验,使82

40、53每秒发出40次中断。五、实验步骤(1)根据实验内容连接硬件电路并检查。(2)画流程图并编写程序代码。(3)编程实现LED显示功能。(4)编译程序,软件调试,同时观察LED输出。六、硬件连接图将分频器74LS393的B端与8MHz信号相连;A端接+5V;将8253的CLK0与8MHz分频得到的250KHz信号(74LS393的Q4端)相连;将8253的OUT0和CLK1相连;将8253的GATE0、GATEl接5V;将8253的CS插孔接200207;将8253的OUT1接62芯总线中IRQ2;将数码显示器左边的CS端(在U27和U28之间)接210217。位选锁存器(PORTBLT)地址为

41、210H段选锁存器(PORTSEG)地址为211H七、主程序与中断子程序的参考流程图第三部分综合型实验实验一小键盘的设计与实现一、任务以PC机,8255A并行口为主体,设计并制作一个具有24个按键的小键盘。二、要求完成按键的识别功能。三、设计报告要求(1)小键盘的结构框图及其简要说明。(2)软件设计流程图及其说明。(3)简要总结本次设计的主要收获,并提出建议。实验二计时器的设计与实现一、任务以TPC实验箱为主体,设计并制作一个计时器。二、要求(1)基本计时和显示功能(分、秒计时)。(2)用小键盘控制计时和显示,能调整当前时间,例如:C键(清除)显示0000。G键(启动)显示XXXX变化的分、秒

42、,每一级单位对应2位。D键(停止)显示XXXX不变。E键(终止程序)熄灭数码管,程序退出。P键(设计初始值)设置分、秒初值。三、设计报告要求(1)硬件的结构框图及其简要说明。(2)软件设计流程图及其说明。(3)实现功能的说明。(4)简要总结本次设计的主要收获,并提出建议。附录附录一TPC-1A实验系统的结构及使用说明TPC-1A微机接口实验系统可在PC机配合下进行计算机接口技术的相关教学实验。TPC-1A上有8251A、8255A、8253、DAC0832、ADC0809等芯片和小键盘、数码管、8MHz晶振等接口器件。其的结构如图1所示。图-1TPC-1A实验板元器件布置图为了实验方便,在每一

43、部分实验电路附近都预留有单线信号插孔,实验时只要将相应插孔用单股导线相连即可。TPC-1A与PC机的连接步骤安装时请按下述步骤进行。(1)用60芯扁平电缆线连接TPC-1A和电缆转换卡。(2)用50芯扁平电缆线连接电缆转换卡和PC机。(3)连接TPC-1A的电源。(3)启动计算机。(4)打开TPC-1A的电源开关,其上的指示灯亮即可进行实验。注意:在进行线路的连接过程中,必须关闭TPC-1A的电源,在断电条件下进行操作,否则可能会引起实验台的损坏。TPC-1A上的I/O地址上的I/O地址为200H23FH共64个,分8个插孔引出,它们分别是200H207H;208H20FH;210H217H;

44、218H21FH;220H227H;228H22FH;230H237H;238H23FH;实验时只要用导线将任一插孔信号引到相应电路的CS端即可。图2是I/O地址译码电路。图2I/O译码电路PCI扩展卡的使用问题TPC-1A的原设计是与具有ISA总线的PC主板配合使用,TPC-1A通过60芯扁平电缆直接连到PC机的ISA卡上。因此TPC-1A占用的IO地址空间就是PC机主板上的x86处理器的IO空间的一部分。具体的地址范围是0 x2000 x23F。而TPC-1A的中断线与PC机主板上的8259中断控制器的中断线一一对应。如TPC-1A板上的IRQ2就直接连接到PC主板上的IRQ2。这种关系是

45、固定的。但现在的PC已经不支持ISA,但仍支持PCI。因此现在的TPC-1A实验板通过一块PCI桥接板与PC机相连进行实验的。此时TPC-1A上的IO地址与中断线不再与PC主板一一对应。TPC-1A通过PCI与主板相连接的结构如图3所示。PCI总线PC机主板PLX9045PCI扩展卡TPC-1A实验板50线扁平电缆60线扁平电缆电缆转换卡图-3TPC-1A通过PCI与PC连接的结构示意使用PCI总线后主要的变化有:PCI支持即插即用(P&P),每个PCI卡上的资源(如IO地址、中断线号)在PC机启动时由BIOS自动设置。不同的PC机上,这种设置不一定相同。PCI扩展卡上使用了PLX桥接芯片PL

46、X9045。该芯片影响到TPC-1A的地址空间、中断线号、中断操作控制及DMA操作控制。各实验受PCI扩展卡的影响归纳如下:a、所有的实验都必须知道PC机分配给TPC-1A的IO基址。b、所有涉及中断的实验除a外还须知道PC机分配给TPC-1A的中短线号,并增加对PLX9045上中断有关寄存器的操作。c、DMA实验不再使用主板上8237ADMAC芯片,而改用PLX9045上的DMA控制器。该实验除要求a、b外,还须对PLX9045上DMA相关控制器的操作。为了方便获得PC机分配给PCI扩展卡的资源信息,特提供了一个工具:pcitest.exe。在纯DOS环境系运行该软件,将在屏幕上显示如下信息

47、:TPCpcicard9054ChipI/OBaseAddress:XXXTPCpcicardI/OBaseAddress:XXXTPCpcicardInterruptLine:XXXInterruptvector:XXXMaster8259MaskCode:XXXSlave8259MaskCode:XXX附加的编程说明根据以上介绍,实验程序中需考虑或增加的操作介绍如下。所有实验的IO地址需要根据PC机分配给PCI扩展卡的IO基地址进行调整。调整过程为:假定分配给PCI卡的IO基址为EC00H(即上述pcitest.exe程序输出中显示的:TPCpcicardI/OBaseAddress:0E

48、C00)。则程序中实际I/O地址PCI设备的I/O基地址实验台I/O端口基地址实验台I/O端口地址例如,在TPC-1A实验系统中8253定时/计数器的IO地址为:定时器0地址200H定时器1地址201H定时器2地址202H控制端口地址203H则程序中,个端口的地址可按如下设定:IOPORTEQU0EC00H-200HIOTIM0EQU0EC00H-200H+200H;计数器0IOTIM1EQU0EC00H-200H+201H;计数器1IOTIMCEQU0EC00H-200H+203H;控制端口如为增加程序的可读性,也可写为如下形式,IOPORTEQU0EC00H-200HIOTIM0EQUIO

49、PORT+200H;计数器0IOTIM1EQUIOPORT+201H;计数器1IOTIMCEQUIOPORT+203H;控制端口中断操作。中断的操作涉及两个问题。引入PCI扩展卡后,TPC-1A上的中断请求不再与PC主板上8259的中断线直接对应。虽然实验中,将中断请求连接在TPC-1A的IRQ2上,但编程时TPC-1A的IRQ2到底是8259的那条线是由PC启动时分配的。通过运行pcitest.exe.显示的“TPCpcicardInterruptLine:XXX”可以获得这一信息。例如pcitest.exe给出的中断线是0006H,则中断屏蔽字等都须按此设置应为010111111b。保存和

50、设置中断矢量时也按0006H进行。PCI卡上的主控芯片PCI9054控制TPC-1A中断信号是否可以接入PC。这一控制通过PCI9054的寄存器INTCSR(其地址的偏移量为68H)。在TPC-1A的中断实验中主要使用INTCSR寄存器的第8位和第11位(其作用见下表)。其它位可都设0,这些位具体的含义可参见PCI9054的数据手册。BITs功能备注81:允许产生PCI中断0:禁止产生PCI中断111:允许LOCAL端输入的中断送到PCI端。0:禁止LOCAL端输入的中断送到PCI端。181:DMA通道0中断允许0:DMA通道0中断禁止用于DMA实验,中断实验中不用。程序中进行初始化时须设置这

51、两位。对应的程序片段如下:MOVDX,wordptrio_9054base_addressADDDX,68hINAX,DXORAX,0900hOUTDX,AX其中的io_9054base_address是PC分配给PCI9054寄存器组的基地址,可通过运行pcitest.exe获得。而程序退出前还要关闭9054的中断,相应的程序片段如下:MOVDX,wordptrio_9054base_addressADDDX,68hINAX,DXANDAX,0f7ffhOUTDX,AXDMA操作。这个实验不再使用PC主板上的DMA控制芯片8237A,而是使用PCI9051芯片上的DMA控制器。DMA实验涉及的9054寄存器有:偏移地址寄存器名称长

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论