日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 步進(jìn)電機(jī)定位控制系統(tǒng)的VHDL程序設(shè)計

          步進(jìn)電機(jī)定位控制系統(tǒng)的VHDL程序設(shè)計

          作者: 時間:2017-06-05 來源:網(wǎng)絡(luò) 收藏

          定位控制系統(tǒng)程序與仿真

          library IEEE;
          use IEEE.std_logic_1164.all;
          use IEEE.std_logic_arith.all;
          use IEEE.std_logic_unsigned.all;
          entity step_motor is
          port (reset:in STD_LOGIC; --系統(tǒng)復(fù)位信號
          dir: in STD_LOGIC; --方向控制信號
          clk: in STD_LOGIC; --系統(tǒng)時鐘信號
          ini: in STD_LOGIC; --初始化使能信號
          manner: in STD_LOGIC_VECTOR (1 downto 0); --激磁方式的選擇開關(guān)
          angle: in INTEGER range 255 downto 0; --的倍數(shù)設(shè)定輸入
          baBA: out STD_LOGIC_VECTOR (3 downto 0)); --狀態(tài)輸出
          end step_motor;
          architecture stepmotor_arch of step_motor is
          signal count: INTEGER range 0 to 7; --計數(shù)器
          signal cntInc: INTEGER range -2 to 2; --設(shè)定累加器所需的累(加/減)計數(shù)值
          signal cc : integer range 0 to 3;
          signal cntIni: INTEGER range -1 to 0; --設(shè)定累加器所需的計數(shù)初值
          signal angleDnCount: INTEGER range 255 downto 0; --計算已經(jīng)轉(zhuǎn)過的
          signal angleDnCntDec: INTEGER range 2 downto 1;
          begin
          process(dir, manner, angle)--, ini)
          begin
          --if ini='1' then
          cc=conv_integer(manner);
          if dir='0' then
          case cc is
          when 1 => -- 1-?相激勵
          --count=0;
          cntIni=0;
          cntInc=2;
          angleDnCntDec=2;--10;
          when 2 => -- 2-?相激勵
          --count=7;
          cntIni=-1;
          cntInc=2;
          angleDnCntDec=2;--10;
          when 3 => -- 1-2?相激勵
          --count=0;
          cntIni=0;
          cntInc=1;
          angleDnCntDec=1;--01;
          when 0 => --manner=00 autodetect
          if (angle rem 2) =1 then -- 2-?相激勵
          --count=7;
          cntIni=-1;
          cntInc=2;
          angleDnCntDec=2;--10;
          else -- 1-?相激勵
          --count=0;
          cntIni=0;
          cntInc=2;
          angleDnCntDec=2;--10;
          end if; --angle
          end case; --manner
          else -- if dir='1'
          case cc is
          when 1 => -- 1-?相激勵
          --count=0;
          cntIni=0;
          cntInc=-2;
          angleDnCntDec=2;--10;
          when 2 => -- 2-?相激勵
          --count=7;
          cntIni=-1;
          cntInc=-2;
          angleDnCntDec=2;--10;
          when 3 => -- 1-2?相激勵
          --count=0;
          cntIni=0;
          cntInc=-1;
          angleDnCntDec=1;--01;
          when 0 => --manner=00 autodetect
          if (angle rem 2) = 1 then -- 2-?相激勵
          cntIni=-1;
          cntInc=-2;
          angleDnCntDec=2;--10;
          else -- 1-?相激勵
          cntIni=0;
          cntInc=-2;
          angleDnCntDec=2;--10;
          end if; --angle
          end case; --manner
          end if; -- else dir=0
          --end if; -- ini
          end process;
          counting_reset: process(reset,ini, angle, clk)
          begin
          if reset='1' then
          count=0;
          angleDnCount=0;
          elsif clk'event and clk='1' then
          if ini='0' then
          count=0+cntIni;
          angleDnCount=angle;
          else
          count = count+cntInc;
          if angleDnCount > angleDnCntDec then
          angleDnCount = angleDnCount-angleDnCntDec;
          else
          angleDnCount = 0;
          end if;
          end if;
          end if;
          end process;
          baBA =0000 when angleDnCount=0 else
          0001 when count=0 else
          0011 when count=1 else
          0010 when count=2 else
          0110 when count=3 else
          0100 when count=4 else
          1100 when count=5 else
          1000 when count=6 else
          1001;-- when count>=7;
          end stepmotor_arch;

          本文引用地址:http://yuyingmama.com.cn/article/201706/349030.htm


          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