微机原理与接口技术(第3版)课件 第6章 输入输出接口技术_第1页
微机原理与接口技术(第3版)课件 第6章 输入输出接口技术_第2页
微机原理与接口技术(第3版)课件 第6章 输入输出接口技术_第3页
微机原理与接口技术(第3版)课件 第6章 输入输出接口技术_第4页
微机原理与接口技术(第3版)课件 第6章 输入输出接口技术_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

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

文档简介

微机原理与接口技术第6章输入/输出接口技术目录6.1I/O接口概述6.2I/O端口及其编址方法6.3输入/输出方式及其接口6.4简易交通灯控制系统V1.03主要内容接口的功能简单I/O接口芯片常见I/O器件6.1I/O接口概述6.1I/O接口概述接口的功能微型计算机系统CPU子系统存储器子系统I/O子系统信息处理与控制(3-4章)信息存储(5章)主机与CPU进行数据交换5控制总线数据总线地址总线数字示波器数字万用表函数发生器终端调制解调器TTY电传机A/D转换器开关量输入D/A转换器开关量输出键盘数字化仪光笔图形输入设备音频输入设备扫描仪视频输入设备点阵打印机激光打印机喷墨打印机X-Y记录仪CRT显示器液晶显示器绘图仪硬盘光盘软驱U盘CPU内存接口内存智能仪器接口通信接口过程控制接口输入接口输出接口外存接口由接口挂接I/O设备与CPU,有两个侧面,一个面向CPU,一个面向外设微机系统接口框图6.1I/O接口概述接口的功能6

CPU和I/O设备之间的信号种类数字量模拟量开关量二进制/ASCII码等ADCDAC0/16.1I/O接口概述接口的功能7计算机与外设信息交换的问题CPU数字量快信息类型工作速度通信方式并行外设模拟量数字量慢串行并行接口模/数转换(A/D)数/模转换(D/A)三态缓冲、锁存解决传送方式串/并转换并/串转换三态缓冲、锁存6.1I/O接口概述接口的功能8I/O接口的功能地址识别,即译码功能提供主机和I/O设备的缓冲、锁存、驱动功能主机和外设之间的数据格式转换主机和外设之间的电气兼容主机和外设之间数据的模数、数模转换主机和外设之间不同连接方式的实现基本功能信号的形式和数据格式进行变换与CPU与I/O设备之间进行联络6.1I/O接口概述接口的功能9

