卡农旅游资讯网

您现在的位置是: 首页 > 旅行规划

文章内容

自由行电动车max2彩灯怎么接线_自由行电动车max2彩灯怎么接线图

ysladmin 2024-07-07
自由行电动车max2彩灯怎么接线_自由行电动车max2彩灯怎么接线图       大家好,今天我来为大家揭开“自由行电动车max2彩灯怎么接线”的神秘面纱。为了让大家更好地理解这个问
自由行电动车max2彩灯怎么接线_自由行电动车max2彩灯怎么接线图

       大家好,今天我来为大家揭开“自由行电动车max2彩灯怎么接线”的神秘面纱。为了让大家更好地理解这个问题,我将相关资料进行了整合,现在就让我们一起来探索吧。

1.?????е綯??max2?ʵ???ô????

自由行电动车max2彩灯怎么接线_自由行电动车max2彩灯怎么接线图

?????е綯??max2?ʵ???ô????

       假设输入时钟为6M,

       下面是我重新编译过的,改动了点,仿真之后,状态是正确的

       由于现在是十的六次方分频,普通的仿真工具如果要作真实的仿真,要很长的时间,当时我仿了一个多钟头,后来,我把分频器改成几分频,(只修改下面的参数),得出状态功能是正确的,但是这个输出不是1S,和0.5S,不过这个要求按照程序上写,因该没有问题.最好你能找到开发板,接上用一下.

       我将各种显示方式,都设成一种状态,然后进行状态转化.如果出问题,因该是前面的分频问题.

       当然没有规定要求,可以假设输入时钟就是0.5S,然后2分频变0.1S,就可以简化很多.有问题给我发消息

       我在程序后面加了点注释.

       library ieee;

       use ieee.std_logic_1164.all;

       use IEEE.STD_LOGIC_ARITH.ALL;

       use IEEE.STD_LOGIC_UNSIGNED.ALL;

       entity fengxi is port(

       reset,adjust,clk:in std_logic;

       y:out std_logic_vector(9 downto 0));

       end;

       architecture behaviol of fengxi is

       signal count:integer range 0 to 6000;--计数器,分频成豪秒

       signal millisecond1,millisecond2:integer range 0 to 500;--分频成,秒

       signal second1,second2:std_logic;--1S,0.5 S

       signal countclk:std_logic;--状态机触发时钟

       signal y_out:std_logic_vector(9 downto 0);

       type states is(s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,

       s12,s13,s14,s15,s16,s17,s18,s19,s20,S21);--状态生成,将所需变化以状态机形式输出

       signal state:states;

       begin

       process(CLK,RESET)

       begin

       if RESET='1' then count<=0;second1<='0';second2<='0';

       elsif CLK'event and CLK='1' then

       count<=count+1;--毫秒,可调变成自己想要的时钟

        if count=6000 then

        millisecond1<=millisecond1+1;

        millisecond2<=millisecond2+1;

        count<=0;

        end if;

       if millisecond1=500 then--1S可调变成自己想要的时钟

       second1<=not second1;

       millisecond1<=0;

       end if;

       if millisecond2=250 then--0.5S可调变成自己想要的时钟

       second2<=not second2;

       millisecond2<=0;

       end if;

       end if;

       end process;

       process(adjust,reset)--调速

       begin

       if (reset='1') then countclk<='0';else

       if adjust='1' then countclk<=second1;end if;

       if adjust='0' then countclk<=second2;end if;

       end if;

       end process;

       process(reset)--状态转移

       begin

       if (reset='1') then

       state<=s0;else

       if(rising_edge(countclk)) 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<=s6;

       when s6=>state<=s7;

       when s7 =>state<=s8;

       when s8=>state<=s9;

       when s9=>state<=s10;

       when s10 =>state<=s11;

       when s11=>state<=s12;

       when s12=>state<=s13;

       when s13=>state<=s14;

       when s14 =>state<=s15;

       when s15=>state<=s16;

       when s16=>state<=s17;

       when s17 =>state<=s18;

       when s18=>state<=s19;

       when s19=>state<=s20;

       when s20=>state<=s21;

       WHEN S21=>STATE<=S0;

       end case;

       end if;

       end if;

       end process;

       process(reset)--状态赋值输出

       begin

       if reset='1' then

       y_out<="1111111111";

       else

       case state is

       when s0=>y_out<="1111111111";

       when s1=>y_out<="0111111111";

       when s2=>y_out<="0101111111";

       when s3=>y_out<="0101011111";

       when s4=>y_out<="0101010111";

       when s5=>y_out<="0101010101";

       when s6=>y_out<="1111111111";

       when s7=>y_out<="1011111111";

       when s8=>y_out<="1010111111";

       when s9=>y_out<="1010101111";

       when s10=>y_out<="1010101011";

       when s11=>y_out<="1010101010";

       when s12=>y_out<="1111111111";

       when s13=>y_out<="0111111111";

       when s14=>y_out<="0011111111";

       when s15=>y_out<="0001111111";

       when s16=>y_out<="0000111111";

       when s17=>y_out<="0000011111";

       when s18=>y_out<="0000001111";

       when s19=>y_out<="0000000111";

       when s20=>y_out<="0000000011";

       when s21 =>y_out<="0000000001";

       when others=>y_out<="ZZZZZZZZZZ";

       end case;

       end if;

       y<=y_out;

       end process;

       end;

       好了,今天关于“自由行电动车max2彩灯怎么接线”的话题就讲到这里了。希望大家能够对“自由行电动车max2彩灯怎么接线”有更深入的认识,并且从我的回答中得到一些帮助。