微机接口技术实验系统TP-H实验指导书(100页).doc
-微机接口技术实验系统TP-H实验指导书-第 73 页微型计算机技术实验指导书(教师用)惠州学院计算机科学系2008年12月目录一、概述 . 2 二、安装 . 2 三、实验箱结构:(见上页) . 41、I/O地址译码电路 . 42、总线插孔 . 53、时钟电路 . 54、逻辑电平开关电路 . 55、LED显示电路 . 56、七段数码管显示电路 . 67、单脉冲电路 . 68、逻辑笔 . 69、继电器及驱动电路 . 610、复位电路 . 711、接口集成电路 . 712、跳线开关(JP) . 713、5V电源插针 . 714、通用集成电路插座 . 715、数字电路实验区 . 716、接线端子 . 717、50线总线插座信号安排 . 818、直流电源开关(K1)和存储器地址选择开关(K2) . 819、使用外加直流电源注意事项: . 8 四、接口实验部分: . 8实验一I/O地址译码 . 9 实验二简单并行接口 . 11实验三可编程定时器计数器 . 13 实验四、可编程并行接口(一) . 16实验五七段数码管 . 18 实验六继电器控制 . 21实验七竞赛抢答器 . 24 实验八交通灯控制实验 . 27实验九中断 . 29 实验十可编程并行接口(二) . 32实验十一数/模转换器 . 35 实验十二模/数转换器 . 38实验十三数字录音机 . 42 实验十四串行通讯 . 45实验十五传送 . 48 实验十六集成电路测试 . 52实验十七电子琴 . 55 实验十八8250串行通讯实验 . 58实验十九步进电机控制实验 . 61 实验二十小直流电机转速控制实验 . 65实验二十一键盘显示控制器实验 . 68 实验二十二存储器读写实验 . 82一、概述二十世纪八十年代以来,国内大中专院校许多专业相继开设了“微机原理及应用”方面的课程,讲 授的内容主要以Z80为代表的8位机,实验设备多采用TP801单板机。随着计算机技术的发展,讲授内容逐 步转向16位或32位的PC系列微机,实验设备亦过渡到16位微机实验系统。清华大学科教仪器设备公司在 原有的“TPC-1型十六位微机实验培训系统”的基础上推出了“TPC-H通用微机接口实验系统”,该实验 系统增加了实验的开放能力和灵活性,不仅使典型的微机接口实验更为方便,而且为某些计算机硬件要 求较高的专业提供了锻炼学生动手能力、发挥创造才能的平台。实验系统硬件由PC机、接口卡、实验箱组成,接口卡与实验箱之间通过50线扁平电缆连接。 接口卡可以插入PC系列微机中任意一个ISA扩展插槽,其功能是将PC的总线信号经过驱动后引到实验箱上,卡上设有一个跳线开关(JP)用于选择中断请求信号IRQ2、IRQ3、IRQ4、IRQ7中的一个作为实验 中断请求信号。实验箱上设有I/O地址译码电路、总线插孔、接口实验常用集成电路、外围电路及通用IC插座。外围 电路包括逻辑电平开关电路、LED显示电路、时钟电路、单脉冲电路、逻辑笔、复位电路、七段数码管显示电路、基本门电路、继电器及步进电机、小直流电机的驱动电路等。 本书介绍了22个微机接口实验,覆盖了大中专院校微机接口实验教学大纲中的内容,教师可以根据课时计划安排选作,也可以在此基础上重新设计新的实验项目。二、安装1、系统组成1)硬件:接口卡一块,实验箱一个,50线扁平电缆一根,自锁紧导线50根,集成电路芯片(8251、74LS273、74LS244)共3片;2)软件:软盘一张;3)资料:使用说明书一本;4)附件:话筒一个,测试表笔一只;5)可选附件: 实验盒一个(含步进电机一个、小直流电机一个、喇叭一个、指示灯一个); TPC-H键盘显示控制器实验板一块。2、安装步骤1)关上PC机电源,打开微机主机箱;2)检查接口卡上中断请求跳线开关是否已经连好(接口卡在出厂时已将4、5短接,选IRQ7作为中断 申请信号);3)将PC总线接口卡插在任意扩展槽中;4)用50线扁平电缆线连接接口卡和实验箱。图1 接口卡的结构图3、随机软盘上实验程序名表实验名称汇编语言源程序名C语言源程序名I/O地址译码实验YMQ.ASM简单并行接口、E、E273.可编程定时器/计数器EE8253_1.C、可编程并行接口(一)SM七段数码管、L、继电器控制竞赛抢答器交通灯控制中断INT.ASMINT.C可编程并行接口(二)SME、数/模转换器D、DA_2.ASMD、模/数转换器A、AD_2.ASMA、数字录音机串行通讯SMDMA传送DMA_O.ASM、DMA_I。ASMDMA_O.C、DMA_I.C集成电路测试电子琴8250串行通信E8250.ASME8250.C步进电机控制小直流电机控制8279键盘显示控制器JPXSH.ASM存储器读写实验保 总 线 插 座 险A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 IOR IOW IRQ DRQ1 AEN DACK1继电器驱动 J3管2接3:DMAJP33D7总 线 I/O地 址继电器22接1:I / O1PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0D6 D519D4 D3 D2 D11J7D0 280H 288H 290H 298H 2A0H 2A8H 2B0H 2B8H287H 28FH 297H 29FH 2A7H 2AFH 2B7H 2BFHJ4Ik开 关 量 输 入CSPC7 PC6CSPC582538255PC4PC3 PC2PC1PC0202通用插座A 通用插座B 通用插座C40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 2128 27 26 25 24 23 22 21 20 19 18 17 16 1524 23 22 21 20 19 18 17 16 15 14 13J5BA BB BC BDJ6GNDDJCLK1 GATE1 OUT1 CLK0 GATE0 OUT0DIP20DIP40DIP20段码 a b cd e f g dbDAC0832CSJ1通 用 插 座 D1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 UaUb模拟量输出YYY位码 S0S1QQ七段数码管显示CSJP2IN0IN1模拟量输入JP1ABAB与门 或门+5V+5VSCADCLK非门 D触发器L7 L6 L5 L4 L3 L2 L1 L0LED 显 示 (1 :亮 )MCT P C - -H高 低 1K7 K6 K5 K4 K3 K2 K1 K0通用微机接口实验系统 1MHZ 2MHZ0逻辑电平 开关 清华同方股份有限公司电 位 器时 钟 脉 冲RESET单脉冲 逻辑笔图2 实验箱平面布置图三、实验箱结构1、I/O地址译码电路实验箱选用PC机未用的I/O地址空间:280H2BFH,共有8条译码输出Y0Y7,地址分别是280H287H、288H28FH、290H297H、298H29FH、2A0H2A7H、2A8H2AFH、2B0H2B7H和2B8H2BFH。8 条译码输出线在实验箱“I/O地址”处分别由“自锁紧”插孔引出,供实验选用。图3 I/O地址译码电路2、总线插孔采用“自锁紧”插座在标有“总线”区引出数据总线D7D0;地址总线A9A0;读、写信号IOR 、IOW ;中断请求信号IRQ;DMA请求信号DRQ1;DMA响应信号、DACK1 ;及AEN信号,供学生搭试各种接口 实验电路使用。3、时钟电路 如图4所示,可以输出1MHZ、2MHZ两种信号,供A/D转换器、定时器/计数器、串行接口实验使用。图4时钟电路4、逻辑电平开关电路 如图5所示,实验箱右下方设有8个开关K7K0,开关拨到“1”位置时开关断开,输出高电平,向下打到“0”位置时开关接通输出低电平,电路中串接了保护电阻,使接口电路不直接同 5V、GND相连, 可有效地防止学生因误操作、误编程损坏集成电路现象。图5开关接口电路图6LED驱动电路5、LED显示电路 如图6所示,实验箱上设有8个发光二极管及相关驱动电路(输入端L7L0),当输入信号为“1”时发光,为“0”时灭。NR4为8×300 的排电阻,引脚1为公共端。6、七段数码管显示电路 如图7所示,实验箱上设有两个共阴极七段数码管及驱动电路,段码为同相驱动器,位码为反相驱动器,从段码与位码的驱动器输入端(段码输入端:a、b、c、d、e、f、g、dp,位码输入端:s1、s2)输 入不同的代码即可显示不同数字或符号。图7 七段LED数码管接口电路图7、单脉冲电路 如图8所示,采用RS触发器产生,实验者每按一次开关即可以从两个插座上分别输出一个正脉冲及负脉冲,供“中断”、“DMA”、“定时器/计数器”等实验使用。8、逻辑笔 如图9所示,当输入端Ui接高电平时红灯(D2)亮;接低电平时绿灯亮。图 8单脉冲电路图 9逻辑笔电路9、继电器及驱动电路 如图10所示,实验箱上设有一个5V直流继电器及相应的驱动电路,当其开关量输入端输入数字量“1”时,继电器动作,常开触点闭合、常闭触点断开。通过相应的实验使学生了解开关量控制的一般原 理。10、复位电路 如图11所示,能在上电时,或按下复位开关S2后产生一个高电平的复位信号供8255、8251等接口芯片使用。图10继电器及驱动电路图11复位电路11、接口集成电路 实验箱上有微机原理硬件实验最常用接口电路芯片,包括:可编程定时器/计数器(8253)、可编程并行接口(8255)、数/模转换器(DAC0832)、模/数转换器(ADC0809),这里芯片与CPU相连的引线除片选信号CS 外都已连好,与外界连接的关键引脚在芯片周围用“自锁紧”插座引出,供学生实验时使 用。其中数/模转换器附有双极性输出,模/数转换器附有双极性输入插座。具体电路可见下面实验说 明。12、跳线开关(JP) 实验箱上共有5个跳线开关,其中Ja、Jb、Jc在实验箱的左上角,50线总线插座的左方。Ja用来选择用主机电源还是用外加电源的,当用主机电源时,应将JA上+5V、+12V、-12V三个短路片插好。用户若想 使用外加电源,必须首先将JA上的三个短路片全部拔掉,才能将外接电源加入。JB和JC是用来选择实验类型的,I/O实验时JB、JC上的短路片都应插在标有“I/O”的位置。做存储器实验时,短路片应插在标 有“NEM”的位置。做“DMA”实验时JB应插在“I/O”位置,JC应插在DMA位置。实验箱出厂时短路片在I/O实验位置。 实验箱上另外两个跳线开关为JP2和JP3,在实验箱的左下角,分别用于模/数转换器模拟量输入极性选择,将JP2的1、2短路时IN2(J2)可输入双极性电压(5V5V),2、3短路为单极性(05V),JP3用于选择IN1的输入极性,方法与JP2相同。13、5V电源插针 为了减少主机5V电源的负担和各主要芯片的安全,在主要接口芯片的左上角都有相应的电源连接插针(标记为5V),当实验需要该芯片时,用短路块短接插针即可接通5V电源。对用不到的芯片可 将短路片拔掉,以确保芯片安全。14、通用集成电路插座 实验箱上设有4个通用数字集成电路插座,其中插座A、C为14P,插座B为16P,插座D可以插入一个2440脚的集成电路芯片或者2个820脚的集成电路芯片。每个插座引脚附近都有相应的“自锁紧”插 座,部分实验(简单并行接口、DMA、串行通讯、集成电路测试)电路是利用这些插座搭试的。要求高的学校可以让学生自己搭试更多的实验,以提高学生动手能力。利用这些插座可以开发新的实验,也可以进行数字电路实验,及学生毕业设计。自锁紧插座插入导线时,应稍加力并延顺时针方向旋转一下,才 能保证接触良好,拔出时,应先逆时针方向旋转待插头完全松开后,再向上拔出。15、数字电路实验区 实验箱上有一块数字电路实验区,没有三种基本门电路(与、或、非)及D触发器,供学生在接口实验或数字电路实验时直接使用。16、接线端子如图-2所示实验箱上设有7个接线端子,标号为J1-J7。J1用于外接喇叭,J2是一个立体声插孔用于 外接话筒。J4为继电器触点,其中1接+5V,2、3为常闭触点,3、4为常开触点。5接地线。J5用于接步进 电机。J6用于接小直流电机。J7是一个20芯通用插座,用于外接用户开发的实验板,本系统中8279键盘 显示实验板就从此插头引出。J7各引脚信号安排如下:191715131197531D0D1D2D3D4D5D6D7IRQCSRES+5V+5VIORIOWA0A1CLKGNDGND201816141210864217、50线总线插座信号安排18、直流电源开关(K1)和存储器地址选择开关(K2) 实验箱上有一直流电源开关(K1),在实验箱的左上角。在主机电源打开后,再打开实验箱上开关K1,实验箱才会加电。另外,实验箱上还有一个四位拨动开关K2,在实验箱8255芯片的右方。K2是在做 存储器实验时选择存储器地址使用的。具体使用方法参看实验二十二,存储器读写实验。19、使用外加直流电源注意事项:1)用户可以使用主机电源,也可以使用外加直流电源,主机电源通过总线扩展卡引入到实验箱的50 芯插座上,再通过短路子JA接到电源开关上。该实验箱出厂时是按使用主机电源连接的。2)用户若想使用外加电源。必须首先将JA上的三个短路片全部拔掉,将主机电源断开,才能将外部电源接入。3)用户电源通过外接电源插座J0接到实验箱上。插入以前应仔细检查电源插头上各路电源与J0上标 注的是否相同,如不相同应修改电源插头,不然会损坏实验箱。4)外接电源插入以前,应检查各路电源输出是否正确,如不正确应修改或更换电源。5)以上各项都正常后,打开电源即可进行实验。四、接口实验部分几点约定:1、实验电路介绍中凡不加“利用通用插座”说明的均为实验箱上已固定电路。2、实验电路连线在图中均用虚线表示,实线为已连好电路。实验一I/O地址译码一、实验目的 掌握I/O地址译码电路的工作原理。二、实验原理和内容实验电路如图11所示,其中74LS74为D触发器,可直接使用实验箱上数字电路实验区的D触发 器,74LS138为地址译码器。译码输出端Y0Y7在实验箱上“I/O地址“输出端引出,每个输出端包含8个 地址,Y0:280H287H,Y1:288H28FH, 当CPU执行I/ O指令且地址在280H2BFH范围内,译码 器选中,必有一根译码线输出负脉冲。例如:执行下面两条指令 MOVDX,2A0HOUTDX,AL(或INAL,DX) Y4输出一个负脉冲,执行下面两条指令MOVDX,2A8HOUTDX,AL(或INAL,DX) Y5输出一 个负脉冲。图11 利用这个负脉冲控制L7闪烁发光(亮、灭、亮、灭、),时间间隔通过软件延时实现。三、编程提示1、实验电路中D触发器CLK端输入脉冲时,上升沿使Q端输出高电平L7发光,CD端加低电平L7灭。2、参考程序:codesegmentassume cs:code start:movdx,2a0hmov int je mov intah,116h startah,4ch21h;无键按下转startdelaylll:proc mov movnear bx,5 cx,0;延时子程序ll:delayloopdec jneret endpllbx lllcodeendsend start实验二简单并行接口一、实验目的 掌握简单并行接口的工作原理及使用方法。二、实验内容1、按下面图12简单并行输出接口电路图连接线路(74LS273插通用插座,74LS32用实验箱上的“或 门”)。74LS273为八D触发器,8个D输入端分别接数据总线D0D7,8个Q输出端接LED显示电路L0L7。2、编程从键盘输入一个字符或数字,将其ASC码通过这个输出接口输出,根据8个发光二极管发光 情况验证正确性。3、按下面图13简单并行输入接口电路图连接电路(74LS244插通用插座,74LS32用实验箱上的“或 门”)。74LS244为八缓冲器,8个数据输入端分别接逻辑电平开关输出K0K7,8个数据输出端分别接数据总线D0D7。4、用逻辑电平开关预置某个字母的ASC码,编程输入这个ASC码,并将其对应字母在屏幕上显示 出来。图12图13 三、编程提示1、上述并行输出接口的地址为2A8H,并行输入接口的地址为2A0H,通过上述并行接口电路输出数据 需要3条指令:MOVAL,数据 MOVDX,2A8HOUTDX,AL 通过上述并行接口输入数据需要2条指令:MOVDX,2ADH INAL,DX2、参考流程图开 始开 始等待键盘输入自端口2A0H输入ASCII码是ESC吗?Y N从端口2A8H 输出其ASC码保存输入ASCII码至DL显示ASCII码对应的字符有键按下吗? NY结 束结 束3、参考程序1:code segment图14参考程序1图15参考程序2assume cs:codestart:movah,2;回车符movdl,0dh int21hmovah,1;等待键盘输入int21hcmpal,27;判断是否为ESC键jeexit;若是则退出movdx,2a8h;若不是,从2A8H输出其ASCII码outdx,aljmpstart;转start exit:movah,4ch;返回DOSint21hcodeendsend start4、参考程序2:code segmentassume cs:codestart:movdx,2a0h;从2A0H输入一数据inal,dxmovdl,al;将所读数据保存在DL中movah,02;显示ASCII码为DL的字符int21hmovdl,0dh;显示回车符int21hmovdl,0ah;显示换行符int21hmovah,1;是否有键按下int16hjestart;若无,则转start exit:movah,4ch;返回DOSint21hcodeendsend start实验三可编程定时器计数器8253一、实验目的 掌握8253的基本工作原理和编程方法。二、实验内容1、按图16虚线连接电路,将计数器0设置为方式0,计数器初值为N(N0FH),用手动逐个输入单 脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化(当输入N+1个脉冲后OUT0变高电 平)。图16 手动发送脉冲接线图2、按图17连接电图,将计数器0、计数器1分别设置为方式3,计数初值设为1000,用逻辑笔观察 OUT1输出电平的变化(频率1HZ)。图17 连续脉冲接线图 三、编程提示1、8253控制寄存器地址283H 计数器0地址280H 计数器1地址281H CLK0连接时钟1MHZ。2、参考流程图(见图18、19):开 始开 始设计数器0为 工作方式0设计数器0为 工作方式3送计数器初值向计数器0送初值1000 先送低字节后送高字节读计数器值显示计数值有键按下吗? N Y结 束设计数器1为 工作方式3向计数器1送初值1000 先送低字节后送高字节结 束图18图193、参考程序1:(程序名:8253_1.ASM)code segmentassume cs:codestart:moval,10h;设置8253计数器0为工作方式0,二进制计数movdx,283houtdx,almovdx,280h;送计数初值为0FHmoval,0fhlll:inal,dx;读计数器计数值calldisp;调显示子程序movah,1;判断是否有键按下outdx,alint16hjelll;若没有则转lllmovah,4ch;退出int21hdispprocnear;显示子程序pushdxandal,0fh;首先取低四位movdl,alcmpdl,9;判断是否<=9jlenum;若是则为'0'-'9',ASCII码加30Hadddl,7;否则为'A'-'F',ASCII码加37Hnum:adddl,30hmovah,02h;显示int21hmovdl,0dh;回车int21hmovdl,0ah;换行int21hpopdxret;子程序返回dispendpcodeendsend start4、参考程序2:(程序名:E8253_2.ASM)code segmentassume cs:codestart:movdx,283h;向8253写控制字moval,36h;使0计数器为工作方式3outdx,almovax,1000;写入计数初值1000movdx,280houtdx,al;先写入低字节moval,ahoutdx,al;后写入高字节movdx,283hmoval,76h;设8253计数器1工作方式3outdx,almovax,1000;写入计数初值1000movdx,281houtdx,al;先写低字节moval,ahoutdx,al;后写高字节movah,4ch;返回DOSint21hcodeendsendstart实验四可编程并行接口(一)一、实验目的 掌握8255方式0的工作原理及使用方法。二、实验内容1、实验电路如图20,8255C口接逻辑电平开关K0K7,A口接LED显示电路L0L7。2、编程从8255C口输入数据,再从A口输出。图20 三、编程提示1、8255控制寄存器端口地址 28BH A口地址288H B口地址289H C口地址28AH2、参考流程图(见图21):开 始设置8255C口 输入A口输出从C口输入数据将此数据自A口输出有键按下吗? N Y结 束3、参考程序:codesegmentassumecs:code图21start:movdx,28bh;设8255为C口输入,A口输出moval,8bh outdx,alinout:movdx,28ah;从C口输入一数据inal,dxmovdx,288h;从A口输出刚才自C口outdx,al;所输入的数据movah,1;判断是否有按键int16hjzinout;若无,则继续自C口输入,A口输出movah,4ch;否则返回DOSint21hcodeendsendstart实验五七段数码管一、实验目的 掌握数码管显示数字的原理和方法。二、实验内容1、静态显示:按图22连接好电路,将8255的A口PA0PA6分别与七段数码管的段码驱动输入端a相连,位码驱动输入端S1接+5V(选中),S0、dp接地(关闭)。编程从键盘输入一位十进制数字(09),在七段数码管上显示出来。图22图232、动态显示(选作):按图23连接好电路,七段数码管段码连接不变,位码驱动输入端S1,S0接8255 C口的PC1,PC0。编程在两个数码管上显示00-99。三、编程提示1、实验箱上的七段数码管为共阴型,段码采用同相驱动,输入端加高电平,选中的数码管亮,位码 加反相驱动器,位码输入端高电平选中。2、七段数码管的字型代码表如下表:afgb e cd3、参考流程图(见图24)开 始 将8255设为A口输出开 始 将8255设为A口输出送5的段码至A口从键盘接收字符N是数字吗? Y将所得字符的 ASCII码减30H送位码02H至C口 延 时 送6的段码至A口送位码01H至C口查表求出对应的段码将段码自8255A口输出延 时N 有键按下吗?Y返回DOS返回DOS(a)(b) 图244、参考程序1:(程序名:LED.ASM)datasegmentleddb3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh mesg1db0dh,0ah,'Input a num (0-9h):',0dh,0ah,''data ends codesegmentassume cs:code,ds:datastart:movax,datamovds,axmovdx,28bh;设置8255的A口为输出方式movax,80houtdx,alsss:movdx,offset mesg1;显示提示信息movah,09h int21hmovah,01;从键盘接收字符int21hcmpal,'0'是否小于0 jlexit;若是则退出cmpal,'9'是否大于9jgexit;若是则退出subal,30h;将所得字符的ASCII码减30Hmovbx,offset led ;BX指向段码表的起始地址xlat;求出对应的段码mo