欢迎来到天天文库
浏览记录
ID:20864675
大小:1.03 MB
页数:31页
时间:2018-10-17
《基于verilog的eda》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、一.交通信号灯控制器的设计1.交通灯信号控制器的功能描述作为一个十字路口交通灯控制器,其东西、南北两个方向除了设置红、绿、黄三盏信号灯指示是否允许通行外,还有时钟以倒计时方式显示每条路允许通行或禁止通行的时间。此外,当外界发生特殊状况时,还可以改变设置特殊处理。现设计一个交通信号灯控制器,要求具有如下功能:(1)东西、南北方向有红、黄、绿指示灯,两个显示数码管分别显示东两、南北方向通行或禁止的时间;(2)信号灯亮、灭的时叫可以从外界设置和修改:(3)交通信号灯正常运行的状态转换如下表所示。表中Rl、G1、Y1分别表示东西方向亮红灯、绿灯和黄灯的时间,R2
2、、G2、Y2分别表示南北方向亮红灯、绿灯和黄灯的时间;要求G1+Y1=R2,G2+Y2=R2。亮灯状态由S0-S1-S2->S3->S0->S1不断循环。表一交通灯亮灯状态转换表状态SsoS1S2S3东西方向绿灯黄灯红灯亮灯时间G1Y1R1南北方向红灯绿灯黄灯亮灯时间R2G2R2当东丙、南北两个方向屮任何一个出现特殊情况时,可以屮断正常运行,进入特殊运行状态。此时两个方向红灯都亮,始终停止计数显示数字闪烁。当特殊状态结束时,时钟接着计数,系统恢复正常运行。R2G2Y2南北方向东西方向R1G1Y1图(1)十字路口交通图1.系统的原理框图表二交通灯控制流程表
3、R1G1Y1R2G2Y2SO010100S1001100S2100010S3100001注:在本次设计中令黄灯时间一定为5S,外部输入的绿灯时问为n(n〈=60),则总的计数时间范围为2n+10,计数器为减计数器。以d表示计数器计数值,在2n+10〜n+10为SO状态,在n+10〜n+5为是S1状态,在n+5…5为S2状态,5〜0为S3状态。控制流程图如下!•G1R2s0图(2)系统吋间控制流程图倒1-分位職:>显示模块输人链爛模块输出频率控制模块计数襆块••••j〉
4、数码管图(3)交通灯控制系统框图一.系统各模块说明1.分频模块分频器实现的是将外部输入
5、的时钟信号转换为需要1Hz的时钟信号,用于触发控制器、计数器和扫描显示电路。—elkclkl:inst图(4)分频模块图2.置数模块输入模块用于把外部输入的数赋值给计数器和控制器,用于确定计数范围和控制状态。在本设计中设定输入端n输入的数据在0-60之间inputEnlrputd3ta[5..OJoutputd-ata[5..0Jinst图(5)置数模块图3.计数模块计数模块即计数器,本设计中用到的是讨复位和u了置数减计数器它计数的范围是输入模块赋给的值的两倍加上10。当复位端resetsf时,计数器清0;当使能端en=’O’时,计数器停止计数。墓co
6、unter1»elkNun>out[6..0J••••»reset••••穆•—sn•穆穆••穆穆Counter{5..01•穆穆••穆穆••穆穆••穆穆••穆•阁(6)计数模块阁1.控制模块控制模块即控制器,它的作用是根据计数器的计数值和输入模块赋给的值进行比较,来控制东西、南北两个方向的红、绿、黄六盏信号灯的亮灭以及输出倒计时数值赋给分位模块。当特殊情况发生时,reset=’1’,点亮两个方向红灯,沖使计数器使能端En='0’,是计数器停止计数。1.分位模块分位模块即把控制器输出的数据个位和十位分开,分别送到数码管去显示出来。本实验用到A,B两个分位
7、模块,分别把东西和南北方向的通行时间或禁止时间送到显示模块。图(8)分位模块A图fenweiB••••••••••••••Btirrein[6..0JBtirreh[3..0Jinst2•••••••图(9)分位模块B图5.显示模块显示模块是将分位模块的数据用7段译码管显示出来。该设计用了4个显示模块来显示东西、南北两个方向的时间。一.各模块程序及其仿真1.分频模块libraryieee;useieee.stdlogic1164.all:entityfenisport(elk:instd_logic:clkl:outstd_logic);endfen
8、;architecturefen_arcoffenisbeginprocess(elk)variableent:integerrange0to49;—设该分频模块为50hz分频beginifelk’eventandclk=’1’thenifcnt=49thenent:=0;clkl<=f:elseent:=cnt+l;clkl’(V;—在ent为0到48时,clkl保持不变;为49改变。endif;endif;endprocess:endfen_arc:仿真图如下图(11)分频模块仿真图2.置数模块LIBRARYIEEE;USEIEEE.STDLOGIC
9、1164.ALL;USEIEEE.STD_LOGIC_unsigned.ALL;
此文档下载收益归作者所有