08第八章常用数字接口电路.ppt
《08第八章常用数字接口电路.ppt》由会员分享,可在线阅读,更多相关《08第八章常用数字接口电路.ppt(165页珍藏版)》请在三一文库上搜索。
1、1,第8章 常用数字接口电路,2,主要内容:,掌握常见可编程接口芯片的应用 了解串行通信的一般概念,3,8.1 接口电路概述,CPU与外设之间信息交换的通道 信息缓冲、信息变换、电平转换、联络控制 分类: 8086系统中最常用的数字接口电路芯片: 8253、8255A、8237A等,4,8.2 可编程定时/计数器8253,相关内容见 P219 引线功能及计数启动方法 6种工作方式及其输出波形 8253的使用: 芯片与系统的连接 芯片的初始化编程,5,定时/计数器的用途,可以实现定时与计数两个功能,可用于 系统时钟 DRAM刷新定时 定时采样 实时控制 脉冲的计数 。,6,如何实现定时?,软件方
2、法:用一段程序实现延时 利用程序循环延迟指定的时间 缺点:CPU占用率?延时精度?兼容? 硬件方法:定时/计数器电路 利用脉冲计数在设定的时间输出定时信号, 8253是一种硬件定时/计数器芯片,7,一、外部引线及内部结构,8253概貌 3个16位的定时/计数器(通道) 24引脚双列直插式 最高计数频率2MHz TTL电平兼容 单电源+5V供电,8,外部引线及内部结构,DB,D7-D0,8253,A1,A0,WR,RD,CS,通道2,通道1,通道0,CLK0 GATE0 OUT0,CLK1 GATE1 OUT1,CLK1 GATE1 OUT1,A1 A0,IOW IOR 片选信号,9,外部引线及
3、内部结构,连接系统端的主要引线: D7D0 CS RD WR A1,A0 用于选择四个编址部件之一,A1 A0 选 择 0 0 计数通道0 0 1 计数通道1 1 0 计数通道2 1 1 控制寄存器,10,外部引线及内部结构,计数通道的主要引线(每通道均相同): CLKn 时钟脉冲输入,计数器的计时基准。 GATEn 门控信号输入,控制计数器的启停。 OUTn 计数器输出信号,不同工作方式下 产生不同波形。 (n = 02),11,8253的内部结构,12,编程结构,计数器(3个)包括 控制寄存器 存放控制命令字(只写) 占用4个地址 3个计数器,1个控制寄存器,16位初值寄存器 16位计数寄
4、存器,(减法计数器),13,定时/计数的工作过程,1. 设置8253的工作方式 2. 设置计数初值到初值寄存器 3. 第一个CLK信号使初值寄存器的内容置入 计数寄存器 4. 以后每来一个CLK信号,计数寄存器减1 5. 减到0时,OUT端输出一特殊波形的信号 注:以上计数过程中还受到GATE信号的控制,14,二、计数启动方式,软件启动过程 硬件启动过程,GATE端保持为高电平 写入计数初值后的第2个CLK脉冲的下降沿开始计数,GATE端有一个上升沿 对应CLK脉冲的下降沿开始计数,程序指令启动软件启动 外部电路信号启动硬件启动,15,三、工作方式,方式0计数结束中断 方式1可重复触发的单稳态
5、触发器 方式2频率发生器 方式3方波发生器 方式4软件触发选通 方式5硬件触发选通,16,工作方式,方式0,软件启动,不自动重复计数。 装入初值后OUT端变低电平, 计数结束OUT输出高电平。,(计数结束中断),17,工作方式,方式1,硬件启动,不自动重复计数。 装入初值后OUT端变高电平,计数开始OUT端变为低电平,计数结束后又变高。,(单稳态触发器),18,工作方式,方式2,软、硬件启动,自动重复计数。 装入初值后OUT端变高电平,计数到最后一个CLK时OUT输出负脉冲,并连续重复此过程。,(频率发生器),19,工作方式,方式3,软、硬件启动,自动重复计数。 装入初值后OUT端变高电平,
6、然后OUT连续输出对称方波:,(方波发生器),前 N/2或(N+1)/2 个CLK,OUT为高,后N/2或(N-1)/2 个CLK, OUT为低。,20,工作方式,方式4,软件启动,不自动重复计数。 装入初值后输出端变高电平, 计数结束输出一个CLK宽度的负脉冲,(软件触发选通),21,工作方式,方式5,硬件启动,不自动重复计数。 OUT端波形与方式4相同,(硬件触发选通),22,各种工作方式特点,方式0(计数结束中断) 计数过程中,GATE端应保持高电平。 每写入一次初值计数一个周期,然后停止计数。 OUT端输出是一个约(N+1)TCLK宽度的负脉冲。 计数过程中可随时修改初值重新开始计数。
7、 方式1(单稳态触发器) 门控信号GATE端的跳变触发计数,可重复触发。 若下一次GATE上升沿提前到达,则OUT端负脉冲拉宽为两次计数过程之和。 计数过程中写入新初值不影响本次计数。,23,各种工作方式特点,方式2(频率发生器) GATE为计数的控制信号:GATE变低计数停止,再变高时的下一个CLK下降沿,从初值开始重新计数。 每个计数周期结束时(减到1时),OUT端输出一个TCLK宽度的负脉冲。 计数过程自动重复进行。 计数过程中修改初值不影响本轮计数过程。 方式3(方波发生器) OUT输出方波,前半周期为高,后半周期为低。 计数过程中修改初值不影响本半轮计数过程。 其余的与方式2 类似。
8、,24,各种工作方式特点,方式4(软件触发选通) 计数过程中,GATE端应保持高电平。 每写入一次初值,计数一个周期,然后停止计数。 每个计数周期结束时(减到0时),OUT端输出一个TCLK宽度的负脉冲。 计数过程中修改初值不影响本轮计数过程。 方式5(硬件触发选通) 写入初值时,GATE端应保持低电平。 GATE每出现一次正脉冲,计数一个周期,然后停止计数。 每个计数周期结束时(减到0时),OUT端输出一个TCLK宽度的负脉冲。 计数过程中修改初值不影响本轮计数过程。,25,8253工作方式一览表,26,四、控制字,用于确定各计数器的工作方式。 8253必须先初始化才能正常工作。 每个计数器
9、都必须初始化一次。 CPU通过OUT指令把控制字写入控制寄存器。,27,28,五、8253的应用,与系统的连接 设置工作方式 置计数初值,编程,29,与系统的连接示意图,CLK,GATE,OUT,D0D7,WR,RD,A1,A0,CS,DB,IOW,IOR,A1,A0,译码器,高位地址 A15-A2,8253,共三组,8253占用4个接口地址: 计数器0 计数器1 计数器2 控制寄存器,(决定8253的基地址),30,初始化程序流程,写控制字,写计数值低8位,写计数值高8位,*,非必须,写入顺序: 可按计数器分别写入控制字和初值。 也可先写所有计数器控制字,再写入它们的初值,31,8253应用
10、举例,采用8253作定时/计数器,其接口地址为0120H0123H。 输入8253的时钟频率为2MHz。 计数器0: 每10ms输出1个CLK脉冲宽的负脉冲计数器1: 产生10KHz的连续方波信号 计数器2: 启动计数5ms后OUT输出高电平。 画线路连接图,并编写初始化程序。,32,8253应用举例(续),确定计数初值: CNT0: 10ms/0.5us = 20000 CNT1: 2MHz/10KHz = 200 CNT2: 5ms/0.5us = 10000 确定控制字: CNT0:方式2,16位计数值 00 11 010 0 CNT1:方式3,低8位计数值 01 01 011 0 CN
11、T2:方式0, 16位计数值 10 11 000 0,33,8253应用举例(续),CLK0,GATE0,OUT1,D0D7,WR,RD,A1,A0,CS,DB,IOW,IOR,A1,A0,译码器,8253,CLK2,GATE1,GATE2,+5V,CLK1,2MHz,OUT0,OUT2,?,线路连接图:,34,8253应用举例 初始化程序,CNT0: MOV DX, 0123H MOV AL, 34H OUT DX, AL MOV DX, 0120H MOV AX, 20000 OUT DX, AL,MOV AL, AH OUT DX, AL CNT1: CNT2: ,35,*如何读出当前计
12、数值,第1种方法在计数过程中读计数值 先锁存当前计数值,再用两条输入指令将16位计数值读出。 第2种方法停止计数器再读 用GATE信号使计数器停止,再规定RL1和RL0的读写格式,然后读出。,36,*扩展定时/计数范围,当定时长度不够时,可把2个或3个计数通道串联起来使用,甚至可把多个8253串联起来使用。 例如:CLK频率为1MHz,要求在OUT1端产生频率1Hz的脉冲。 这时可将计数器0、1串联,工作方式都均为方式3,计数初值均为1000。连接方法见下页。,37,扩展定时/计数范围,8253,OUT1,GATE1,CLK1,OUT0,GATE0,CLK0,+5V,+5V,1MHz,1KHz
13、,1Hz,38,8253小结,包含3个16位计数器通道 4个编址部件:CNT0/1/2和控制寄存器 每个计数器通道工作前必须初始化: 控制字和计数初值 6种工作方式 每种工作方式:启动方式、输出波形、是否可重复计数等各不相同,39,8.3 并行接口8255A,特点:相关内容见p209 含3个独立的8位并行输入/输出端口,各端口均具有数据的控制和锁存能力 可通过编程设置各端口的工作方式和数据传送方向(入/出/双向)。,40,一、引线,共40个引脚 (1)数据总线缓冲器 (2)读写控制逻辑 (3)A组和B组 (4)数据端口A、B、C,41,引线(续),连接系统端的主要引线: D0D7 CS* RD
14、* WR* A0,A1 RESET复位信号,接系统总线的RESET,A1 A0 选择 0 0 端口A 0 1 端口B 1 0 端口C 1 1 控制寄存器,42,引线(续),连接外设端的引脚: PA0PA7 PB0PB7 PC0PC7,分别对应A、B、C三个8位输入/输出端口,三个端口可通过编程分别指定为输入或输出口。其中,A口可双向通讯;C口即可用作独立的输入/输出口,也可用作A、B口的控制信号输出或状态信号输入。,43,二、结构,A组 B组,端口A 端口C的高4位,端口B 端口C的低4位,44,8255A与系统的连接示意图,45,三、8255A工作方式,基本输入/输出方式(方式0) 选通输入
15、/输出方式(方式1) 双向输入/输出方式(方式2)(仅A口),某端口工作于哪一种方式,可通过软件编程来指定。即向8255A写入方式控制字来决定其工作方式,见下页。,46,方式控制字及位控字,可以利用软件编程确定8255A的3个端口工作于何种方式下; 8255A的C端口可以按位操作。当其工作于方式0下且作为输出口时,对于那些作为输出的位需要设置初始状态(1/0)。,47,方式控制字与位控字格式,控制字确定3个端口的工作方式 位控字确定C口某一位的初始状态, 或用于设置INTE位(方式1,2)。,48,工作方式0(基本输入/输出),8255A相当于三个独立的8位简单接口。 各端口既可设置为输入口,
16、也可设置为输出口,但不能同时实现输入及输出。 C端口即可以是一个8位的简单接口,也可以分为两个独立的4位端口。 设置为输出口时有锁存能力,设置为输入口时无锁存能力。 无联络信号。,49,工作方式0,50,方式0的应用:,用于连接简单外设。 适用于: 无条件输入输出方式。 查询输入输出方式:把A、B口作为8位数据的输入或输出口,C口的高/低4位分别定义为A、B口的控制位和状态位。,51,工作方式1(带选通的输入/输出),利用一组选通控制信号控制A端口和B端口的数据输入输出。(只有A、B口可选) A、B口作输入或输出口,C口的部分位用作A、B口的选通控制信号。 A口、B口在作为输入和输出时的选通信
17、号不同。,52,工作方式1,1方式1的输入 A口设定为方式1输入时,A口所用三条联络信号线是C口的PC3、PC4、PC5。 B口设定为方式1输入时, B口所用三条联络信号线是C口的PC0、PC1、PC2。,53,方式1输入时的A口和B口,54,工作方式1(方式1的输入),各联络线的定义如下: STB:外设送来的输入选通信号,低电平有效。 IBF:输入缓冲器满信号,高电平有效。 INTR:8255A送到CPU或系统总线的中断请求信号,高电平有效。 INTE:中断允许信号。,55,工作方式1(方式1的输出),2方式1的输出 A口与B口设为方式1输出时,也分别指定C口的三条线为联络信号 A口三条联络
18、信号线是C口的PC3、PC6、PC7 B口三条联络信号线是C口的 PC0、PC1、PC2。,56,方式1输出时的A口和B口,57,工作方式1(方式1的输出),各联络线的定义如下: OBF*输出缓冲器满信号。 ACK*外设响应信号,表示已从数据端口取走数据。此信号使OBF变高。 INTRACK#上升沿产生,通知CPU输出下一个数据(通常接到8259)。 INTE中断允许位,INTE=1和OBF#为高电平时,允许产生INTR信号。,58,注意:,INTE的状态可利用C口的位控方式来设置: 输入: A口的INTE:写入PC4 B口的INTE:写入PC2 输出: A口的INTE:写入PC6 B口的IN
19、TE:写入PC2,59,方式1的应用:,主要用于中断控制方式下的输入输出。 C口除部分位用作选通信号外,其余位可工作在方式0下,作为输入或输出线。 特别是A、B均为方式1时仅使用C口的6条线,余下二条线可作为单独的输入输出线,用程序指定其数据传送方向。,60,工作方式2(带选通的双向输入/输出),双向方式既是输入口,又是输出口。 利用C口的5条线提供传输联络信号。 只有A口可工作在方式2下。,61,方式2下的引脚定义,62,工作方式2,各联络信号的含义如下: INTR:中断请求信号,高电平有效。 OBF*:输出缓冲器满,低电平有效。 ACK*:来自外设的响应信号,低电平有效。 INTE1:A口
20、输出中断允许。 STB*:来自外设的选通输入,低电平有效。 IBF:输入缓冲器满,高电平有效。 INTE2:A口输入中断允许。,63,方式2的应用:,可用于中断控制输入输出方式。 当A口工作于方式2时,B口可工作于方式1(此时C口的剩余位都用作B口选通控制线);B口也可工作于方式0(此时C口的剩余位也只能用作方式0下的输入输出线)。,64,8255A的控制字,工作方式控制字,65,8255A的控制字,C口位控制字 (1)仅C口可按位置位/复位,且只对C口的输出状态进行控制(对输入无作用)。 ( 2)一次只能设置C口1位的状态。 (3)这个控制字应写入控制口,而不是C口。,66,8255A的控制
21、字,C口按位置位/复位控制字,67,图示,设8255端口地址为2F80-2F83H,编程设置8255 A组、B组均工作于方式0,A口输出,B口输出,C口高4位输入,低4位输出。然后,读入开关K的状态,若S打开,则使发光二极管熄灭;若K闭合,则使发光二极管点亮。,8255A的编程,68,程序如下: MOV AL,88H MOV DX,2F83H OUT DX,AL MOV DX,2F82H IN AL,DX MOV DX,2F81H AND AL,20H JZ L1 ;条件成立时PC50,S闭合 MOV AL,0 OUT DX,AL JMP END1 L1: MOV AL,40H OUT DX,
22、AL END1: HLT,8.4可编程串行通信接口,学习内容:相关内容见p342 串行通信的一般概念 工作方式、同步方式、数据格式、物理标准 串行通信的接口标准 EIA RS-232C 可编程串行异步通信接口8250(UART) 连接、编程、应用,70,8.4.1串行通信基本概念,串行通信: 每个时间单位仅传送一位信息; 每个字符(字节)的各位依次传送; 字符之间的间隔不定。 优点: 传输线少,成本低,传输距离远,71,1.串行通信工作方式,单工通信只能由一方发送,例:广播 半双工通信某一时刻只能由一方发送,例:对讲机 全双工通信双方可同时传输,例:电话,72,单工/双工操作,发送器,接收器,
23、发送器/接收器,发送器/接收器,发送器/接收器,发送器/接收器,单工方式:,半双工方式:,全双工方式:,A站,B站,73,电话网络模拟信号,计算机数字信号。 远距离通信时需要通过普通电话网络传输 数字信号:频带宽 电话网络:频带窄 要使数字信号在电话网络上传输,需要进行信号变换把数字信号承载到模拟信号上传输,这个模拟信号称为载波信号。 调制把数字信号承载到载波信号上 解调从载波信号中恢复出数字信号 调制解调器:实现调制与解调的设备,2. 调制与解调,74,三种调制方式,根据载波 Acos(t + )的三个参数:幅度、频率、相位,产生常用的三种调制技术: 幅移键控法 Amplitude-Shif
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 08 第八 常用 数字 接口 电路
链接地址:https://www.31doc.com/p-2127098.html