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

news2024/11/25 6:28:02

(一)前言

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

(二)目录

一、主要指标及要求

二、电路工作原理

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.coloradmin.cn/o/1426629.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

「数据结构」3.ArrayList

🎇个人主页:Ice_Sugar_7 🎇所属专栏:Java数据结构 🎇**欢迎点赞收藏加关注哦!* ArrayList 🍉ArrayList的构造🍉add方法🍌扩容机制🍌重要结论 🍉其…

大数据交易蓝图,推动数据价值实现

数据最为新的生产要素,必定会推动各行各业的革新和转型。 数据流通,是数据价值实现的必然之路。 大数据交易中心,提供数据产品挂牌出售和合法合规交易的场所和平台。 数据厂商,通过技术手段收集数据,实现数据标准化…

idea配置tomcat

推荐链接:IntelliJ IDEA中配置Tomcat(超详细)_idea怎么配置tomcat服务器-CSDN博客 1,官员下载链接:Apache Tomcat - Welcome! 附本人下载的 tomcat9 的百度网盘链接 链接:https://pan.baidu.com/s/1DpyBGnG4mUGTm5Z…

【Django开发】0到1开发美多商城项目第3篇:用户注册业务实现(附代码,已分享)

本系列文章md笔记(已分享)主要讨论django商城项目相关知识。项目利用Django框架开发一套前后端不分离的商城项目(4.0版本)含代码和文档。功能包括前后端不分离,方便SEO。采用Django Jinja2模板引擎 Vue.js实现前后端…

[Java面试]JavaSE知识回顾

🎄欢迎来到边境矢梦的csdn博文🎄 🎄本文主要梳理Java面试中JavaSE中会涉及到的知识点 🎄 🌈我是边境矢梦,一个正在为秋招和算法竞赛做准备的学生🌈 🎆喜欢的朋友可以关注一下&#x…

STM32CubeIDE 使用标准库来编写程序

这些天我想找一个软件来实现软件的替代。就找到了st 的生态。可是现在st 生态都在极力的推荐HAL 库,但是习惯了标准库的朋友们,还不是很习惯。 先上总结一下,为了好记忆: 一、 在编译栏做如下设置 1、头文件设置 2、源文件设置 二、指定具体的预定义宏 1、USE_STDPERIPH_D…

实习日志10

1.用户信息 1.1.在用户管理中编辑用户信息 1.2.绑定公司id 1.3.显示在页面 2.修改识别逻辑 2.1.分析 先识别,再判断,清空键把识别结果清空 2.2.写码 修改了发票识别逻辑,略... 3.接高拍仪 3.1.js引入报错 分析: 遇到的错误…

【日常总结】宝塔中 Gitlab服务器 forbidden

一、场景 二、问题 三、原因 四、解决方案 五、实战 Stage 1:打开 /etc/gitlab/gitlab.rb,并编辑 Stage 2:重启gitlab服务 Stage 3:测试(打开girlab网页) 六、后续 一、场景 公司更换新电脑 服务…

智能家居的网关新形态:Aqara 方舟智慧中枢 M3 体验

如果说在刚刚结束的 2023 年有哪些备受期待的智能家居产品,Aqara 方舟智慧中枢 M3 一定榜上有名,我的多位朋友也曾在装修过程中多次向我询问是否有这款产品的相关资讯;谁能想到自从在 2022 年 11 月首次亮相之后,这款产品一直等了…

1个 THM 和多台 BSP 的通讯(以邦纳 BSP 系列 PLC 为例)

一.架构和接线如下图所示 二、建立连接 选择 PLC 的驱动,多台连接请勾选“次连接” “次连接总数”就是要连接的 PLC 台数。 设置触摸屏通讯参数;同时确保每台 PLC 的通讯参数与该设定相同(但站号不能相同)。 三、…

DRV8313和L298N都是电机驱动,一个是驱动三相FOC无刷直流电机的,一个是驱动有刷电机,使stm32控制无刷电机简单入门知识

DRV8313和L298N都是电机驱动器,但它们之间存在一些关键的区别: DRV83131: 由德州仪器(TI)制造。 具有集成的场效应晶体管(FET)。 最大电压为65V。 峰值电流为3A。 适用于三相电机驱动。 L298N…

基于SpringBoot+Vue学科竞赛管理系统

文章目录 基于SpringBootVue学科竞赛管理系统1系统概述1.3系统设计思想 2相关技术2.1 MYSQL数据库2.2 B/S结构2.3 Spring Boot框架简介2.4 Vue简介 3系统分析3.1可行性分析3.1.1技术可行性3.1.2经济可行性3.1.3操作可行性 3.2系统性能分析3.2.1 系统安全性3.2.2 数据完整性 3.4…

【鸿蒙】大模型对话应用(三):跨Ability跳转页面

Demo介绍 本demo对接阿里云和百度的大模型API,实现一个简单的对话应用。 DecEco Studio版本:DevEco Studio 3.1.1 Release HarmonyOS SDK版本:API9 关键点:ArkTS、ArkUI、UIAbility、网络http请求、列表布局、层叠布局 页面跳…

Oracle 面试题 | 06.精选Oracle高频面试题

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

C languange DGEQRF 示例,link liblapack.a

1.示例源码 #include <stdio.h>int min(int m, int n){ return m<n? m:n;}void print_matrix(double* A, int m, int n, int lda) {for (int i 0; i < m; i){for (int j 0; j < n; j){//printf("%7.4f ", A[i j*lda]);printf("%7.4f, &quo…

结构体--共用体--枚举 之难点——链表 奋力学习嵌入式的第十六天

结构体 注意&#xff1a; 1.结构体类型 可以定义在 函数里里面 但是此时作用域就被限定在该函数中 2.结构体定义形式 //形式一 限定一类型 后定义变量 struct stu { ... }; struct stu s; //形式二 定义类型的同时 定义变量 struct stu { ... }s1,s2,*s3,s4[10]; struc…

骨传导耳机是什么?使用骨传导耳机可以保护听力吗?

骨传导耳机是一种特殊的蓝牙耳机&#xff0c;通过人体骨骼来传递声音&#xff0c;可以绕过耳道和耳膜直接传达音频到听者的内耳&#xff0c;开放双耳的佩戴方式可以在享受音乐或通话的同时保持对周围环境的感知&#xff0c;这种设计在户外活动或运动等场景下的使用尤为实用&…

ENG-2,可用于监测细胞内钠离子的动态变化

Replacement of Asante NaTrium Green-2 AM钠离子指示探针&#xff0c;ENG-2&#xff0c;可用于监测细胞内钠离子的动态变化 您好&#xff0c;欢迎来到新研之家 文章关键词&#xff1a;Replacement of Asante NaTrium Green-2 AM钠离子指示探针&#xff0c;ENG-2 一、基本信…

Mac brew教程

一、安装brew /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"二、查看brew版本 brew -vbrew -v 三、搜索软件 命令格式&#xff1a;brew search 软件名 eg&#xff1a; brew search nginx四、安装软件 命令格…

Leetcode 热门百题斩(第一天)

介绍 针对leetcode的热门一百题&#xff0c;解决大多数实习生面试的基本算法题。通过我自己的思路和多种方法&#xff0c;供大家参考。 1.两数之和&#xff08;题号&#xff1a;1) 方法一 最先想到的就是两个for去遍历匹配。 class Solution {public int[] twoSum(int[]…