版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
《EDA應(yīng)用實訓(xùn)》課程設(shè)計說明書《EDA應(yīng)用實訓(xùn)》課程設(shè)計說明書目錄292381緒論 0213522方案論證 1100042.1程序設(shè)計的任務(wù)要求 1120252.2方案選擇 152473單元模塊 567803.1程序中使用的信號介紹: 567283.2子模塊功能介紹: 513524整體電路 11261265仿真及實物圖 12316435.2實物圖 13316886心得 1616251參考文獻(xiàn) 1621410附錄 1713721源程序 171.緒論EDA課程教會了我們?nèi)绾芜\用電腦輔助我們進(jìn)行數(shù)字電路的設(shè)計。還教會了我們用于對FPGA進(jìn)行編程的VHDL語言。我十分喜歡FPGA的編程,也覺得這次課程設(shè)計是一次實踐的好機(jī)會。由于在之前我已經(jīng)寫過一些FPGA的程序,所以在拿到這個題目時我的思路還是比較清晰的。 2.方案論證2.1程序設(shè)計的任務(wù)要求2.1.1初始條件:設(shè)計一個交通燈控制器,有一條主干道和一條支干道匯合成十字路口,在每個入口處設(shè)置紅、黃、綠三色箭頭信號燈,紅燈亮禁止通行,綠燈亮允許通行,黃燈亮則給行駛中的車輛有時間停在禁行線外。2.1.2要求完成的主要任務(wù):主干道和支干道構(gòu)成的十字路口上有車輛交替運行,主干道每次直行通行時間為30s,左轉(zhuǎn)通行時間為25s,支干道每次直行通行時間為20s,左轉(zhuǎn)通行時間為15s。每次綠燈變紅燈時,黃燈先亮5s,才能變換運行車道。上述時間設(shè)置可修改。十字路口有數(shù)碼管顯示燈亮?xí)r間,要求燈亮?xí)r間以秒為單位進(jìn)行減計數(shù)。2.2方案選擇2.2.1方案一只使用一個計時器完成所有計時工作,通過計數(shù)到不同的數(shù)值時發(fā)出不同的脈沖信號告訴系統(tǒng)相應(yīng)的計時值已到。該方案的優(yōu)勢在于占用資源少,只用使用一個計時器就可完成5種不同的計時。但不管是在哪一個狀態(tài)都會調(diào)用該計時器,一旦該計時器出錯,整個系統(tǒng)都會受影響,不利于系統(tǒng)的維護(hù)和模塊化編程的思想。2.2.2方案二使用5個計時器進(jìn)行計時。在某個狀態(tài)時,系統(tǒng)會調(diào)用相應(yīng)的計時器開始計時,并且只檢測相應(yīng)計時器的計時完成脈沖信號。該方案的缺點在于占用FPGA資源多,但由于FPGA上資源足夠,這個缺陷不影響系統(tǒng)工作。但它的優(yōu)勢是很明顯的,它采用模塊化編程設(shè)計,單個計時器的復(fù)雜度遠(yuǎn)遠(yuǎn)小于方案一中的計時器,并且5個計時器完全類似,只要完成一個計時器的設(shè)計就能輕易完成整個計時模塊的設(shè)計。因此,我選擇方案二進(jìn)行設(shè)計。2.2.3設(shè)計思路 整個程序設(shè)計可以分為4個部分,燈的顯示部分、數(shù)碼管的顯示部分、計時部分和按鍵對倒計數(shù)時間的調(diào)整部分。 燈的顯示部分可用狀態(tài)機(jī)實現(xiàn)。由于交通燈的顯示狀況是有限的幾個狀態(tài),于是可以用狀態(tài)機(jī)讓燈在固定的幾個狀態(tài)中順次切換。對于這個題目,我將燈的顯示分了8個狀態(tài):首先,所有交通燈有12個:主干道直行的紅黃綠燈,主干道左轉(zhuǎn)的紅黃綠燈,次干道直行的紅黃綠燈,次干道左轉(zhuǎn)的紅黃綠燈。主干道直行綠燈亮、主干道左轉(zhuǎn)紅燈亮、次干道直行和左轉(zhuǎn)紅燈亮;主干道直行黃燈亮、主干道左轉(zhuǎn)紅燈亮、次干道直行和左轉(zhuǎn)紅燈亮;主干道直行紅燈亮、主干道左轉(zhuǎn)綠燈亮、次干道直行和左轉(zhuǎn)紅燈亮;主干道直行紅燈亮、主干道左轉(zhuǎn)黃燈亮、次干道直行和左轉(zhuǎn)紅燈亮;主干道直行紅燈亮、主干道左轉(zhuǎn)紅燈亮、次干道直行綠燈亮,次干道左轉(zhuǎn)紅燈亮;主干道直行紅燈亮、主干道左轉(zhuǎn)紅燈亮、次干道直行黃燈亮,次干道左轉(zhuǎn)紅燈亮;主干道直行紅燈亮、主干道左轉(zhuǎn)紅燈亮、次干道直行紅燈亮,次干道左轉(zhuǎn)綠燈亮;主干道直行紅燈亮、主干道左轉(zhuǎn)紅燈亮、次干道直行綠燈亮,次干道左轉(zhuǎn)黃燈亮;于是我定義了一個信號STATE用于存儲狀態(tài)機(jī)的狀態(tài):TYPESTATE_TYPEIS(A,B,C,D,E,F,G,H); SIGNALSTATE:STATE_TYPE:=A;--狀態(tài)初始化為A數(shù)碼管的顯示部分。設(shè)置了5個計時器,分別是30s計時器、25s計時器、20s計時器、15s計時器和5s計時器。每個計時器都有一個使能EN信號,每個狀態(tài)下只允許一個EN有效,當(dāng)檢測的計時器的EN信號有效時,就會將它的計數(shù)數(shù)值送到數(shù)碼管顯示。定義了一個常量數(shù)組:LED。代碼如下:constantLED:data:=("11000000","11111001","10100100","10110000","10011001","10010010","10000010","11111000","10000000","10010000");--儲存0~9的數(shù)碼管顯示字符將2位十進(jìn)制數(shù)轉(zhuǎn)化為2個8位二進(jìn)制數(shù)顯示的代碼為:hh:=current_30s/10;ll:=current_30srem10;LED2<=LED(hh);LED1<=LED(ll);計時部分使用5個計時器,每個計時器由使能信號EN控制啟動。由計時完成信號SIN告知系統(tǒng)計時完成。5個計時器結(jié)構(gòu)類似,下面是計時器30S的程序代碼:SANs:process(time_1s,stop,pause,en_30s)beginifstop='1'thencurrent_30s<=set_30s;elsifpause='1'thenelsifen_30s='0'then current_30s<=set_30s; sin_30s<='0';elsiftime_1s'eventandtime_1s='1'then current_30s<=current_30s-1; ifsin_30s='1'then sin_30s<='0'; endif; ifcurrent_30s=0then sin_30s<='1'; current_30s<=set_30s; endif;endif;endprocessSANs;按鍵對倒計數(shù)時間的調(diào)整部分。設(shè)置了四個鍵用于計數(shù)時間的調(diào)整:stop鍵用于從正常運行模式跳轉(zhuǎn)到調(diào)整模式,change鍵用于選擇調(diào)整5個計數(shù)器中哪一個的值,plus和minus鍵用于加或減相應(yīng)計數(shù)器的值。由于要用一個change鍵控制5個狀態(tài)的轉(zhuǎn)化,于是在這兒又用了一個狀態(tài)機(jī)。狀態(tài)信號set_LED定義如下:TYPEset_typeIS(A,B,C,D,E); SIGNALset_LED:set_type;狀態(tài)變換部分代碼: IFchange='0'THENcaseSET_LEDis whenA=> set_LED<=B; whenB=> set_LED<=C; whenC=> set_LED<=D; whenD=> set_LED<=E; whenE=> set_LED<=A; endcase; ENDIF;3.單元模塊3.1程序中使用的信號介紹:signaltime_1s,time_ms:std_logic;signalsin_30s,sin_25s,sin_20s,sin_5s,sin_15s:std_logic;--定義30s,25s,15s,5s計時模塊的信號線,計滿相應(yīng)秒數(shù)后輸出,高有效signalen_30s,en_25s,en_20s,en_5s,en_15s:std_logic;--定義30s,25s,15s,5s計時模塊的使能端,高有效signalset_30s,set_25s,set_20s,set_5s,set_15s:integerrange0to100;--設(shè)定計時初始值signalcurrent_30s,current_25s,current_20s,current_5s,current_15s:integerrange0to99;3.2子模塊功能介紹:3.2.1分頻器將學(xué)習(xí)板上50MHZ的晶振信號分頻為1HZ和0.2HZ,tex為測試信號,頻率為1HZ用于觀測分頻器是否工作正常。如下圖所示:圖3-2-1分頻器3.2.2交通信號燈控制模塊根據(jù)STATE的狀態(tài)來點亮各個交通燈。當(dāng)pause或stop信號為高時,燈的顯示狀態(tài)保持。如下圖所示:圖3-2-2交通信號燈控制模塊3.2.3STATE信號以及計時器使能信號控制器根據(jù)STATE的現(xiàn)態(tài)和sin_30s、sin_25s、sin_20s、sin_15s、sin_5s信號的狀態(tài)可以決定STATE信號的狀態(tài)切換和5個計時器的使能。當(dāng)stop信號為‘1’的時候,sin_30s被置‘1’,sin_25s、sin_20s、sin_15s和sin_5s被置‘0’。STATE信號被置A。如下圖所示:圖3-2-3STATE信號以及計時器使能信號控制器3.2.4計時值設(shè)置模塊當(dāng)stop置1時啟用計時值設(shè)置模塊,當(dāng)change按下時會在5個計時器之間轉(zhuǎn)換,按plus或minus時會將相應(yīng)的計時器設(shè)置值加一或減一。如下圖所示:圖3-2-4計時值設(shè)置模塊3.2.5數(shù)碼管倒計時顯示模塊當(dāng)stop為0時為正常顯示模式,實時顯示當(dāng)前被使能的計時器的值。當(dāng)stop值為1時為指示模式,顯示當(dāng)前調(diào)整計時值設(shè)置模塊調(diào)整的計時器編號。如30S計時器的編號為30,當(dāng)調(diào)整計時器30S的計時值時,數(shù)碼管將顯示30。如下圖所示:圖3-2-5數(shù)碼管倒計時顯示模塊3.2.625號計時器計時初值為25s。當(dāng)set_25s變化時,它會實時從set_25s中讀取新的計時值。當(dāng)25s倒計時計到0時,sin_25s端會送出一個高電平脈沖,表示計時完成。如下圖所示:圖3.2.625號計時器3.2.720號計時器計時初值為20s。當(dāng)set_20s變化時,它會實時從set_20s中讀取新的計時值。當(dāng)20s倒計時計到0時,sin_20s端會送出一個高電平脈沖,表示計時完成。如下圖所示:圖3.2.720號計時器3.2.830號計時器計時初值為30s。當(dāng)set_30s變化時,它會實時從set_30s中讀取新的計時值。當(dāng)30s倒計時計到0時,sin_30s端會送出一個高電平脈沖,表示計時完成。如下圖所示:圖3.2.830號計時器3.2.915號計時器。計時初值為15s。當(dāng)set_15s變化時,它會實時從set_15s中讀取新的計時值。當(dāng)15s倒計時計到0時,sin_15s端會送出一個高電平脈沖,表示計時完成。如下圖所示:圖3-2-915號計時器3.2.105號計時器計時初值為5s。當(dāng)set_5s變化時,它會實時從set_5s中讀取新的計時值。當(dāng)5s倒計時計到0時,sin_5s端會送出一個高電平脈沖,表示計時完成。如下圖所示:圖3-2-105號計時器4.整體電路總體的模塊圖共有十個模塊:一個分頻器模塊,5個計時器模塊,一個交通信號燈控制模塊,一個STATE信號以及計時器使能信號控制模塊,一個數(shù)碼管倒計時顯示模塊以及一個計時值設(shè)置模塊。如下圖所示:圖4系統(tǒng)整體模塊圖5.仿真及實物圖5.1ModelSim仿真圖該圖顯示了控制交通燈的狀態(tài)機(jī)的工作狀況。Stop置0,pause置0,系統(tǒng)工作在正常模式下。STATE狀態(tài)信號以A->B->C->D->E->F->G->H->A變化。如下圖所示:圖5-1-1交通燈狀態(tài)變換ModelSim仿真圖該圖顯示了按鍵設(shè)置部分的狀態(tài)機(jī)運行狀況,此時stop置1,change置0,系統(tǒng)工作在停止以及設(shè)置模式下。SET_LED會以A=>B=>C=>D=>E=>A變化。如下圖所示:圖5-1-2按鍵設(shè)置部分狀態(tài)機(jī)ModelSim仿真圖5.2實物圖圖5-2-1是初始化界面,系統(tǒng)從30開始倒計時,此時燈亮的狀態(tài)為:主干道直行綠燈亮、主干道左轉(zhuǎn)紅燈亮、次干道直行紅燈亮、次干道左轉(zhuǎn)紅燈亮。車道的狀態(tài)為只允許主干道車輛直行。如下圖所示:圖5.2.1初始化界面初始化界面之后,系統(tǒng)開始30S倒計時。如下圖所示:圖5-2-2正常運行界面30S倒計時階段30S倒計時完成后,亮5s黃燈后,進(jìn)入25S倒計時界面,此時燈亮的狀態(tài)為:主干道直行紅燈亮、主干道左轉(zhuǎn)綠燈亮、次干道直行紅燈亮、次干道左轉(zhuǎn)紅燈亮。車道的狀態(tài)為只允許主干道車輛左轉(zhuǎn)。如下圖所示:圖5-2-3正常運行界面25S倒計時階段對30S計時器的初值進(jìn)行設(shè)置,其初始化值為30,現(xiàn)在已經(jīng)被調(diào)整為26。前兩個數(shù)碼管顯示當(dāng)前設(shè)定后的初值,后兩個數(shù)碼管顯示當(dāng)前調(diào)整的計時器的編號。如下圖所示:圖5.2.4設(shè)置30S計時器的計時初值界面系統(tǒng)可對所有計時器進(jìn)行初值設(shè)定,圖5-2-5為對20S計時器做初值設(shè)定。前兩個數(shù)碼管顯示當(dāng)前設(shè)定后的初值,后兩個數(shù)碼管顯示當(dāng)前調(diào)整的計時器的編號。如下圖所示:圖5-2-5設(shè)置20S計時器的計時初值界面圖5-2-6為對05S計時器做初值設(shè)定。前兩個數(shù)碼管顯示當(dāng)前設(shè)定后的初值,后兩個數(shù)碼管顯示當(dāng)前調(diào)整的計時器的編號。如下圖所示:圖5-2-6設(shè)置05S計時器的計時初值界面6心得作為工科生,在大學(xué)里進(jìn)行這樣的實習(xí)的時候還是不多的。我也非常珍惜,希望能學(xué)到一些課堂上學(xué)不到的東西。運用課堂學(xué)習(xí)的東西做課設(shè)一般是是不夠的,于是這就考驗了我們在略有思路的情況下如何迅速的通過自學(xué)或試驗來獲取課程設(shè)計中需要的知識和經(jīng)驗,并理清思路做出設(shè)計并仿真調(diào)試最終做出實物來。我在課設(shè)期間的收獲很大。除了在FPGA編程上又得到了一次難得的歷練外,我還學(xué)會使用了ModelSim這一功能強(qiáng)大的仿真軟件。參考文獻(xiàn)[1]徐志軍,王金明等.《EDA技術(shù)與VHDL設(shè)計》.北京:電子工業(yè)出版社,2009年[2]貝耶爾,劉凌.《數(shù)字信號處理的FPGA實現(xiàn)》.北京:清華大學(xué)出版社,2011年[3]高亞軍.《基于FPGA的數(shù)字信號處理》.北京:電子工業(yè)出版社,2012年[4]張凱虹.《一種FPGA驗證與測試的方法介紹》.計算機(jī)與數(shù)字工程,2010年第9期[5]童鵬,胡以華.《FPGA器件選型研究》.現(xiàn)代電子技術(shù),2007年第20期附錄源程序libraryieee;useieee.std_logic_unsigned.all;useieee.std_logic_1164.all;useieee.std_logic_arith.all;entitytrafficisport(stop,pause,plus,minus,change,clk :instd_logic;MR,MY,MG,BR,BY,BG,MLR,MLY,MLG,BLY,BLR,BLG,tex:outstd_logic;LED1 :OUTSTD_LOGIC_VECTOR(7DOWNTO0);LED2 :OUTSTD_LOGIC_VECTOR(7DOWNTO0);LED3 :OUTSTD_LOGIC_VECTOR(7DOWNTO0);LED4 :OUTSTD_LOGIC_VECTOR(7DOWNTO0));endtraffic;architectureoneoftrafficisTYPESTATE_TYPEIS(A,B,C,D,E,F,G,H);SIGNALSTATE:STATE_TYPE:=A;signaltime_1s,time_ms:std_logic;signalsin_30s,sin_25s,sin_20s,sin_5s,sin_15s:std_logic;signalen_30s,en_25s,en_20s,en_5s,en_15s:std_logic;signalset_30s,set_25s,set_20s,set_5s,set_15s:integerrange0to100;signalcurrent_30s,current_25s,current_20s,current_15s,current_5s:range0to99;typedataisarray(0to9)ofstd_logic_vector(7downto0);constantLED:data:=("11000000","11111001","10100100","10110000","10011001","10010010","10000010","11111000","10000000","10010000");TYPEset_typeIS(A,B,C,D,E);SIGNALset_LED:set_type;BEGINno1:process(clk)variablei:INTEGERRANGE0TO25_000_000;variablej:INTEGERRANGE0TO25_000_000;begin ifclk'eventandclk='1'then i:=i+1; j:=j+1; ifj=50_00000then time_ms<=nottime_ms; j:=0; endif; ifi=25_000_000then tex<=time_1s; time_1s<=nottime_1s; i:=0; endif; endif; endprocessno1;no2:process(STATE)beginifstop='1'thenelsifpause='1'thenelsecaseSTATEisWHENA=>MR<='0';MY<='0';MG<='1';BR<='1';BY<='0';BG<='0';MLR<='1';MLY<='0';MLG<='0';BLY<='0';BLR<='1';BLG<='0';WHENB=>MR<='0';MY<='1';MG<='0';BR<='1';BY<='0';BG<='0';MLR<='1';MLY<='0';MLG<='0';BLY<='1';BLR<='1';BLG<='0';WHENC=>MR<='1';MY<='0';MG<='0';BR<='1';BY<='0';BG<='0';MLR<='0';MLY<='0';MLG<='1';BLY<='0';BLR<='1';BLG<='0';WHEND=>MR<='1';MY<='0';MG<='0';BR<='1';BY<='0';BG<='0';MLR<='0';MLY<='1';MLG<='0';BLY<='1';BLR<='1';BLG<='0'; WHENE=>MR<='1';MY<='0';MG<='0';BR<='0';BY<='0';BG<='1';MLR<='1';MLY<='0';MLG<='0';BLY<='0';BLR<='1';BLG<='0'; WHENF=>MR<='1';MY<='0';MG<='0';BR<='0';BY<='1';BG<='0';MLR<='1';MLY<='0';MLG<='0';BLY<='1';BLR<='1';BLG<='0';WHENG=>MR<='1';MY<='0';MG<='0';BR<='1';BY<='0';BG<='0';MLR<='1';MLY<='0';MLG<='0';BLY<='0';BLR<='0';BLG<='1';WHENH=>MR<='1';MY<='0';MG<='0';BR<='1';BY<='0';BG<='0';MLR<='1';MLY<='0';MLG<='0';BLY<='1';BLR<='0';BLG<='0'; ENDCASE; endif;endprocessno2;no3:process(sin_30s,sin_25s,sin_20s,sin_5s,sin_15s,stop,pause,clk,state)variableint:std_logic:='0';beginifstop='1'thenstate<=A;en_30s<='0';en_25s<='0';en_20s<='0';en_5s<='0';en_15s<='0';int:='0';elsifpause='1'thenelseifclk'eventandclk='1'thenifint='0'thenstate<=A;en_30s<='1';en_25s<='0';en_20s<='0';en_5s<='0';en_15s<='0';int:='1';endif;caseSTATEisWHENA=>ifsin_30s='1'thenSTATE<=B;EN_30S<='0';EN_5S<='1';endif;WHENB=>ifsin_5s='1'thenSTATE<=C;EN_5S<='0';EN_25S<='1';endif;WHENC=>ifsin_25s='1'thenSTATE<=D;EN_25S<='0';EN_5S<='1';endif;WHEND=> ifsin_5s='1'thenSTATE<=E;EN_5S<='0';EN_20S<='1';endif;WHENE=> ifsin_20s='1'thenSTATE<=F;EN_20S<='0';EN_5S<='1';endif;WHENF=>ifsin_5s='1'thenSTATE<=G;EN_5S<='0';EN_15S<='1';endif;WHENG=>ifsin_15s='1'thenSTATE<=H;EN_15S<='0';EN_5S<='1';endif;WHENH=> ifsin_5s='1'thenSTATE<=A;EN_5S<='0';EN_30S<='1';endif;ENDCASE;ENDIF;endif;ENDprocessno3;set:process(time_ms,stop,pause,plus,minus,change)--TYPEset_typeIS(A,B,C,D,E);--variableset:set_type;variableint:std_logic:='0';VARIABLEHH,LL:INTEGERRANGE0TO9;beginiftime_ms'eventandtime_ms='1'thenifint='0'then set_30s<=30; set_25s<=25; set_20s<=20; set_5s<=5; set_15s<=15; set_LED<=A; int:='1'; endif;ifstop='1'then ifchange='0'then foriIN0to25loop endloop; ifchange='0'then caseSET_LEDis whenA=> set_LED<=B; whenB=> set_LED<=C; whenC=> set_LED<=D; whenD=> set_LED<=E; whenE=> set_LED<=A; endcase; ENDIF; ENDIF; caseSET_LEDis whenA=> hh:=SET_30s/10; ll:=SET_30srem10; LED4<=LED(hh); LED3<=LED(ll); ifplus='0'then foriIN0to25loop endloop; ifplus='0'then set_30s<=set_30s+1; hh:=SET_30s/10; ll:=SET_30srem10; LED4<=LED(hh); LED3<=LED(ll); endif; endif; ifminus='0'then foriIN0to25loop endloop; ifminus='0'then set_30s<=set_30s-1; hh:=SET_30s/10; ll:=SET_30srem10; LED4<=LED(hh); LED3<=LED(ll); endif; endif; whenB=> hh:=SET_25s/10; ll:=SET_25srem10; LED4<=LED(hh); LED3<=LED(ll); ifplus='0'then foriIN0to25loop endloop; ifplus='0'then set_25s<=set_25s+1; hh:=SET_25s/10; ll:=SET_25srem10; LED4<=LED(hh); LED3<=LED(ll); endif; endif; ifminus='0'then foriIN0to25loop endloop; ifminus='0'then set_25s<=set_25s-1; hh:=SET_25s/10; ll:=SET_25srem10; LED4<=LED(hh); LED3<=LED(ll); endif; endif; whenC=> hh:=SET_20s/10; ll:=SET_20srem10; LED4<=LED(hh); LED3<=LED(ll); ifplus='0'then foriIN0to25loop endloop; ifplus='0'then set_20s<=set_20s+1; hh:=SET_20s/10; ll:=SET_20srem10; LED4<=LED(hh); LED3<=LED(ll); endif; endif; ifminus='0'then foriIN0to25loop endloop; ifminus='0'then set_20s<=set_20s-1; hh:=SET_20s/10; ll:=SET_20srem10; LED4<=LED(hh); LED3<=LED(ll); endif; endif; whenD=> hh:=SET_15s/10; ll:=SET_15srem10; LED4<=LED(hh); LED3<=LED(ll); ifplus='0'then foriIN0to25loop endloop; ifplus='0'then set_15s<=set_15s+1; hh:=SET_15s/10; ll:=SET_15srem10; LED4<=LED(hh); LED3<=LED(ll); endif; endif; ifminus='0'then foriIN0to25loop endloop; ifminus='0'then set_15s<=set_15s-1; hh:=SET_15s/10; ll:=SET_15srem10; LED4<=LED(hh); LED3<=LED(ll); endif; endif; whenE=> hh:=SET_5s/10; ll:=SET_5srem10; LED4<=LED(hh); LED3<=LED(ll); ifplus='0'thenforiIN0to25loop endloop; ifplus='0'then set_5s<=set_5s+1; hh:=SET_5s/10; ll:=SET_5srem10; LED4<=LED(hh); LED3<=LED(ll); endif; endif; ifminus='0'then foriIN0to25loop endloop; ifminus='0'then set_5s<=set_5s-1; hh:=SET_5s/10; ll:=SET_5srem10; LED4<=LED(hh); LED3<=LED(ll); endif; endif; endcase; else LED4<="11111111"; LED3<="11111111"; ENDIF; endif;endprocessset;SANs:process(time_1s,stop,pause,en_30s)beginifstop='1'thencurrent_30s<=set_30s;elsifpause='1'thenelsifen_30s='0'then current_30s<=set_30s; sin_30s<='0';elsiftime_1s'eventandtime_1s='1'then current_30s<=current_30s-1; ifsin_30s='1'then sin_30s<='0'; endif; ifcurrent_30s=0then sin_30s<='1'; current_30s<=set_30s; endif;endif;endprocessSANs;ERs:process(time_1s,stop,pause,en_25s)beginifstop='1'thencurrent_25s<=set_25s;elsifpause='1'thenelsifen_25s='0'thencurrent_25s<=set_25s;sin_25s<='0';elsiftime_1s'eventandtime_1s='1'thencurrent_25s<=current_25s-1; ifsin_25s='1'then sin_25s<='0'; endif; ifcurrent_25s=0then sin_25s<='1'; current_25s<=set_25s; endif;endif;endprocessERs;ERSHIs:process(time_1s,stop,pause,en_20s)beginifstop='1'thencurrent_20s<=set_20s;elsifpause='1'thenelsifen_20s='0'thencurrent_20s<=set_20s;sin_20s<='0';elsiftime_1s'eventandtime_1s='1'thencurrent_20s<=current_20s-1; ifsin_20s='1'then sin_20s<='0'; endif; ifcurrent_20s=0then sin_20s<='1'; current_20s<=set_20s; endif;endif;endprocessERSHIs;Ws:process(time_1s,stop,pause,en_5s)beginifstop='1'thencurrent_5s<=set_5s;elsifpause='1'thenelsifen_5s='0'thencurrent_5s<=set_5s;sin_5s<='0';elsiftime_1s'eventandtime_1s='1'thencurrent_5s<=current_5s-1; ifsin_5s='1'then sin_5s<='0'; endif; ifcurrent_5s=0then sin_5s<='1'; current_5s<=set_5s; endif;endif;endprocessWs;SHIs:process(time_1s,stop,pause,en_15s)beginifstop='1'thencurrent_15s<=set_15s;elsifpause='1'thenelsifen_15s='0'thencurrent_15s<=set_15s;sin_15s<='0';elsiftime_1s'eventandtime_1s='1'thencurrent_15s<=current_15s-1; ifsin_15s='1'then sin_15s<='0'; endif; ifcurrent_15s=0then sin_15s<='1'; current_15s<=set_15s; endif;endif;endprocessSHIs;process(SET_LED,change,current_30s,current_25s,current_20s,current_15s,current_5s,en_30s,en_25s,en_15s,en_20s,en_5s)variablehh:integerrange0to9;variablell:integerrange0to9;TYPESTATEIS(A,B,C,D,E);variableSTATE_1:STATE;beginifstop='1'thencaseSET_LEDis whenA=> LED2<="10110000";--3 LED1<="11000000";--0 whenB=> LED2<="10100100";--2 LED1<="10010010";--5 whenC=> LED2<="10100100";--2 LED1<="11000000";--0 whenD=> LED2<="11111001";--1 LED1<="10010010";--5 whenE=> LED2<="11000000";--0 LED1<="10010010";--5 endcase;elseifen_30s='1'thenhh:=current_30s/10;ll:=current_30srem10;LED2<=LED(hh);LED1<=LED(ll);endif;ifen_25s='1'thenhh:=current_25s/10;ll:=current_25srem10;LED2<=LED(hh);LED1<=LED(ll);endif;ifen_20s='1'thenhh:=current_20s/10;ll:=current_20srem10;LED2<=LED(hh);LED1<=LED(ll);endif;ifen_15s='1'thenhh:=current_15s/10;ll:=current_15srem10;LED2<=LED(hh);LED1<=LED(ll);endif;ifen_5s='1'thenhh:=current_5s/10;ll:=current_5srem10;LED2<=LED(hh);LED1<=LED(ll);endif;endif;endprocess; endarchitectureone;基于C8051F單片機(jī)直流電動機(jī)反饋控制系統(tǒng)的設(shè)計與研究基于單片機(jī)的嵌入式Web服務(wù)器的研究MOTOROLA單片機(jī)MC68HC(8)05PV8/A內(nèi)嵌EEPROM的工藝和制程方法及對良率的影響研究基于模糊控制的電阻釬焊單片機(jī)溫度控制系統(tǒng)的研制基于MCS-51系列單片機(jī)的通用控制模塊的研究基于單片機(jī)實現(xiàn)的供暖系統(tǒng)最佳啟停自校正(STR)調(diào)節(jié)器單片機(jī)控制的二級倒立擺系統(tǒng)的研究基于增強(qiáng)型51系列單片機(jī)的TCP/IP協(xié)議棧的實現(xiàn)基于單片機(jī)的蓄電池自動監(jiān)測系統(tǒng)基于32位嵌入式單片機(jī)系統(tǒng)的圖像采集與處理技術(shù)的研究基于單片機(jī)的作物營養(yǎng)診斷專家系統(tǒng)的研究基于單片機(jī)的交流伺服電機(jī)運動控制系統(tǒng)研究與開發(fā)基于單片機(jī)的泵管內(nèi)壁硬度測試儀的研制基于單片機(jī)的自動找平控制系統(tǒng)研究基于C8051F040單片機(jī)的嵌入式系統(tǒng)開發(fā)基于單片機(jī)的液壓動力系統(tǒng)狀態(tài)監(jiān)測儀開發(fā)模糊Smith智能控制方法的研究及其單片機(jī)實現(xiàn)一種基于單片機(jī)的軸快流CO〈,2〉激光器的手持控制面板的研制基于雙單片機(jī)沖床數(shù)控系統(tǒng)的研究基于CYGNAL單片機(jī)的在線間歇式濁度儀的研制基于單片機(jī)的噴油泵試驗臺控制器的研制基于單片機(jī)的軟起動器的研究和設(shè)計基于單片機(jī)控制的高速快走絲電火花線切割機(jī)床短循環(huán)走絲方式研究基于單片機(jī)的機(jī)電產(chǎn)品控制系統(tǒng)開發(fā)基于PIC單片機(jī)的智能手機(jī)充電器基于單片機(jī)的實時內(nèi)核設(shè)計及其應(yīng)用研究基于單片機(jī)的遠(yuǎn)程抄表系統(tǒng)的設(shè)計與研究基于單片機(jī)的煙氣二氧化硫濃度檢測儀的研制基于微型光譜儀的單片機(jī)系統(tǒng)單片機(jī)系統(tǒng)軟件構(gòu)件開發(fā)的技術(shù)研究基于單片機(jī)的液體點滴速度自動檢測儀的研制基于單片機(jī)系統(tǒng)的多功能溫度測量儀的研制基于PIC單片機(jī)的電能采集終端的設(shè)計和應(yīng)用基于單片機(jī)的光纖光柵解調(diào)儀的研制氣壓式線性摩擦焊機(jī)單片機(jī)控制系統(tǒng)的研制基于單片機(jī)的數(shù)字磁通門傳感器基于單片機(jī)的旋轉(zhuǎn)變壓器-數(shù)字轉(zhuǎn)換器的研究基于單片機(jī)的光纖Bragg光柵解調(diào)系統(tǒng)的研究單片機(jī)控制的便攜式多功能乳腺治療儀的研制基于C8051F020單片機(jī)的多生理信號檢測儀基于單片機(jī)的電機(jī)運動控制系統(tǒng)設(shè)計Pico專用單片機(jī)核的可測性設(shè)計研究基于MCS-51單片機(jī)的熱量計基于雙單片機(jī)的智能遙測微型氣象站MCS-51單片機(jī)構(gòu)建機(jī)器人的實踐研究基于單片機(jī)的輪軌力檢測基于單片機(jī)的GPS定位儀的研究與實現(xiàn)基于單片機(jī)的電液伺服控制系統(tǒng)用于單片機(jī)系統(tǒng)的MMC卡文件系統(tǒng)研制基于單片機(jī)的時控和計數(shù)系統(tǒng)性能優(yōu)化的研究基于單片機(jī)和CPLD的粗光柵位移測量系統(tǒng)研究單片機(jī)控制的后備式方波UPS提升高職學(xué)生單片機(jī)應(yīng)用能力的探究基于單片機(jī)控制的自動低頻減載裝置研究基于單片機(jī)控制的水下焊接電源的研究基于單片機(jī)的多通道數(shù)據(jù)采集系統(tǒng)基于uPSD3234單片機(jī)的氚表面污染測量儀的研制基于單片機(jī)的紅外測油儀的研究96系列單片機(jī)仿真器研究與設(shè)計基于單片機(jī)的單晶金剛石刀具刃磨設(shè)備的數(shù)控改造基于單片機(jī)的溫度智能控制系統(tǒng)的設(shè)計與實現(xiàn)基于MSP430單片機(jī)的電梯門機(jī)控制器的研制基于單片機(jī)的氣體測漏儀的研究基于三菱M16C/6N系列單片機(jī)的CAN/USB協(xié)議轉(zhuǎn)換器基于單片機(jī)和DSP的變壓器油色譜在線監(jiān)測技術(shù)研究基于單片機(jī)的膛壁溫度報警系統(tǒng)設(shè)計基于AVR單片機(jī)的低壓無功補(bǔ)償控制器的設(shè)計基于單片機(jī)船舶電力推進(jìn)電機(jī)監(jiān)測系統(tǒng)基于單片機(jī)網(wǎng)絡(luò)的振動信號的采集系統(tǒng)基于單片機(jī)的大容量數(shù)據(jù)存儲技術(shù)的應(yīng)用研究基于單片機(jī)的疊圖機(jī)研究與教學(xué)方法實踐基于單片機(jī)嵌入式Web服務(wù)器技術(shù)的研究及實現(xiàn)基于AT89S52單片機(jī)的通用數(shù)據(jù)采集系統(tǒng)基于單片機(jī)的多道脈沖幅度分析儀研究機(jī)器人旋轉(zhuǎn)電弧傳感角焊縫跟蹤單片機(jī)控制系統(tǒng)基于單片機(jī)的控制系統(tǒng)在PLC虛擬教學(xué)實驗中的應(yīng)用研究基于單片機(jī)系統(tǒng)的網(wǎng)絡(luò)通信研究與應(yīng)用基于PIC16F877單片機(jī)的莫爾斯碼自動譯碼系統(tǒng)設(shè)計與研究基于單片機(jī)的模糊控制器在工業(yè)電阻爐上的應(yīng)用研究基于雙單片機(jī)沖床數(shù)控系統(tǒng)的研究與開發(fā)基于Cygnal單片機(jī)的μC/OS-Ⅱ的研究基于單片機(jī)的一體化智能差示掃描量熱儀系統(tǒng)研究HYPERLINK
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度股份代持與代管合同協(xié)議2篇
- 二零二五年度水利工程監(jiān)測與施工測量服務(wù)合同范本3篇
- 二零二五版新能源設(shè)備搬運安裝合同細(xì)則3篇
- 2025年度航空航天器發(fā)動機(jī)安裝與測試合同3篇
- 二零二五年度綠色交通設(shè)施招標(biāo)投標(biāo)合同6篇
- 展會參展資格合同(2篇)
- 二零二五版水利工程鋼筋加工與分包合同規(guī)范范本3篇
- 二零二五版室內(nèi)外景觀裝飾一體化合同3篇
- 2025年度文化演出活動承辦合同3篇
- 二零二五版單位職工食堂員工健康體檢承包合同2篇
- 中建集團(tuán)面試自我介紹
- 《工業(yè)園區(qū)節(jié)水管理規(guī)范》
- 警校生職業(yè)生涯規(guī)劃
- 意識障礙患者的護(hù)理診斷及措施
- 2024版《53天天練單元歸類復(fù)習(xí)》3年級語文下冊(統(tǒng)編RJ)附參考答案
- 2025企業(yè)年會盛典
- 215kWh工商業(yè)液冷儲能電池一體柜用戶手冊
- 場地平整施工組織設(shè)計-(3)模板
- 交通設(shè)施設(shè)備供貨及技術(shù)支持方案
- 美容美發(fā)店火災(zāi)應(yīng)急預(yù)案
- 餐車移動食材配送方案
評論
0/150
提交評論