第一范文网 - 专业文章范例文档资料分享平台

彩灯控制器的设计(EDA)

来源:用户分享 时间:2025/9/10 23:32:14 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

产生一个上升沿clk1。如果a没有变化到110010则a继续自加,直到110010为止产生下一个上升沿。

process(clk)

variable b:std_logic_vector(4 downto 0); begin

if clr='1' then

clk2<='0'; -----复位信号 else

if clk'event and clk='1'then if b=\ b:=\ clk2<='1'; else b:=b+1; clk2<='0'; end if; end if; end if;

end process;

以上程序为对clk进行25分频,原理同上,产生信号clk2。 process(clk)

variable c:std_logic_vector(2 downto 0); begin if clr='1' then

clk3<='0'; ----复位信号 else

if clk'event and clk='1'then if c=\ c:=\

clk3<='1'; else c:=c+1; clk3<='0'; end if; end if; end if;

end process;

以上程序为对clk进行8分频,产生一个新的时钟脉冲信号clk3。 数码管及二极管循环显示时序控制程序: process(clk2)

variable z:integer range 0 to 20; begin if clr='1' then

s<=\ -------复位信号 else

if clk'event and clk='1'then

z:=z+1;

if z=20then s<=s+1;s:=0;

if s=\else s<=s+1; end if; end if; end if; end if;

end process;

该段程序的目的是对clk2再进行一次分频,当clk2发生变化,并且变化为上升沿时,z就加1,直到加到为20时,s就发生变化,加1,每当s发生变化,加到30时,s就加1。当s从00000变化到10111时,就对s清零,从而实现数码显示管和发光二极管的循环显示,以达到显示速度的要求。 发光二极管及数码管显示程序: process(s)

begin

case s is

when \ when \when \ when \ when \ when \ when \ when \ 此段程序就是当敏感信号s发生变化至01000时,对数码管进行置位和置型,0000011也就是对相应的数码管使之显示花型为B,通过对数码管使能端的置位,控制显示的数码管显示为BB ,并且发光二极管最左边显示为亮。当S每变化一次,数码管向右移动一格,发光二极管也同步向右移动,每次只亮一个灯。当 s变化到01111之后执行下一段程序,同时扬声器发出声音。

when \ when\ when\ when \ when\when\ when\ when \

when others=>null; end case; end process; end;

此段程序就是当敏感信号s发生变化至10000时,对数码管进行置位和置型,1000110也就是对相应的数码管使之显示花型为C,通过对数码管使能端的置位,控制显示的数码管显示为CC ,并且发光二极管最左边第一个和最右边第一个显示为亮。当S每变化一次,数码管向中间移动一格,发光二极管也同步中间移动,可以看到由二边向中间移动再发散到二边的变化过程。当 s变化到10111之后执行再循环显示A花型,同时扬声器发出声音。

三 波形仿真及分析

为了方便观察显示结果,这里调节仿真时间为3us ,脉冲频率clk的周期为5ns,如下图所示为显示花型AA的仿真结果。

图2 花型A波形仿真图

由图2可知,当clk发生变化,来上升沿时,led7s1为0001000即数码管首先显示为花型A 二极管按规定的显示,首先led7s2位01111111即最右边的二极管亮灯,led_selout

为11000000即最右边的2个数码管显示2个A的花型。当clk变化到规定次数时二极管的显示开始按左移动,数码显示管也向左移动。Led7s2依次变化01111111~11111110,实现二极管的向左移动;led_selout也依次变化11000000~00000011实现数码显示管的向左移动。同时当clk信号变化50次时产生一个上升沿clk1,控制扬声器发出声音。

图3 花型BB的波形仿真图

由图3可知,当clk发生变化,来上升沿时,led7s1为0000011即数码管首先显示为花型B二极管按规定的显示,首先led7s2位11111110即最右边的二极管亮灯,led_selout为00000011即最右边的2个数码管显示2个B的花型。当clk变化到规定次数时二极管的显示开始向右移动,数码显示管也向右移动。Led7s2依次变化11111110~01111111,实现二极管

搜索更多关于: 彩灯控制器的设计(EDA) 的文档
彩灯控制器的设计(EDA).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c03gm40x84u3gzju6v8nm_2.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top