- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
交通灯控制器
姓名__孔亮__ 学号__0928401116__ 专业__电子信息工程__
一、设计要求:
1、能显示十字路口东西、南北两个方向的红、黄、绿灯的指示状态,用两组发光管表示两个方向的红、黄、绿灯。
2、能实现正常的倒计时功能。
用两个数码管LED作为东西、南北方向的时间显示,时间为红灯45秒,绿灯40秒,黄灯5秒。
3、能实现特殊状态的功能。
按键1按下后能实现:
(1)、计数器停止计数并保持在原来的状态。
(2)、东西南北路口均显示红灯状态。
(3)、特殊状态解除后能继续计数。
4、能实现总体清零功能
按键2按下后系统实现总清零,计数器由初始状态计数,对应状态的指示灯亮。
二、设计过程:
1、总体设计概要:
根据交通灯控制器的功能与要求,将其总体电路分为状态控制,倒计时,数码管显示,信号灯显示模块(jtd_ctrl,jtd_time,jtd_xs,jtd_light),jtd_ctrl实现逻辑与时序控制,外部两路脉冲振荡器的频率选为1kHz和1Hz的信号。
M
CTR
CLK
CTR
M
CLK
CLK1K
图1 设计框图
2、交通灯原理分析
当M =‘1’时,进入紧急状态,ABL输出为B“100100”,即南北、东西方向均为红灯亮。
当M=‘1’跳变到M=‘0’时,数码管继续计时,恢复正常工作状态。
当CTR=‘1’时,系统清零,交通灯从初始状态(即ABL输出为“100010”)开始工作。
当M=‘0’且CTR=‘0’时,交通灯即开始正常工作。经过40秒,ABL由B“100010”变为B“100001”,再经过5秒,ABL变为B“010100”,再经过40秒,S变为B“001100”,再经过5秒,ABL变为B“100010” ……如此循环下去。
南北、东西方向的红绿灯按表一表二变化。
表一 交通灯状态转换表
东西(A)方向 红灯 绿灯 黄灯 45秒 40秒 5秒 南北(B)方向 绿灯 黄灯 红灯 40秒 5秒 45秒
表二 交通灯状态转换表
CTR M ABL 备注 0 1 100100 长时间亮红灯 1 0 100010 初始状态 0 0 状态1: 100010 持续40秒,转到状态2 状态2: 100001 持续5秒,转到状态3 状态3: 010100 持续40秒,转到状态4 状态4: 001100 持续5秒,转到状态1
注:S的六位分别对应东西(A)方向的红绿黄和南北(B)方向的红绿黄,’1’表示亮,’0’表示灭。
三、模块设计及仿真
1、顶层文件的设计
顶层原理图设计可以依据系统框图进行,由反馈控制,倒计时,数码管显示,信号灯显示模块(jtd_ctrl,jtd_time,jtd_xs,jtd_light)五部分组成。其顶层原理图如图2所示。
图2 顶层原理图
顶层文件的仿真波形图如图3所示:
图3 顶层文件的仿真波形
2、状态控制模块(jtd_ctrl)的设计
状态控制模块根据倒计时模块(jtd_time)的输出信号和1Hz的时钟信号,产生系统的状态机,控制其他部分的协调工作。该模块的源文件程序如下:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY JTD_CTRL IS
PORT(CLK:IN STD_LOGIC;
CTR: IN STD_LOGIC;
AT,BT:IN STD_LOGIC_VECTOR(7 DOWNTO 0);
S:OUT STD_LOGIC_VECTOR(1 DOWNTO 0));
END JTD_CTRL;
ARCHITECTURE JTD OF JTD_CTRL IS
SIGNAL Q:STD_LOGIC_VECTOR(1 DOWNTO 0);
BEGIN
PROCESS(CLK,AT,BT,CTR)
BEGIN
IF CTR=1 THEN Q=00;
ELSE
IF CLKEVENT AND CLK =1 THEN
IF(AT = X01)OR(BT = X01) THEN Q=Q+1;
ELSE Q=Q;
END IF;
END IF;
END IF;
END PROCESS;
S=Q;
END JTD;
状态控制模块的仿真波形如图4所示:
图4 状态控制模块的仿真波形图
3、倒计时模块(jtd_time)的设计
倒计时模块用来设定A和B两个方向计时器的初值,并为数码管显示模块提供倒计时时间。倒计时模块源文件程序如下:
LIBRARY IEEE;
USE IEEE.STD_LOG
您可能关注的文档
最近下载
- 中铁隧道集团有限公司工程项目管理考核办法.pdf VIP
- 人教版八年级上册道德与法治全册教学课件.pptx
- 2023年高考语文复习:新高考Ⅰ卷语言文字运用Ⅰ专项练习题(含答案).docx VIP
- 香港朗文英语3a测试卷1-3单元.pdf VIP
- 目前我国国产电动执行器市场分析.pdf VIP
- 附件1:地下车库色彩规划(基础版)(1)(1).pdf VIP
- 健全会计制度声明函.docx VIP
- 通桥[2005]2221-Ⅱ 时速250公里客运专线铁路 有碴轨道后张法预应力混凝土简支箱梁(双线)(跨度31.5m、直、曲线).pdf VIP
- 一建机电实务案例500问.pdf VIP
- 压疮事件原因分析及整改措施.docx VIP
文档评论(0)