![微机原理与接口技术:第8章 输入输出接口新_第1页](http://file4.renrendoc.com/view/80d376265587f05f672d7dad56920ad7/80d376265587f05f672d7dad56920ad71.gif)
![微机原理与接口技术:第8章 输入输出接口新_第2页](http://file4.renrendoc.com/view/80d376265587f05f672d7dad56920ad7/80d376265587f05f672d7dad56920ad72.gif)
![微机原理与接口技术:第8章 输入输出接口新_第3页](http://file4.renrendoc.com/view/80d376265587f05f672d7dad56920ad7/80d376265587f05f672d7dad56920ad73.gif)
![微机原理与接口技术:第8章 输入输出接口新_第4页](http://file4.renrendoc.com/view/80d376265587f05f672d7dad56920ad7/80d376265587f05f672d7dad56920ad74.gif)
![微机原理与接口技术:第8章 输入输出接口新_第5页](http://file4.renrendoc.com/view/80d376265587f05f672d7dad56920ad7/80d376265587f05f672d7dad56920ad75.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1第一节接口技术的基本概念一、接口的概念和功能二、接口电路的典型结构2一、接口的概念和功能1、接口和接口技术接口指CPU、存储器、外设之间通过总线进行连接的电路部分,是CPU与外界进行信息交换的中转站。接口技术是研究CPU如何与外部世界进行最佳耦合与匹配,实现双方高效、可靠地交换信息的一门技术,是软件、硬件结合的体现,是微机应用的关键。3数据总线DB控制总线CB地址总线AB存储器I/O接口输入设备I/O接口输出设备CPU微型计算机的结构示意图2、为什么要用接口电路?4从上可以得到:(1)所有的外部信息到CPU都要经过各种各样的接口。(2)接口把外部的输入信息变成计算机能识别的数据,由计算机来处理。⑶接口把计算机输出的数据变成外设能识别的信息,实现对外设的控制。5接口电路中的信息:数据信息:数字量、模拟量、开关量状态信息控制信息对应的端口:数据口、状态口、命令口6外设是用来实现人机交互的一些机电设备。外设处理信息的类型、速度、通信方式与CPU不匹配,不能直接挂在总线上,必须通过接口和系统相连7接口应具有的功能
信号转换功能:
输入:外设的数据或信息——微机相容输出:微机输出数据或信息——外设相容
设备的选择功能:
只有选中的设备才能与CPU进行数据交换或通信;
I/O接口中通常都有地址译码和设备选择逻辑。
数据缓冲功能:
解决CPU高速与外设低速的矛盾,避免因速度不一致而丢失数据。8
接收和执行CPU命令的功能:
接口电路对接收到的命令代码进行识别和分析,产生若干个控制信号,传到I/O设备,产生相应的操作。中断管理功能:
在接口中设置中断控制器,为CPU处理有关中断事务如:中断请求、中断优先级排队等。可编程能力:
增加接口的灵活性和可扩充性。9二、接口电路的典型结构从编程角度看,接口内部主要包括一个或多个
CPU可以进行读/写操作的寄存器,又称为I/O端口。各I/O端口由端口地址区分。数据信息状态信息控制信息10按存放信息的不同,I/O端口可分为三种类型数据端口:用于存放CPU与外设间传送的数据信息
状态端口:用于暂存外设的状态信息控制端口:用于存放CPU对外设或接口的控制信息,控制外设或接口的工作方式。CPU对外设输入/输出的控制,是通过对接口电路中各I/O端口的读/写操作完成。11第二节I/O端口的编址和译码一、I/O端口的编址方式二、8088的输入/输出指令和时序三、I/O端口的译码12一、I/O端口的编址方式1、端口与存储器分别独立编址2、端口与存储器统一编址13特点:端口与存储器分别独立编址
端口不占用内存空间设有专门的I/O指令对端口进行读写,对内存操作的指令不能用于I/O端口例
Intel的80X86系列、Z80系列I/O空间内存空间1、端口与存储器分别独立编址(I/O映射方式)例
MOV[10H],AL对内存操作
IN10H,AL对端口操作142、端口与存储器统一编址(存储器映射方式)特点:I/O端口相当于内存的一部分,
使内存容量减小对I/O端口的读/写与对存储器的读/写相同,所有可对内存操作的指令对I/O端口均可使用,
指令系统中不专设I/O指令。例
motorola的M6800系列日立H8S单片机系列内存空间I/O空间15二、8088的输入/输出指令和时序1.
输入指令IN输出指令OUT输入/输出指令实现I/O端口与CPU之间的数据传送161.输入指令INport为数字形式的端口地址,大小为0~255或0~FFH17例(1)INAL,28H
若(28H端口)=10101111B
执行后(AL)=(28H端口)=0AFH(2)
INAX,28H
若(28H端口)=10101111B(29H端口)=01010000B
执行后(AL)=(28H端口)=0AFH(AH)=(29H端口)=50H(3)
MOVDX,300HINAL,DX
若(300H端口)=69H
执行后(AL)=(300H端口)=69H182.输出指令OUTport为数字形式的端口地址,大小为0~255或0~FFH19(1)
OUT21H,AL
若(AL)=11001100B
执行后(21H端口)=0CCH(2)
MOVDX,21BH
OUTDX,AL
若(AL)=10100110B
执行后(21BH端口)=(AL)=0A6H例20(1)累加器AL、AX的专用指令
对输入指令IN,目的操作数只能为AL,或AX
INAL,21HINAX,DXINBX,21H
对输出指令OUT,源操作数只能为AL,或AXOUT20H,ALOUTDX,AXOUTDX,CX
输入/输出指令(IN、OUT)特点:21(2)端口地址可由直接方式或间接方式给出
例
OUT219H,AL×MOVDX,219HOUTDX,AL例
INAL,218H
×
MOVDX,218HINAL,DX当端口号>FFH,即>255时,
需把端口号放在DX寄存器中,
DX是一个16位寄存器,范围在0~FFFFh之间。当端口号在0~FFH,即0~255时,可在指令中直接指定端口号例
INAL,21HOUT20H,AL22(3)可进行字节或字传送
由指令中AL或AX的类型决定(4)注意端口地址与端口内容的区别
INAL,21H不等于(AL)←21HOUTDX,AL不等于(DX)←(AL)INAL,20H;字节传送INAX,20H;字传送INAL,DX;字节传送INAX,DX;字传送OUT20H,AL
;字节传送OUT20H,AX
;字传送OUTDX,AL
;字节传送OUTDX,AX
;字传送23三、I/O端口的译码1.
译码电路的作用
2.
译码电路的构成
3.
设计译码电路的方法
4.
片内译码和片选译码241、译码电路的作用将CPU执行IN/OUT指令发出的地址信号,“翻译”成欲操作端口的选通信号,此信号常作为接口内三态门或锁存器的控制信号,接通或断开接口数据线与系统的连接。IN指令时序A15~A0IORCLKD7~D0T4T1T2T3TwA15~A0CLKIOWD7~D0T4T1T2T3TwOUT指令时序25该电路在CPU执行指令
MOVDX,200HINAL,DX将输入设备的数据读入CPU内AL中图中译码电路的作用:只当A15~A0上出现200H时,(即0000001000000000B)输出0,其他输出1。例
一个输入设备的简单接口电路三态缓冲器输入设备数据线IOR地址译码地址线
200H000D7~D0A15~A0与非PC总线26执行:MOVDX,200H
INAL,DX
三态缓冲器输入设备数据线IOR地址译码地址线
200H000D7~D0A15~A0与非PC总线IN指令时序A15~A0IORCLKD7~D0T4T1T2T3Tw000000100000000027输入设备接口电路,即硬件上保证:只在CPU执行从200H端口输入数据时,
三态门处于工作状态,使输入设备的数据送上总线侧,而CPU执行其它指令时,
三态门均处于高阻状态,使输入设备的数据线与总线侧断开三态缓冲器输入设备数据线IOR地址译码地址线
200H000D7~D0A15~A0与非PC总线MOVDX,200HINAL,DX28该电路在CPU执行指令
MOVDX,300HOUTDX,AL
将CPU内AL中的数据送至输出设备图中译码电路的作用:只当A15~A0上出现300H时,(即0000001100000000B)输出0,其他输出1。例
一个输出设备的简单接口电路PC总线锁存器输出设备数据线IOW地址译码地址线
300H000D7~D0A15~A0与非29OUT指令时序执行:
MOVDX,300H
OUTDX,AL
A15~A0CLKIOWD7~D0T4T1T2T3TwPC总线锁存器输出设备数据线IOW地址译码地址线
300H000D7~D0A15~A0与非000001100000000030输出设备接口电路,即硬件上保证:只在CPU执行从300H端口输出数据时,锁存器处于触发状态,其输出随输入变化,而CPU执行其它指令时,锁存器均处于锁存状态,其输出不随输入变化,PC总线锁存器输出设备数据线IOW地址译码地址线
300H000D7~D0A15~A0与非MOVDX,300HOUTDX,AL312、译码电路的构成门电路:与门、非门、或门、与非门、或非门专用译码器:
2-4线译码器74LS1393-8线译码器74LS1384-16线译码器74LS154等可编程器件GAL、CPLD、FPGA等323、设计译码电路的方法据端口地址确定地址信号A15~A0的取值,用门电路、译码器或两者组合实现满足此取值情况的电路。设计译码电路时:
1.端口的选通信号通常为低电平有效
2.除端口的地址信号参加译码外,控制信号IOW、IOR(IO/M、AEN也可参加译码)33译码电路A0A1A8A9IORIOWAEN译码电路示意图3474LS138译码器功能表74LS1383-8译码器AY0BY1CY2Y3G1Y4G2AY5G2BY6Y735例设计端口地址为218H的译码电路分析
CPU执行IN/OUT指令时,发出端口的地址信号
MOVDX,218H
INAL,DX
或
OUTDX,AL对应218H端口的地址信号为(取A9~A0):
A9A8A7A6A5A4A3A2A1A0(地址信号)
1000011000B218H只要满足此地址取值的译码电路均可36方法一、用门电路实现218H的地址译码数据线DBRDWRCS端口译码电路0A9A8A7A6A5A4A3A2A1A0AENIORIOWI/O接口PC总线D0~D7D0~D710000110000&译码电路部分满足:只当地址信号A9~A0为:A9A8A7A6A5A4A3A2A1A01000011000即218H时,输出0,使I/O接口的CS有效否则输出1
使I/O接口的CS无效37数据线DBRDWRCS端口译码电路0A9A8A7A6A5A4A3A2A1A0AENIORIOWI/O接口PC总线D0~D7D0~D710000110000&注意译码电路中:由于高位地址线A15~A10未参与译码,即:地址A15~A0为:××××××1000011000均能输出0,所以该电路使:一个端口对应多个地址
共26=64个
218,618,
A18,E18等等38当端口地址信号为:A9A8A7A6A5A4A3A2A1A01000011000即218H时,Y0输出0,使I/O接口的CS有效方法二、用译码器、门电路组合实现218H的地址译码74LS1383-8译码器218HAY0BY1CY2G1Y3Y4G2AY5Y6G2BY7
0000110000100&A0A1A2AENA3A4A5A6A7A8A9IORIOWPC总线CSI/O接口D0~D7&RDWR数据线DBD0~D7端口译码电路39219H21AH21BH21CH21DH21EH21FH218H思考1:1.Y2~Y7译出的端口地址各是多少?74LS1383-8译码器AY0BY1CY2G1Y3Y4G2AY5Y6G2BY7
0110000100&&端口译码电路A0A1A2AENA3A4A5A6A7A8A9IORIOWPC总线101010101100110011110000Y7Y6Y5Y4Y3Y2Y1Y040思考2:将A0与A2位置互换,Y0~Y7译出的地址各是多少?74LS1383-8译码器AY0BY1CY2G1Y3Y4G2AY5Y6G2BY7
0110000100&&端口译码电路A2A1A0AENA3A4A5A6A7A8A9IORIOWPC总线411.根据电路先确定与使能控制连接的信号:
G1=1即:AEN=0A9A8A7A6A5A4A3
G2A=01000011G2B=0IOW或IOR为02.再分析与选择控制C、B、A相连的各引脚3.最后综合所有地址信号的取值,得出结论
分析方法:外部连线可变,而74LS138芯片的工作原理不变。4274LS1383-8译码器218HAY0BY1CY2G1Y3Y4G2AY5Y6G2BY7
0110000100&&端口译码电路A2A1A0AENA3A4A5A6A7A8A9IORIOWPC总线101010101100110011110000Y7Y6Y5Y4Y3Y2Y1Y0218H21CH21AH21EH219H21DH21BH21FH43片内译码:
在芯片内部的译码电路
用于区分芯片内部不同的端口片选译码:在芯片外部的译码电路
用于选择不同的芯片或端口4、片内译码和片选译码44片选译码通常译出的是一个地址范围并行接口8255ACS外设数据线A0A1RDWRPC总线IORA0A1IOWA2A3A4A5A6A7A8A9AEN片选译码片内译码端口A端口B端口C端口D串行接口8251
数/模转换0832模/数转换0809218~21FH220~227H228~22FH230~237H45通常将低位地址线(1位或几位)直接连在芯片上,用于片内译码,而其余的高位地址线用于片选译码。并行接口8255ACS外设数据线A0A1RDWRPC总线IORA0A1IOWA2A3A4A5A6A7A8A9AEN片选译码片内译码端口A端口B端口C端口D串行接口8251
数/模转换0832模/数转换080946例
分析下图74LS138各输出端的译码地址
(片选译码例)74LS1383-8译码器218HAY0BY1CY2G1Y3Y4G2AY5Y6G2BY700010&A3A4A5+5VA6A7A8A9AENIORIOWPC总线&端口译码电路471.
先确定与使能控制G1、G2A、G2B相连的各引脚G1连+5V,始终有效
IOR、IOW任一为0G2A、G2B为0,则A9A8A7A6,AEN为010002.
再分析与选择控制C、B、A相连的各引脚
3.
考虑到A2、A1、A0未参加译码,其值任意,即A2A1A0的取值为000~1114.
最后综合所有地址信号的取值,得出结论。A5A4A3
CBA000Y0001Y1010Y2011Y3100Y4101Y5110Y6111Y7分析:48结论:49200~207h208~20Fh210~217h218~21Fh220~227h228~22Fh230~237h238~24Fh74LS1383-8译码器AY0BY1CY2G1Y3Y4G2AY5Y6G2BY7
00010&A3A4A5+5VA6A7A8A9AENIORIOWPC总线&端口译码电路50第三节I/O同步控制方式
CPU与外设的工作速度不一致,如何使两者高效、可靠地进行数据传送,是本节讨论的问题。有以下几种传送方式:一、无条件传送方式二、条件传送方式(查询方式
)三、中断传送方式四、
DMA传送方式(DirectMemoryAccess)51概述1.无条件传送(CPU与外设同步工作):外部控制过程各种动作时间是固定的,而且是已知的。2.查询方式(CPU与外设不同步工作):传送前,先查询外设状态,准备好才传送,否则CPU处于等待状态。523.中断方式:
外设与CPU处于并行工作,一旦外设准备好,外设向CPU发中断申请,条件具备,CPU暂停原程序执行,响应中断,外设与CPU串行工作。4.DMA方式(高速I/O及成组交换数据):
CPU不干予,由硬件实现存储器与外设之间交换数据,称直接存取存储器。53一、无条件传送方式(同步传送方式)实现方法
CPU不查询外设工作状态,与外设速度的匹配通过在软件上延时完成,在程序中直接用I/O指令,完成与外设的数据传送特点
1.适用于外设动作时间已知在CPU与外设进行数据传送时,外设保证已准备好的情况
2.软硬件十分简单54例1
无条件输入接口接口电路,即硬件上保证:只在CPU执行从200H端口输入数据时,
三态门处于工作状态,使输入设备的数据送上总线侧,而CPU执行其它指令时,
三态门均处于高阻状态,使输入设备的数据线与总线侧断开三态缓冲器输入设备数据线IOR地址译码地址线
200H000D7~D0A15~A0与非PC总线55无条件输入编程:
从端口200H读入100个字节到内存缓冲区buffer中。、、、
MOVAX,SEGbufferMOVDS,AX;取缓冲区
LEADI,buffer;首地址
MOVCX,100H;传送个数
MOVDX,200H;端口地址
next: ;延时等待
INAL,DX;读入数据
CALLdelay
MOV[DI],AL;送缓冲区
INCDI;修改指针
LOOPnext
、、、;延时子程delayPROCPUSHCXMOVCX,80Hcc:LOOPccPOPCX
RETdelayENDP56例2
无条件输出:编程控制系统板上扬声器发声。
4765321061H端口
8253与门放大器扬声器01控制其它外设扬声器控制电路图:T个数发声原理:向扬声器发送一串脉冲信号,推动扬声器内纸盆振动,发出声音脉冲的频率,控制音高;脉冲的个数,控制音长571.
使61H端口的0位输出0,控制8253输出1。2.
使61H端口的1位按所需频率交替输出0和1,产生所需的声音。编程方法:
4765321061H端口
8253与门放大器扬声器01控制其它外设扬声器控制电路图:58codeSEGMENT
ASSUMECS:codestart:MOVBX,3000H;控制脉冲个数
MOVDX,6000H;控制脉冲周期
INAL,61H
;读入61H端口数据
ANDAL,11111100b;D0为0,8253输出1sound:XORAL,00000010b
OUT61H,AL
;61H端口的D1交替为0和1
MOVCX,DXdelay:LOOPdelay
;延时
DECBX
;控制脉冲数
JNZsound
MOVAH,4CHINT21HcodeENDS
ENDstart发声程序:
61H端口8253与门放大器扬声器01控制其它外设T个数59二、条件传送方式(查询传送方式)实现方法:
在与外设进行传送数据前,CPU先查询外设状态,当外设准备好后,才执行I/O指令,实现数据传送特点:1.CPU通过不断查询外设状态,实现与外设的速度匹配2.CPU的工作效率低60查询传送方式,编程流程:NY从状态端口读入状态信息从数据端口传送一个数据外设准备好否?61查询方式输入接口状态端口D4=1表示外设准备好三态缓冲器输入设备数据线218H
数据端口地址译码地址线
状态端口地址译码锁存器IOR
R
Q
D三态缓冲器+5vD421CH
STBPC总线IORA15~A0D7~D0&&MOVDX,218HINAL,DXMOVDX,21CHINAL,DX62查询方式输出接口状态端口D0=0表示外设准备好输出设备数据线219H数据端口地址译码地址线
锁存器
RD
Q
三态缓冲器+5vACKPC总线IORA15~A0D7~D0IOW状态端口地址译码D021CH&&MOVDX,219HOUTDX,ALMOVDX,21CHAsk:INAL,DXTESTAL,01h
JNZask
63三、中断传送方式
实现方法:
1.
当外设准备好,向CPU发出中断请求
2.CPU在满足响应中断的条件下,发出中断响应信号;
3.CPU暂停当前的程序,转去执行中断服务程序,完成与外设的数据传送;
4.CPU从中断服务程序返回,继续执行被中断的程序64中断服务程序发申请中断服务程序发申请中断方式下CPU执行程序流程外设65使用中断方式时:外设准备数据,CPU执行程序,CPU与外设并行工作;一旦外设准备就绪,外设向CPU发中断申请,CPU暂停原程序执行,响应中断,进行数据传输。此时,CPU与外设是串行工作。66中断传送方式的特点:1.CPU和外设大部分时间处在并行工作状态,只在CPU响应外设的中断申请后,进入数据传送的过程2.中断传送方式提高了CPU的效率67中断方式输入接口:某位未屏蔽,中断屏蔽触发器置‘0’,Q=068(1)当外设数据准备好,外设向接口电路发出选通信号:
将数据打入锁存器;同时将中断请求触发器置
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论