




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
《EDA應用實訓》課程設計說明書《EDA應用實訓》課程設計說明書目錄292381緒論 0213522方案論證 1100042.1程序設計的任務要求 1120252.2方案選擇 152473單元模塊 567803.1程序中使用的信號介紹: 567283.2子模塊功能介紹: 513524整體電路 11261265仿真及實物圖 12316435.2實物圖 13316886心得 1616251參考文獻 1621410附錄 1713721源程序 171.緒論EDA課程教會了我們如何運用電腦輔助我們進行數字電路的設計。還教會了我們用于對FPGA進行編程的VHDL語言。我十分喜歡FPGA的編程,也覺得這次課程設計是一次實踐的好機會。由于在之前我已經寫過一些FPGA的程序,所以在拿到這個題目時我的思路還是比較清晰的。 2.方案論證2.1程序設計的任務要求2.1.1初始條件:設計一個交通燈控制器,有一條主干道和一條支干道匯合成十字路口,在每個入口處設置紅、黃、綠三色箭頭信號燈,紅燈亮禁止通行,綠燈亮允許通行,黃燈亮則給行駛中的車輛有時間停在禁行線外。2.1.2要求完成的主要任務:主干道和支干道構成的十字路口上有車輛交替運行,主干道每次直行通行時間為30s,左轉通行時間為25s,支干道每次直行通行時間為20s,左轉通行時間為15s。每次綠燈變紅燈時,黃燈先亮5s,才能變換運行車道。上述時間設置可修改。十字路口有數碼管顯示燈亮時間,要求燈亮時間以秒為單位進行減計數。2.2方案選擇2.2.1方案一只使用一個計時器完成所有計時工作,通過計數到不同的數值時發(fā)出不同的脈沖信號告訴系統(tǒng)相應的計時值已到。該方案的優(yōu)勢在于占用資源少,只用使用一個計時器就可完成5種不同的計時。但不管是在哪一個狀態(tài)都會調用該計時器,一旦該計時器出錯,整個系統(tǒng)都會受影響,不利于系統(tǒng)的維護和模塊化編程的思想。2.2.2方案二使用5個計時器進行計時。在某個狀態(tài)時,系統(tǒng)會調用相應的計時器開始計時,并且只檢測相應計時器的計時完成脈沖信號。該方案的缺點在于占用FPGA資源多,但由于FPGA上資源足夠,這個缺陷不影響系統(tǒng)工作。但它的優(yōu)勢是很明顯的,它采用模塊化編程設計,單個計時器的復雜度遠遠小于方案一中的計時器,并且5個計時器完全類似,只要完成一個計時器的設計就能輕易完成整個計時模塊的設計。因此,我選擇方案二進行設計。2.2.3設計思路 整個程序設計可以分為4個部分,燈的顯示部分、數碼管的顯示部分、計時部分和按鍵對倒計數時間的調整部分。 燈的顯示部分可用狀態(tài)機實現。由于交通燈的顯示狀況是有限的幾個狀態(tài),于是可以用狀態(tài)機讓燈在固定的幾個狀態(tài)中順次切換。對于這個題目,我將燈的顯示分了8個狀態(tài):首先,所有交通燈有12個:主干道直行的紅黃綠燈,主干道左轉的紅黃綠燈,次干道直行的紅黃綠燈,次干道左轉的紅黃綠燈。主干道直行綠燈亮、主干道左轉紅燈亮、次干道直行和左轉紅燈亮;主干道直行黃燈亮、主干道左轉紅燈亮、次干道直行和左轉紅燈亮;主干道直行紅燈亮、主干道左轉綠燈亮、次干道直行和左轉紅燈亮;主干道直行紅燈亮、主干道左轉黃燈亮、次干道直行和左轉紅燈亮;主干道直行紅燈亮、主干道左轉紅燈亮、次干道直行綠燈亮,次干道左轉紅燈亮;主干道直行紅燈亮、主干道左轉紅燈亮、次干道直行黃燈亮,次干道左轉紅燈亮;主干道直行紅燈亮、主干道左轉紅燈亮、次干道直行紅燈亮,次干道左轉綠燈亮;主干道直行紅燈亮、主干道左轉紅燈亮、次干道直行綠燈亮,次干道左轉黃燈亮;于是我定義了一個信號STATE用于存儲狀態(tài)機的狀態(tài):TYPESTATE_TYPEIS(A,B,C,D,E,F,G,H); SIGNALSTATE:STATE_TYPE:=A;--狀態(tài)初始化為A數碼管的顯示部分。設置了5個計時器,分別是30s計時器、25s計時器、20s計時器、15s計時器和5s計時器。每個計時器都有一個使能EN信號,每個狀態(tài)下只允許一個EN有效,當檢測的計時器的EN信號有效時,就會將它的計數數值送到數碼管顯示。定義了一個常量數組:LED。代碼如下:constantLED:data:=("11000000","11111001","10100100","10110000","10011001","10010010","10000010","11111000","10000000","10010000");--儲存0~9的數碼管顯示字符將2位十進制數轉化為2個8位二進制數顯示的代碼為:hh:=current_30s/10;ll:=current_30srem10;LED2<=LED(hh);LED1<=LED(ll);計時部分使用5個計時器,每個計時器由使能信號EN控制啟動。由計時完成信號SIN告知系統(tǒng)計時完成。5個計時器結構類似,下面是計時器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;按鍵對倒計數時間的調整部分。設置了四個鍵用于計數時間的調整:stop鍵用于從正常運行模式跳轉到調整模式,change鍵用于選擇調整5個計數器中哪一個的值,plus和minus鍵用于加或減相應計數器的值。由于要用一個change鍵控制5個狀態(tài)的轉化,于是在這兒又用了一個狀態(tài)機。狀態(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計時模塊的信號線,計滿相應秒數后輸出,高有效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;--設定計時初始值signalcurrent_30s,current_25s,current_20s,current_5s,current_15s:integerrange0to99;3.2子模塊功能介紹:3.2.1分頻器將學習板上50MHZ的晶振信號分頻為1HZ和0.2HZ,tex為測試信號,頻率為1HZ用于觀測分頻器是否工作正常。如下圖所示:圖3-2-1分頻器3.2.2交通信號燈控制模塊根據STATE的狀態(tài)來點亮各個交通燈。當pause或stop信號為高時,燈的顯示狀態(tài)保持。如下圖所示:圖3-2-2交通信號燈控制模塊3.2.3STATE信號以及計時器使能信號控制器根據STATE的現態(tài)和sin_30s、sin_25s、sin_20s、sin_15s、sin_5s信號的狀態(tài)可以決定STATE信號的狀態(tài)切換和5個計時器的使能。當stop信號為‘1’的時候,sin_30s被置‘1’,sin_25s、sin_20s、sin_15s和sin_5s被置‘0’。STATE信號被置A。如下圖所示:圖3-2-3STATE信號以及計時器使能信號控制器3.2.4計時值設置模塊當stop置1時啟用計時值設置模塊,當change按下時會在5個計時器之間轉換,按plus或minus時會將相應的計時器設置值加一或減一。如下圖所示:圖3-2-4計時值設置模塊3.2.5數碼管倒計時顯示模塊當stop為0時為正常顯示模式,實時顯示當前被使能的計時器的值。當stop值為1時為指示模式,顯示當前調整計時值設置模塊調整的計時器編號。如30S計時器的編號為30,當調整計時器30S的計時值時,數碼管將顯示30。如下圖所示:圖3-2-5數碼管倒計時顯示模塊3.2.625號計時器計時初值為25s。當set_25s變化時,它會實時從set_25s中讀取新的計時值。當25s倒計時計到0時,sin_25s端會送出一個高電平脈沖,表示計時完成。如下圖所示:圖3.2.625號計時器3.2.720號計時器計時初值為20s。當set_20s變化時,它會實時從set_20s中讀取新的計時值。當20s倒計時計到0時,sin_20s端會送出一個高電平脈沖,表示計時完成。如下圖所示:圖3.2.720號計時器3.2.830號計時器計時初值為30s。當set_30s變化時,它會實時從set_30s中讀取新的計時值。當30s倒計時計到0時,sin_30s端會送出一個高電平脈沖,表示計時完成。如下圖所示:圖3.2.830號計時器3.2.915號計時器。計時初值為15s。當set_15s變化時,它會實時從set_15s中讀取新的計時值。當15s倒計時計到0時,sin_15s端會送出一個高電平脈沖,表示計時完成。如下圖所示:圖3-2-915號計時器3.2.105號計時器計時初值為5s。當set_5s變化時,它會實時從set_5s中讀取新的計時值。當5s倒計時計到0時,sin_5s端會送出一個高電平脈沖,表示計時完成。如下圖所示:圖3-2-105號計時器4.整體電路總體的模塊圖共有十個模塊:一個分頻器模塊,5個計時器模塊,一個交通信號燈控制模塊,一個STATE信號以及計時器使能信號控制模塊,一個數碼管倒計時顯示模塊以及一個計時值設置模塊。如下圖所示:圖4系統(tǒng)整體模塊圖5.仿真及實物圖5.1ModelSim仿真圖該圖顯示了控制交通燈的狀態(tài)機的工作狀況。Stop置0,pause置0,系統(tǒng)工作在正常模式下。STATE狀態(tài)信號以A->B->C->D->E->F->G->H->A變化。如下圖所示:圖5-1-1交通燈狀態(tài)變換ModelSim仿真圖該圖顯示了按鍵設置部分的狀態(tài)機運行狀況,此時stop置1,change置0,系統(tǒng)工作在停止以及設置模式下。SET_LED會以A=>B=>C=>D=>E=>A變化。如下圖所示:圖5-1-2按鍵設置部分狀態(tài)機ModelSim仿真圖5.2實物圖圖5-2-1是初始化界面,系統(tǒng)從30開始倒計時,此時燈亮的狀態(tài)為:主干道直行綠燈亮、主干道左轉紅燈亮、次干道直行紅燈亮、次干道左轉紅燈亮。車道的狀態(tài)為只允許主干道車輛直行。如下圖所示:圖5.2.1初始化界面初始化界面之后,系統(tǒng)開始30S倒計時。如下圖所示:圖5-2-2正常運行界面30S倒計時階段30S倒計時完成后,亮5s黃燈后,進入25S倒計時界面,此時燈亮的狀態(tài)為:主干道直行紅燈亮、主干道左轉綠燈亮、次干道直行紅燈亮、次干道左轉紅燈亮。車道的狀態(tài)為只允許主干道車輛左轉。如下圖所示:圖5-2-3正常運行界面25S倒計時階段對30S計時器的初值進行設置,其初始化值為30,現在已經被調整為26。前兩個數碼管顯示當前設定后的初值,后兩個數碼管顯示當前調整的計時器的編號。如下圖所示:圖5.2.4設置30S計時器的計時初值界面系統(tǒng)可對所有計時器進行初值設定,圖5-2-5為對20S計時器做初值設定。前兩個數碼管顯示當前設定后的初值,后兩個數碼管顯示當前調整的計時器的編號。如下圖所示:圖5-2-5設置20S計時器的計時初值界面圖5-2-6為對05S計時器做初值設定。前兩個數碼管顯示當前設定后的初值,后兩個數碼管顯示當前調整的計時器的編號。如下圖所示:圖5-2-6設置05S計時器的計時初值界面6心得作為工科生,在大學里進行這樣的實習的時候還是不多的。我也非常珍惜,希望能學到一些課堂上學不到的東西。運用課堂學習的東西做課設一般是是不夠的,于是這就考驗了我們在略有思路的情況下如何迅速的通過自學或試驗來獲取課程設計中需要的知識和經驗,并理清思路做出設計并仿真調試最終做出實物來。我在課設期間的收獲很大。除了在FPGA編程上又得到了一次難得的歷練外,我還學會使用了ModelSim這一功能強大的仿真軟件。參考文獻[1]徐志軍,王金明等.《EDA技術與VHDL設計》.北京:電子工業(yè)出版社,2009年[2]貝耶爾,劉凌.《數字信號處理的FPGA實現》.北京:清華大學出版社,2011年[3]高亞軍.《基于FPGA的數字信號處理》.北京:電子工業(yè)出版社,2012年[4]張凱虹.《一種FPGA驗證與測試的方法介紹》.計算機與數字工程,2010年第9期[5]童鵬,胡以華.《FPGA器件選型研究》.現代電子技術,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單片機直流電動機反饋控制系統(tǒng)的設計與研究基于單片機的嵌入式Web服務器的研究MOTOROLA單片機MC68HC(8)05PV8/A內嵌EEPROM的工藝和制程方法及對良率的影響研究基于模糊控制的電阻釬焊單片機溫度控制系統(tǒng)的研制基于MCS-51系列單片機的通用控制模塊的研究基于單片機實現的供暖系統(tǒng)最佳啟停自校正(STR)調節(jié)器單片機控制的二級倒立擺系統(tǒng)的研究基于增強型51系列單片機的TCP/IP協(xié)議棧的實現基于單片機的蓄電池自動監(jiān)測系統(tǒng)基于32位嵌入式單片機系統(tǒng)的圖像采集與處理技術的研究基于單片機的作物營養(yǎng)診斷專家系統(tǒng)的研究基于單片機的交流伺服電機運動控制系統(tǒng)研究與開發(fā)基于單片機的泵管內壁硬度測試儀的研制基于單片機的自動找平控制系統(tǒng)研究基于C8051F040單片機的嵌入式系統(tǒng)開發(fā)基于單片機的液壓動力系統(tǒng)狀態(tài)監(jiān)測儀開發(fā)模糊Smith智能控制方法的研究及其單片機實現一種基于單片機的軸快流CO〈,2〉激光器的手持控制面板的研制基于雙單片機沖床數控系統(tǒng)的研究基于CYGNAL單片機的在線間歇式濁度儀的研制基于單片機的噴油泵試驗臺控制器的研制基于單片機的軟起動器的研究和設計基于單片機控制的高速快走絲電火花線切割機床短循環(huán)走絲方式研究基于單片機的機電產品控制系統(tǒng)開發(fā)基于PIC單片機的智能手機充電器基于單片機的實時內核設計及其應用研究基于單片機的遠程抄表系統(tǒng)的設計與研究基于單片機的煙氣二氧化硫濃度檢測儀的研制基于微型光譜儀的單片機系統(tǒng)單片機系統(tǒng)軟件構件開發(fā)的技術研究基于單片機的液體點滴速度自動檢測儀的研制基于單片機系統(tǒng)的多功能溫度測量儀的研制基于PIC單片機的電能采集終端的設計和應用基于單片機的光纖光柵解調儀的研制氣壓式線性摩擦焊機單片機控制系統(tǒng)的研制基于單片機的數字磁通門傳感器基于單片機的旋轉變壓器-數字轉換器的研究基于單片機的光纖Bragg光柵解調系統(tǒng)的研究單片機控制的便攜式多功能乳腺治療儀的研制基于C8051F020單片機的多生理信號檢測儀基于單片機的電機運動控制系統(tǒng)設計Pico專用單片機核的可測性設計研究基于MCS-51單片機的熱量計基于雙單片機的智能遙測微型氣象站MCS-51單片機構建機器人的實踐研究基于單片機的輪軌力檢測基于單片機的GPS定位儀的研究與實現基于單片機的電液伺服控制系統(tǒng)用于單片機系統(tǒng)的MMC卡文件系統(tǒng)研制基于單片機的時控和計數系統(tǒng)性能優(yōu)化的研究基于單片機和CPLD的粗光柵位移測量系統(tǒng)研究單片機控制的后備式方波UPS提升高職學生單片機應用能力的探究基于單片機控制的自動低頻減載裝置研究基于單片機控制的水下焊接電源的研究基于單片機的多通道數據采集系統(tǒng)基于uPSD3234單片機的氚表面污染測量儀的研制基于單片機的紅外測油儀的研究96系列單片機仿真器研究與設計基于單片機的單晶金剛石刀具刃磨設備的數控改造基于單片機的溫度智能控制系統(tǒng)的設計與實現基于MSP430單片機的電梯門機控制器的研制基于單片機的氣體測漏儀的研究基于三菱M16C/6N系列單片機的CAN/USB協(xié)議轉換器基于單片機和DSP的變壓器油色譜在線監(jiān)測技術研究基于單片機的膛壁溫度報警系統(tǒng)設計基于AVR單片機的低壓無功補償控制器的設計基于單片機船舶電力推進電機監(jiān)測系統(tǒng)基于單片機網絡的振動信號的采集系統(tǒng)基于單片機的大容量數據存儲技術的應用研究基于單片機的疊圖機研究與教學方法實踐基于單片機嵌入式Web服務器技術的研究及實現基于AT89S52單片機的通用數據采集系統(tǒng)基于單片機的多道脈沖幅度分析儀研究機器人旋轉電弧傳感角焊縫跟蹤單片機控制系統(tǒng)基于單片機的控制系統(tǒng)在PLC虛擬教學實驗中的應用研究基于單片機系統(tǒng)的網絡通信研究與應用基于PIC16F877單片機的莫爾斯碼自動譯碼系統(tǒng)設計與研究基于單片機的模糊控制器在工業(yè)電阻爐上的應用研究基于雙單片機沖床數控系統(tǒng)的研究與開發(fā)基于Cygnal單片機的μC/OS-Ⅱ的研究基于單片機的一體化智能差示掃描量熱儀系統(tǒng)研究HYPERLINK
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 文具企業(yè)市場營銷策劃與實施技巧考核試卷
- 酒店客房清潔技巧考核試卷
- 純化水檢測管理制度
- 阿里系公司管理制度
- 盾構機資料管理制度
- 離婚協(xié)議書的必要條款與范文
- 汽車修理廠資金管理制度
- 環(huán)保項目環(huán)境影響評價的信息化工具考核試卷
- 應急測繪日常管理制度
- 金士頓公司管理制度
- 小學人人講安全個個會應急
- 公開課虛擬語氣在if條件句中的用法課件市公開課一等獎省賽課微課金獎課件
- 美學與人生智慧樹知到期末考試答案2024年
- 2024火電廠智能巡檢機器人系統(tǒng)應用
- 消化內鏡檢查前胃腸道準備課件
- 浙江省杭州市上城區(qū)2022-2023學年五年級下學期期末學業(yè)水平監(jiān)測數學卷
- 新蘇教版科學六年級下冊全冊教案(含反思)
- 高中物理必修第1冊教材習題答案
- 小學法制講座《學憲法 講憲法 爭做憲法小衛(wèi)士》
- 動靜脈畸形栓塞術后護理
- 醫(yī)療試劑運輸方案
評論
0/150
提交評論