移位寄存器基础知识_第1页
移位寄存器基础知识_第2页
移位寄存器基础知识_第3页
移位寄存器基础知识_第4页
移位寄存器基础知识_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

把若干个触发器串接起来 就可以构成一个移位寄存器 由 4 个边沿 D 触发器构成的 4 位移位寄存器逻辑 电路如图 8 8 1 所示 数据从串行输入端 D1 输入 左边触发器的输出作为右邻触发器的数据输入 假设 移位寄存器的初始状态为 0000 现将数码 D3D2D1D0 1101 从高位 D3 至低位依次送到 D1 端 经过第一 个时钟脉冲后 Q0 D3 由于跟随数码 D3 后面的数码是 D2 则经过第二个时钟脉冲后 触发器 FF0 的状 态移入触发器 FF1 而 FF0 变为新的状态 即 Q1 D3 Q0 D2 依此类推 可得 4 位右向移位寄存器的状态 如表 8 8 1 所示 由表可知 输入数码依次地由低位触发器移到高位触发器 作右向移动 经过 4 个时钟脉冲后 4 个触发器 的输出状态 Q3Q2Q1Q0 与输入数码 D3D2D1D0 相对应 为了加深理解 在图 8 8 2 中画出了数码 1101 相当 于 D3 1 D2 1 D1 0 D0 1 在寄存器中移位的波形 经过了 4 个时钟脉冲后 1101 出现在寄存器的输出 端 Q3Q2Q1Q0 这样 就可将串行输入 从 D1 端输入 的数码转换为并行输出 从 Q3 Q2 Q1 Q0 端输出 的数码 这种转换方式特别适用于将接收到的串行输入信号转换为并行输出信号 以便于打印或 由计算机处理 在图 8 8 3 中还画出了第 5 到第 8 个时钟脉冲作用下 输入数码在寄存器中移位的波形 如图 8 8 2 所示 由图可见 在第 8 个时钟脉冲作用后 数码从 Q3 端已全部移出寄存器 这说明存入该寄存器中的数码也 可以从 Q 端串行输出 根据需要 可用更多的触发器组成多位移位寄存器 除了用边沿 D 触发器外 还可用其他类型的触发器来组成移位寄存器 例如 用主从 JK 触发器来组成移位寄 存器 其级间连接方式如图 8 8 3 所示 根据 JK 触发器的特征方程 由图 8 8 3 可得 FF2 和 FF3 的接法与 FF1 完全相似 所以各 JK 触发器均以 D 触发器的功能工作 图 8 8 3 和图 8 8 1 所 示电路具有相同的功能 双向移位寄存器 若将图 8 8 1 所示电路中各触发器间的连接顺序调换一下 让右边触发器的输出作为左邻触发器的数据输 入 则可构成左向移位寄存器 若再增添一些控制门 则可构成既能右移 由低位向高位 又能左移 由高 位至低位 的双向移位寄存器 图 8 8 4 是双向移位寄存器的一种方案 它是利用边沿 D 触发器组成的 每个 触发器的数据输入端 D 同与或非门组成的转换控制门相连 移位方向取决于移位控制端 S 的状态 当 S 1 时 D0 DSR D1 Q0 即 FF0 的 D0 端与右移串行输入端 DSR 接通 FF1 的 D1 端与 Q0 接通 在 时钟脉冲 CP 作用下 由 DSR 端输入的数据将作右向移位 反之 当 S 0 时 D0 Q1 D1 Q2 在时 钟脉冲 CP 作用下 Q2 Q1 的状态将作左向移位 同理 可以分析其他两位触发器间的移位情况 由此 可见 图 8 8 4 所示寄存器可作双向移位 当 S 1 时 数据作右向移位 当 S 0 时 数据作左向移位 可 实现串行输入 串行输出 由 DOR 或 DOL 输出 串行输入 并行输出工作方式 由 Q3 Q0 输 出 有时要求在移位过程中数据不要丢失 仍然保持在寄存器中 只要将移位寄存器的最高位的输出接至最低 位的输入端 或将最低位的输出接至最高位的输入端 这种移位寄存器称为循环移位寄存器 它也可以作 为计数器用 称为环行计数器 移位寄存器工作原理 移位寄存器不仅能够寄存数码 而且具有移位功能 移位是数字系统和计算机技术中非常重要的一个 功能 如二进制数 0101 乘以 2 的运算 可以通过将 0101 左移一位实现 而除以 2 的运算则可通过右 移一位实现 移位寄存器的种类很多 有左移寄存器 右移寄存器 双向移位寄存器和循环移位寄存器等 图 9 14 所示是由四个触发器组成的四位左移寄存器 数码从第一个触发器的端串行输入 使用前先 用将各触发器清零 现将数码 1101 从高位到低位依次送到端 图 9 14 由触发器组成的四位左移寄存器 表 9 6 四位左移寄存器状态表 第一个 CP 过后 d3 1 其他触发器输出状态仍为 0 即 000 d3 0001 第二个 CP 过后 d2 1 d3 1 而 0 经过四个 CP 脉冲后 d3d2d1d0 1101 存数结束 各输出端状态如 表 9 6 所示 如果继续送四个移位脉冲 就可以使寄存的这四位数码 1101 逐位从端输出 这种取数方 式为串行输出方式 直接从 取数为并行输出方式 74HC164 是比较典型的移位寄存器 该移位寄存器有一个数据输入端口 一个时钟信号端口和八个输出端口 如图 1 所示 当时钟信号从低电平变为高电平的时候将输出一个数据到输出端 D0 当时 钟第二次由低电平变为高电平的时候将输出第二个数据到 D0 而第一个数据将 转移到 D1 端口 依此类推 每一个时钟周期中都有一个串行数据输出到 D0 而其他的数据则不断往高位移动直到所有数据传输结束 如果不再有时钟周期 输入 则这些数据将暂存在输出端 如果需要有更多的输出端口 可以把多个 74HC164 串联起来用 串联的方 法如图 2 所示 在上图的串联电路中 左边的锁存器 D7 与右边锁存器的串行数据输入端连接 当左边的锁存器 D0 D7 数据全部输出以后 再输入一个串行信号 左边锁存器 D7 数据将作为右边锁存器的输入数据并从右边锁存器 D0 端输出 从而实现了 多个字节数据的移位锁存 这样利用 74HC164 就实现了串行数据到并行数据的 转换 注意到在上面的两个图中 无论输出什么长度的数据 所需要的输入信号 都只有两个 一个是串行数据输入 另一个是锁存器的时钟信号输入 如果我 们把这两个输入端口连接到单片机的两个输出端口上 其中单片机的一个端口 串行输出数据 另一个端口输出时钟信号以便控制串行数据的锁存方式 那么 我们就只需要两个单片机端口几乎实现任意数量的并口输出 2 8051 串口方式 0 的工作原理与时序 图 3 串口方式 0 的时序 8051 串口方式 0 的时序如图所示 RXD P3 0 为数据端 TXD P3 1 为同 步移位脉冲端 每次串行发送 接收 8 位数据 一帧 低位在先 时钟为 Fosc 12 1 发送 执行任何一条 MOV SUBF data 指令时 启动内部串行发送允许 SEND 置高 电平 随后在 TXD 同步移位时钟的作用下 将数据 data 从 RXD 端移位输出 一 帧数据发送完毕时 内部发送中断请求 TI 有效 要再次发送一帧时 须用软件 清 TI 2 接收 在串行口控制寄存器 SCON 中 REN 1 和 RI 0 时 会启动一次接收过程 接 收时 TXD 仍为同步移位时钟输出 而串行移位数据仍从 RXD 移位输入 当接 收完一帧后 内部接收中断请求 RI 有效 要再次接收一帧数据时 须用软件清 零 3 电路原理 MCS 51 单片机串行口方式 0 为移位寄存器方式 外接 4 片 74LS164 作为 4 位 LED 显示器的静态显示接口 把 8031 的 RXD 作为数据输出线 TXD 作为移位 时钟脉冲 74LS164 为 TTL 单向 8 位移位寄存器 可实现串行输入 并行输出 其中 A B 第 1 2 脚 为串行数据输入端 2 个引脚按逻辑与运算规律输入信 号 共一个输入信号时可并接 T 第 8 脚 为时钟输入端 可连接到串行口的 TXD 端 每一个时钟信号的上升沿加到 T 端时 移位寄存器移一位 8 个时钟脉 冲过后 8 位二进制数全部移入 74LS164 中 R 第 9 脚 为复位端 当 R 0 时 移位寄存器各位复 0 只有当 R 1 时 时钟脉冲才起作用 Q1 Q8 第 3 6 和 10 13 引脚 并行输出端分别接 LED 显示器的 hg a 各段对应的引脚上 在给出了 8 个脉冲后 最先进入 74LS164 的第一个数据到达了最高位 然后再 来一个脉冲会有什么发生呢 再来一个脉冲 第一个脉冲就会从最高位移出 搞清了这一点 下面让我们来看电路 4 片

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论