《【教学课件】第六章输入输出接口.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第六章输入输出接口.ppt(83页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第六章第六章 输入输入/输出接口输出接口6.1 输入输入/输出接口概述输出接口概述6.2 I/O指令和地址译码指令和地址译码 6.3 PC系统总线(放到本章后面详细讲述)系统总线(放到本章后面详细讲述)6.4 数字通道接口数字通道接口6.5 模拟通道接口(略)模拟通道接口(略)6.1 输入输入/输出接口概述输出接口概述u接口解决微处理器与外设之间的差异接口解决微处理器与外设之间的差异 外设种类多外设种类多外设种类多外设种类多信号类型有机械的、物理的、电信号等信号类型有机械的、物理的、电信号等信号类型有机械的、物理的、电信号等信号类型有机械的、物理的、电信号等信号形式有脉冲、模拟量或数字量信号形
2、式有脉冲、模拟量或数字量信号形式有脉冲、模拟量或数字量信号形式有脉冲、模拟量或数字量数据传输率数据传输率数据传输率数据传输率不同不同不同不同数据格式数据格式数据格式数据格式不同不同不同不同数据传输方式数据传输方式数据传输方式数据传输方式不同,有并行、串行之分不同,有并行、串行之分不同,有并行、串行之分不同,有并行、串行之分uCPU与外设都是面向接口而非直接联络与外设都是面向接口而非直接联络接口电路中的信息接口电路中的信息u数据信息、状态信息数据信息、状态信息及及控制信息控制信息ABDBCBCPUI/O接口接口I/O设备设备端口端口数据控制状态ABDBCBCPUI/O接口接口I/O设备设备数据信
3、息数据信息u数据信息数据信息:要交换的数据本身。要交换的数据本身。数字量数字量数字量数字量:通常以通常以通常以通常以8 8位或位或位或位或1616位的二进制数以及位的二进制数以及位的二进制数以及位的二进制数以及ASCIIASCII码的形码的形码的形码的形式传输,主要指由键盘、磁带机、磁盘等输入的信息或主式传输,主要指由键盘、磁带机、磁盘等输入的信息或主式传输,主要指由键盘、磁带机、磁盘等输入的信息或主式传输,主要指由键盘、磁带机、磁盘等输入的信息或主机送给打印机、显示器、绘图仪等的信息机送给打印机、显示器、绘图仪等的信息机送给打印机、显示器、绘图仪等的信息机送给打印机、显示器、绘图仪等的信息开
4、关量开关量开关量开关量:用用用用“0”“0”和和和和“1”“1”来表示两种状态,如开关的通来表示两种状态,如开关的通来表示两种状态,如开关的通来表示两种状态,如开关的通/断断断断模拟量模拟量模拟量模拟量:模拟的电压、电流或者非电量。对模拟量输入模拟的电压、电流或者非电量。对模拟量输入模拟的电压、电流或者非电量。对模拟量输入模拟的电压、电流或者非电量。对模拟量输入而言,需先经过传感器转换成电信号,再经而言,需先经过传感器转换成电信号,再经而言,需先经过传感器转换成电信号,再经而言,需先经过传感器转换成电信号,再经A/DA/D转换器变转换器变转换器变转换器变成数字量;如果需要输出模拟控制量的话,就
5、要进行上述成数字量;如果需要输出模拟控制量的话,就要进行上述成数字量;如果需要输出模拟控制量的话,就要进行上述成数字量;如果需要输出模拟控制量的话,就要进行上述过程的逆转换过程的逆转换过程的逆转换过程的逆转换u数据传输方向数据传输方向:CPUCPU I/OI/O接口接口外设外设控制信息控制信息u控制信息控制信息:控制外设工作的命令,:控制外设工作的命令,CPU通过接口发出,如通过接口发出,如A/D转换器的启转换器的启/停信号停信号u数据传输方向:数据传输方向:CPUI/O接口接口处设处设 状态信息状态信息u状态信息状态信息:表征外设工作状态的信息表征外设工作状态的信息对对对对输入接口输入接口输
6、入接口输入接口,CPUCPU是否准备好接收数据,是否准备好接收数据,是否准备好接收数据,是否准备好接收数据,“READY”READY”准备好吗准备好吗准备好吗准备好吗?对对对对输出接口输出接口输出接口输出接口,外设是否准备好接收数据,外设是否准备好接收数据,外设是否准备好接收数据,外设是否准备好接收数据,“BUSY”BUSY”外设忙吗外设忙吗外设忙吗外设忙吗?u数据传输方向:数据传输方向:CPUI/O接口接口外设外设I/O端口端口u传送这三种信息的传送这三种信息的接口电路中的寄存接口电路中的寄存器器称为称为数据、状态和控制端口数据、状态和控制端口u不不同同的的寄寄存存器器有有不不同同的的端端口
7、口地地址址,即即用用地址访问地址访问u端口端口由一个或多个由一个或多个寄存器寄存器组成组成u接接口口由由若若干干个个端端口口加加上上相相应应的的控控制制逻逻辑组成辑组成 接口的基本功能接口的基本功能u数据缓冲功能数据缓冲功能u设备选择功能设备选择功能u信号转换功能信号转换功能u接收、解释并执行接收、解释并执行CPU命令的功能命令的功能u中断管理功能中断管理功能u可编程功能可编程功能接口电路的结构接口电路的结构 数据数据缓冲器缓冲器状态状态寄存器寄存器控制控制寄存器寄存器接外设一侧接外设一侧 主主机机外外设设 总线驱动总线驱动地址译码地址译码控制逻辑控制逻辑接接CPU一侧一侧DBABCB数据信息
8、数据信息控制信息控制信息状态信息状态信息端口端口接口接口接口接口实现对实现对实现对实现对CPUCPUCPUCPU数据总线速度数据总线速度数据总线速度数据总线速度和驱动能力的匹配和驱动能力的匹配和驱动能力的匹配和驱动能力的匹配实现各寄存器端口实现各寄存器端口实现各寄存器端口实现各寄存器端口寻址操作寻址操作寻址操作寻址操作 实现接口电路中的各寄存器端口的实现接口电路中的各寄存器端口的实现接口电路中的各寄存器端口的实现接口电路中的各寄存器端口的读读读读/写操作和时序控制写操作和时序控制写操作和时序控制写操作和时序控制接口电路的分类接口电路的分类u数据传送方式:数据传送方式:数据传送方式:数据传送方式
9、:并行接口并行接口并行接口并行接口串行接口串行接口串行接口串行接口 u功能选择的灵活性功能选择的灵活性功能选择的灵活性功能选择的灵活性 :可编程接口可编程接口可编程接口可编程接口不可编程接口不可编程接口不可编程接口不可编程接口 u数据传送操作的同步方式数据传送操作的同步方式数据传送操作的同步方式数据传送操作的同步方式 :同步接口同步接口同步接口同步接口异步接口异步接口异步接口异步接口 u通用性通用性通用性通用性 :通用接口通用接口通用接口通用接口专用接口专用接口专用接口专用接口 6.6.1.2.2 1.2.2 传输控制方式传输控制方式 u外设的速度与外设的速度与外设的速度与外设的速度与CPUC
10、PU相比要慢好几个数量级,且不同相比要慢好几个数量级,且不同相比要慢好几个数量级,且不同相比要慢好几个数量级,且不同外设之间的速度也相差很大,为了保证数据传输的外设之间的速度也相差很大,为了保证数据传输的外设之间的速度也相差很大,为了保证数据传输的外设之间的速度也相差很大,为了保证数据传输的可靠性,可靠性,可靠性,可靠性,CPUCPU一定要等外设准备就绪之后才能执行一定要等外设准备就绪之后才能执行一定要等外设准备就绪之后才能执行一定要等外设准备就绪之后才能执行输入输入输入输入/输出操作输出操作输出操作输出操作,而外设就绪的时刻对,而外设就绪的时刻对,而外设就绪的时刻对,而外设就绪的时刻对CPU
11、CPU而言是而言是而言是而言是随机的,因此随机的,因此随机的,因此随机的,因此需要同步需要同步需要同步需要同步。u三种三种三种三种I/OI/O同步控制方式:同步控制方式:同步控制方式:同步控制方式:程序控制方式程序控制方式程序控制方式程序控制方式:无条件传送和程序查询传送:无条件传送和程序查询传送:无条件传送和程序查询传送:无条件传送和程序查询传送中断控制方式中断控制方式中断控制方式中断控制方式直接存储器存取方式直接存储器存取方式直接存储器存取方式直接存储器存取方式:DMADMA方式方式方式方式无条件程序控制方式(一)无条件程序控制方式(一)u最简单的最简单的I/OI/O控制方式,控制方式,C
12、PUCPU可以随时根据可以随时根据需要无条件地读写需要无条件地读写I/OI/O端口端口u外设要求:简单,数据变化缓慢,操作时外设要求:简单,数据变化缓慢,操作时间固定,如一组开关或间固定,如一组开关或LEDLED显示管。显示管。外设被外设被认为始终处于就绪状态认为始终处于就绪状态u接口特点接口特点CPUCPUCPUCPU的的的的DBI/ODBI/ODBI/ODBI/O接口接口接口接口(输出锁存器输出锁存器输出锁存器输出锁存器)外设外设外设外设CPUCPUCPUCPU的的的的DBI/ODBI/ODBI/ODBI/O接口接口接口接口(输入缓冲器输入缓冲器输入缓冲器输入缓冲器)外设外设外设外设无条件
13、程序控制方式(二)无条件程序控制方式(二)数据输入数据输入缓冲器端缓冲器端口口数据输出数据输出锁存器端锁存器端口口输入数据输入数据输出数据输出数据端口端口译码译码器器RDABDBWRM/IO无条件程序控制方式(三)无条件程序控制方式(三)例例例例6.56.5 START:START:MOV DXMOV DX,INPORTINPORTIN ALIN AL,DXDX;读入按键状态读入按键状态读入按键状态读入按键状态TEST ALTEST AL,01H01H;判断最低位按判断最低位按判断最低位按判断最低位按键键键键 JNZ K1JNZ K1;最低位按键没闭合,转最低位按键没闭合,转最低位按键没闭合,
14、转最低位按键没闭合,转MOVMOV ALAL,01H01H;最低位发光最低位发光最低位发光最低位发光JMPJMPDISPDISPK1K1:TEST ALTEST AL,02H02H;JNZ K2JNZ K2;次低位按键没闭合,转次低位按键没闭合,转次低位按键没闭合,转次低位按键没闭合,转MOVMOV ALAL,03H03H;最低最低最低最低2 2位发光位发光位发光位发光JMPJMPDISPDISP.DISP:DISP:MOV DXMOV DX,OUTPORTOUTPORTOUT DXOUT DX,ALAL;JMP STARTJMP START程序查询输入方式程序查询输入方式(条件传送方式条件传
15、送方式)u接口特点:避免了对端口的接口特点:避免了对端口的“盲读盲读”、“盲写盲写”,数据传送的可靠性高,并且硬件接口相对简单。,数据传送的可靠性高,并且硬件接口相对简单。缺点是缺点是CPU工作效率低,工作效率低,I/O响应速度慢响应速度慢;u外设要求:外设要求:状态口和数据口状态口和数据口 u在有多个外设的系统中,在有多个外设的系统中,CPU的查询顺序由的查询顺序由外设外设的优先级的优先级确定确定u一种一种CPU主动、外设被动主动、外设被动的的I/O操作方式,很好操作方式,很好地解决了地解决了CPU与外设之间的与外设之间的同步同步问题问题查询控制的程序流程查询控制的程序流程 READY?读取
16、状态端口读取状态端口 读读/写数据端口写数据端口Y YN N状态端口复位状态端口复位程序查询方式的程序查询方式的输入输入接口电路接口电路数据缓冲器数据缓冲器(输入端口输入端口)状态缓冲器状态缓冲器(输入端口)(输入端口)输输入入设设备备数据端口读选通数据端口读选通状态端口读选通状态端口读选通DB(数据、状态数据、状态)锁锁存存器器输入数据输入数据输入选通输入选通RQD5VREADYD0数据端口数据端口数据端口数据端口(8(8位位位位)状态端口状态端口状态端口状态端口(1(1位位位位)READYREADYREADY?输入状态信息输入状态信息 输入数据信息输入数据信息Y YN N状态信息占用数据线
17、的状态信息占用数据线的状态信息占用数据线的状态信息占用数据线的D D0 0位,查询程序如下:位,查询程序如下:位,查询程序如下:位,查询程序如下:QUERY:QUERY:IN ALIN AL,S_PORTS_PORT;状态口地址状态口地址状态口地址状态口地址SARSAR AL AL,1 1JNCJNC QUERYQUERYININALAL,D_PORTD_PORT;D_PORTD_PORT是数据口地址是数据口地址是数据口地址是数据口地址查询输入程序查询输入程序查询方式的查询方式的A/D采样采样WAITWAIT:IN ALIN AL,51H51H;读状态端口的值读状态端口的值读状态端口的值读状态
18、端口的值TESTTEST ALAL,10H10H;判断判断判断判断D D4 4是否为是否为是否为是否为1 1?JZ WAITJZ WAIT;不是不是不是不是1 1,等待,等待,等待,等待IN ALIN AL,50H50H;读数据端口的值读数据端口的值读数据端口的值读数据端口的值MOVMOV BUFBUF,ALAL;将数据送到数据缓冲单元将数据送到数据缓冲单元将数据送到数据缓冲单元将数据送到数据缓冲单元数据端口状态端口A/D转换器定时器模拟信号译码电路启动信号状态信号D4数据总线数据总线地址总线地址总线控制信号控制信号50H51H程序查询方式的程序查询方式的输出输出接口电路接口电路输出选通输出选
19、通数据锁存器数据锁存器(输出端口)(输出端口)状态缓冲器状态缓冲器(输入端口输入端口)输输出出设设备备RQD5VDB(数据、状态)数据、状态)BUSY(1bit)ACK状态端口读选通状态端口读选通数据端口写选通数据端口写选通数据端口数据端口数据端口数据端口(8(8位位位位)状态端口状态端口状态端口状态端口(1(1位位位位)BUSYBUSY输入状态信息输入状态信息 BUSY?输出数据信息输出数据信息N NY YQUERY:INAL,S_PORT;状态口地址状态口地址SARAL,1JCQUERYOUT D_PORT,AL;D_PORT数据口地址数据口地址查询输出程序查询输出程序查询方式的打印机接口
20、查询方式的打印机接口 WAITWAIT:ININ7AH7AH,ALAL;读状态端口读状态端口读状态端口读状态端口TESTTEST AL AL,04H04H;判断判断判断判断D D2 2是否为是否为是否为是否为0 0?JNZJNZWAITWAIT;不是不是不是不是0 0,等待,等待,等待,等待MOVMOV ALAL,BUFBUF;取数据取数据取数据取数据OUTOUT78H78H,ALAL;将数据送到打印机接口将数据送到打印机接口将数据送到打印机接口将数据送到打印机接口 数据端口状态端口数据缓冲器状态检测打印机译码电路触发信号触发信号状态信号状态信号D2数据总线数据总线地址总线地址总线控制总线控制
21、总线信号信号78H7AH接口电路多个外设的查询多个外设的查询 uCPUCPU周期性地依次查询每个外设的状态周期性地依次查询每个外设的状态u优先权优先权决定了查询次序决定了查询次序u不具有实时性不具有实时性查询式查询式8路模拟数据采集系统路模拟数据采集系统D0 D1 D2324A/D转换器转换器DB多路开关多路开关数据端数据端口读选口读选通通1路模拟量路模拟量状态端口状态端口读选通读选通控制端口控制端口读选通读选通READYSTARTD0CPU8路模路模拟量拟量输入输入A0A7D3D7D0D3D0DATA中断控制方式中断控制方式u接口特点接口特点:避免了避免了CPU 反复低效率的查询,适用反复低
22、效率的查询,适用于于CPU任务繁忙、而数据传送不太频繁的系统中。任务繁忙、而数据传送不太频繁的系统中。缺点是硬件电路和处理过程都比较复杂缺点是硬件电路和处理过程都比较复杂;(中断控制(中断控制芯片)芯片)uCPU被动而外设主动被动而外设主动的的I/O操作方式,较大地提高操作方式,较大地提高了了CPU的工作效率,并使系统具有了实时处理功能的工作效率,并使系统具有了实时处理功能中断控制方式中断控制方式中断请求触中断请求触发器发器QRD数据缓冲数据缓冲端口译码端口译码端口译码端口译码控制端口控制端口中断屏蔽触发中断屏蔽触发器器QD+5VWR外外设设READYDBABDBINTRINTA中断可被响应的
23、条件:中断可被响应的条件:中断请求触发器置位;中断屏蔽触发器清零;中断请求触发器置位;中断屏蔽触发器清零;CPU内部开放中断;内部开放中断;CPU未处理更高级中断;未处理更高级中断;CPU现行指令执行完;现行指令执行完;中断工作过程中断工作过程u外设需要外设需要CPU服务时服务时外外外外设设设设I/OI/O接接接接口口口口向向向向CPUCPU发发发发中中中中断断断断请请请请求求求求,INTR=HINTR=H(中中中中断断断断请求有效请求有效请求有效请求有效)uCPU执行完当前指令后执行完当前指令后,(注注:若若IF=1)CPU I/OCPU I/O接口接口接口接口 外设发中断响应,外设发中断响
24、应,外设发中断响应,外设发中断响应,/INTA=LINTA=LuCPU执行中断服务程序执行中断服务程序,CPUI/OCPUI/O接口接口接口接口外设读写数据外设读写数据外设读写数据外设读写数据DMADMA控制方式控制方式(存储器直接存取存储器直接存取)u内存与外设间有内存与外设间有大量数据大量数据交换时,采用中断交换时,采用中断方式,每传送一次数据,就必须经历中断处方式,每传送一次数据,就必须经历中断处理的全部步骤,而且一般需要理的全部步骤,而且一般需要借助借助CPUCPU内部内部的寄存器作为中介的寄存器作为中介uDMADMA方式:方式:不用不用CPUCPU的寄存器作传数中介的寄存器作传数中介
25、,完完成存储器和外设间的直接传数,成存储器和外设间的直接传数,CPUCPU必须将必须将系统总线的控制权让给系统总线的控制权让给DMAC DMAC DMA方式原理方框图方式原理方框图 DBHOLDCPUHLDAABDMACMEMI/O请求响应DMA的工作流程的工作流程 DMAC发存储器地址发存储器地址在总线上传送数据在总线上传送数据传送结束?传送结束?修改地址指针修改地址指针DMA结束,交还总线权结束,交还总线权CPU允许释放总线,向允许释放总线,向DMAC发出总线应答信号发出总线应答信号HLDADMAC向向CPU发总线申请发总线申请HOLDYNDMAC的结构的结构 数据数据端口端口状态状态/控
26、制控制端口端口DMA控制器控制器地址寄存器地址寄存器计计数数器器控制控制/状态寄存器状态寄存器CPU存存储储器器数据缓冲数据缓冲寄存器寄存器DMA请求触发器输输 入入 设设 备备DMA响应响应ReadyDMA请求请求HOLDHLDADMA操作的基本方法操作的基本方法 u周期挪用周期挪用周期挪用周期挪用:挪用:挪用:挪用:挪用CPUCPUCPUCPU不访问存储器的周期不访问存储器的周期不访问存储器的周期不访问存储器的周期不影响或减慢不影响或减慢不影响或减慢不影响或减慢CPUCPUCPUCPU的操作的操作的操作的操作 不易识别可被挪用的周期,硬件电路复杂,数据传送不易识别可被挪用的周期,硬件电路复
27、杂,数据传送不易识别可被挪用的周期,硬件电路复杂,数据传送不易识别可被挪用的周期,硬件电路复杂,数据传送不连贯、不规则不连贯、不规则不连贯、不规则不连贯、不规则 u周期扩展周期扩展周期扩展周期扩展:延长:延长:延长:延长CPUCPUCPUCPU的时钟周期的时钟周期的时钟周期的时钟周期CPUCPUCPUCPU在加宽了的周期内不会进行下一步操作,正好用来在加宽了的周期内不会进行下一步操作,正好用来在加宽了的周期内不会进行下一步操作,正好用来在加宽了的周期内不会进行下一步操作,正好用来进行进行进行进行DMA DMA DMA DMA 降低降低降低降低CPUCPUCPUCPU的处理速度的处理速度的处理速
28、度的处理速度 uCPUCPUCPUCPU停机停机停机停机 :最简单也是最常用的最简单也是最常用的最简单也是最常用的最简单也是最常用的DMADMADMADMA传送方式传送方式传送方式传送方式 迫使迫使迫使迫使CPUCPUCPUCPU让出总线控制权,整个让出总线控制权,整个让出总线控制权,整个让出总线控制权,整个DMADMADMADMA期间,期间,期间,期间,CPUCPUCPUCPU都一直处都一直处都一直处都一直处于空闲状态于空闲状态于空闲状态于空闲状态 会降低会降低会降低会降低CPUCPUCPUCPU的利用率,并可能影响到的利用率,并可能影响到的利用率,并可能影响到的利用率,并可能影响到CPUC
29、PUCPUCPU对中断的响应对中断的响应对中断的响应对中断的响应和和和和DRAMDRAMDRAMDRAM刷新刷新刷新刷新 DMAC必须具备的功能必须具备的功能u向向CPU发出总线请求发出总线请求信号信号HOLD。uCPU出出让让总总线线控控制制权权时时,能能接接收收CPU的的应应答信号并答信号并接管总线接管总线,进入,进入DMA方式。方式。u有有寻寻址址功功能能,对对存存储储器器及及I/O寻寻址址并并修修改改地地址址u具有具有控制逻辑控制逻辑,能发出读,能发出读/写控制信号。写控制信号。u决定传输的字节数,并决定传输的字节数,并判断判断DMA是否结束是否结束。u发出发出DMA结束信号,使结束信
30、号,使CPU恢复正常恢复正常工作工作状态状态 6.2 I/O指令和指令和I/O地址译码地址译码u为了区分接口电路的各个寄存器,系为了区分接口电路的各个寄存器,系统为它们各自分配了一个地址,称为统为它们各自分配了一个地址,称为I/O端口地址端口地址,以便对它们进行寻址并,以便对它们进行寻址并与存储器地址相区别与存储器地址相区别uI/O端口有端口有两种编址方式两种编址方式:存储器映像存储器映像方式、方式、I/O独立编址方式独立编址方式 1、存储器映像编址、存储器映像编址u指指I/O端口与存储器端口与存储器共享共享一个寻址空间,一个寻址空间,又称为又称为统一编址统一编址。在这种系统中,。在这种系统中
31、,CPU可以用可以用同样的指令同样的指令对对I/O端口和存储器端口和存储器单元的进行访问。单元的进行访问。u优点优点:对:对I/O口的访问灵活方便,有利口的访问灵活方便,有利于提高端口数据的处理能力。于提高端口数据的处理能力。u缺点缺点:I/O端口占用了主存地址,相对端口占用了主存地址,相对减少了主存的可用范围。减少了主存的可用范围。2、I/O独立编址(一)独立编址(一)u指主存地址空间和指主存地址空间和I/O端口地址空间端口地址空间相互独立,分别编址相互独立,分别编址。CPU通过指令通过指令来区分来区分是访问是访问I/O口还是存储单元口还是存储单元u优点优点:主存和:主存和I/O端口的地址可
32、用范端口的地址可用范围都比较大;围都比较大;u缺点缺点:I/O指令的功能一般比较弱,指令的功能一般比较弱,在在I/O操作中必须借助操作中必须借助CPU的寄存器的寄存器进行中转进行中转2、I/O独立编址(二)独立编址(二)u8080X86X86系列微处理器采用独立的系列微处理器采用独立的I/OI/O编编址方式址方式uCPUCPU使用地址总线中的使用地址总线中的A A0 0A A1515来寻址来寻址I/OI/O口,故最大口,故最大I/OI/O空间是空间是6464K K个字节个字节端口(或端口(或3232K K个字端口个字端口)两种编址方式比较(一)两种编址方式比较(一)I/O空空间间内内存存空空间
33、间I/O空空间间内内存存空空间间两种编址方式比较(二)两种编址方式比较(二)存储器CPUABDBCB接口外设接口外设CPUABDBCB存储器存储器读写存储器读写 I/O读写读写I/O接口的访问控制接口的访问控制u微机系统的每个端口都有惟一的端口地址微机系统的每个端口都有惟一的端口地址u端口地址:经译码电路译码后产生端口地址:经译码电路译码后产生端口选端口选通信号通信号,控制端口的,控制端口的读读/写操作写操作 I/OI/O端口的地址分配端口的地址分配 u8080X86X86系系列列微微处处理理器器提提供供1616条条地地址址线线访访问问I/OI/O端端口口,编编址址可可达达6464K K个个字
34、字节节端端口口或或者者3232K K个个字字端口端口。uIBMIBM系列采用非完全译码方式,即只考虑了系列采用非完全译码方式,即只考虑了低低1010位地址线位地址线A0-A9A0-A9,I/OI/O端口地址范围是端口地址范围是00000000H-03FFHH-03FFH,总共只有总共只有10241024个端口个端口 u8038680386微处理器或此后的微处理器构成的微微处理器或此后的微处理器构成的微机系统,采用全译码的方法,端口为机系统,采用全译码的方法,端口为6464K K个个字节端口或字节端口或3232K K个字端口个字端口 I/O端口地址选用的原则端口地址选用的原则u自行设计接口电路或
35、给微机系统添加接口自行设计接口电路或给微机系统添加接口卡时,必须避免端口地址发生冲突卡时,必须避免端口地址发生冲突 u申明保留的地址,不要使用申明保留的地址,不要使用u用户可使用用户可使用300300H-31FHH-31FH地址地址I/OI/O端口的地址译码端口的地址译码u将来自地址总线上的地址代码翻译成为所将来自地址总线上的地址代码翻译成为所需要访问的端口需要访问的端口 uI/OI/O端口地址译码电路结构端口地址译码电路结构 译码电路的输入信号译码电路的输入信号译码电路的输入信号译码电路的输入信号地址信号地址信号地址信号地址信号:由地址范围决定:由地址范围决定:由地址范围决定:由地址范围决定
36、 控制信号控制信号控制信号控制信号:数据流向(读:数据流向(读:数据流向(读:数据流向(读/写)、数据宽度写)、数据宽度写)、数据宽度写)、数据宽度(8 8 8 8位位位位/16/16/16/16位)、是否采用奇位)、是否采用奇位)、是否采用奇位)、是否采用奇/偶地址和偶地址和偶地址和偶地址和DMADMADMADMA传传传传送方式送方式送方式送方式 译码电路的输出信号:接口芯片的译码电路的输出信号:接口芯片的译码电路的输出信号:接口芯片的译码电路的输出信号:接口芯片的片选信号片选信号片选信号片选信号 端口的读写控制:输入需要缓冲,端口的读写控制:输入需要缓冲,端口的读写控制:输入需要缓冲,端口
37、的读写控制:输入需要缓冲,输出需要锁存输出需要锁存输出需要锁存输出需要锁存 输入缓冲电路输入缓冲电路 u当读有效时,才将缓冲器中的三态门打开,当读有效时,才将缓冲器中的三态门打开,当读有效时,才将缓冲器中的三态门打开,当读有效时,才将缓冲器中的三态门打开,使外设的数据进入系统的数据总线使外设的数据进入系统的数据总线使外设的数据进入系统的数据总线使外设的数据进入系统的数据总线u其它时间,三态门处于高阻状态,不影响总其它时间,三态门处于高阻状态,不影响总其它时间,三态门处于高阻状态,不影响总其它时间,三态门处于高阻状态,不影响总线上的其它操作线上的其它操作线上的其它操作线上的其它操作 微处理微处理
38、器系统器系统外部输外部输入设备入设备A0B0A1B1A2B2A3B3A4B4A5B5A6B6A7B7EDIR234567891817161514131211119译码译码片选片选IORDIR=1,A BDIR=0,B A74LS245输出锁存输出锁存 u选中锁存器时,总线上的数据才能进入锁存器选中锁存器时,总线上的数据才能进入锁存器选中锁存器时,总线上的数据才能进入锁存器选中锁存器时,总线上的数据才能进入锁存器u此后不管总线上的数据(锁存器输入端)如何变此后不管总线上的数据(锁存器输入端)如何变此后不管总线上的数据(锁存器输入端)如何变此后不管总线上的数据(锁存器输入端)如何变化,只要没有再次
39、使锁存器的信号有效,锁存器化,只要没有再次使锁存器的信号有效,锁存器化,只要没有再次使锁存器的信号有效,锁存器化,只要没有再次使锁存器的信号有效,锁存器的输出端就一直保持原来锁存的信息不变。的输出端就一直保持原来锁存的信息不变。的输出端就一直保持原来锁存的信息不变。的输出端就一直保持原来锁存的信息不变。微处理微处理器系统器系统外部输外部输出设备出设备D0Q0D1Q1D2Q2D3Q3D4Q4D5Q5D6Q6D7Q7CLKCL R34781314171825691215161974LS27311译码片选IOW74LS32+5V1I/OI/O地址译码方法地址译码方法 u地址译码的方法灵活多样地址译码
40、的方法灵活多样 u高位地址线高位地址线与与CPUCPU的控制信号进行组合,经的控制信号进行组合,经译码电路产生译码电路产生I/OI/O接口芯片的片选信号接口芯片的片选信号CSCS,实现实现系统中的接口芯片寻址系统中的接口芯片寻址 u低位地址线低位地址线直接接到直接接到I/OI/O接口芯片的地址引接口芯片的地址引脚,进行脚,进行I/OI/O接口芯片的接口芯片的片内端口寻址片内端口寻址 I/OI/O端口地址译码电路设计端口地址译码电路设计 u译码电路的形式译码电路的形式固定式译码:固定式译码:固定式译码:固定式译码:接口中用到的端口地址不能更改接口中用到的端口地址不能更改接口中用到的端口地址不能更
41、改接口中用到的端口地址不能更改 可选式译码:可选式译码:可选式译码:可选式译码:u译码电路采用的元器件来分译码电路采用的元器件来分门电路译码门电路译码门电路译码门电路译码译码器译码译码器译码译码器译码译码器译码可编程逻辑器件译码可编程逻辑器件译码可编程逻辑器件译码可编程逻辑器件译码读读077AH端口地址译码电路端口地址译码电路端口地址的二进制形式端口地址的二进制形式端口地址的二进制形式端口地址的二进制形式A A1515 A A1414 A A1 1 A A0 00 00 000 0111 0111 1000 0111 0111 101 10 0端口读:端口读:端口读:端口读:IORIOR,AE
42、NAEN译码输出:译码输出:译码输出:译码输出:/R77AHR77AH执行执行执行执行MOV DXMOV DX,77AH77AHININALAL,DXDX 74LS32&A10A9A874L S30A6A5A4AENA1A3A14A13&A15A12A7A2&A11A0174LS2074LS04111R77AHIOR读读/写操作写操作77AH77AH端口地址的译码电路端口地址的译码电路 IOWW77AH&A10A9A874LS30A6A5A4AENA1A3A14A13&A15A12A7A2&A11A0174LS2074LS04IOR74LS 32111R77AH1译码器译码译码器译码uA15A
43、15A15A15A8A8A8A8为为为为译码器使能译码器使能译码器使能译码器使能uA7A7A7A7A5A5A5A5决定决定决定决定芯片端口范围芯片端口范围芯片端口范围芯片端口范围uA4A4A4A4A0A0A0A0选择选择选择选择芯片片内端口芯片片内端口芯片片内端口芯片片内端口2AGGDMACSAA5BA6CA71AEN0YINTRCS1YT/CCS2YPPICS3Y4Y5Y6Y7Y2BGA10A9&A11A8A14A13&A15A1274LS2074LS13874LS06可选式端口地址译码器可选式端口地址译码器 u通过开关使接口卡的通过开关使接口卡的I/OI/O端口地址根据需要端口地址根据需要
44、加以改变而无需改动硬件电路,能适应不加以改变而无需改动硬件电路,能适应不同的地址分配场合同的地址分配场合 u其电路可由其电路可由地址开关地址开关、译码器、译码器、比较器比较器和和基本门电路等组成基本门电路等组成 用比较器组成的可选式译码电路用比较器组成的可选式译码电路 uuA9A9A9A9-A6-A6-A6-A6=开关状态时,开关状态时,开关状态时,开关状态时,比较器才输出比较器才输出比较器才输出比较器才输出高电高电高电高电平,译码器才能工平,译码器才能工平,译码器才能工平,译码器才能工作作作作uu通过设置通过设置通过设置通过设置不同的不同的不同的不同的开关状态开关状态开关状态开关状态,就可,
45、就可,就可,就可以选择不同的地以选择不同的地以选择不同的地以选择不同的地址范围址范围址范围址范围122AGGBC11Y2Y3Y4Y5Y6Y7Y2BGAA21A0Y74LS13874LS08&A5A3A4A15A14A13A11A1011174LS32CCA6A7A8A9VA0A1A2IA=B74LS85A3B0B1B2B3IABIABOABOA=BDIPS0S1S2S3VCC可编程逻辑器件作译码电路可编程逻辑器件作译码电路 u可编程逻辑器件包括可编程逻辑器件包括GALGAL、CPLDCPLD和和FPGAFPGAu通常一片通常一片GALGAL器件的电路规模可达几百门,器件的电路规模可达几百门,而
46、而FPGAFPGA可达几百万门可达几百万门u这些器件可以被这些器件可以被多次修改和反复使用多次修改和反复使用的的u只需要修改软件只需要修改软件,就可以改变译码电路,就可以改变译码电路 6.3 PC机的系统总线(放在本章后详细机的系统总线(放在本章后详细讲述)讲述)6.4 基本输入输出接口基本输入输出接口 u键盘键盘/鼠标接口鼠标接口 u数码管显示接口数码管显示接口 u并行打印机接口并行打印机接口 键盘接口键盘接口 u线性键盘线性键盘:按键并联方式与:按键并联方式与I/0I/0端口连接端口连接每一个按键需要占用每一个按键需要占用每一个按键需要占用每一个按键需要占用I/OI/OI/OI/O端口的一
47、根口线端口的一根口线端口的一根口线端口的一根口线 由程序处理按键的操作情况由程序处理按键的操作情况由程序处理按键的操作情况由程序处理按键的操作情况u矩阵键盘矩阵键盘:按键按照行、列方式排列按键按照行、列方式排列 比线性键盘节约比线性键盘节约比线性键盘节约比线性键盘节约I/0I/0I/0I/0口线口线口线口线 非编码键盘:非编码键盘:非编码键盘:非编码键盘:CPUCPUCPUCPU处理按键的操作,处理按键的操作,处理按键的操作,处理按键的操作,减低了减低了减低了减低了CPUCPUCPUCPU的效率的效率的效率的效率 编码键盘编码键盘编码键盘编码键盘 :专用的单片机处理按键操作,:专用的单片机处理
48、按键操作,:专用的单片机处理按键操作,:专用的单片机处理按键操作,缓缓缓缓减了减了减了减了CPUCPUCPUCPU的负担的负担的负担的负担 矩阵键盘结构矩阵键盘结构 8位并行输入端口8位并行输出端口+5V10k10k10k10k第0行第1行第2行第7行第0列 第1列 第2列 第3列 第7列行扫描法(一)行扫描法(一)u第一步:判断是否有键按下第一步:判断是否有键按下 输出端口输出端口输出端口输出端口的各位都为低电平,即的各位都为低电平,即的各位都为低电平,即的各位都为低电平,即各列都为各列都为各列都为各列都为0 0 0 0 读取输入端口数据读取输入端口数据读取输入端口数据读取输入端口数据,如果
49、输入不等于,如果输入不等于,如果输入不等于,如果输入不等于FFHFFHFFHFFH,则则则则有键被按下有键被按下有键被按下有键被按下 MOVMOV ALAL,00H00H;MOVMOV DXDX,OUTPORTOUTPORT;OUTOUTDXDX,ALALMOVMOV DXDX,INPORTINPORT;IN ALIN AL,DXDX;ANDANDALAL,0FFH0FFHCMPCMP ALAL,0FFH0FFH行扫描法行扫描法(二)二)u第二步:确定按键号第二步:确定按键号确定按键的列数:输出扫描值,使确定按键的列数:输出扫描值,使确定按键的列数:输出扫描值,使确定按键的列数:输出扫描值,使
50、某一列为低某一列为低某一列为低某一列为低电平,其它列为高电平电平,其它列为高电平电平,其它列为高电平电平,其它列为高电平;读取;读取;读取;读取行值,看是否有行值,看是否有行值,看是否有行值,看是否有行线处于低电平行线处于低电平行线处于低电平行线处于低电平 确定按键的行数:循环右移行值,直到为确定按键的行数:循环右移行值,直到为确定按键的行数:循环右移行值,直到为确定按键的行数:循环右移行值,直到为0 0 0 0 行扫描法程序流程行扫描法程序流程 是否有一行接地?键盘命令处理是是进位位为0?否否扫描值循环左移一位,使下一列为低电平键号+1,计数值-1否否读进行值行值循环右移一位是是结束是是全部