彩灯控制电路设计与实现(vhdl编程)

彩灯控制电路设计与实现(vhdl编程)

ID:18921809

大小:292.50 KB

页数:8页

时间:2018-09-27

彩灯控制电路设计与实现(vhdl编程)_第1页
彩灯控制电路设计与实现(vhdl编程)_第2页
彩灯控制电路设计与实现(vhdl编程)_第3页
彩灯控制电路设计与实现(vhdl编程)_第4页
彩灯控制电路设计与实现(vhdl编程)_第5页
资源描述:

《彩灯控制电路设计与实现(vhdl编程)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验名称:彩灯控制电路设计与实现实验任务要求:用VHDL语言设计并实现一个彩灯控制电路,仿真并下载验证其功能。彩灯有两种工作模式,可通过拨码开关或按键进行切换。(1)单点移动模式:一个点在8个发光二极管上来回的亮(2)幕布式:从中间两个点,同时向两边依次点亮直至全亮,然后再向中间点灭,依次往复设计思路和过程:可以将两种模式分开设计,再用一个控制钮进行切换。两种模式本质一样,都是循环点亮灯。可以用状态机设计。首先明确设计对象的外部特征,输入信号只有时钟信号cp和切换按钮此处取a;输出为检测的八个彩灯亮暗。根据设计对象的操作控制步来确定

2、有限状态机的状态。取初始状态为s0,第一种模式共有14种状态循环,因而可取状态s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13;第二种模式有八种状态,可共用第一种模式中的前八种状态,即为s0,s1,s2,s3,s4,s5,s6,s7。根据题目要求的循环可以写出各个状态的下一状态,写完整个循环为止。切换按钮可以用一个If来总领。单点移动模式:S0S5S13S7S8S9S10S11S1S2S3S4S12S6幕布式:S0S7S6S1S5S4S2S3流程图:彩灯电路设计语言:libraryieee;

3、useieee.std_logic_1164.all;entitypmdisport(a,cp:instd_logic;%输入信号deng:outstd_logic_vector(7downto0)%输出灯信号);endpmd;architecturearchofpmdistypeall_stateis(s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13);%枚举状态机状态signalstate:all_state;%状态转换符号begin%开始程序process(cp)beginif(cp'

4、eventandcp='1')then%时钟信号开始计数if(a='1')then%单点循环模式casestateiswhens0=>state<=s1;deng<="00000001";%状态循环whens1=>state<=s2;deng<="00000010";whens2=>state<=s3;deng<="00000100";whens3=>state<=s4;deng<="00001000";whens4=>state<=s5;deng<="00010000";whens5=>state<=s6;deng<="00100

5、000";whens6=>state<=s7;deng<="01000000";whens7=>state<=s8;deng<="10000000";whens8=>state<=s9;deng<="01000000";whens9=>state<=s10;deng<="00100000";whens10=>state<=s11;deng<="00010000";whens11=>state<=s12;deng<="00001000";whens12=>state<=s13;deng<="00000100";whens13=>sta

6、te<=s0;deng<="00000010";whenothers=>state<=s0;deng<="00000000";endcase;Else%切换为幕布式casestateiswhens0=>state<=s1;deng<="00011000";whens1=>state<=s2;deng<="00111100";whens2=>state<=s3;deng<="01111110";whens3=>state<=s4;deng<="11111111";whens4=>state<=s5;deng<="01111110";w

7、hens5=>state<=s6;deng<="00111100";whens6=>state<=s7;deng<="00011000";whens7=>state<=s0;deng<="00000000";whenothers=>state<=s0;deng<="00000000";endcase;endif;endif;endprocess;endarch;输入波形:添加五十分频后的仿真程序:libraryieee;useieee.std_logic_1164.all;entitycdisport(a,clk:instd_log

8、ic;q:outstd_logic_vector(7downto0));endcd;architectureaofcdistypeall_stateis(s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。