《数字电子电路》 课程设计:十字路口红绿灯自动控制系统(上)(multisim仿真及PCB实现)

(一)前言

    本系列文章就笔者在大二下学期进行《数字电子线路》课程设计的题目:十字路口红绿灯自动控制系统 进行详细的讲解,希望对读者有所帮助。

(二)目录

一、主要指标及要求

二、电路工作原理

1、工作原理系统框图

       2、方案选择

三、单元电路设计

1、脉冲信号发生器

2、倒计时计数器

3、状态控制器

4、红绿灯控制逻辑与红绿灯显示电路

5、数码管译码器与显示电路

四、完整的电路图

五、仿真及结果

1、单元电路仿真结果

       2、 整体仿真结果

六、PCB的绘制:

七、电路性能指标测试结果

附录:元器件清单

(三)正文

一、主要指标及要求

 设计十字路口红绿灯自动控制系统,同时控制主干道和支干道的红绿灯和倒计时显示,指挥十字路口车辆和行人有序通过,维持交通秩序和保障车辆、行人的安全。

完成红->绿->黄->红->绿->黄……交通信号灯的循环,并添加黄灯闪烁功能,以警告车辆和行人红灯的到来;

主干道和支干道红、绿灯时长相同,为25秒,黄灯闪烁时间为5秒;

用数码管显示倒计时。

二、电路工作原理

1、工作原理系统框图

 

 2、方案选择

    经过前期的调研与对本小组现有能力的结合,我们最终确定了最有可行性的设计方案。十字路口红绿灯自动控制系统由以下五个模块组成:脉冲信号发生器、倒计时计数器、状态控制器、红绿灯控制逻辑与红绿灯显示电路、数码管译码器与显示电路。各个模块的功能如下:

脉冲信号发生器:

由NE555无稳态构成多谐振荡器,利用公式计算配置,产生周期为一秒的时钟脉冲信号。

倒计时计数器:

由两片74LS190N十进制可逆计数器构成,通过控制置数输出个位、十位BCD用于数码管显示,并控制状态控制器的状态变化。

状态控制器:

由一片74LS74N双D触发器构成四进制计数器构成,分配00、01、10、11状态加上一系列逻辑控制红绿灯的显示。

红绿灯控制逻辑与红绿灯显示电路:

由74LS86N异或门、74LS04N非门、74LS10N三输入与非门、74LS08N与门构成组合逻辑电路和发光LED构成,输出信号控制红绿灯的亮灭。

数码管译码器与显示电路:

由74LS48N共阴极数码管译码驱动电路和共阴极数码管构成,将倒计时计数器的十位、个位BCD码显示输出。

三、单元电路设计

1、脉冲信号发生电路(典型电路啦,可以不需要明白原理,直接拿过来用)

脉冲信号发生器由NE555无稳态模式构成多谐振荡器产生周期一秒的脉冲信号。

⑴NE555引脚图及逻辑关系真值表:

利用其无稳态模式构成多谐振荡器:

⑵电路震荡周期可由以下公式得出:

振荡频率:

占空比:

经查阅典型电路,产生一秒周期的脉冲信号,可选取电阻44KΩ和50KΩ、电解电容10uF、无极性电容100nF,具体电路如下:

仿真波形:

周期998.542ms约为1秒,符合设计要求。

2、倒计时计数器(这个是在计数器的基础上改进的,需要理解)

倒计时计数器由两片74LS190N十进制可逆计数器构成,通过在十位置数端置00()0、个位置数端置0101来构成25/5进制倒计时计数器,由的状态控制倒计时为25进制还是5进制。 

74LS190引脚图及真值表如下:

倒计时模式25/05进制切换控制:

用两个74LS190级联构成100进制计数器,再利用异步整体置数法构成25进制计数器,即当=1(状态控制器状态为10或01)时,计数模式为25进制;即当=0(状态控制器状态为00或11)时,计数模式为5进制。电路状态控制器的原理详见3。

