




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、生物医学工程 王春雨 基于VHDL的交通灯控制器设计应用VHDL语言设计数字系统,大部分设计工作可在计算机上完成,从而缩短系统开发时间,提高工作效率。下面介绍基于VHDL设计交通灯控制器的一种方案,并给出源程序和仿真结果。1 系统功能与要求实现交通繁忙的主路和偶有车行的小路交会路口的交通管理。要求:1、交通灯控制器控制主干道和小路交叉路口的交通。2、小路口来车,主线路口绿灯切换到黄灯5秒钟后变为红灯。3、红灯燃亮20秒后,自动切换为绿灯。4、指示左转弯的绿灯亮12 s,绿灯变至红灯时,黄灯亮3 s。5、主路的交通管制重新切换到绿灯后5分钟内不理睬小路上的车况,即使又有车辆驶入小路路口。上述主路
2、上的灯光显示,小路口的灯信号与之逻辑配合。2 程序设计根据交通灯控制器的功能与要求,将其总体电路分为分频器、信号控制器两个模块。外部脉冲振荡器的频率选为32768 kHz,经分频器分频得1 Hz的信号,1 Hz信号用做信号控制器的计数脉冲,用VHDL设计组成交通灯控制器的分频器、信号控制器两个模块,在MAX+plus 平台上,编译VHDL程序,然后用原理图输入法形成总体框图。实验程序:Library IEEE; Use IEEE.Std_Logic_1164.All; Use IEEE.STd_Logic_Unsigned.All;Entity Frequency10Hz IsPort (Cl
3、k20M: In Std_Logic; Clk10Hz:Out Std_Logic ); End; Architecture Count Of Frequency10Hz IsSignal Tout:Integer Range 0 to ; Signal Clk:Std_Logic; Begin Process(Clk20M) Begin If rising_edge(Clk20M) then If Tout= then Tout=0; Clk=Not Clk; Else Tout=Tout+1; End If; End If;End Process;Clk10Hz=Clk; End;Libr
4、ary IEEE; Use IEEE.Std_Logic_1164.All; Use IEEE.STd_Logic_Unsigned.All;Entity Frequency IsPort (Clk10Hz: In Std_Logic; Clk1Hz:Out Std_Logic); End; Architecture Count Of Frequency IsSignal Tout:Integer Range 0 to 4; Signal Clk:Std_Logic; Begin Process(Clk10Hz) Begin If rising_edge(Clk10Hz) then If To
5、ut=4 then Tout=0; Clk=Not Clk; Else Tout=Tout+1; End If; End If;End Process;Clk1Hz=Clk; End;Library IEEE; Use IEEE.Std_Logic_1164.All; Use IEEE.Std_Logic_Unsigned.All; Entity Controller IsPort (Clock:In Std_Logic;Hold:In Std_Logic;CountNum:IN Integer RANgE 0 TO 49;Flash:Out Std_Logic;NumA,NumB:Out I
6、nteger Range 0 To 25;RedA,GreenA,YellowA:Out Std_Logic;RedB,GreenB,YellowB:Out Std_Logic); End;ARCHITECTURE Behavior OF Controller ISBEGIN PROCESS(CLOCK)Begin If falling_edge(Clock) thenIf Hold=1 then RedA=1; RedB=1; GreenA=0; GreenB=0; YellowA=0; YellowB=0; Flash=1; Else Flash=0; If CountNum=19 the
7、n NumA=20-CountNum; RedA=0; GreenA=1; YellowA=0; Elsif (CountNum=24) then NumA=25-CountNum; RedA=0; GreenA=0; YellowA=1; Else NumA=50-CountNum; RedA=1; GreenA=0; YellowA=0; End If; If CountNum=24 then NumB=25-CountNum; RedB=1; GreenB=0; YellowB=0; Elsif CountNum=44 then NumB=45-CountNum; RedB=0; Gre
8、enB=1; YellowB=0; Else NumB=50-CountNum; RedB=0; GreenB=0; YellowB=1; End If; End If;End If; End Process;End;LIBRARY IEEE;USE IEEE.Std_logic_1164.all;Use IEEE.Std_Logic_Unsigned.All;ENTITY Counter ISPORT (Clock:IN Std_logic;Reset:IN Std_logic;Hold:IN Std_logic;CountNum:BUFFER Integer RANGE 0 TO 49);
9、END;ARCHITECTURE Behavior OF Counter ISBEGIN PROCESS(Reset,Clock) BEGIN IF Reset=1THENCountNum=0; ELSIF rising_edge(Clock) THEN IF Hold=1THEN CountNum=CountNum; ELSE IF CountNum=49 THEN CountNum=0; ELSE CountNum=CountNum+1; END IF; END IF; END IF; END PROCESS;END Behavior;Library IEEE;Use IEEE.Std_L
10、ogic_1164.All;Use IEEE.Std_Logic_Unsigned.All;Entity Display Is Port( Clock:In Std_Logic; Flash:In Std_Logic; Qin:In Std_Logic_Vector(3 Downto 0);Display:Out Std_Logic_Vector(0 to 6);End;Architecture Light Of Display IsSignal Timeout:Integer Range 0 To 11;Begin Process(Clock)Begin If rising_edge(Clock) then If (Flash=0) then Timeout=0; Else If (Timeout=11) then Timeout=0; Else Timeout=Timeout+1; End If; End If; If (TimeoutDisplayDisplayDisplayDisplayDisplayDisplayDispl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 全国市级联考湖南省邵阳市2026届中考一模语文试题含解析
- 新能源电池档案管理制度
- 管理创新新视野
- 心血管疾病患者的居家护理查房
- 高危药物输注的安全管理策略
- 输液满溢风险监测与防范
- 导尿管护理中的感染控制策略
- 静脉血样采集合规操作指南
- 静脉留置针使用的安全管理方法
- 事业单位考试公共基础知识考试试题(附答案)
- 低空经济与无人机应用
- 教学课件-《酒店服务礼仪(第2版)》-王冬琨
- 【新教材】苏科版(2024)七年级上册数学第1-6章全册教案设计
- 9、企业研究开发组织管理水平总体情况说明
- 木垒风电勘察报告
- 屋面防水维修工程投标方案技术标
- 漫画解读非煤地采矿山重大事故隐患判定标准
- (2024年)剪映入门教程课件
- 石材的检测报告
- 文化创意行业IP打造策划书
- 2024年低压电工(特种作业操作证)考试题库及答案(通用版)
评论
0/150
提交评论