74ls160 是十进制同步加法计数器,利用它的同步清零端 CR 非实现七进制计数器,核心原理是同步清零也就是清零信号等到下一个时钟上升沿到来才生效,所以计数到目标状态时产生清零信号,下一个时钟跳变就回到初始状态,七进制一共保留 7 个有效状态,一般选择从 0000 开始计数,有效状态是 0000 0001 0010 0011 0100 0101 0110,当计数到 0110 也就是十进制数值 6 的时候,译码产生同步清零信号,下一个时钟上升沿执行清零,回到 0000,不会把 0111 作为稳定有效状态,画状态转换图的时候要把这 7 个有效状态按顺序用箭头连接,同时标注时钟触发关系,清楚体现同步清零的跳转逻辑。
器件基础特性说明
74ls160 是 8421BCD 同步加法计数器,同步清零端为低电平有效,同步清零和异步清零最大区别就是异步清零只要清零端有效就立刻跳转,不需要等待时钟,同步清零必须等待时钟上升沿,这也是这个设计最关键的要点,所以设计七进制的时候,计数循环长度等于 7,有效状态数量等于模值 7。
状态编码定义
表格
| 状态序号 | 二进制输出 QD QC QB QA | 十进制数值 |
|---|---|---|
| S0 | 0000 | 0 |
| S1 | 0001 | 1 |
| S2 | 0010 | 2 |
| S3 | 0011 | 3 |
| S4 | 0100 | 4 |
| S5 | 0101 | 5 |
| S6 | 0110 | 6 |
状态转换图绘制步骤
第一步确定循环起点,起点设定 S0 也就是 0000,这是计数复位之后的初始状态。
第二步按加法计数顺序,依次画出 S1 S2 S3 S4 S5 S6,每个状态之间画单向箭头,箭头含义是每来一个时钟上升沿,计数器就跳转到下一个状态。
第三步在 S6 也就是 0110 这个状态,标注同步清零译码条件,从 S6 画箭头指向 S0,这个跳转同样是等待下一个时钟上升沿完成,代表同步清零动作。
第四步补充标注,在 S6 旁注明 CR 非有效,也就是同步清零端变为低电平,但是状态不会马上改变,要等下一个时钟上升沿才回到 S0。
第五步检查循环闭环,确认箭头形成完整闭环 S0 指向 S1 S1 指向 S2 S2 指向 S3 S3 指向 S4 S4 指向 S5 S5 指向 S6 S6 指向 S0,一共 7 个状态,模值等于 7,符合七进制计数器要求。
第六步可选补充,工程绘图可以标注时钟 CP,每个箭头都代表 CP 上升沿触发跳转。
补充设计要点
同步清零逻辑译码,S6 输出是 QD QC QB QA 等于 0 1 1 0,也就是 QC 和 QB 为高电平,把 QC 和 QB 接到与非门输入,与非门输出接到 74ls160 同步清零端 CR 非,当计数到 0110 时与非门输出低电平,CR 非有效,等待下一个 CP 上升沿清零返回 0000。
结论
利用 74ls160 同步清零端做七进制计数器,状态转换图是 7 个状态闭环循环,从 0000 依次递增到 0110,在 0110 状态产生同步清零信号,依靠下一个时钟上升沿跳回 0000,绘图的时候重点区分同步跳转特性,不要画成立即跳转,保证状态转换逻辑和芯片同步清零功能保持一致。
【相关 FAQ】
问题 1 为什么 74ls160 同步清零端设计的七进制计数器不能把 0111 当成有效状态
回答 1 因为 74ls160 同步清零端是时钟同步触发,在 0110 状态就已经生成清零信号,等待下一个时钟上升沿就返回初始状态,计数器不会进入并且稳定停留在 0111,所以绘制 74ls160 同步清零端设计的七进制计数器的状态转换图的时候不需要把 0111 列入有效循环。
问题 2 如果初始状态不从 0000 开始,74ls160 同步清零端设计的七进制计数器的状态转换图需要修改吗
回答 2 需要修改,若选择其他起始状态,就要重新确定 7 个连续 BCD 状态,重新译码同步清零信号,对应的 74ls160 同步清零端设计的七进制计数器的状态转换图的状态编码和跳转箭头都要跟着更新。
问题 3 画 74ls160 同步清零端设计的七进制计数器的状态转换图的时候,箭头是否需要标注 CP 上升沿
回答 3 建议标注,因为 74ls160 同步清零端设计的七进制计数器所有状态跳转都依靠 CP 上升沿触发,标注之后可以清晰体现同步清零的同步特性,让 74ls160 同步清零端设计的七进制计数器的状态转换图表达更加规范。
【免责申明】
本文内容基于 74ls160 芯片标准功能与数字电路课程常规设计方法整理,仅作为学习绘图参考,实际电路设计请以芯片原厂数据手册以及课程设计规范为准。


