1.1微机接口与接口技术1.2分析与设计接口电路的基本方法(重点)1.3CPU与接口交换数据的方式第一章微机接口技术概述本章主要内容第一章接口技术概述§1.1微机接口与接口技术1、接口①微机系统的组成结构地址总线(AB)数据总线(DB)控制总线(CB)中央处理器CPU内存储器I/O接口I/O接口I/O设备微机系统结构示意图I/O设备动画演示CPU对外设端口的操作INAL,21HOUT43H,AL②接口的概念接口就是微处理器CPU与“外部世界”的连接电路,是CPU与外界进行信息交换的中转站。位于CPU与外设间、用来协助完成数据传送和控制任务的逻辑电路。CPU接口电路I/O设备I/O接口电路控制总线CB地址总线AB数据控制状态数据总线DBCPU外设控制寄存器状态寄存器数据寄存器③为什么要在CPU与外设之间设置接口1、CPU与外设两者的信号线不兼容,在信号线功能定义、逻辑定义和时序关系上都不一致;2、两者的工作速度不兼容,CPU速度高,外设速度低;3、若不通过接口,而由CPU直接对外设操作实施控制,就会使CPU处于穷于应付与外设打交道之中,大大降低CPU的效率;4、若外部设备直接由CPU控制,也会使外充的硬件结构依赖于CPU,对外设本身的发展不利。(1)执行CPU命令的功能2、接口的基本功能(2)返回外外设状态的功能(3)数据缓冲功能(4)信号转换功能(5)设备选择功能(6)数据宽度与数据格式转换功能3、接口技术软件编程与硬件电路设计相结合的微计算机技术4、接口技术在微机应用中的作用微机应用系统的研究和微机化产品的开发,从硬件角度讲,就是接口电路的研究和开发,接口技术已成为直接影响微机系统的功能和微机推广应用的关键。5、接口的组成硬件电路软件编程6、接口电路的结构形式固定式结构半固定式结构可编程结构智能形结构§1.2接口电路设计方法1、输入型外部设备接口电路设计方法K0D0存储器CPUD1D7::+5V外设的数据线不能直接连接到数据总线上。INAL,DXK0D0存储器CPUD1D7::+5VRD多个端口M/IOPORT≥1K0D0存储器CPUD1D7::+5VRDIO/MK1+5VINAL,DX≥1K0D0存储器CPUD1D7::+5VRDIO/M地址(Port)MOVDX,PortINAL,DX如果要设计读取8个开关,甚至更多的开关,则电路该怎样设计。思考1A11A21A31A41Y11Y21Y31Y42A12A22A32A42Y12Y22Y32Y41G2GD0D1D2D3D4D5D6D7≥1PortRDK010K×8+5V74LS244K1K2K3K4K5K6K7MOVDX,PortINAL,DX2、输出型外部设备接口电路设计方法D0存储器CPUD1D7::+5V外设的数据线不能直接连接到数据总线上。D0存储器CPUD1D7::+5VDQCWRMOVAL,00HOUTDX,AL多个端口M/IO≥1PORTMOVDX,PortMOVAL,00HOUTDX,ALD0存储器CPUD1D7::+5VDQCWRIO/M地址(Port)≥1+5VDQC地址(Port1)WRIO/M如果要设计一个电路,控制8个发光二极管循环发光,则电路该怎样设计?开动脑筋了!MOVDX,csMOVAL,00HOUTDX,AL§1.3CPU与接口交换数据的方式查询方式1、CPU与接口交换数据的方式中断方式DMA方式2、查询方式(1)查询输入电路的设计外设CPU数据缓冲器数据ReadyD0DataStatusIO/MRDD7~D0Movdx,statusNext:inal,dxOral,11111110bCmpal,0ffhJnznextMovdx,dataInal,dx无条件传送流程查询输入传送流程21CH端口状态端口218H端口数据端口地址译码数据缓冲控制电路输入外备CPU地址线数据线控制线例1:假设外设的状态端口为21CH,其中D4=1时,表示外设数据准备好外设的数据端口为218H。实现从外设读入1个字节到CPU的AL寄存器中。(2)查询输出电路的设计外设CPU数据锁存器数据BusyD0DataStatusIO/MWRD7~D0RDMovdx,statusNext:inal,dxOral,11111110bCmpal,0ffhJznextMovdx,dataOutdx,al例2:假设外设的状态端口为21CH,其中D0=0时,表示外设准备好外设的数据端口为219H。编程将数据05H输出到外设。21CH端口状态端口219H端口数据端口地址译码数据缓冲控制电路输出外设CPU地址线数据线控制线3、中断方式外设主动向CPU提出中断申请;CPU与外设并行工作特点:增加了硬件开销,提高了CPU工作效率应用:CPU较忙、尤其是实时控制及紧急事件处理4、直接存储器存取方式(DMA方式)M与I/O、I/O与I/O间直接快速传送快速性原因:硬件取代软件;提供直接通路特点:电路结构复杂,硬件开销大应用:高速外设进行大量数据传送1、什么是接口?答:微处理器CPU与“外部世界”的连接电路,是CPU与外办界进行信息交换的中转站。2、为什么要在CPU与外设之间设置接口?答:①CPU与外设两者的信号不兼容;②CPU与外设的工作速度不匹配;③CPU直接对外设控制,降低CPU的效率;④外设直接由CPU控制,使外设的硬件结构依赖于CPU。作业:3、接口电路的硬件一般由哪几部分组成?答:①基本逻辑电路;②端口地址译码电路;③供选电路。4、CPU与接口之间有哪些传送数据的方式?它们各应用什么场合?答:CPUP与接口之间有如下几种数据传送方式:(1)查询方式;(2)中断方式;(3)直接存储器存取方式;其中查询方式应用在CPU不太忙且传送速度不高的情况下;中断方式应用在CPU的任务比较忙,如系统中有多个外设需要与CPU交换数据,尤其适用于实在控制及紧急事件的处理;直接发存储器存取方式运用在对高速外设进行大批量数据传送时,可用来实现内存与外设,或设外与外设之间的直接快速传递。补充作业:5、根据下图写出从I/O装置读入数据的指令序列。IOR三态缓冲器OEI/O装置地址译码器CSD7~D0A15~A1A00160H解:MOVDX,160HINAL,DX6、根据下图编写读入开关状态的程序。设CS=160H。1A11A21A31A41Y11Y21Y31Y42A12A22A32A42Y12Y22Y32Y41G2GD0D1D2D3D4D5D6D7≥1CSRDK010K×8+5V7、根据下图编程实现发光二极管循环发光。设CS=200H。对查询输出方式,当外设的状态线EMPTY#为()电平时,不能输出数据。8、对查询输出方式,当外设的状态线EMPTY#为()电平时,不能输出数据。简单I/O接口综合应用例•根据开关状态在7段数码管上显示数字或符号•设输出接口的地址为F0H•设输入接口地址为F1H•当开关的状态分别为0000~1111时,在7段数码管上对应显示’0’~’F’课程设计设计要求:F0H=0000000011110000F1H=0000000011110001O1I1O2I2O3I3O4I4E1K0~K3+5VGG2AG2BCBA≥174LS244D0Q0|Q1D7Q2Q3Q4CPQ5Q6Q7abcdefgDP7406反相器74LS273Rx8≥174LS138D0~D7IOW#IOR#Y0Y1&≥1A7~A4A15~A8A3A2A1A0D0D1D2D3译码器符号形状7段码.gfedcba符号形状7段码.gfedcba’0’00111111’8’01111111’1’00000110’9’01100111’2’01011011’A’01110111’3’01001111’B’01111100’4’01100110’C’00111001’5’01101101’D’01011110’6’01111101’E’01111001’7’00000111’F’01110001•……•Seg7DB3FH,06H,•5BH,4FH,66H,6DH,•7DH,07H,7FH,67H,77H,•7CH,39H,5EH,79H,71H•……•LEABX,Seg7•MOVAH,0•GO:INAL,0F1H•ANDAL,0FH•MOVSI,AX•MOVAL,[BX+SI]•OUT0F0H,AL•JMPGO