《微机原理与接口技术》中的接口技术指什么?计算机中完成输入/输出(I/O)操作的部件称为I/O系统包括:I/O软件I/O硬件两者的综合设计称为I/O接口技术通过本章开始的学习会有更深刻的体会6.1I/O接口概述接口的功能10主要内容接口的功能简单I/O接口芯片常见I/O器件6.1I/O接口概述116.1I/O接口概述接口的功能单向的8路数据缓冲器,数据只能从A端到Y端1G=0,1Ai→1Yi2G=0,2Ai→2Yi1A12Y41A22Y31A32Y21A42Y12G1G1Y12A41Y22A31Y32A21Y42A174LS244234567891817161514131211119输入接口芯片126.1I/O接口概述接口的功能输入接口芯片G:低电平有效的门控输入端DIR:方向控制端,1:A→B,0:B→A双向的8路数据缓冲器A0A1A2A3A4A5A6A7GDIRB0B1B2B3B4B5B6B774LS245234567891817161514131211119可结合p22图2.2-2、p139图6.3-3理解136.1I/O接口概述接口的功能输入接口芯片图2.2-2146.1I/O接口概述接口的功能输出接口芯片锁存器具有暂存数据的能力,能在数据传输过程中将数据锁存住,在此后的任何时间,在输出信号的作用下将数据传输出去。74LS373有两个控制输入端:锁存允许端LE三态允许端OEOELEDQ0111010000X锁存1XX高阻D0D1D2D3D4D5D6D7OELEQ0Q1Q2Q3Q4Q5Q6Q774LS373347813141718256912151619111可结合p22图2.2-2理解156.1I/O接口概述接口的功能输入接口芯片图2.2-216接口的功能简单I/O接口芯片常见I/O器件6.1I/O接口概述主要内容176.1I/O接口概述常见I/O器件发光二极管阳极限流电阻低电平高电平点亮低电平驱动方式I/O引脚高电平驱动方式I/O引脚阴极186.1I/O接口概述常见I/O器件数码管abcdefdpgabcdefgdpcomabcdefgdpabcdefgdp共阴极共阳极高电平点亮低电平点亮196.1I/O接口概述常见I/O器件数码管abcdefdpgabcdefgdpcomabcdefgdpabcdefgdp共阴极共阳极0110000006H10011111F9H控制显示不同字符的二进制字节编码称为段码共阴共阳极数码管的段码互为反码206.1I/O接口概述常见I/O器件数码管abcdefdpgabcdefgdpcomabcdefgdpabcdefgdp共阴极共阳极110110105BH00100101A4H显示数字“2”,段码应该是多少?控制显示不同字符的二进制字节编码称为段码216.1I/O接口概述常见I/O器件数码管显示字符共阴极段码共阳极段码显示字符共阴极段码共阳极段码03FHC0H87FH80H106HF9H96FH90H25BHA4Ha77H88H34FHB0Hb7CH83H466H99Hc39HC6H56DH92Hd5EHA1H67DH82He79H86H707HF8Hf71H8EH数字0~F的段码表226.1I/O接口概述常见I/O器件按键和开关单极单掷开关弹性按键软件消抖法按键在闭合和断开瞬间会因弹簧开关的变形产生电压波动延时5~10ms后再次扫描按键状态。若仍判为“闭合”说明确有键压下;若为“非闭合”说明是误动作。按键抖动波形确保检测到开关具有断开和闭合两个稳定的状态目录6.1I/O接口概述6.2I/O端口及其编址方法6.3输入/输出方式及其接口6.4简易交通灯控制系统V1.024主要内容I/O端口I/O端口的编址方法案例:I/O地址译码电路设计与验证6.2I/O端口及其编址方法25I/O端口6.2I/O端口及其编址方法数据端口存放外设与CPU交换的数据,是主机与外设之间交换的最基本信息,主要起数据缓冲作用。端口包括缓冲器、锁存器状态端口反映外设的状态反映外设的工作状态。通过接口向CPU传送:1)用READY信号表示输入设备是否准备就绪;2)用BUSY信号表示输出设备是否可以接收数据。命令端口存放CPU发出的命令字CPU通过接口传送给外设的,CPU通过控制信息控制外设的工作。如控制外设的启动和停止等。3类端口中信息传输的方向是怎样的?是不是所有I/O接口都必须包含这3类端口?对这3类信息,CPU是读还是写?26I/O端口6.2I/O端口及其编址方法外部输入或输出设备数据输入寄存器(数据端口)数据输出寄存器(数据端口)状态寄存器(状态端口)控制寄存器(命令端口)接口接CPU的DB接CPU的AB数据线状态线控制线接CPU的CB主机与外设连接示意图CPU3类端口地址3类信息微机系统只有IN和OUT指令,如何区分DB上传输的3类信息?端口必须编址才能进行读写操作!27主要内容I/O端口I/O端口的编址方法案例:I/O地址译码电路设计与验证6.2I/O端口及其编址方法28I/O端口的编址方法6.2I/O端口及其编址方法主机在进行I/O操作时需要区分不同的端口,因此需要给每个端口分配一个地址。存储器统一编址与存储器统一编址就是把一个端口当成一个存储器单元对待,主机访问端口与访问存储器完全一样。如MOV

[PORT1],

BL;

0≤

PORT1≤n−1把BL的内容送到地址为PORT1的端口。I/O端口存储器0n−1nm−1MOV

[PORT2],

BL;

n≤

PORT2≤m−1把BL的内容送到地址为PORT2的存储单元。29I/O端口的编址方法6.2I/O端口及其编址方法主机在进行I/O操作时需要区分不同的端口,因此需要给每个端口分配一个地址。端口独立编址把I/O端口看成是独立于存储器的I/O空间。I/O端口的地址可以与存储器相同。I/O端口存储器0n-10m-1n-1地址重叠靠指令区分对存储器操作还是I/O端口操作。MOV[00H],AL把AL的内容送到地址为DS:0的存储单元。IN00H,AL把AL的内容送到地址为0的端口。30I/O端口的编址方法6.2I/O端口及其编址方法存储器统一编址优点简化了指令系统设计对端口的操作更灵活缺点I/O端口占用存储单元的地址空间

