microcomputer_principle_15_可编程并行数字接口电路
可编程并行接口芯片
两种可编程并行接口芯片的应用
- 可编程芯片:
- 可以通过软件命令,控制芯片的工作方式
- 改变数据传输方向
- 输入/输出方式
可编程定时器8253
定时/计算器的工作基准是时钟脉冲
计数脉冲周期恒定 –> 定时
定时的事件长度取决于时钟脉冲的周期及脉冲数
计数初值
: 为了计数需求,所需要的脉冲数
两种计数方式:
- 加法计数
- 减法计数
8253特点
- 可编程的逻辑器件;
- 非通道型的接口,具有特定功能;
- 可实现计数和定时;
- 工作方式:
- 减法计数
- 计数值减为0时输出相应控制信号
- 输出控制信号的形式可通过软件设置
- 外部主要引脚信号功能及内部结构
- 计数启动方式
- 工作方式
- 控制命令字格式
- 应用
外部引线
- 连接系统端的主要引线:
- D0-D7
- #CS
- #RD
- #WR
- A0, A1
- 连接外设端的主要引线:
- CLK—-时钟脉冲输入
- GATE—-门控信号输入
- OUT—-定时输出
右边示意图的芯片右侧引脚,排列了三组完全相同的 CLK, GATE, OUT
内部结构
内部结构特点
- 具有三个完全相同的、独立的计数/定时器
- 内部3个计数器均为减法计数器
- 根据计数脉冲的频率及需要定时的事件长度确定计数初值。
- 控制寄存器 –> 存放控制命令字
- 每个计数器含:
- 16bit初值寄存器
- 16bit计数寄存器
两寄存器,拥有相同端口地址,存放计数初值
仅有计数寄存器会count
- 三个可独立工作的16bit定时/计数器,一个控制寄存器。共占用4个端口地址。
- 4个端口的地址编码:
1
2
3
4
5A1 A0
0 0 CNT0
0 1 CNT1
1 0 CNT2
1 1 控制寄存器
A1和A0时片选地址
计数启动方式
启动方式由GATE端信号的形式决定
软件启动 –> GATE端为高电平
硬件启动 –> GATE端有一个上升沿
工作方式
- 方式0
- 软件启动,不自动重复计数;
- 计数结束输出高电平。
- 当GATE端为高电平时,输入初值后开始计数。
- 计数结束后输出高电平。
- 其输出信号可用于外部可屏蔽中断请求信号
- 方式1
- 硬件启动,不自动重复计数;
- 计数开始输出低电平,结束后又变高。
自动重复计数->计数结束后,计数初值自动倒入计数器
- 计数一旦启动,GATE端既变低电平也不会影响计数。
- 可重复出发。当计数到0后,不用再次写入计算初值,只要重新产生GATE上升沿,即可获得一个同样宽度的负脉冲
- 方式2
- 软、硬件启动,自动重复计数。
- 计数到最后一个脉冲时输出低电平
- 可输出频率为(1/N)CLK脉冲频率的连续方波信号。
- 每1个OUT端脉冲包含(N-1)*CLK的正脉冲,1CLK的负脉冲
- 方式3
- 软、硬件启动,自动计数
- 输出对称方波
- 若N为偶数,输出频率为(1/N)CLK频率的连续对称方波信号。
- 若N为基数,输出波形为(N+1)/2CLK周期正脉冲,(N-1)/2CLK负脉冲
方式4
- 软件启动,不自动重复计数
- 计数结束输出一个CLK宽短的低电平
方式5
- 硬件启动,不自动重复计数
- 波形与方式4相同
工作方式小结
- 需要两个写脉冲————两次写操作
- 第1个写脉冲写入控制字
- 第2个写脉冲写入计数初值
- 如果初值是8位字长,则一次写入;
*若初值为16位字长,则需两次写入;
- 如果初值是8位字长,则一次写入;
- 不同的工作方式,有不同的计数启动方法。
- 可根据对输出波形的要求,选择不同的工作方式。
- 能输出连续波形的只有方式2和方式3。
控制字
- 用于设定各计数器的工作方式
有点糊,慢慢解说各个位代表含义
- 高位(7bit/6bit SC) 片选信号
- 00: 计数器0
- 01: 计数器1
- 10: 计数器2
- 11: 非法
- 计数长度选择(5bit/4bit)RL
- 00: 将计数器中的数据锁存于缓冲器
- 01: 只读/写计数器低8位
- 10: 只读/写计数器高8位
- 11: 先读/写低8位,再高8位
- M(3/2/1bit)
- 000 方式0
- 001 方式1
- x10 方式2
- x11 方式3
- 100 方式4
- 101 方式5
- BCD最低位(计数值选择)
1 BCD计数
0 二进制计数
8253应用
- 硬件设计:
- 与系统的连接
- 软件设计
- 初始化程序设计
- 写入控制字
- 置计数初值
- 初始化程序设计
初始化程序流程
当有两个以上计数器被应用时的初始化程序设计流程:
另一种初始化方法
8253接口
- 可编程8bit并行接口
- 通过软件初始化控制其工作方式和计数/定时市场
- 实现对外部设备的定时/计数控制
- 减法计数器
可编程并行接口8255
- 通道型接口
- 主要用于数据的输入或输出
- 含3个独立的8位并行输入/输出端口
- 2个为8位端口(PA,PB)
- 1个可拆分为两个4位端口(PC口)
- 各端口均具有数据的控制和锁存能力
- 既可作为输入端口,也可以作输出端口。
- 可通过编程,设置各端口工作在某一确定状态下
引线
连接系统端的主要引线:
- D0-D7
- #CS
- #RD
- #WR
- A0, A1
- RESST
1 | A1 A0 |
三个端口对应:
PA0-PA7 PORT A
PB0-PB7 PORT B
PC0-PC7 PORT C
工作方式
- 基本输入/输出方式(方式0
- 选通工作方式(方式1
- 双向传送方式(方式2
方式0
- 相当于三个独立的8位简单接口
- 各端口既可设置为输入口,也可设置为输出口,但不能同时实现输入及输出
- C端口可以是一个8为的简单端口,也可以分为两个独立的4位端口
- 常用于连接简单外设,适于无条件或查询方式
习惯上,A和C作为8位数据的输入或输出口
C端口的某些位作为状态输入
NOTE: 若C端口低4位中,有一位作为输入口,则低4位中其他位数,均为输入口。
方式1
- 利用一组选通控制信号控制A端口和B端口的数据输入输出
- A口、B口作输入或输出口,C口的部分位用作选通控制信号
- A口、B口在作为输入和输出时的选通信号不同
PC0,PC1,PC2会作为B端口工作在方式1下的选通控制信号
PC3,PC6,PC7将作为A端口工作在方式1下的选通控制信号
应用:
- 方式1主要用于中断控制方式下的输入输出
- C端口的8位除用作选通信号外,其余位可工作于方式0下,作为输入或输出口。
方式2
双向输入输出方式
- 可以即作为输入口,又作为输出口。
只有A端口可以工作在方式2下
可使A端口作为双向端口所有
用于中断控制方式
当A口工作于方式2时
- B口可工作于方式1
- 此时C口所有的位都用作选通控制信号的输入输出
- B口也可工作于方式0
- 此时C口的剩余位也可工作于方式0
- B口可工作于方式1
方式控制字及位控制字
- 方式控制字:
- 用于确定3个端口的工作方式及数据传送方向;
- 位控制字
- 仅用于C端口
- 可设置C口某位的初始状态(为高电平或低电平)
- 当其工作于方式0下且作为输出口时,一般需要对作为输出的位设置初始状态(即初始化)
8255芯片的应用
- 芯片与系统的连接
- 芯片的初始化
- 相应的控制程序
- Post title: microcomputer_principle_15_可编程并行数字接口电路
- Create time: 2023-02-26 04:42:42
- Post link: embedded-system/microcomputer-principle-15-可编程并行数字接口电路/
- Copyright notice: All articles in this blog are licensed under BY-NC-SA unless stating additionally.