倒计时计数器电路原理图如下:

3、状态控制器(设计的精髓)

       状态控制器的设计是本次课程设计的难点,也是很有创新性的巧妙设计。状态控制器由一片双D触发器74LS74及非门74LS04、与门74LS08、异或门74LS86组成。

双D触发器74LS74、非门74LS04、与门74LS08、异或门74LS86引脚图及真值表:

双D触发器74LS74

非门74LS04

门74LS08

 

异或门74LS86

状态控制器的设计:

电路状态分配如下所示:

采用格雷码的编码方式,有效避免了多个跳变沿不能对齐而产生的竞争冒险,使电路能稳定的按……的方式循环。

状态控制器状态转移逻辑推导:

将D触发器的反相输出端反馈接到作为输入,这样就使得每一次D触发器被触发的时候,输出总是与上一次的输出相反,这样,用两个D触发器再配合相应的逻辑就能够构成格雷码状态寄存器,实现00->01->11->10->00...的状态转移。如下图所示:

(格雷码状态寄存器) 

  此时,需要解决的问题是D触发器时钟跳变沿触发的问题,即要使格雷码状态寄存器在正常倒计时的时候保持响应的状态,又要在状态转移的时候引入跳变沿触发格雷码状态寄存器从而使状态发生转移。但是经过查找资料发现现有的方法跟我们目前的电路在思路上有很大区别,并不适用于我们的设计。在设计25/5进制倒计时计数器的时候我们用到了典型的整体置数法,利用其高位74LS190在借位时从0000->1001一瞬间的高电平加非门作为的触发信号的方法,我们将反馈回到状态控制电路,用作为,用作为,这样就能够在合适的时刻实现状态的转移了!真值表如下图所示:

  这种方法不仅巧妙的利用了已有电路,节省了成本,而且十分稳定,没有导线多驱动的问题。

状态控制器电路如图所示:

4、红绿灯控制逻辑与红绿灯显示电路

红绿灯控制逻辑与显示电路由红、黄、绿三色LED以及由三输入与门74LS10、非门74LS04、与门74LS08构成的逻辑组成。这个模块的设计难点在于逻辑推导。

红、黄、绿灯控制逻辑推导:

由于我们的题目是红绿灯需要引人注目,而TTL输出高电平>2.4V,如果限流电阻太大会导致电流很小,LED亮度不高,在明亮的白天不太明显,我们就采用了5V电源驱动,因此LED灯被选中发光的时候是低电平有效,利用状态控制器的输出,有以下控制逻辑真值表:

由真值表可推导出以下控制逻辑表达式:

但是设计要求黄灯闪烁,最简单的方法是引入NE555产生的脉冲信号CLK,修改后的控制逻辑表达式如下:

红绿灯控制逻辑与红绿灯显示电路原理图

5、数码管译码器与显示电路

数码管译码器与显示电路由共阴极数码管译码驱动电路74LS48和八段数码管组成,两个74LS48分别将个位、十位74L90输出的BCD码转化为共阴极数码管段选码,并驱动共阴极数码管的输出。

74LS48引脚图及真值表:

共阴极七段数码管显示原理

数码管由abcdefg7段发光LED排布而成,其阴极接到公共地,输入高电平,对应的数码管段被点亮。由于gfedcba点亮的编码非二进制编码,因而需要译码电路将二进制BCD码转化为共阴极数码管段选码。

数码管译码器与显示电路原理图:

四、完整的电路图


在(上)篇我们一起构建了multisim仿真原理图,在(下)篇笔者将带领大家完成电路的实现工作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/462343.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python3 获取某个文件夹所有的pdf文件表格提取表格并一起合并到excel文件

下面是一个完整的示例,其中包括了merge_tables_to_excel函数的定义,并且假设该函数的功能是从每个PDF文件中提取第一个表格并将其合并到一个Excel文件中: import os from pathlib import Path import pandas as pd import pdfplumber …

