数字逻辑电路交通信号灯控制器设计与multisim仿真

news2024/11/15 8:49:56

当今时代是一个自动化时代,交通灯控制等很多行业的设备都与计算机密切相关。因此,一个好的交通灯控制系统,将给道路拥挤、违章控制等方面给技术革新。随着大规模的集成电路及计算机技术的迅速发展,以及人工智能在控制技术方面的广泛运用,智能设备有了很大的发展,是现在科技发展的主流方向。  

交通信号灯是日常生活中遇到的一个普通实例,它的控制也颇具典型和实用价值。由于交通路口的形状和规模不一,所采用的信号灯的数量、控制要求不一,控制的复杂程度也就不一样。自从交通灯诞生以来,其内部的电路控制系统就不断的被改进,设计方法也开始多种多样,从而使交通灯显得更加智能化、科学化、简便化。尤其是近几年来,随着电子与计算机技术的飞速发展,电子电路分析和设计方法有了很大的改进,电子设计自动化也已经成为现代电子系统中不可缺少的工具和手段,这些为交通灯控制电路的设计提供了一定的技术基础。


第一章 multisim简介

NI Multisim是一款著名的电子设计自动化软件,与NI Ultiboard同属美国国家仪器公司的电路设计软件套件J侨胙〔死哟骃PICE项目中为数不多的几款软件之一。

Multisim是一款Multisim在学术界以及产业界被广泛地应用于电路教学、电路图设计以及SPICE模拟,著名的电子设计自动化软件,是EDA仿真设计系统的一个重要组成部分,它创建电路方便且仿真所用的仪器及仿真数据读取方法都与实际实验方法相似,有各种虚拟仪器和仪表可以使用且不消耗实际元器件,降低了实验成本,节省实验时间,提高了实验效率。

Multisim在学术界以及产业界被广泛地应用于电路教学、电路图设计以及SPICE模拟。Multisim是以Windows为基础的仿真工具,适用于板级的模拟/数字电路板的设计工作。它包含了电路原理图的图形输入、电路硬件描述语言输入方式,具有丰富的仿真分析能力。我们可以使用Multisim交互式地搭建电路原理图,并对电路进行仿真。Multisim提炼了SPICE仿真的复杂内容,这样我们无需懂得深入的SPICE技术就可以很快地进行捕获、仿真和分析新的设计,这也使其更适合电子学教育。通过Multisim和虚拟仪器技术,PCB设计工程师和电子学教育工作者可以完成从理论到原理图捕获与仿真再到原型设计和测试这样一个完整的综合设计流程。

实际工作中可以利用此软件实现计算机仿真设计与虚拟实验,并且设计与实验可以同步进行,可以边设计边实验、修改调试方便、设计和实验用的元器件及测试仪表齐全,可以完成各种类型的电路设计与实验,仿真时可方便地对电路参数进行测试和分析,可直接打印输出实验数据、测试参数、曲线和电路原理图,并且在实验中不消耗实际上的元器件,实验所需元器件的种类和数量不受限制,从而降低了实验成本低,加快了实验速度,提高了实验效率高。基于上述优点,我们利用虚拟实验室中的虚拟仪器来组织完成交通灯控制电路的仿真设计。


第二章 总体设计思路、基本原理和框图
2.1设计思路

依设计要求,交通灯控制系统主要由秒脉冲信号发生器,倒计时定时计数器,信号灯转换控制器和译码驱动器等单元电路组成,其原理框图如图2.1.1所示。其中,秒脉冲信号发生器是倒计时定时电路和黄灯闪烁控制电路的标准时钟信号源;倒计时定时计数器输出两组驱动信号,分别为黄灯闪烁和红绿灯转换的控制信号,这两组信号经信号灯转换控制器控制信号灯有序工作。译码驱动器用以驱动点亮东西,南北两个方向车道的交通信号灯。

(见附件)
2.1.1 交通灯控制系统原理框图

2.2设计原理和功能

图2.2(1) 交通信号系统外观示意图

根据设计任务与要求, 系统主要由秒脉冲信号发生器、计数器、控制器、信号灯显示器四大部分组成。其中秒脉冲信号发生器用于给各个组成部分提供脉冲信号,向控制器发出定时信号,使相应的发光二极管发光。计数器在控制器的控制下,改变交通灯信号,产生倒计时时间显示,控制器根据计数器的信号,进行状态间的转换,使显示器的显示发生相应转变。计数器可由74LS190实现,交通信号控制器可由JK触发器实现。扩展功能为交通灯转换提示功能,以提示行人交通灯转换了,请注意。

上述方案所示的交通信号灯控制器的工作过程:先手动对倒计时模块进行预置数设置,然后倒计时和信号灯同时开始工作,一开始东西方向是绿灯,南北方向为红灯,倒计时从45开始以一秒减1的工作状态进行减计时;当倒计时减到“05

