微机原理与接口技术,期末冲刺复习资料(六)
接续上文:微机原理与接口技术,期末冲刺复习资料(五)-CSDN博客
点关注不迷路哟。你的点赞、收藏,一键三连,是我持续更新的动力哟!!!
持续关注我~~~主页,查看更多内容哟(希望你能在这里有所收获🤭)。点关注,不迷路,哈哈哈!~~~
主页:nullhttps://blog.csdn.net/m0_73589512?spm=1011.2415.3001.5343
目录
7. 串行并行数字接口
7.1 并行通信与串行通信
7.1.1 并行通信
7.1.2 串行通信
7.2 可编程定时器8253
7.3 可编程并行接口8255
7.4 章末小结
8.模拟量的输入输出
8.1 模拟量的输入输出通道
8.1.1 模拟量的输入通道
8.1.2 模拟量的输出通道
8.2 数/模(D/A)变换器
8.2.1 D/A变换器的工作原理
8.2.2 主要技术指标
8.2.3 典型D/A转换器DAC0832
8.2.4 D/A转换器的应用
8.3 模/数(A/D)转换器
8.3.1 A/D转换器类型
8.3.2 典型的A/D转换器芯片:ADC0809
7. 串行并行数字接口
主要内容:
-
了解并行通信和串行通信的一般概念
-
掌握两种可编程并行接口芯片的应用
接口电路的分类:输入、输出;并行、串行;数字、模拟。 接口芯片内部包括:总线的连接、设备的连接。 (数据、控制、地址信号线)
7.1 并行通信与串行通信
7.1.1 并行通信
1. 特点:
-
两设备之间有多个数据位传输(以字节或字)
-
主要适用于近距离通信(计算机内的总线结构)
-
传输速度快,处理简单;适合近距离传送;传送的信息没有固定格式的要求
7.1.2 串行通信
-
串行数据传送方式:1位1位的通过同一条通信线传送
先由发送设备将几位并行数据经并--串转换硬件转换成串行方式,再逐位传输到接收设备,并在接收端将数据从串行方式重新转换成并行方式。
数据传送方式:双工、半双工、单工
通信方式:同步通信和异步通信
数据校验
-
调制与解调
-
同步通信和异步通信
-
串行通信的数据校验
-
串行通信的接口标准
7.2 可编程定时器8253
掌握:
-
引线功能及计数启动方法
-
6种工作方式及其输出波形
-
应用: 芯片与系统的连接 芯片的初始化编程
计数和定时:
时钟脉冲是他的工作基准
计数:加法和减法计数
定时:计数脉冲为周期恒定时;定时的时间长度取决于时钟脉冲的周期及脉冲数
8253芯片特点:
-
可编程的逻辑器件;
-
非通道型的接口,具有特定功能;
-
可实现计数和定时;
-
工作方式:
-
减法计数
-
计数值减为0时输出相应控制信号
-
输出控制信号的形式可通过软件设置
-
1.外部引线及内部设备:
由上图可知:内部样有3个定时器和计数器
内部结构特点
四个端口地址的编码是:
A1 A0 0 0 CNT0 0 1 CNT1 1 0 CNT2 1 1 控制寄存器
结构特点:
内部的3个计数器均为减法计数器。
每个计数器含有:16位的计数寄存器和16位的初值寄存器,这两个寄存器都含有相同的端口地址。
控制寄存器(8位,而且只能写入不能读出):存放控制命令字
2.计数启动方式:
由GATE端口的信号形式决定: 高电平——软件启动方式
上升沿——硬件启动方式
3.工作方式:
8253有6种工作方式:不同方式有不同的计数启动方式和输出波形
-
方式0:
软件启动,不自动重复计数,计数结束后输出高电平
注意:
整个计数过程中, GATE信号保持高电平,若GATE变低,则停止计数直到GATE变高后继续。 若计数过程中修改计数初值,新的初值立即生效。
-
方式1:
硬件启动,不自动重复计数,计数开始输出低电平,结束后又变成高电平。
注意:
① 计数一旦启动,GATE端既使变低也不会影响计数。 ② 可重复触发。当计数到0后,不用再次写入计数初值,只要再次出现GATE上升沿,即可产生一个同样宽度的负脉冲 ③ 写入新的初值,由GATE上升沿触发新的计数
-
方式2(分频器):
软、硬件启动,自动重复计数,计数到最后一个脉冲时输出低电平
注意:
①可输出频率为(1/N)CLK 脉冲频率的连续方波信号 ②每1个OUT端脉冲包含(N-1)*CLK的正脉冲,1CLK的负脉冲 ③计数过程中若GATE变低,则计数停止,持续输出高电平,等到GATE变高后重新触发从初值计数 ④新的初值下一轮有效
-
方式3(方波发生器):
软、硬件启动,自动重复计数。输出对称方波
注意:
① 若N为偶数,输出频率为(1/N)CLK频率的连续对称方波信号。 ② 若N为奇数,输出波形为 (N+l)/2CLK 周期正脉冲,(N-1)/2CLK 负脉冲。
-
方式4(软件触发选通)
软件启动,不自动重复计数。计数结束输出一个CLK宽度的低电平。
-
方式5(硬件触发选通)
硬件启动,不自动重复计数。波形与方式4相同。
8253工作方式小结
(1) 方式2(分频器)、方式4(软件触发选通)和方式5(硬件触发选通),它们的输出波形相同,都是宽度为1个CLK周期的负脉冲。区别是,方式2是自动重复工作的,而方式4需由软件(设置计数值)触发启动,方式5需由门控GATE信号触发启动。 (2) 方式5(硬件触发选通)与方式1(硬件触发单稳),触发信号相同,但输出波形不同——方式1输出为宽度是N个CLK周期的负脉冲(计数过程中输出为低),而方式5输出为宽度是1个CLK周期的负脉冲(计数过程中输出为高)。
(3) 6种工作方式中的任一种方式,只有在写入计数初值后才能开始计数。方式0、2、3、4都是写入计数初值后,计数过程就开始了。而方式1和方式5在写入计数初值后,需由外部GATE信号的触发启动,才能开始计数过程。 (4) 6种工作方式中,只有方式2(分频器)和方式3(方波发生器)为自动重复工作方式,其他4种方式都是一次性计数,要继续工作需要重新启动。 一般来说,方式0、1、4、5选作计数器用(输出1个电平或1个脉冲),方式2、3选作定时器用(输出周期脉冲或周期方波)。
4. 8253初始化
需要两个写脉冲——意味着是两条OUT指令
第一个写脉冲是:写入控制字
第二个写脉冲是:写入计数初值
向可编程芯片内写入控制字和计数初值的工作称为对可编程芯片的初始化
8253 控制字格式
5. 8253的应用
硬件设计: 与系统的连接 软件设计: 初始化程序设计 写入控制字 置计数初值
与系统的连接:
注意点:
每一次启动计数,需有两次写操作: 写控制字 写计数器初值 如果初值为8位字长,则一次写入;若初值为16位字长,则需两次写入,每次都是用AL。 每个计数器的控制命令字均送入控制寄存器。 各计数器的计数初值送到该计数器的计数寄存器及初值寄存器。
初始化程序流程
当有两个以上计数器被应用时的初始化程序设计流程: 方法一:以计数器为单位逐个进行初始化。(单个一起)
方法二:先写所有计数器的方式字,再装计数值。(分开写入)
6. 8253接口小结
可编程8bit并行接口 通过软件初始化控制其工作方式和计数/ 定时时长 实现对外部设备的定时/计数控制 减法计数器
7.3 可编程并行接口8255
特点:
-
通道型接口 主要用于数据的输入或输出
-
含3个独立的8位并行输入/输出端口 2个为8位端口(PA,PB); 1个可拆分为两个4位端口(PC口)
-
各端口均具有数据的控制和锁存能力 既可作为输入端口,也可以作输出端口。
-
可通过编程,设置各端口工作在某一确定状态下。
引线:
连接系统端的主要引线:
连接外设端的引脚:
8255和系统的连接示意图:
工作方式:
-
基本输入、输出方式(方式0)
-
选通方式(方式1)
-
双向传送方式(方式2)
方式0:
相当于三个独立的8位简单接口 各端口既可设置为输入口,也可设置为输出口,但不能同时实现输入及输出 C端口可以是一个8位的简单接口,也可以分为两个独立的4位端口 常用于连接简单外设,适于无条件或查询方式,无需联络信号
应用:
习惯上: A端口和B端口作为8位数据的输入或输出口 C口的某些位作为状态输入 注: 若使C端口低4位中某一位作为输入口,则低4位中其他位都应作为输入口。同时可设高4位作为输出。
方式0与8255的连接示意图
方式1:选通方式
利用一组选通控制信号控制A端口和B端口的数据输入输出 A口、B口作输入或输出口,C口的部分位用作选通控制信号 A口、B口在作为输入和输出时的选通信号不同
-
PA,PB端口工作方式1,做输出口
#OBF、#ACK、INTR、INTE
-
PA,PB端口工作方式1,做输入口
#STB、IBF、INTR、INTE
应用:
方式1主要用于中断控制方式下的输入输出 仅A端口和B端口可工作于方式1 C口的8位除用作选通信号外,其余位可工作于方式0下,作为输入或输出口。
方式2:不需要通过软件命令
-
双向输入输出方式 可以既作为输入口,又作为输出口。
-
只有A端口可工作在方式2下。C端口的5位作为选通端
应用:
可使A端口作为双向端口所有 用于中断控制方式 当A口工作于方式2时: B口可工作于方式1 此时C口的所有位都用作选通控制信号的输入输出 B口也可工作于方式0 此时C口的剩余3位也可工作于方式0
8255三种工作方式小结
A、B、C三个端口都可以工作于方式0,以查询或无条件传送方式实现数据的输入/输出; A、B端口可以工作于方式1,以中断控制方式实现数据的输入/输出; A端口可以工作于方式2,以中断控制方式,并通过时序控制数据的输入/输出。
方式控制字及位控制字
方式控制字: 用于确定3个端口的工作方式及数据传送方向; 位控制字 仅用于C端口 可设置C口某位的初始状态(为高电平或低电平) 当其工作于方式0下且作为输出口时,一般需要对作为输出的位设置初始状态(即初始化)
8255的方式控制字和位控制字
8255芯片的应用
8255应用要求
主要引线功能及结构 3种工作方式及其特点 应用:
-
芯片与系统的连接
-
芯片的初始化编程
-
数据输入/输出控制程序设计
7.4 章末小结
了解什么是可编程? 可编程定时/计数器
-
启动方式
-
不同工作方式下的输出波形特点
-
初始化编程
-
与系统的连接
1到4需要选择相应的工作方式
可编程并行数字接口
-
不同工作方式的适应场合
-
与系统的连接
-
初始化编程
-
相关控制程序
最终要求就是:利用可编程定时计数器8253和可编程并行接口8255设计需要的I/O接口控制系统。
8.模拟量的输入输出
主要内容:
-
模拟量输入输出通道的组成
-
D/A转换器的工作原理、连接及编程
-
A/D转换器的工作原理、连接及编程
8.1 模拟量的输入输出通道
8.1.1 模拟量的输入通道
-
传感器(Transducer) 非电量→电压、电流
现在集成更多器件,可以直接输出数字信号
-
变送器(Transformer) 转换成标准、统一的电信号
-
信号处理(Signal Processing) 放大、整形、滤波
-
多路转换开关(Multiplexer) 多选一,多路模拟开关
-
采样保持电路(Sample Holder,S/H) 保证变换时信号恒定不变
-
A/D变换器(A/D Converter) 模拟量转换为数字量,是模拟量输入通道的中心环节
8.1.2 模拟量的输出通道
-
D/A变换器(D/A Converter) 数字量转换为模拟量,核心部件。 要保证转换过程中数字量保持不变,所以在系统和D/A之间加上锁存器,保持数字量稳定。
-
低通滤波 平滑输出波形
-
放大驱动 提供足够的驱动电压,电流
8.2 数/模(D/A)变换器
掌握:
-
D/A变换器的工作原理
-
D/A变换器的主要技术指标
-
DAC0832的三种工作模式
-
DAC0832的应用
8.2.1 D/A变换器的工作原理
组成:
-
模拟开关
-
电阻网络
-
运算放大器
基本变换原理:
1.当运放的放大倍数足够大时,输出电压VO与输入电压Vin的关系为:
2.若输入端有n个支路, 则输出电压VO与输入电压Vi的关系为:
n=8的权电阻网络:
设:Si=1表示Si合上,Si=0表示Si断开,则:
实际的D/A转换器——R-2R梯形电阻网络
基本变换原理
如果用8位二进制代码来控制图中的S1~S8(Di=1时Si闭合;Di=0时Si断开),则不同的二进制代码就对应不同输出电压VO; 当代码在0~FFH之间变化时,VO相应地: 在0~(255/256)Vref之间变化; 为控制电阻网络各支路电阻值的精度,实际的D/A转换器采用R-2R梯形电阻网络,它只用两种阻值的电阻(R和2R)。
例题:
某8位D/A转换器,输出电压为0V--5V。当输入的数字量为40H时, 其对应的输出电压分别是多少? 解:当输出电压为0V时,对应的数字量输入为00H;输出为5V时,输入为FFH。 所以,当输入的数字量为40H时,其对应的输出电压分别约为2的6次方*(5/255)=1.255V。
注意:为什么是2的6次方?
其实就是单纯用这个表示的40H对应的10进制的数值。
8.2.2 主要技术指标
分辨率(Resolution) 输入的二进制数每±1个最低有效位 (LSB)使输出变化的程度。 分辨率表示方法: 可用输入数字量的位数来表示,如8位、10位等; 也可用一个LSB (Least Significant Bit)使输出变化的程度来表示。
举例:
一个满量程为5V的10位D/A变换器,±1 LSB的变化所引起输出模拟量的变化为: 5/(2的10次方-1) = 5/1023 = 0.004888V = 4.888mV
转换精度(误差)
实际输出值与理论值之间的最大偏差
影响因素:
-
分辩率
-
电源波动
-
温度变化等等。
8.2.3 典型D/A转换器DAC0832
特点:
-
8位电流输出型D/A转换器
-
T型电阻网络
-
差动输出
主要引脚功能
DAC0832的内部结构
工作模式
-
单缓冲模式
-
使输入锁存器或DAC寄存器二者之一处于直通,即芯片只占用一个端口地址。
-
CPU只需一次写入即开始转换。写入数据的程序为:
MOV DX,PORT MOV AL,DATA OUT DX,AL
-
单缓冲模式例
端口地址:0278H 最大输出值5V,对应数字量:FFH 最小输出值0V,对应数字量:00H
-
-
双缓冲模式(标准模式)
-
输入寄存器和DAC寄存器均需控制。 当输入寄存器控制信号有效时,数据写入输入寄存器中,并同时位于DAC寄存器的输入端; 在DAC寄存器控制信号有效时,数据写入DAC寄存器,并启动变换。
-
此时芯片占用两个端口地址。 优点: 数据接收与D/A转换可异步进行; 可实现多个DAC同步转换输出。
分时写入、同步转换
-
双缓冲模式分时输入,同步转换例
双缓冲模式的数据写入程序
-
-
无缓冲模式
使内部的两个寄存器都处于直通状态。模拟输出始终跟随输入变化。 不能直接与数据总线连接,需外加并行接口(如74LS373、8255等)。
8.2.4 D/A转换器的应用
8.3 模/数(A/D)转换器
要点:
A/D转换器的一般工作原理 A/D转换器的主要技术指标 A/D转换器的应用 与系统的连接 数据采集程序的编写
定义:将连续变换的模拟信号转化成数字信号的装置
8.3.1 A/D转换器类型
计数型A/D转换器 ----速度慢、价格低,适用于慢速系统 双积分型A/D转换器 ----分辩率高、抗干扰性好、转换速度慢,适用于中速系统 逐位反馈型A/D转换器 ----转换精度高、速度快、抗干扰性差。应用范围更广。
A/D转换器的工作原理:
逐位反馈型A/D转换器 类似天平称重量时的尝试法,逐步用砝码的累积重量去逼近被称物体
例:
主要技术指标:
-
转换精度 量化误差(分辨率) 非线性误差 其它误差
-
量化间隔
-
量化误差(分辨率)
绝对量化误差 绝对量化误差=1/2 △ 相对量化误差 相对量化误差=(1/2)× △ × 1%
例: 设满量程电压=10V,A/D变换器位数=10位,则: 绝对量化误差 =1/2*10/(2的10次方-1)≈ 10/2的11次方 = 4.88mV 相对量化误差 ≈ 10/2的11次方 *1% = 0.049%
-
其他指标
转换时间 实现一次转换需要的时间。精度越高(字长越长),转换速度越慢。 动态范围(量程) 允许转换的电压范围 如:0V---5V -5V---5V 动态范围:5V 10V
8.3.2 典型的A/D转换器芯片:ADC0809
特点:
-
8通道(8路)输入
-
8位字长
-
逐位逼近型
-
转换时间100μs
-
内置三态输出缓冲器
主要引脚功能:
D7~D0:输出数据线(三态) IN0~IN7:8通道(路)模拟输入 ADDA、ADDB、ADDC:通道地址 ALE:通道地址锁存 START:启动转换 EOC:转换结束状态输出 OE:输出允许(打开输出三态门) CLK:时钟输入(10KHz~1.2MHz)
内部结构:
工作时序:
ADC0809的工作过程:
由时序图知ADC0809的工作过程如下: 送通道地址,以选择要转换的模拟输入; 锁存通道地址到内部地址锁存器; 启动A/D变换; 判断转换是否结束; 读转换结果
判断转换结束的方法:
软件延时等待(比如延时120us) 此时不用EOC信号,CPU效率最低 软件查询EOC状态。 把EOC作为中断申请信号,接到中断控制器的IN端。 在中断服务程序中读入转换结果,效率较高
ADC0809的应用
硬件连接 通常情况下A/D转换器需要经数字接口与系统连接 数据采集程序设计 从数据采集到存储
ADC0809与系统的连接:
一般需通过数字接口与系统连接 获取转换结果及状态信息(EOC)需通过输入接口 选择通道地址、输出地址锁存(ALE)及启动变换(START)信号需通过输出接口 由于ALE和START信号的特点,通常将两者并联后,连接到数字输出接口。
当仅采集单路模拟量时 此时通道可由硬件确定,系统无须输出通道地址,则也无须地址锁存。 当循环采集多路模拟量时 系统须通过软件方式循环输出不同的通道地址,及相应的地址锁存信号。
例:
-
单路模拟量输入:
-
多路模拟量输入: