【正文】
+1。clkk=39。039。END IF。END IF。END PROCESS。debunce:blockSIGNAL d0,d1,s,r:STD_LOGIC。BEGINPROCESS(clk)BEGINIF clk39。EVENT AND clk=39。139。 THEN IF clkk=39。139。 THEN d1=d0。d0=key。s=d0 and d1。車輛與動(dòng)力工程學(xué)院課程設(shè)計(jì)說明書r=not d0 and not d1。END IF。END IF。END PROCESS。dly=r nor ndly。ndly=s nor dly。END block。differetial:blockSIGNAL d1,d0:STD_LOGIC。BEGINPROCESS(clk)BEGINIF clk39。EVENT AND clk=39。139。 THEN d1=d0。d0=dly。END IF。END PROCESS。diff=d0 and not d1。END block。keyo=diff。END Behavioral。圖 圖 /*/步進(jìn)電機(jī)控制模塊車輛與動(dòng)力工程學(xué)院課程設(shè)計(jì)說明書LIBRARY IEEE。USE 。USE 。USE 。ENTITY step_top IS PORT (clk,add,sub,sel,rst,startstop:in STD_LOGIC。時(shí)鐘/加鍵/減鍵/換向鍵/復(fù)位/起止鍵 step:out STD_LOGIC_VECTOR(3 DOWNTO 0)。 步進(jìn)電機(jī)四相輸出shift:out STD_LOGIC_VECTOR(3 DOWNTO 0)。 數(shù)碼管位選data_led:out STD_LOGIC_VECTOR(7 DOWNTO 0) )。七段數(shù)碼管END step_top。ARCHITECTURE Behavioral OF step_top ISponent anjianqd IS PORT (clk,key:in STD_LOGIC。 keyo:out STD_LOGIC )。END ponent anjianqd。ponent bianpin IS PORT (clk,sub,add,rst:in STD_LOGIC。 count:out STD_LOGIC )。END ponent bianpin。ponent step_motor IS PORT ( clk,rst : in STD_LOGIC。 sel : in STD_LOGIC。 clkkk:out STD_LOGIC。 control:out STD_LOGIC_VECTOR(3 DOWNTO 0))。END ponent step_motor。ponent ztsd IS PORT (clk,key,rst:in STD_LOGIC。 y:out STD_LOGIC 。sel:out STD_LOGIC)。END ponent ztsd。ponent cepin IS PORT (clk,clk1,rst:STD_LOGIC。 shift:out STD_LOGIC_VECTOR(3 DOWNTO 0)。data_led:out STD_LOGIC_VECTOR(7 DOWNTO 0) )。END ponent cepin。車輛與動(dòng)力工程學(xué)院課程設(shè)計(jì)說明書SIGNAL sel1,ss,sel2,count1,y1,y2,startstop1:STD_LOGIC。SIGNAL step1,step2:STD_LOGIC_VECTOR(3 DOWNTO 0)。BEGINu1:anjianqd PORT MAP (clk=clk,key=sel,keyo=sel1)。u2:bianpinPORTMAP(clk=clk,sub=sub,add=add,count=count1,rst=rst)。u3:step_motorPORTMAP(clk=count1,sel=sel2,clkkk=y2,control=step1,rst=rst)。u4:ztsd PORT MAP (clk=clk,key=sel1,y=y1,sel=sel2,rst=rst)。u5:cepinPORTMAP(clk=clk,clk1=y2,shift=shift,data_led=data_led,rst=rst)。u6:anjianqd PORT MAP (clk=clk,key=startstop,keyo=startstop1)。step2(3)=step1(3) and y1。step2(2)=step1(2) and y1。step2(1)=step1(1) and y1。step2(0)=step1(0) and y1。step(3)=step2(3) and ss。step(2)=step2(2) and ss。step(1)=step2(1) and ss。step(0)=step2(0) and ss。PROCESS(rst,startstop1) 啟動(dòng)/停止模塊VARIABLE t:STD_LOGIC。BEGINIF rst=39。039。 THEN t:=39。039。ELSIF rising_edge(startstop1) THEN t:=not t。END IF。case t ISWHEN 39。039。=ss=39。039。WHEN 39。139。=ss=39。139。WHEN others=null。END case。END PROCESS。 END Behavioral。車輛與動(dòng)力工程學(xué)院課程設(shè)計(jì)說明書圖 圖 正轉(zhuǎn)運(yùn)行波形仿真圖 反轉(zhuǎn)運(yùn)行仿真波形車輛與動(dòng)力工程學(xué)院課程設(shè)計(jì)說明書第四章 總結(jié)本文介紹了用 VHDL 語言設(shè)計(jì)的一種步進(jìn)電機(jī)控制器,根據(jù)仿真波形的分析,基本達(dá)到了設(shè)計(jì)初的要求,能完成步進(jìn)電機(jī)兩種工作模式的選擇,實(shí)現(xiàn)步進(jìn)電機(jī)正、反、停的要求,可以實(shí)現(xiàn)步進(jìn)電機(jī)頻率的控制??梢娎?EDA 軟件可以縮短設(shè)計(jì)周期,是一種快捷方便的電路設(shè)計(jì)方法。步進(jìn)電機(jī)控制相對(duì)簡(jiǎn)單,但要處理好啟動(dòng)、換向時(shí)的加速問題,否則容易產(chǎn)生“失步”現(xiàn)象,對(duì)電機(jī)造成不必要的沖擊。車輛與動(dòng)力工程學(xué)院課程設(shè)計(jì)說明書參考文獻(xiàn):. EDA 技術(shù)與實(shí)用 (第三版). 北京:電子工業(yè)出版社,2022.2 .曹昕燕, 技術(shù)實(shí)驗(yàn)與課程設(shè)計(jì) .北京:清華大學(xué)出版社 ,:高等教育出版社,2022. Zwolinski. Digital System Design with :電子工業(yè)出版社,2022 B. Marcovitz Introduction to logic :電子工業(yè)出版社,2022, 技術(shù)實(shí)用教程 [m].北京:。,王彥,陳文光,:電子工業(yè)出版社 2022. .第六屆電子大賽資料(多謝老師提供).,:。:。