《《计算机接口技术》实验指导.doc》由会员分享,可在线阅读,更多相关《《计算机接口技术》实验指导.doc(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流计算机接口技术实验指导.精品文档.计算机接口与通信技术实 验 指 导 书二零零六 年 十 月曲俊华 谢萍 徐茹枝 编二零一三 年 四 月成永强 改编华北电力大学控制与计算机工程学院目 录目 录2前 言3汇编语言上机指导4第一部分 基本型实验6实验一 熟悉汇编程序的编写6实验二 汇编语言分支程序的编写7实验三 汇编语言循环程序的编写8实验四 汇编语言子程序的编写9实验五 使用汇编语言实现键盘的输入10第二部分 设计型实验11实验一 8253计数器定时器的基本工作方式实验11实验二 8255A工作方式实验13实验三 8251A串行口通信实验16实
2、验四 8259A中断实验19实验五 DMA实验23实验六 D/A、A/D实验26实验七 LED显示实验29第三部分 综合型实验32实验一 小键盘的设计与实现32实验二 计时器的设计与实现32附 录33附录一 TPC-1A 实验系统的结构及使用说明33附录二 红华5020B示波器使用简要说明40前 言1 实验总体目标掌握本课程涉及的所有硬件接口的结构和工作原理,掌握利用汇编语言设计接口驱动程序或通信程序的方法,掌握基于TPC实验箱的软硬件相结合开发平台的使用方法,为进一步开发应用打下坚实的基础。 适用专业计算机科学与技术 先修课程数字电子技术基础、汇编语言程序设计 实验课时分配实验项目学时5个基
3、本型实验自行安排设计型实验实验一 8253计数器定时器的基本工作方式实验2实验二 8255A工作方式实验26实验三 8251A串行口通信实验24实验四 8259A中断实验24实验五 DMA实验24实验六 D/A、A/D实验24实验七 LED显示实验24综合型实验实验一 小键盘的设计与实现24实验二 计时器的设计与实现48本课程所涉及的实验内容较多,可根据具体课程的学时安排来选择并完成其中的全部或部分实验。 实验环境计算机1台、TPC实验箱1套、汇编语言开发环境、示波器1台。 实验总体要求以TPC实验箱为硬件载体,能够熟练利用汇编语言编程方法设计接口驱动程序或通信程序,能够初步掌握计算机接口和通
4、信应用系统的设计与实现方法。 本实验的重点、难点及教学方法建议本实验的重点:掌握本课程所涉及硬件接口的结构和工作原理,能够独立完成所列出的实验内容。本实验的难点:两个综合型实验题目。 教学方法建议:指导教师通过一个简单实例,带领学生将设计的全过程完整走一遍,后面的实验内容要求学生独立全面完成。汇编语言上机指导1. 进入实验室的注意事项:(1)实验室配置有26套设备,指导教师根据实验人数分组,每组填写实验登记表后位置即固定不再更改;(2)请将垃圾放到实验室屋内前后门处垃圾箱内;(3)学生实验中如设备有问题勿自行处理,请联系实验室值班实验员处理;(4)注意用电安全和实验设备安全,不要带电插拔,线路
5、连接好以后再开电源;(5)自己编写程序,记录在本子上,现场录入、调试;(6)在实验的整个过程,做好实验记录(过程、现象、结论等);(7)认真完成实验报告(注意格式),下一次实验时交。2. 汇编语言程序的建立和执行:要建立汇编语言程序,系统盘(当前目录)中必须有如下文件: EDIT.exe TASM.exe LINK.exe DEBUG.exe(1)用EDIT ABC.asm指令编辑源程序;(2)用TASM ABC命令产生目标文件(ABC.OBJ); 如果有语法错误,需要返回编辑环境进行修改,直到没有错误存在。(4)用LINK ABC命令产生可执行文件ABC.EXE;(5)可执行文件的执行;(6
6、)使用DEBUG ABC.exe命令可以完成对指定可执行文件的调试:此时屏幕上出现一个短划线。系统提示我们可以用一些指令对已经调入到内存的ABC.exe进行调试。U ;从当前地址开始反汇编,也可以从某个地址处开始反汇编,即:U200 ;从CS:200H处开始反汇编;G ;执行程序G120 ;执行程序,直到0120H处发生断点,显示当前各个寄存器的情况;d DS:0000 ;从数据段的0单元开始显示128个字节;(默认情况)d DS:0000 L20 ;从数据段的0单元开始,显示20H个单元。t ;单步执行程序,每次执行以后屏幕都会显示当前寄存器的值和下一个要执行的指令;t n;也可以指定要一次
7、性完成的指令的条数;r ;查看各个寄存器的值Q ;退出编辑源程序 EDIT ABC.ASM汇编源程序 TASMABC.ASM形成目标程序 ABC.OBJ连接目标程序 LINK ABC.OBJ有连接错误信息?形成可执行程序ABC.EXE装入可执行程序到内存,并执行D:subABC下一程序用DEBUG 调试可执行程序D:subDEBUG ABC.EXE找到原因YYNNYN有汇编错误信息?Y运行结果正确?用DEBUG调试程序查错?N第一部分 基本型实验实验一 熟悉汇编程序的编写1. 实验目的(1)熟悉汇编语言程序的结构、开发过程;(2)学习汇编程序的编辑、编译、链接、执行和调试的全过程;(2)学习汇
8、编语言程序的语法规则。2. 实验内容(1)例题实践1首地址为Buffer(3000H:0200H)存放有20个16位有符号数的数据块,找到其中的最大值,并存放到MAX字单元中(0228H)。 编写整理程序,编辑录入、编译、链接、调试; 查看指定内存单元值是否为数据块的最大值; 做实验记录。(2)例题实践2编写完整汇编语言程序,完成内存数据块传送功能。将某段中的字符串“Hello!”传送到另一段中。 编写整理程序,编辑录入、编译、链接、调试; 查看指定内存单元值是否满足要求; 做实验记录。实验二 汇编语言分支程序的编写1. 实验目的(1)进一步熟悉汇编语言程序的结构、开发过程;(2)进一步掌握汇
9、编程序的编辑、编译、链接、执行和调试的全过程;(3)学习基本程序控制结构的设计方法。2. 实验内容例题实践:统计某次考试各个成绩段的学生人数(假设每个学生的成绩已知);(1)编写整理程序,编辑录入、编译、链接、调试;(2)预设指定内存单元分别存放不同成绩段学生人数;(3)查看指定内存单元内容是否正确,做实验记录。实验三 汇编语言循环程序的编写1. 实验目的(1)熟悉汇编语言程序的结构、开发过程;(2)进一步上机实践汇编语言程序设计;(3)掌握循环结构程序设计方法。2. 实验内容:(1) 编写一个程序,用二进制显示从键盘输入一个字符的ASCII码。(2) 编写一个程序,记录某个字存储单元数据中1
10、的个数,以十进制形式显示结果。 实验四 汇编语言子程序的编写1. 实验目的(1)熟悉汇编语言程序的结构、开发过程;(2)进一步上机实践汇编语言程序设计;(3)学习子程序设计、子程序递归调用算法。2. 实验内容自编程序计算N!,阶乘的定义如下: n(n1)! 当n1时n!= 1 当n=1时要求: 编写程序,分别计算18的阶乘; 完成程序的流程图; 运行程序,观察运行结果并记录,完成实验报告。实验五 使用汇编语言实现键盘的输入1. 实验目的(1)熟悉巩固汇编语言程序的结构、开发过程;(2)进一步上机实践汇编语言程序设计;(3)综合运用汇编语言程序设计相关方法、思想和设计结构。2. 实验内容(1)试
11、编制一程序:从键盘输入一行字符,要求第一个键入的字符必须是空格符,如不是,则退出程序;如是,则开始接收键入的字符并顺序存放在首地址为BUFFER的缓冲区中(空格符不存入),直到接收到第二个空格符时退出程序。(2)编写一段程序,实现从键盘任意输入一个数字,使其插入一个已经整序的数字数组中。(假设整序的数字数组已知,并已整序,保存于内存的连续表中)要求: 分析题意,编写程序,上机调试; 运行程序,观察所定义的内存单元是否符合要求; 画出程序的流程图,记录实验数据,完成实验报告。第二部分 设计型实验实验一 8253计数器定时器的基本工作方式实验一、实验目的通过实验了解8253的基本结构、工作方式及使
12、用方法;掌握8253的编程方法。二、实验设备PC机一台、TPC实验箱一个、示波器一台。三、实验要求用示波器观察8253不同工作模式下的输出波形。四、实验原理8253有6种工作模式,不同工作模式下输出的波形各不相同。置入计数初值N后,定时器/计数器会在时钟源频率下开始计数N-1,N-2,0。可以将计数器的输出端OUT接一个发光二极管,同时接示波器,通过观察二极管亮灭的快慢来对比频率的变化,通过示波器观察信号的频率。五、实验步骤(1)根据实验内容连接硬件电路并检查。(2)画流程图并编写程序代码。(3)编译程序,软件调试。(4)通过示波器观察不同工作模式下的输出波形并记录比较是否与实际相符。8253
13、OUT0GATE0CLK0CSA1A0200207A1A0+5V地K1示波器74LS393Q4A +5V +5VB 8MHz +5V250KHz六、硬件连接图 将分频器74LS393的B端与8MHz信号相连; 将分频器74LS393的A端接 +5V; 将CS接200207; 将CLK0与8MHz分频得到的250KHz信号(74LS393的Q4端)相连; 将GATE0接开关K1。开关向上拨,电平为1;向下拨,电平为0; 将OUT0接示波器或与一个发光二极管相连。七、程序参考流程图开始设置8253工作方式字结束送计数器初值实验二 8255A工作方式实验一、实验目的了解8255A的基本结构和工作原理
14、;掌握通过8255A并行口输入或输出数据的控制方法。二、实验设备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)、
15、PC2(ACK)用于B口联络。方式2只适用与端口A,为双向传输。控制数据的传送方式可以采用查询方式或无条件方式(由具体连接的外设决定)。四、实验步骤(1)根据实验内容连接硬件电路并检查。(2)画流程图并编写程序代码。(3)编译程序,软件调试。(4)观察执行结果。五、硬件连接图和程序参考流程图通过8255A方式0输出控制LED发光二极管的亮灭,模拟交通路灯的管理。(1)硬件连接图 将 PB4PB7插孔与发光二极管的 L1L4相连; 将 PC0PC7插孔与发光二极管的L5L12相连; CS与21821F相连;其中 L1L4为黄灯,L5L8为红灯,L9L12为绿灯。 (2)程序参考流程图实验三 82
16、51A串行口通信实验一、实验目的 了解串行通信的一般原理和8251A的工作原理,掌握利用8251A进行双机通信的编程方法。二、实验设备PC机两台;TPC实验箱两个。三、实验要求采用全双工通信方式,通过8251A将主机1键盘输入字符串行发送给主机2接收并显示在主机2屏幕上;同时将主机2键盘输入字符串行发送给主机1接收并显示在主机1屏幕上。发送和接收时钟信号由8253提供。 四、实验原理8251A可按同步或异步方式工作,确定了字符格式及波特率之后,可实现半双工或全双工串行通信。8251A芯片的初始化有严格的规定:复位后,第一次用高端口地址写入的值作为模式字写入模式寄存器。如模式寄存器中规定8251
17、工作在同步模式,那么接着往高端口地址写入一个或两个字节的同步字符,同步字符被写入同步字符寄存器。只要不是复位命令,不管是同步模式还是异步模式,写入高端口地址的值送到控制字寄存器。复位时采用先送3个00H后再送40H到高端口地址的方法。五、实验步骤(1)根据实验内容自行设计,连接硬件电路并检查。(2)画流程图并编写程序代码。(3)编译程序,软件调试。(4)观察计算机屏幕上的显示结果。六、硬件连接图实验板1TXDRXD实验板2TXDRXD主机1主机2 将主机1实验板上8251A的TXD和RXD与主机2实验板上8251A的RXD和TXD端连接,形成全双工串行通信方式; 8251A的CS和20820F
18、插孔相连; 任意选择8253的一个计数器作为波特率发生器,将计数器的OUT端与8251的TXC、RXC相连,作为发送和接收时钟,波特率自定;8253的连接可参照实验一。 如果接收采用中断控制方式,可将8251A的RXRDY引脚与 PC总线的 IRQ2(或B4)相连,由此端向PC主机发中断请求;采用查询方式时不用接。七、程序参考流程图(1)查询方式双机通信的参考流程图NYNNNYYY显示提示信息:请键入字符,Q结束,该字符将显示在对方计算机屏幕上从8251A数据口发送BL中字符从8251A数据口读入接收的字符读键入的字符存BL读8251A状态字TXRDY=1?读8251A状态字RXRDY=1?该
19、字符Q?返回DOS开始8253初始化8251A初始化将该字符显示在屏幕上有键按下?(2)中断方式接收的中断处理程序参考流程实验四 8259A中断实验一、实验目的掌握8259A中断控制器工作原理;熟悉实验中涉及到的中断屏蔽寄存器IMR和中断服务寄存器ISR的使用方法;学会中断处理程序的编写。二、实验设备PC机一台、TPC实验箱一个。三、实验要求每次主机响应外部中断IRQ2时,能够显示字符串“THIS IS A 8259A INTERRUPT!”(或其他串),中断10次后,退出程序。四、实验原理(1)本实验使用微型机内的8259A芯片。PC机用户可使用的硬件中断只有可屏蔽中断,由8259A中断控制
20、器管理。中断控制器用于接收外部的中断请求信号,经过优先级判别等处理后向CPU发出可屏蔽中断请求。IBMPC、PC/XT机内有一片8259A中断控制器对外可以提供8个中断源:中断源中断类型号中断功能IRQ008H时钟IRQ109H键盘IRQ20AH保留IRQ30BH串行口2IRQ40CH串行口1IRQ50DH硬盘IRQ60EH软盘IRQ70FH并行打印机8个中断源中IRQ2IRQ7中断请求信号在IBM PCXT62芯总线中可以引出,系统已经设定中断请求信号为“边沿触发”,普通结束方式。对于PC/AT及286以上微机内又扩展了一片8259A形成主从式结构,主片8259A的IRQ2用于两片8259A
21、之间的级连,对外可提供15个中断源:中断源中断类型号中断功能IRQ870H实时时钟IRQ971H用户中断IRQ1072H保留IRQ1173H保留IRQ1274H保留IRQ1375H协处理器IRQ1476H硬盘IRQ1577H保留实验的中断请求通过IBM PCXT62芯总线的IRQ2端输入(对应IRQ10),中断源可以是片外8253A定时器输出的脉冲,也可以是其他脉冲(比如通过实验板上单脉冲按钮产生的脉冲信号)。若用8253A做中断源,参看8253A接口实验连接的线路,并把8253A的OUT和62芯总线槽IRQ2(B4)连接好;若用实验板上单脉冲按钮产生中断源,将62芯总线槽IRQ2(B4)与单
22、脉冲连接。PC中断控制器主片的端口地址为20H(偶地址端口)、21H(奇地址端口),从片的端口地址为0A0H(偶地址端口)、0A1H(奇地址端口)。编程时要将主、从片中断屏蔽寄存器对应位清零(允许中断),由于PCI扩展卡的影响,IRQ2接入PC后实际对应的中断线不再是0002H,而是有在PC机启动时由BIOS自动分配,假定分配的结果是0006H,则设置中断屏蔽寄存器代码如下:IN AL, 21H ;主片允许中断AND AL, 10111111BOUT 21H, ALIN AL, 0A1H ;从片允许中断AND AL, 11111111BOUT 0A1H, AL中断服务程序结束返回前分别要向主、
23、从片发送中断结束命令。中断结束命令代码如下:MOVAL, 20HOUT0A0H, ALOUT 20H, AL中断结束返回DOS前应将IMR对应位置1,以关闭中断。(2)由于实验中TPC卡使用9054芯片连接微机来实现P&P功能,所以在编程使用微机中断前需要使能9054的中断功能,代码如下:MOV DX, 0EC00H+68H ;9054的I/O起始地址及中断使能寄存器的偏移地址IN AX, DXOR AX,0900H ;设置中断允许OUT DX, AX程序退出前还要关闭9054中断,代码如下:MOV DX, 0EC00H+68H ;9054的I/O起始地址及中断使能寄存器的偏移地址IN AX,
24、 DXOR AX,0F7FFH ;中断禁止OUT DX, AX注意:本例假定所用PC为9054的寄存器组分配的IO基址是0EC00H(3) 关于中断向量。首先虽然因PCI扩展卡的存在,TPC-1A上的中断线与主板上8259的中断线并不一一对应。但PC启动时自动分配给PCI扩展卡的中断线与中断矢量的对应关系并没有变,对应关系如下:中断线中断类型号008H109H20AH30BH40CH50DH60EH70FH870H971H0aH72H0bH73H0cH74H0dH75H0eH76H0fH77H如果pcitest.exe检测出的中断线是0006H,则对应的中断矢量为0eH。其次使用中断时,中断服
25、务程序的首地址要写入中断矢量处。但现在系统运行在DOS之下,DOS已经占用了这个中断矢量,为使实验过程不会破坏DOS的中断系统,需要在初始化时保存好原有的中断矢量,实验结束时恢复原有的中断矢量。典型的程序段如下,这里假定中断号是0006H,对应的中断矢量为0eH。 MOV AH,35H MOV AL,0eH ;取0eH号中断向量送 ES:BX INT 21HPUSH ES;ES:BX中是原有的中断向量 PUSH BX;用栈保存原中断向量,也可存放在预留的存储中 PUSH DX MOV DX,SEG INT;INT是(即0e号中断向量)的新向量 MOV DS,DX MOV DX,OFFSET I
26、NT MOV AH,25H MOV AL,0eH INT 21H;设置(即6号中断)新的中断向量 POP DS以上是设置新的中断向量的过程,程序退出前应当恢复原有向量,其程序步骤正好与上述相反。五、实验步骤(1)根据硬件连接图连接硬件并检查。(2)画流程图并编写程序代码。(3)编译程序,软件调试。(4)观察执行结果。六、程序参考流程图主程序实验五 DMA实验一、实验目的掌握DMA工作方式的原理和通过PCI卡实现DMA的编程方法;掌握如何在PC机环境下进行DMA方式的数据传送。二、实验设备PC机一台、TPC实验箱一个。三、实验要求采用DMA方式将用户程序中数据段的测试电文写入到实验电路中6116
27、存储器(在本实验中它们按I/O端口寄存器使用),然后再将6116存储器中的电文传送到用户程序的数据段缓冲区,最后把缓冲区中的电文显示在屏幕上,以验证DMA传送的结果。电文如下:The quick brown fox jumps over lazy dog四、实验原理 (1)由于实验使用9054接口芯片控制DMA的传送,需要进行初始化的寄存器如下(通道0)如下:偏移地址名称长度功能80HDMAMODE032位DMA模式寄存器84HDMAPADR032位DMA PCI端起始地址值(微机端)88HDMALADR032位DMA LOCAL端起始地址值(设备端)8CHDMASIZE32位传输数据长度90
28、HDMADPR032位DMA传输控制,方向/中断A8HDMACSR08位DMA命令/状态,开始/结束/取消/中断/当前传输状态寄存器设置步骤如下: 设置DMAMODE0BITS功能10LOCAL端总线宽度: 008位,0116位,1x16位6设置为19设为0 ,块传输模式101DMA传输完成能够产生中断0DMA传输完成不能产生中断121外部硬件请求模式传输(只进行32位传输)0软件启动传输171DMA传输完成能够产生中断去PCI端(微机端)0DMA传输完成能构产生中断LOCAL端(设备端) 设置DMAPADR0,DMA PCI端起始地址值(微机端),32位 设置DMALADR0,DMA LOC
29、AL端起始地址值(设备端),32位,当设备端为扩展I/O地址范围时,最高位应置为“1”,表示I/O地址范围。 设置DMASIZE,传输数据长度,23位,31:23位未用。 设置DMADPR0,DMA传输控制,方向/中断BITS功能21DMA传输完成能够产生中断0DMA传输完成不能产生中断31LOCAL端向PCI端传输,设备向微机0PCIL端向LOCA端传输,微机向设备 设置 DMACSR0,DMA命令/状态BITS功能01DMA传输使能0DMA传输关闭11启动DMA传输21中止DMA传输31清除DMA传输结束中断标志41DMA传输结束0DMA传输中当使用外部请求传送模式进行DMA传输时,905
30、4只进行32位的传送,传送8、16位数据时需要将数据规整为32位后传输。因为PCI总线最大宽度为64位,9054芯片为了节省传输资源,当由LOCAL端外部输入数据时,芯片将数据缓存,凑够64位后一次送入PCI端,即微机端。这会出现进行两次外部DMA请求后9054芯片才将64位数据传送到PCI端,即微机端的情况。(2)需先后两次按DMA键,第一次为程序向6116传输,第二次为6116向机内传输。DMA的请求通过按下6116芯片旁边的红色按钮发出,每按1次产生1次 DMA请求。五、实验步骤(1)根据实验内容连接硬件电路并检查。(2)画流程图并编写程序代码。(3)编译程序,软件调试。(4)观察执行结
31、果是否正确。六、硬件连接图 用短路子分别将J2,J3,J4的“3”和“2”短接。 将6116芯片的A0A10接62芯PC总线信号的A0A10。 将DRQ信号接62芯PC总线信号的DRQ1。七、程序参考流程图等待按键实验六 D/A、A/D实验一、实验目的了解数模转换的基本原理,掌握DAC0832、ADC0809芯片的使用方法。二、实验设备PC机一台、TPC实验箱一个、示波器一台。三、实验要求(1)通过D/A转换器DAC0832实现以下功能,并用示波器观察输出波形。 产生锯齿波; 产生三角波; 产生正弦波;(2)通过A/D转换器ADC0809实现电压模拟量的数据采样,并将结果在PC机上显示出来。四
32、、实验原理(1) DAC0832内部具有双缓冲:输入寄存器和DAC寄存器。要把1个数据通过0832输出,需进行两次锁存。典型的程序段如下: MOV DX,PORTIN ;输入寄存器端口号 MOV AL,DATA OUT DX,AL ;送数据到输入寄存器 INC DX OUT DX,AL ;送数据到 DAC寄存器其中第二次I/O写是一个虚拟写过程,其目的只是为了产生一个IOW信号。(2)产生锯齿波和三角波只须由AL存放的数字量的增减来控制,而要产生正弦波,较好的手段是根据正弦函数造一个正弦数字量表,取值范围为一个周期,其中采样点数的多少由精度决定。(3)ADC0809的分辨率为8位,可有8个(1
33、N0IN7)模拟输入,模拟电压范围为05V,在CLK为500kHz时,转换速度为128s,它的START端为A/D转换启动信号。ALE端为通道选择的地址锁存信号,实验电路中将START和ALE相连,以便同时锁存通道地址并开始A/D采样转换。其输入控制信号为CS和IOW,故启动A/D转换只须如下2条指令: MOV DX,PORTADC ;ADC0809的端口地址 OUT DX,AL ;发CS及IOW信号至于AL中具体为什么内容并不重要,这是一个虚拟写动作。 (4)当 A/D转换结果的读取可以通过延时方式来读取转换结果,使用如下指令即可读取A/D转换的结果。 MOV DX,PORTADC IN A
34、L,DXA/D转换结束后会自动产生EOC信号,因此也可以将该信号与中断请求线相连,当EOC信号有效时就会引起一次硬中断,在中断处理程序中读取转换结果。五、实验步骤(1)根据实验内容连接硬件电路并检查。(2)画流程图并编写程序代码。(3)编程实现D/A、A/D转换功能。(4)编译程序,软件调试,观察实验结果。六、硬件连接图(1)DAC0832的硬件连接图(2)ADC0809的硬件连接图 模拟电压输入由2.2K电位器中心抽头提供; ADC0809的CLK需外加,范围为10KHz1280kHz,可以取CLK=500kHz。500kHz信号由8MHz时钟经74LS393分频获得,为此,将8MHz时钟连
35、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送0832输出AL增加10HAL=F0H??AL送0832输出AL减去10HAL=0?N有键按下?SI指向正弦数据表首址,数据长度送BL数据送0832输出SI加1BL-1=0?有键按下?Y1:锯齿波 2:三角波3:正弦波 4:暂停5:返回DOSAL清零附:正弦波数据表SIN DB 128,8
36、8,53,24,6,0,6,24,53,88,128,168,203,232,250,255,250,232,203,168实验七 LED显示实验一、实验目的了解七段数码管显示数字的原理;掌握只用一个段锁存器和一个位锁存器同时显示多位数字的技术。二、实验设备PC机一台、TPC实验箱一个。三、实验要求用七段数码管显示分、秒值。四、实验原理(1)通过位选锁存器选择某一位数码管,显示其数字(对应段值为1),然后关闭此数码管,再选择下一位数码管进行显示;如果在1秒内,每位数码管都能显示30次以上,则人眼看到的是几位数码管同时在显示。(2)主程序中等待输入任意键以结束程序。(3)定时由8253完成,82
37、53通过62芯总线中 IRQ2线向 CPU发中断,每隔25毫秒一次,即40次秒。每次进入中断,中断服务子程序将6个数码管都显示1次,因此,每秒内6个数码管都被显示40次。在中断服务子程序中,还必须对中断次数进行计数,每够40次中断,时间增加1秒。因此在执行下面所列举的程序时,需首先做接口实验2-8253计数器定时器实验,使8253每秒发出40次中断。五、实验步骤(1)根据实验内容连接硬件电路并检查。(2)画流程图并编写程序代码。(3)编程实现LED显示功能。(4)编译程序,软件调试,同时观察LED输出。六、硬件连接图 将分频器74LS393的B端与8MHz信号相连;A端接 +5V; 将8253
38、的 CLK0与8MHz分频得到的250KHz信号(74LS393的Q4端)相连; 将8253的OUT0和CLK1相连; 将8253的GATE0、GATEl 接5V; 将8253的CS插孔接200207; 将8253的OUT1接62芯总线中 IRQ2; 将数码显示器左边的CS端(在 U27和U28之间)接210217。 位选锁存器(PORTBLT)地址为 210H 段选锁存器(PORTSEG)地址为 211H七、主程序与中断子程序的参考流程图第三部分 综合型实验实验一 小键盘的设计与实现一、任务 以PC机,8255A并行口为主体,设计并制作一个具有24个按键的小键盘。二、要求完成按键的识别功能。
39、三、设计报告要求(1)小键盘的结构框图及其简要说明。(2)软件设计流程图及其说明。(3)简要总结本次设计的主要收获,并提出建议。实验二 计时器的设计与实现一、任务 以TPC实验箱为主体,设计并制作一个计时器。二、要求(1)基本计时和显示功能(分、秒计时)。(2)用小键盘控制计时和显示,能调整当前时间,例如: C键(清除) 显示0000。 G键(启动) 显示XXXX变化的分、秒,每一级单位对应2位。 D键(停止) 显示 XXXX不变。 E键(终止程序) 熄灭数码管,程序退出。 P键(设计初始值)设置分、秒初值。三、设计报告要求(1)硬件的结构框图及其简要说明。(2)软件设计流程图及其说明。(3)
40、实现功能的说明。(4)简要总结本次设计的主要收获,并提出建议。附 录附录一 TPC-1A 实验系统的结构及使用说明TPC-1A微机接口实验系统可在PC机配合下进行计算机接口技术的相关教学实验。TPC-1A上有8251A、8255A、8253、DAC0832、ADC0809等芯片和小键盘、数码管、8MHz晶振等接口器件。其的结构如图1所示。图-1 TPC-1A实验板元器件布置图为了实验方便,在每一部分实验电路附近都预留有单线信号插孔,实验时只要将相应插孔用单股导线相连即可。TPC-1A与PC机的连接步骤 安装时请按下述步骤进行。 (1) 用60芯扁平电缆线连接TPC-1A和电缆转换卡。(2) 用
41、50芯扁平电缆线连接电缆转换卡和PC机。(3) 连接TPC-1A的电源。(3) 启动计算机。(4) 打开TPC-1A的电源开关,其上的指示灯亮即可进行实验。注意:在进行线路的连接过程中,必须关闭TPC-1A的电源,在断电条件下进行操作,否则可能会引起实验台的损坏。TPC-1A上的I/O地址 上的I/O地址为200H23FH共64个,分8个插孔引出,它们分别是200H207H;208H20FH;210H217H;218H21FH;220H227H;228H22FH;230H237H;238H23FH;实验时只要用导线将任一插孔信号引到相应电路的CS端即可。图2是I/O地址译码电路。图2 I/O译码电路PCI扩展卡的使用问题TPC-1A的原设计是与具有ISA总线的PC主板配合使用,TPC-1A通过60芯扁平电缆直接连到PC机的ISA卡上。因此TPC-1A占用的IO地址空间就是PC机主板上的x86处理器的IO空间的一部分。具体的地址范围是0x2000x23F。而TPC-1A的中断线与PC机主板上的8259中断控制器的中断线一一对应。如TPC-1A板上的IRQ2就直接连接到PC主板上的IRQ2。这种关系是固定的。但现在的PC已经不支持ISA,但仍支持PCI。因此现在的TPC-1A实验板通过一块PCI桥接板与PC机相连进行实验的。此时TPC-1A上的IO地
限制150内