”时,状态转换,东西方向为黄灯闪烁,南北方向为红灯;当倒计时减到“00”

时,状态转换,东西方向是红灯,南北风向为绿灯,然后计数器重新预置数为45;当倒计时减到“05”时,状态转换,东西方向为红灯,南北方向为黄灯闪烁。如此循环下去,进行交通灯运作。

图2.2(2)系统工作流程图

2.2.1基本功能

1、设计一个十字路口的交通灯控制电路,要求东西方向和南北方向车道两条交叉道路上的车辆交替运行,每次通行时间都设为45s。时间可设置修改。

  • 在绿灯转为红灯时,要求黄灯先亮5s,才能变换运行车道。
  • 黄灯亮时,要求每秒闪亮一次。
  • 东西方向、南北方向车道除了有红、黄、绿灯指示外,每一种灯亮的时间都用显示器进行显示。

5、假定+5V电源给定。

2.2.2拓展功能

在每个入口设置了与交通灯同时工作的蜂鸣器,以方便提示行人通过。


2.3总体设计框图
 

图2.3 总设计框图

第三章 单元电路设计

3.1各芯片的用法和功能

3.1.1  74LS190

表3.1.1 74LS190的功能表

图3.1.1(1)74LS190的外引线图

图3.1.1(2)74LS190的逻辑符号

3.1.2   JK触发器

JK触发器是数字电路触发器中的一种基本电路单元。JK触发器具有置0、置1、保持和翻转功能,在各类集成触发器中,JK触发器的功能最为齐全。在实际应用中,它不仅有很强的通用性,而且能灵活地转换其他类型的触发器。由JK触发器可以构成D触发器和T触发器。
K触发器和触发器中最基本的RS触发器结构相似,其区别在于,RS触发器不允许R与S同时为1,而JK触发器允许J与K同时为1。当J与K同时变为1的同时,输出的值状态会反转。也就是说,原来是0的话,变成1;原来是1的话,变成0。 对应表如下表3.1.2:
表3.1.2 JK触发器的时序图

图3.1.2(2) JK触发器逻辑简图

输入信号在负跳变触发沿来到后就不必保持,原因在于即使原来的J、K信号变化,还要经一级与非门的延迟才能传输到G3和G4的输出端,在此之前,触发器已由G12、G13、G22、G23的输出状态和触发器原先的状态决定翻转。所以这种触发器要求输入信号的维持时间极短,从而具有很高的抗干扰能力,且因缩短tCPH 可提高工作速度。
从负跳变触发沿到触发器输出状态稳定,也需要一定的延迟时间tCPL。显然,该延迟时间应大于两级与或非门的延迟时间。即tCPL大于2.8tpd。
综上所述,对边沿JK 触发器归纳为以下几点:
1.边沿JK 触发器具有置位、复位、保持(记忆)和计数功能; 2.边沿JK 触发器属于脉冲触发方式,触发翻转只在时钟脉冲的负

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

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

相关文章

Systemd服务配置排坑-TasksMax参数

一、背景 由于产品是Java程序,之前都是通过封装的start.sh运行即可。但是出于架构调整,改换为Ansible进行自动化部署,同时改用Systemd service的方式来对程序进行管理。 但不知道为啥原因,使用systemctl启动这个程序,就…

如何优雅的解析多层JSON报文数据?什么是Ognl?

在日常项目开发中,经常遇到与其他数据交互就需要进行数据传输处理,那么当对方系统返回的数据报文有多层复杂的json数据时候,如何简单快捷的获取指定节点的数据呢,答案是可以使用Ognl来解决。 1.什么是ognl? OGNL全称…

一位美国的PM分享:AI产品经理的10大技能

从传统角度来看,一款成功的产品需要拥有稳定的功能,至少要满足甚至超出用户的期望,并且能够为业务的增长作出重大贡献。产品经理的主要职责包括设定和管理用户期望,定期收集可量化的反馈信息,严格地与工程师进行沟通&a…

【代码随想录——动态规划——理论基础】

1.理论基础 动态规划,英文:Dynamic Programming,简称DP,如果某一问题有很多重叠子问题,使用动态规划是最有效的。 所以动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心&#xff0c…

Jenkins的jdk和maven配置