数字图像处理(实践篇)四十三 OpenCV-Python 使用SURF算法检测图像上的特征点的实践

目录 一 SURF算法概述 1 积分图 2 SURF算法 3 SIFT与SURF 二 涉及的函数 三 实践 一 SURF算法概述

113.路径总和 II

给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 叶子节点 是指没有子节点的节点。 示例 1: 输入:root [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSum 22 输出&a…

【Spring框架】Spring事务同步

目录 一、什么是Spring事务同步 二、 事务同步管理器 2.1 TransactionSynchronizationManager事务同步管理器 2.1.1 资源同步 2.1.2 事务同步 2.1.3 总结 三、事务同步管理器保障事务的原理 四、spring事务为何使用TransactionSynchronizationManager spring源码实现 …

金融信贷风控评分卡模型

评分卡模型概念 评分模型是根据借款人的历史数据,选取不同维度的数据类型,通过计算而得出的对借款人信用情况打分的模型。不同等级的信用分数代表了借款人信用情况的好坏,以此来分析借款人按时还款的可能性。 评分卡模型分类 A卡&#xff…

【Linux】线程池线程安全的单例模式和STL读者写者问题

需要云服务器等云产品来学习Linux的同学可以移步/–>腾讯云<–/官网&#xff0c;轻量型云服务器低至112元/年&#xff0c;优惠多多。&#xff08;联系我有折扣哦&#xff09; 文章目录 1. 线程池1.1 线程池是什么1.2 为什么要有线程池1.3 线程池的应用场景1.4 线程池的任…

MySQL篇之回表查询

一、聚集索引 将数据存储与索引放到了一块&#xff0c;索引结构的叶子节点保存了行数据。特点&#xff1a;必须有,而且只有一个。 聚集索引选取规则: 1. 如果存在主键&#xff0c;主键索引就是聚集索引。 2. 如果不存在主键&#xff0c;将使用第一个唯一&#xff08;UNIQUE&am…

公众号取关粉丝获取方法1

一、前言 你是不是还在苦恼&#xff0c;每日关注那么多新人&#xff0c;为何同样也会有那么多人取关&#xff0c;到底是哪里出了问题&#xff0c;这样一个困扰公众号主的一个世纪难题&#xff0c;今日小编就要和大家揭晓&#xff0c;当然&#xff0c;这篇文章可能对于不是公众…

TP-LINK今年的年终奖。。

TP-LINK 年终奖 如果说昨天爆料的「浦发银行年终奖&#xff0c;一书抵万金」还稍有争议&#xff08;有些说没发&#xff0c;有些说 3/4/5 折&#xff09;&#xff0c;那今天的 TP-LINK 则是毫无悬念。 据在职的 TP-LINK 技术员工爆料&#xff1a;入职时说好的 16 薪&#xff0c…

vue3 的setup和生命周期

vue3 的setup和生命周期 许多文章认为setup执行时间在beforeCreate 和created 之间&#xff0c;但是通过实际测试发现setup调用在beforecreate之前。 export default {beforeCreate() {console.log(beforeCreate running....);},created() {console.log("created runnin…

Oracle 几种行转列的方式 sum+decode sum+case when pivot

目录 原始数据&#xff1a; 方式一&#xff1a; 方式二&#xff1a; 方式三&#xff1a; unpivot的使用&#xff1a; 原始数据&#xff1a; 方式一&#xff1a; select t_name,sum(decode(t_item, item1, t_num, 0)) item1,sum(decode(t_item, item2, t_num, 0)) item2,s…

二、Mybatis相关概念

1.对象/关系数据库映射&#xff08;ORM) ORM全称Object/Relation Mapping&#xff1a;表示对象-关系映射的缩写ORM完成面向对象的编程语言到关系数据库的映射。当ORM框架完成映射后&#xff0c;程序员既可以利用面向对象程序设计语言的简单易用性&#xff0c;又可以利用关系数…