- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
设计一个循环彩灯控制器, 该
3.循环彩灯控制器: 仿真图形如下: * * 设计任务 ????? 设计一个循环彩灯控制器, 该控制器控制红、 绿、 黄 三个发光管循环发亮。 要 求红发光管亮2秒,绿发光 管亮3秒,黄发光管亮1秒。 ???? ?? 用状态机结构设计循环彩灯控制器。 ??? 1.文件名:asm_led.vhd ????2.端口图 ?????? 循环彩灯控制器端口图如图所示。 ???? library ieee; ???? use ieee.std_logic_1164.all; ???? entity asm_led is ????? port(clr,clk:in std_logic; ??????? led1,led2,led3:out std_logic); ??? end; ??? architecture a of asm_led is ??? type states is (s0,s1,s2,s3,s4,s5); signal q:std_logic_vector(0 to 2); ??? signal state :states; ??? begin ?? p1:process(clk,clr) ?? begin ????? if(clr=0) then state=s0; ????? elsif(clkevent and clk=1) then ??? case state is ????? when s0= ??????? state=s1; ????? when s1= ??????? state=s2; ????? when s2= ??????? state=s3; ????? when s3= ??????? state=s4; when s4= ??????? state=s5; ????? when s5= ??????? state=s0; ????? end case; ??? end if; ??? end process p1; ??? p2:process ??? begin ????? if cr=0 then ???????? led1=0;led2=0;led3=0; ????? else ??? case state is ???????? when s0= ?????????? led1=1; led2=0; led3=0; ???????? when s1= ?????????? led1=0; led2=1; led3=0; when s2= ?????????? led1=0; led2=1; led3=0; ???????? when s3= ?????????? led1=0; led2=0; led3=1; ???????? when s4= ?????????? led1=0; led2=0; led3=1; when s5= ?????????? led1=0; led2=0; led3=1; ?????? end case; ????? end if; ??? end process p2; ??? end; ??? 1.程序所用时钟的频率为1Hz,以便能快速扫描多个楼层。 ??? 2.本程序仿真波形图如图所示。图中led2代表红发光管,led3代表绿发光管, led1代表黄发光管。 黄灯亮1秒 绿灯亮3秒 红灯亮2秒
文档评论(0)