基于某Simulink地逻辑电路仿真-交通灯设计

基于某Simulink地逻辑电路仿真-交通灯设计

ID:47390050

大小:1.35 MB

页数:19页

时间:2019-07-11

基于某Simulink地逻辑电路仿真-交通灯设计_第1页
基于某Simulink地逻辑电路仿真-交通灯设计_第2页
基于某Simulink地逻辑电路仿真-交通灯设计_第3页
基于某Simulink地逻辑电路仿真-交通灯设计_第4页
基于某Simulink地逻辑电路仿真-交通灯设计_第5页
资源描述:

《基于某Simulink地逻辑电路仿真-交通灯设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、标准文档Simulink逻辑电路仿真—交通灯设计2014春季Matlab系统仿真分析作业完成日期2014.04.29目录设计说明1设计思路1具体设计步骤2计数器的设计2计数器的仿真10交通灯电路设计。15交通灯仿真17设计说明本文设计了一个简易的交通灯时序逻辑电路,该电路通过对输入时钟信号的分频,控制红黄绿三种交通灯的按顺序亮灭并循环,其中绿灯持续25s,黄灯持续5s,红灯持续35s。主要用到的器件为jk触发器,与门,与非门,或门,或非门。为了实现交通灯控制电路,首先设计并封装了4位计数器,在此基础上进一步搭建逻辑电路,实现交通灯的控制,并分别对这些模块进行了仿真。设计思路主要的设计思

2、路是利用jk触发器串联的方式对输入的时钟进行分频,然后在相应的时刻产生控制脉冲信号,通过这个信号对信号灯的状态进行翻转。Jk触发器是一种边沿敏感器件,有对上升沿和下降沿敏感的两类,他们的符号如下:实用文案标准文档其真值表如下:在这个设计中,将jk触发器的j和k端都置1,从而Q端在每个时钟沿到来时进行翻转,然后将上一级的Q作为下一级的clk,这样达到对clk进行分频的目的。波形如下:具体设计步骤计数器的设计打开matlab,这里使用的版本为R2014A.启动画面如下:实用文案标准文档启动之后点击这里启动simulink打开之后界面如下:实用文案标准文档点击File>New>Model打开

3、界面如下:实用文案标准文档下面的步骤为寻找仿真模型或原件,并摆放在上面的untiled文档中。首先将窗口切换到SimulinkLibraryBrowser窗口,展开SimulinkExtras>FlipFlops,左侧就会出现常用的触发器模型,其中就有jk触发器,用鼠标左键选中J-KFlip-Flop并拖到untiled文档中一个jk触发器可以对时钟2分频,2个串联可以4分频,这里6个才能满足需求,但是为了便于扩展应用,这里将4个jk触发器作为一组串联起来。untiled文档中已经有一个,鼠标右键拖动这个jk触发器即可复制。调整四个jk触发器的位置,如图:实用文案标准文档该窗口左上角标

4、题右侧的*表示该文档有改动并且未保存。该窗口中按下鼠标滚轮键鼠标会变成手状,这时可以拖动整个视图,滚动鼠标滚轮可以放大缩小视图,左键选中模型按del键可以删除模型。模型中端口上的箭头表示信号流动方向,连线的时候必须按照箭头的方向进行,不能使信号流动方向和箭头方向相反,否则仿真时可能会报错。连线时为了在一条线上引出分支,可以用鼠标右键点击分支处即可引出。两个线相交的地方有黑点表示电气相连,没有黑点表示相交但不相连。在前面的分析中提到这里要将jk出发器的jk端置1,这需要常量和数据类型转换模块,因为在matlab中大部分模型的输出是数值型的,比如为float或者double型的,这样如果输

5、出了1,它可能是double或者int类型的,而逻辑电路中的1是一种逻辑电平,这两者的含义是不同的,因此如果要给触发器输入1,需要将一个常量1转换为逻辑1,这就是DataTypeConversion的作用,常量1的输出通过Constant实现,他们在CommonlyUsedBlocks中,如图,分别拖放两个模型到untiled文档中。实用文案标准文档现在untitled文档中的模型如下:双击DataTypeConversion1可以打开它的属性对话框,我们需要关心的是转换的类型,这个可以通过Outputdatatype后面的下拉框来设置,其中就有boolean这种类型。默认为Inher

6、it:Inheritviabackpropagation实用文案标准文档方式输出,意思为从输出端反向继承数据类型,也就是说输出端连接的端口需要什么类型就转化为相应的类型。这里需要改为boolean就可以实现给触发器输入高电平。调整他们的位置并按下面的样子完成连线:然后按ctrl+s保存文档,如下:实用文案标准文档下面对这个模块进行封装,按下ctrl+A选中所有模型,再通过下面的方式进行封装(快捷键Ctrl+G)封装之后变成这个样子:双击进入该模块内部,可以看见自动为输入和输出添加了连接点并编号,如下:上面这幅图片中出现了很多double,这是由于DataTypeConversion输出

7、没有改成boolean而又进行了仿真造成的,如果不改也能仿真,但是数据类型不是逻辑电平,如果修改了就不会出现上面的那些字符。这里面部分端口不使用,摆放位置也比较乱,可以选中之后进行修改,修改之后如下:实用文案标准文档然后按下ctrl+s进行保存,点击下面的位置返回到顶层视图此时封装的模块变成了下面的样子:我们可以双击模块下面的名称来改变它,因为这个模块可以进行0~15的循环计数,这里将名称改成counter_16。如下:计数器的仿真现在一个4位

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。