端口独立编址优点I/O和访问存储器的指令分开,程序可读性好I/O指令短,执行速度快I/O端口不要占用内存空间I/O译码电路简单缺点需要专门的I/O指令和控制信号31I/O端口的编址方法6.2I/O端口及其编址方法A19-A0A15-A0MEMR、MEMWIOR、IOW、AEN存储器I/O8086总线8086是哪一种编址方式?存储器统一编址或端口独立编址?第三章指令系统中介绍过IN和OUT指令,用于端口的数据传送,采用端口独立编址方式。p322p32332I/O端口的编址方法6.2I/O端口及其编址方法IN指令从I/O端口输入数据至AL或AX指令格式含义INAL,portAL←(port端口)INAX,portAL←(port端口),AH←(port+1端口)INAL,DXAL←((DX)端口)INAX,DXAL←((DX)端口),AH←((DX)+1端口)若端口地址超过255时,则必须用DX保存端口地址,这样用DX作端口寻址最多可寻找64K个端口。port≤25533I/O端口的编址方法6.2I/O端口及其编址方法OUT指令将AL或AX中的内容传送到一个输出端口指令格式含义OUTport,ALAL→(port端口)OUTport,AXAL→(port端口),AH→(port+1端口)OUTDX,ALAL→((DX)端口)OUTDX,AXAL→((DX)端口,AH→((DX)+1端口)若端口地址超过255时,则必须用DX保存端口地址,这样用DX作端口寻址最多可寻找64K个端口。port≤25534主要内容I/O端口I/O端口的址方法案例:I/O地址译码电路设计与验证6.2I/O端口及其编址方法35案例:I/O地址译码电路设计与验证6.2I/O端口及其编址方法设计一个I/O端口地址译码电路。要求:(1)译出8个连续的片选信号,每个片选信号均包含16个连续的端口地址;(2)端口地址在0480H~04FFH内配置;(3)编写程序对译出的端口地址进行I/O操作,验证译码电路的正确性。A3~A0不参与译码A6~A4接3-8译码的CBAA19~A7接3-8译码的控制端A19~A736案例:I/O地址译码电路设计与验证6.2I/O端口及其编址方法输出A15A14A13A12A11A10A9A8A7A6A5A4A3~A0地址范围IO0000001001000

0480H~048FHIO1000001001001

0490H~049FHIO2000001001010

04A0H~04AFHIO3000001001011

04B0H~04BFHIO4000001001100

04C0H~04CFHIO5000001001101

04D0H~04DFHIO6000001001110

04E0H~04EFHIO7000001001111

04F0H~04FFHA19~A7CBA译码器控制端37案例:I/O地址译码电路设计与验证6.2I/O端口及其编址方法输出A15A14A13A12A11A10A9A8A7A6A5A4A3~A0地址范围IO0000001001000

0480H~048FHIO1000001001001

0490H~049FHIO2000001001010

04A0H~04AFHIO3000001001011

04B0H~04BFHIO4000001001100

04C0H~04CFHIO5000001001101

04D0H~04DFHIO6000001001110

04E0H~04EFHIO7000001001111

04F0H~04FFH1000000010010案例:I/O地址译码电路设计与验证6.2I/O端口及其编址方法(3)编写程序对译出的端口地址进行I/O操作,验证译码电路的正确性。IO0 EQU 0480HCODE SEGMENT ASSUMECS:CODESTART:MOV DX,IO0 OUT DX,AL JMP $CODE ENDS END START执行此程序,IO0输出有效(低电平),对应的逻辑探针上为0.修改地址或者使用其他端口,观察程序运行的结果。000地址为480H,IO0输出有效目录6.1I/O接口概述6.2I/O端口及其编址方法6.3输入/输出方式及其接口6.4简易交通灯控制系统V1.040主要内容程序控制传输方式中断传输方式DMA方式6.3输入/输出方式及其接口程序控制传输方式6.3输入/输出方式及其接口主机直接通过I/O指令对I/O接口进行操作访问,主机与外设交换信息的每个过程均在程序中表示出来。无条件传输方式(同步方式)当确信外设总是处于准备好或空闲状态,即外设与主机同步,则主机无需询问接口的状态,可以直接由I/O指令访问相应的I/O端口,输入或输出数据。输入设备输出设备程序控制传输方式6.3输入/输出方式及其接口无条件传输方式(同步方式)来自输入设备的数据输入缓冲器(8)数据总线地址译码器地址总线M/IORD输入过程执行指令INAL,34H;(34H)=12H00112H34H在输入数据时,不允许多个外设同时把数据送到数据总线上,以免引起总线竞争而毁坏总线,为此必须在输入寄存器和数据总线之间放一个缓冲器,只有CPU发出的选通命令到达时,特定的输入缓冲器才被选通,外设送来的数据才抵达数据总线。程序控制传输方式6.3输入/输出方式及其接口无条件传输方式(同步方式)44输出过程到输出外设输出锁存器(8)数据总线地址译码器地址总线M/IOWR执行指令OUT34H,AL;(AL)=12H00112H34H12H当快速的CPU要将数据传送到慢速外设时,事先可把数据送到锁存器中锁住,等外设做好接收数据的准备工作后,再把数据取走。程序控制传输方式6.3输入/输出方式及其接口无条件传输方式(同步方式)45执行指令OUT35H,AL;(AL)=12H到输出外设输出锁存器(8)数据总线地址译码器地址总线M/IOWR输出端口:地址34H00012H35H1地址不匹配,数据不能输出程序控制传输方式6.3输入/输出方式及其接口无条件传输方式(同步方式)46执行指令INAL,34H;到输出外设输出锁存器(8)数据总线地址译码器地址总线M/IOWR输出端口:地址34H10134H1指令不匹配,数据不能输出程序控制传输方式6.3输入/输出方式及其接口例6.3-1设计一个无条件传输方式的接口电路和程序,采用8086CPU,开关状态通过74LS245接口芯片采集,采集结果通过74LS373接口芯片锁存输出后控制8个发光二极管的显示。读入的开关状态为低电平时,对应的发光二极管发光,反之熄灭。程序控制传输方式6.3输入/输出方式及其接口程序控制传输方式6.3输入/输出方式及其接口输入端口输出端口输入输出端口的地址490H490H输入输出端口的地址相同是否可以WR控制输出端口RD控制输入端口虽然地址相同,但是可以通过OUT/IN指令区分访问的端口程序控制传输方式6.3输入/输出方式及其接口输入端口输出端口490H490HWR控制输出端口RD控制输入端口IN245 EQU0490HOUT373 EQU0490HCODE SEGMENT ASSUMECS:CODESTART: MOVDX,IN245

INAL,DX MOVDX,OUT373

OUTDX,AL JMPSTARTCODE ENDS ENDSTART适用于外设动作时间已知,在CPU与外设进行数据传送时,外设保证已准备好的情况

软硬件十分简单。这种方式用得较少,只用在对一些简单外设的操作,如开关、七段数码管等。无条件传输方式(同步方式)程序控制传输方式6.3输入/输出方式及其接口程序查询传输方式(条件传输方式)当无法预知外设的状态时,用程序来查询其状态,若状态不满足I/O条件则等待,满足才进行相应的传输。常见状态信号输入设备READY信号:READY=1,输入设备准备好,CPU可以从设备读入数据(即输入)。输出设备BUSY信号:BUSY=1,设备正忙,不能接收CPU送来的输出数据。程序控制传输方式6.3输入/输出方式及其接口程序查询传输方式(条件传输方式)实现方法:在与外设进行传送数据前,CPU先查询外设状态,当外设准备好后,才执行I/O指令,实现数据传送特点:1.CPU通过不断查询外设状态,实现与外设的速度匹配2.CPU的工作效率低程序控制传输方式6.3输入/输出方式及其接口STATUSIN:MOVDX,状态端口地址

IN AL,DX TEST AL,测试字 JZ STATUSIN ;READY=0,则等待

MOVDX,数据端口地址

IN AL,DXY读取状态信息READY=1?读数据端口的内容N…输入过程后面举例说明如何确定测试字程序控制传输方式6.3输入/输出方式及其接口输入设备输入锁存器CPRDQ三态缓冲器地址译码器STB接DB接ABREADY接DB的D7RDM/IORDM/IO+5V状态端口数据端口数据缓冲器外设接口逻辑总线接口逻辑图6.3-4程序查询式输入接口电路程序控制传输方式6.3输入/输出方式及其接口输入设备输入锁存器CPRDQ三态缓冲器地址译码器STB接DB接ABREADY接DB的DiRDM/IORDM/IO+5V状态端口数据端口数据缓冲器选通信号一方面将数据锁存到输入锁存器中,一方面作为D触发器的CP信号,使其输出端Q变高输入设备准备好后,送出数据并发选通信号STB1CPU通过“INAL,状态端口”指令打开三态缓冲器读入READY信号如READY=1,则通过”INAL,数据端口”指令打开数据缓冲器,读入数据同时清除D触发器,使READY为00状态端口地址读入状态信息(READY)数据端口地址读入数据程序控制传输方式6.3输入/输出方式及其接口56例6.3-2程序查询式键盘输入接口及程序。设状态端口地址为210H,数据端口地址为211H,状态“READY”接到状态端口的D0位,即数据总线的D0位。KINSTART:MOVDX,210H

IN AL,DX

TEST AL,01H JZ KINSTART MOVDX,211H IN AL,DXDCKQCLR总线接口逻辑输入锁存器选通脉冲KCLK键值(8位)“1”“READY”RDD由此可知测试字是00000001B(01H)READY=0,AL=xxxxxxx0BTESTAL,00000001B相与的结果00000000

BZF=1程序控制传输方式6.3输入/输出方式及其接口57DCKQCLR总线接口逻辑数据锁存器选通脉冲KCLK键值(8位)“1”“READY”RDDREADY=1,AL=xxxxxxx1BTESTAL,00000001B相与的结果00000001

BZF=0程序控制传输方式6.3输入/输出方式及其接口例6.3-2程序查询式键盘输入接口及程序。设状态端口地址为210H,数据端口地址为211H,状态“READY”接到状态端口的D0位,即数据总线的D0位。KINSTART:MOVDX,210H

IN AL,DX

TEST AL,01H JZ KINSTART MOVDX,211H IN AL,DX由此可知测试字是00000001B(01H)输出过程58STATUSIN: MOV DX,状态端口地址

IN AL,DX

TEST AL,测试字 JNZ STATUSIN ;BUSY=1,则等待 MOVAL,待输出数据 MOV DX,数据端口地址

OUT DX,ALN读取状态信息BUSY=1?数据输出Y…程序控制传输方式6.3输入/输出方式及其接口59输出设备输出锁存RCPQD三态缓冲地址译码ACK接DB接ABBUSY接DB的D7WRM/IORDM/IO+5V状态端口数据端口图6.3-7程序查询式输出接口电路程序控制传输方式6.3输入/输出方式及其接口例6.3-3如图所示,由74LS373构成一个8位输出口,控制一个共阳极数码管,初始时显示数字0;三态门74LS244接一个按键,每按一次按键,数码管显示的数字加1,显示到9后回到0,重复以上过程。程序控制传输方式6.3输入/输出方式及其接口分析:(1)数码管显示查表法,定义0~9共阳极数码管的段码表。(2)按键检测测试字,00000001B(01H)例6.3-3如图所示,由74LS373构成一个8位输出口,控制一个共阳极数码管,初始时显示数字0;三态门74LS244接一个按键,每按一次按键,数码管显示的数字加1,显示到9后回到0,重复以上过程。程序控制传输方式6.3输入/输出方式及其接口注意:(1)按键去抖处理(2)按键松手检测62主要内容程序控制传输方式中断传输方式DMA方式6.3输入/输出方式及其接口条件传输方式以牺牲主机的利用率为代价。降低了高速CPU与慢速外设之间数据传输的工作效率,和CPU对外部事件响应的及时性。采用中断技术来解决以上问题看书电话铃响记下页码把书放好接电话接完电话将书取回继续看书主程序中断请求保护断点保护主程序现场,处理中断恢复主程序现场从断点处继续执行主程序中断传输方式6.3输入/输出方式及其接口64输入设备输入锁存器CPRDQQCPD地址译码器STB接DB接ABINTR(中断请求)RDM/IOWRM/IO+5V数据端口三态缓冲器数据端口选择控制口选择中断请求触发器中断允许触发器控制端口数据总线的某位Di中断传输(输入)的接口中断传输方式6.3输入/输出方式及其接口教材p20(5)CPU获知中断请求信号的有效与否不是靠执行程序,而是靠硬件电路来完成的。启动I/O操作靠的是中断,而I/O操作的实现仍然靠执行程序(执行IN或OUT指令)65主要内容程序控制传输方式中断传输方式DMA方式6.3输入/输出方式及其接口66DMA传输方式6.3输入/输出方式及其接口中断传输方式在一定程度上缓解了慢速外设和快速CPU之间的矛盾。但中断过程需要一系列辅助工作,花费不少CPU时间。用DMA(直接存储器存取)方式来解决此问题当外设的传输速率很高,或要进行大量的数据块传输时,会出现高速外设等CPU的现象。DirectMemoryAccess有哪些?

温馨提示

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

评论

0/150

提交评论