目录 传送门前言一、概念二、JDK的配置三、Maven配置四、环境变量配置五、坑 传送门 SpringMVC的源码解析(精品) Spring6的源码解析(精品) SpringBoot3框架(精品) MyBatis框架(精品&#xff09…

Java+前端+Vue 后端Spring boot 开发的全套UWB定位方案,0.1米高精度定位系统源码

Java前端Vue 后端Spring boot 开发的全套UWB定位方案,0.1米高精度定位系统源码 UWB定位系统由硬件定位设备、定位引擎和应用软件组成。该定位系统应用软件支持PC端和移动端访问,并提供位置实时显示、历史轨迹回放、人员考勤、电子围栏、行为分析、智能巡检等功能…

基于docker的oracle12.2.0.1部署及oracle使用与docker镜像容器制作迁移方法

基于docker的oracle12.2.0.1部署及oracle使用与docker镜像容器制作迁移方法 本文介绍了基于docker的oracle12.2.0.1部署,包含了oracle基本配置、监听器和实例启动方法、PDB和CDB操作方法、表空间建立和用户数据库建立、常见启动问题解决等,并介绍了镜像制…

resultType的类型错误

resultType的类型错误,不能是List而应该是对应的返回Bean对象的类型,VO 这里是引用 org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: Error querying database. Cause: java.lang…

【Python】【PVE】使用PVE-API对虚拟机进行远程关机

源代码 import requests import urllib3 urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)address "填写PVE的域名/IP:端口" path "/api2/json/nodes/填写节点名称/qemu/填写虚拟机VMID/status/shutdown" url "https://&quo…

vs - vs2013中编译sqlite3.44.2

文章目录 vs - vs2013中编译sqlite3.44.2概述笔记工程输出归档END vs - vs2013中编译sqlite3.44.2 概述 以前在vs2019下编译了sqlite3.44.2, 好使。做了笔记(sqlite3.44.2的编译) 现在准备将手头的vs2019工程改为vs2013的,自然要将sqlite也编译为vs2013版本的。 按…

Python for循环 使用两个变量

https://geek-docs.com/python/python-ask-answer/336_python_for_loop_with_two_variables.html 一、使用zip()函数进行迭代 zip()函数可以将两个或多个可迭代对象打包成一个元组序列。 fruits [apple, banana, orange] prices [0.5, 0.3, 0.4]for fruit, price in zip(f…

【C++】C++提供类型转换的机制

目录 前言: 一,static_cast 二,reinterpret_cast 三,const_cast 四,dynamic_cast 前言: 传统的不同类型转换有隐式类型转换(类型不匹配时编译器自动进行的转换,如:i…

记一次安卓.apk加固,加固后安装失败,重新签名也安装失败问题

1、AndroidStudio打包生成.apk文件 2、使用360加固apk(或其他平台) 注意:加固后的apk必须进行重新签名才能安装,否则安装失败。apk签名可以使用jarsigner 和 apksigner,jarsigner 只能进行v1签名;apksigner…

Linux ip命令常用操作

ip 命令来自 iproute2 软件包,在 CentOS 7 中默认已安装(yum install -y iproute)。 iproute2 软件包提供了很多命令(rpm -ql iproute |grep bin),如 ss 命令、bridge,这些命令可以完全替代 if…

【CMake系列】06-项目结构与输出路径管理

为了对大型项目实现更好的管理【模块化协作开发等等】,cmake 提供了很多指令,可以对项目的结构进行调整、管理,便于项目的合理规划。本文我们要学习的就是 项目结构的设置,以及 构建程序等 输出路径的设置 本专栏的实践代码全部放…

【MySQL】Linux安装MySQL

一、center OS环境准备 为了在Linux系统中查看MySQL5.8与8.0版本的区别 我们要准备两个虚拟机,需要的软件:VMware和CentOS7 因为博主之前在学习redis的时候已经安装过一个虚拟机了,所以我就直接克隆了一个CentOS2.0 修改mac地址&#xff0…

mysql8.0中的mysql.ibd

mysql8.0版本中多了一个mysql.ibd的文件。5.7版本则没有这个文件。 MySQL5.7: .frm文件 存放表结构信息 .opt文件,记录了每个库的一些基本 信息,包括库的字符集等信息 .TRN,.TRG文件用于存放触发器的信 息内容。 在MySQL 8.0之前&#xff0…

Windows10系统中安装与配置PyTorch(无GPU版本)

文章目录 1. 什么是PyTorch2. PyTorch的安装与配置(无GPU)2.1 创建环境2.2 安装pytorch库(无GPU)2.3 验证安装结果 1. 什么是PyTorch PyTorch 是一种用于构建深度学习模型且功能完备的开源框架,通常用于处理图像识别和…

计算机网络学习实践:模拟RIP动态路由

计算机网络学习实践:模拟RIP动态路由 模拟动态路由RIP协议 1.实验准备 实验环境:华为模拟器ENSP 实验设备: 3个路由器,3个二层交换机(不是三层的),3个PC机 5个网段 192.168.1.0 255.255.…

【C++】STL:栈和队列模拟实现

💞💞 前言 hello hello~ ,这里是大耳朵土土垚~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹 💥个人主页&#x…