常用数字接口电路
并行通信和串行通信
串行通信的概念:数据一位一位的输入和输出。
并行通信的概念:数据的各位同时输入输出。
串行通信协议
在串行通信中,有两种最基本的通信协议或方式:(1) 异步通信 :孤立的单个数据的串行通信 它用起始位表示字符的开始,用停止位表示字符的结束。常用于单个字符的通信.
一般一个数据由5---8位二进制数组成. 一帧信息的格式为: 1位起始位(有可能不给) 5---8位数据位 (一位奇偶校验位) 1—2位停止位
异步通信的特点: 发送的数据之间有时间间隔但不固定.
同步通信:常用于大量数据的通信.
一般一个数据也由5---8位二进制数组成.
有两种同步方法: 内同步: 在数据块开始处用同步字符来指示. 外同步: 增加一根联络线,发出联络信号指示.
串行通信的传输速率
串行通信的传输速率也称(波特率),指每秒传输多少位,标准波特率为110、300、600、1200、1800、2400、4800、9600和19200。
eg:在异步传输过程中,设每个字符对应1个起始位, 7个数据位,1个奇偶校验位和1个停止位,如果波特率为1200,请计算每秒最多能传输多少个字符?若同样波特率,用同步传输,用4个同步字符作信息帧,每秒最多能传输多少个字符?
异步传输,每个字符共有10位 每秒最多能传输字符为 1200位/秒÷10位/字符=120(字符/秒) 第1秒 ( 1200-4*7)/7=167 第2秒 1200/7=171
串行接口标准部分
RS-232C
注意: 2引脚—发送数据 3引脚—接收数据 7引脚—信号地 从低位开始发送
计数器和定时器电路 8253
8253内部结构和引脚
8253的主要功能有:(1)有3个独立的16位减一计数器。(2)每个计数器都可以按照二进制或BCD码进行计数。 (3)每个计数器的计数速率可高达2MHz(8254计数频率可达到10MHz)。 (4)每个计数器有6种工作方式,可由程序设置和改变。 (5)所有的输入输出引脚电平都与TTL电平兼容。
(1)数据总线缓冲器。 (2)读/写逻辑。 (3)控制字寄存器。 (4)计数器#0、计数器#1、计数器#2
(1)数据总线缓冲器。这是8253与CPU数据总线连接的8位双向三态缓冲器。CPU用输入输出指令对8253进行读写的所有信息,都是通过这8条总线传送的。(2)读/写逻辑。这是8253内部操作的控制部分。(3)控制字寄存器。在8253初始化编程时,由CPU写入控制字以决定计数器的工作方式。此寄存器只能写入而不能读出。(4)计数器#0、计数器#1、计数器#2。这是三个计数器/定时器,每一个都是由一个16位的可预置值的减法计数器构成。这三个计数器的操作是完全独立的。
8253的控制字
在8253的初始化编程中,由CPU向8253的控制字寄存器写入一个控制字,它规定了8253的工作方式。其格式如图9-3所示。
(1)计数器选择(D7D6)。控制字的最高两位决定这个控制字是哪一个计数器的控制字。
(2)数据读/写格式(D5D4)。CPU向计数器写入初值和读取它们的当前状态时,有几种不同的格式。
(3)工作方式(D3D2D1)。8253的每个计数器可以有6种不同的工作方式,由这三位决定。每一种方式的特点,随后介绍。
(4)数制选择(D0)。8253的每个计数器有两种计数制:二进制计数和BCD码计数,由这位决定。
8253的工作方式
一、 方式0—计完结束产生一个阶跃信号(中断信号)
二、 方式1—可编程负脉冲发生器
三、 方式2—可编程序频率发生器/分频器
四、 方式3—可编程方波发生器
方式0—计完结束产生一个阶跃信号(中断信号)
在这种方式下,当控制字CW(Control Word)写入控制字寄存器,则使OUT输出端变低,此时计数器没有赋予初值,也没开始计数。 要开始计数,GATE信号必须为高电平,并在写入计数初值后,通道开始计数,在计数过程中 OUT线一直维持为低,直到计数到“0”时。OUT输出变高。
方式1—可编程负脉冲发生器
在这种方式下,当CPU写控制字之后(的上升沿),输出将保持为高(若原为低,则由低变高)。当CPU写完计数值后,计数器并不开始计数,直到外部门控脉冲GATE上升沿之后的第一个CLK脉冲的下降沿时开始计数,输出OUT变低。因整个计数过程中,OUT都维持为低,直到计数到0,输出变为高,因此,输出为一个单拍脉冲。若外部再次触发启动,则可以再产生一个单拍脉冲
方式2—可编程序频率发生器/分频器
在这种方式下,当CPU输出控制字后,输出将为高。在写入计数值后,计数器将立即自动对输入时钟CLK计数。在计数过程中输出始终保持为高,直至计数器减到1时,输出将变低,经过一个CLK周期,输出恢复为高,且计数器开始重新计数
方式3—可编程方波发生器
方式3和方式2的输出都是周期性的,它们的主要区别是,方式3在计数过程中输出有一半时间为高,另一半时间为低。
eg:要求编程完成1.利用计数器0完成外部事件计数,计满350次向CPU发中断。 2.计数器1产生频率为1KHz的方波。3.计数器2产生宽度为0.5ms的单稳态脉冲。
可编程并行接口芯片8255A
8255A主要功能
1、有三个8位的并行数据输入/输出端口 PA、PB、PC .
2、PC端口可分为相对独立的两部分PC高 4位和PC低4位 .
3、 PC端口可位操作 .
4、有多种工作方式, 通过编程设定 .
内部结构引脚
注意:A口、B 口、C口、控制口由A1A0选择
DB0---DB7 数据线 PA0---PA7 PA端口 PB0---PB7 PB端口 PC0---PC7 PC端口 RD(低电平有效) 、 WR (低电平有效)读写控制 CS (低电平有效) 片选 A1 、 A0 片内端口选择 RESET复位 Vcc、GND 电源
CPU对8255A如何初始化编程?
8255A有三种工作方式: 方式0 --- 基本输入输出方式 方式1 --- 选通的输入/输出方式 方式2 --- 双向传输方式 (初始化完成方式设定)
8255A的PC口可以按位置1、清0 (工作过程中进行)
控制字有两类:方式选择控制字、端口C置1/清0控制字
方式选择控制字
端口C置1/清0控制字
8255的三种工作方式
8255A有3种基本工作方式:这里只介绍方式0 --- 基本输入输出方式
(一)方式0 --- 基本输入/输出方式 A口和B口可工作输入或输出 C口可分为高4位、低4位,工作于输入或输出
特点: 1、任何一个端口可作为输入或输出口使用. 2、各个端口的输入或输出,有16种不同组合
应用: 1、同步传送(无条件传送) 2、查询式传送
eg:
1)8255A的端口地址为 ? ,要求检测PC0引脚, 若PC0为高电平则等待;若PC0为底电平则在PB0引脚 输出频率为2KHZ的方波。试对8255A进行编程。(延时时间要算出,延时子程序可不必具体写出)。
2)PA连接8个发光二极管,轮流发光,试编程
MOV DX , 303H
MOV AL , 81H
OUT DX , AL
MOV DX , 302H
A: IN AL , DX
SHR AL
JC A
MOV DX , 301H
MOV AL , 01
OUT DX , AL
CALL 延时程序
MOV AL, 00H
OUT DX , AL
CALL 延时程序
JMP A
HLT
LED显示器接口
LED工作原理
LED显示方式
LED显示方式可分为:1.静态显示 2.动态显示
START: MOV DI, OFFSET BUFDATA
MOV AH, 80H
MOV CX, 08H
DIS1: MOV AL,[DI]
MOV BX, OFFSET TABLE
XLAT ;[BX+AL]->AL
MOV DX,PORTSEG ;段码送段口
OUT DX,AL
MOV AL,AH
MOV DX,PORTBIT;位码送位口
OUT DX,AL
CALL 延时
INC DI
ROR AH
LOOP DIS1
JMP START
TABLE DB 40H,4FH,24H,30H,19H
DB 12H,02H,78H,00H,10H
DB 08H,03H,46H,21H,04H,0EH
BUFDATA DB 0,1,2,3,4,5,6,7