带时间显示交通灯课程设计.docVIP

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
带时间显示交通灯课程设计

综合成绩 优秀( )良好( ) 优秀( )良好( ) 不及格( ) 教师(签名) 批改日期 2011年 月 日 PLC 课程设计报告 院系 电子与电气工程学院 专业 电气工程及其自动化 班级 电气3081 学号3082110123 课题名称:带时间显示的交通灯 课题分值:10分 控制要求: 信号灯守两个启动按钮控制,当SB1按下后,信号灯系统执行夜间工作模式,两车道黄灯以2秒为周期不停闪烁。当SB2按下后,信号等系统执行白天模式,具体要求如下。 南北红灯维持25秒,在南北红灯亮的同时东西绿灯也亮,并维持20秒。到20秒时,东西绿灯也亮,闪亮3秒后熄灭。在东西绿灯熄灭时,东西黄灯亮,并维持2秒。到2秒后,东西黄灯熄灭,东西红灯亮,同时南北红灯熄灭,绿灯亮。 东西红灯维持30秒。南北绿灯维持25秒,然后闪亮3秒后熄灭,这时南北红灯亮,东西绿灯亮。周而复始。 按下停止按钮SB3后,全部灯熄灭。 白天工作方式必须完成两种时间显示模式: 两个LED组合显示南北红灯倒计时时间(东西红灯时间不显示)。 分别用一个LED显示东西、南北红灯倒计时时间(自行将工作周期压缩至个位数)。 控制系统设计分析 输入输出点统计 序号 元器件 用途 1 I0.1 SB1 2 I1.1 SB2 3 I0.2 总停开关 5 I0.3 模式转换开关 6 Q4.0 南北绿灯 7 Q4.1 南北黄灯 8 Q4.2 南北红灯 9 Q4.3 东西绿灯 10 Q4.4 东西黄灯 11 Q4.5 东西红灯 12 Q5.0 数码管G 14 Q5.1 数码管F 15 Q5.2 数码管E 16 Q5.3 数码管D 17 Q5.4 数码管C 18 Q5.5 数码管B 19 Q5.6 数码管A 20 Q125.0 东西夜间黄灯 21 Q125.1 南北夜间黄灯 三 PLC系统硬件配置 槽号 1 2 3 4 5 模块选择 PS307 5A CPU314-2DP SM321 DC 24V 16点 SM322 DO 24V16点 I/O点范围 六、PLC程序设计 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity sheji3 is port(clk,ck:in std_logic; sel:in std_logic_vector(1 downto 0); sm:out std_logic_vector(6 downto 0); duan:out std_logic_vector(5 downto 0)); end sheji3; architecture art of sheji3 is signal cnt:std_logic_vector(3 downto 0); signal temp:integer range 0 to 5; signal x:std_logic_vector(3 downto 0); signal y:std_logic_vector(3 downto 0) begin p1:process(clk) begin if(clkevent and clk=1) then case sel is when 00=if(cnt=0100)then cnt=0000; else cnt=cnt+1; end if; when 01=if(cnt=1000 or cnt=0001 or cnt=0011 or cnt=0101 or cnt=0111)then cnt=0000; else cnt=cnt+2; end if; when 10=if(cnt=1001 or cnt=0000 or cnt=0010 or cnt=0100 or cnt=0110 or cnt=1000)then cnt=0001; else cnt=cnt+2; end if; when11=if(cnt0101 or cnt=0001 or cnt=0000)then cnt=0101; else cnt=cnt-1;

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档