




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、電子課程設計簡易洗衣機控制器設計班級:姓名:學導老師:2013年12月4 / 19第一部分:設計任務與要求 1第二部分:總體框圖 1第三部分:選擇器件2第四部分:功能模塊34.1 時間預置編碼寄存模塊(settime) 34.2 減法計數器模塊(counter) 44.3 數碼管顯示模塊(showtime) 74.4 時序電路模塊(analyse) 94.5 譯碼器模塊(move)11第五部分:總體設計電路圖 135.1 總體(頂層)設計電路圖135.2 頂層文件仿真 135.3 管腳分配圖 145.4 硬件實驗效果圖14第六部分:課程設計心得體會 15IV / 19簡易洗衣機控制器設計一、設
2、計任務與要求設計一個洗衣機洗滌程序控制器,控制洗衣機的電動機按下圖所示的規律運 轉:定時啟動 一l 正轉 暫停 一反轉 一;暫停 時間到 停止用兩位數碼管預置洗滌時間(分鐘數),洗滌過程在送入預置時間后開始運 轉,洗滌中按倒計時方式對洗滌過程作計時顯示,用LED表示電動機的正、反轉,如果定時時間到,則停機并發出音響信號。二、總體框圖RUNREV PAUSEK1 K2 K3 K4各個部分的具體功能描述如下:(一)預設時間和編碼電路(settime):接受用戶通過按鈕預置的時間信息,編碼成八位之后轉給減法計數器。(二)減法計數器電路(counter):接收編碼之后的預置時間信息,向電機運轉 控制電
3、路傳遞運行信號,并將預置時間信息和剩余時間信息發給數碼管顯示電路進行實 時顯示。(三)數碼管顯示電路(showtime):接收減法計數器電路傳來的時間信息,進行 實時譯碼顯示。(四)電機運轉時序控制電路 (analyse):接收運行起止信號,安排電機運行狀態 并編碼輸出。(五)譯碼器(move):接收電機運行狀態信號,譯碼后實時控制電機的正傳、反轉 和暫停。三、選擇器件1、pc機一臺。2、CPLD/FPG超配器板:標準配置EPF10K10LC84-依口板,下載接口是數 字芯片的下載接口( DIGITAL JTAG),主要用于CPLD/FPG瘟片的數據下載。3、實驗箱:裝有七段數碼管及蜂鳴器等,
4、七段數碼管字形及真值表如下七段數碼管字形如下:七段數碼管真值表如下:QC7入產.Hi上 曜/金A八E也如;-rOaaa1Ii1210r*i iiOQoQ1cqo0Oaq11o11g1匚Oa1l1110仰1二 1Qioao11©o111_J1Oioi1o11Q11I_O11a1o11I1It_O11i111oOoQ11oo°1111111ll 11(10011111o11匚四、功能模塊4.1 時間預置編碼寄存模塊(settime)1、時間預置編碼寄存模塊settime如圖1所示,time_input為通過開發板 上撥碼開關K1、K2、K3、K4輸入的信號,load為輸入確認信
5、號。本模塊將輸入 的四位時間信號編碼成八位二進制數輸出到減法計數器電路。AKjLA L * » Mi* 1 J_a_UL_X Ji L-iK , L JL& *, * A .LJL , J X kjl 上 k, ,二,,x AH-LK Xjh LXk. £上 a ji k j i j ba .a"EH - 一工h HEE一 TE曾工 1 HE 一口 工 K E 一一 一 K KE 陣$ettime fa1 loadtime_set7.OrEtime_input3.0iI inst A ri VI V I V I 44 I VW I V iff11 RR I
6、f F P ? ii 11 VVV ¥*¥* Fl VV&I f I f I ? < F F ff f T T I Tff I f 'f f¥Ff >'! I ? ",ll圖1時間預置編碼寄存模塊settime2、仿真圖圖2時間預置編碼寄存模塊仿真圖用K1、K2、K& K4給time_input 輸入一個二進制數 0111,讓load有效,輸出 time_set 為 00000111。3、時間預置編碼寄存模塊源代碼library ieee;use ieee.std_logic_1164.all;use ieee
7、.std_logic_unsigned.all;entity settime is port(load:in std_logic;time_input:in std_logic_vector(3 downto 0);time_set:out std_logic_vector(7 downto 0);end settime;architecture settime of settime issignal p1:std_logic_vector(7 downto 0);beginprocess(load)beginif(load'event and load='1')the
8、ncase time_input iswhen "0000"=>p1<="00000000" when "0001"=>p1<="00000001" when "0010"=>p1<="00000010" when "0011"=>p1<="00000011" when "0100"=>p1<="00000100" when "
9、0101"=>p1<="00000101" when "0110"=>p1<="00000110" when "0111"=>p1<="00000111" when "1000"=>p1<="00001000" when "1001"=>p1<="00001001" when others=>p1<="00000000&quo
10、t; end case;end if;end process;time_set<=p1;end settime;4.2 減法計數器模塊(counter)1、減法計數模塊counter 如圖 3 所示,本模塊中clk 為系統時序脈沖信號,start 為系統開始運行的信號,time_set 接收編碼之后的預置時間信息,向電機運轉控制電路傳遞運行信號,并將預置時間信息和剩余時間信息發給數碼管顯示電路進行實時顯示。time_remain 為輸出到數碼管顯示電路的時間信號,time_over 為系統運行結束信號, 可以用來控制蜂鳴器的通斷。圖3減法計數模塊2、仿真圖圖4減法計數模塊仿真圖3、減法計
11、數模塊源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity counter isport(clk,start:in std_logic;time_set:in std_logic_vector(7 downto 0);time_remain:buffer std_logic_vector(7 downto 0); time_over:buffer std_logic);end counter;architecture counter of counter isbeginprocess
12、(clk)variable time_second:integer range 0 to 59 :=59;beginif(clk'event and clk='1')thenif(start='0')thenif(time_remain(7 downto 0)=0)thentime_remain<=time_set;elsetime_remain(7downto 4)<=time_remain(3 downto 0);time_remain(3 downto 0)<=time_set(3 downto 0);end if;time_se
13、cond:=59;time_over<='1'elseif(time_over='1')thenif(time_second=0 and time_remain(7 downto 0)=0)thentime_over<='0'elseif(time_second=0)thenif(time_remain(3 downto 0)=0)thentime_remain(7downto 4)<=time_remain(7 downto 4)-1;time_remain(3 downto 0)<="1001"ti
14、me_second:=59;elsetime_remain(7 downto 4)<=time_remain(7 downto 4);time_remain(3downto 0)<=time_remain(3 downto 0)-1;time_second:=59;end if;elsetime_second:=time_second-1;end if;end if;end if;end if;end if;end process;showtime)end counter;4.3 數碼管顯示模塊1、數碼管顯示模塊showtime如圖5所示,本模塊clk為系統時序脈沖信號,time_
15、remain 接收減法計數器電路傳來的時間信息,進行實時譯碼顯示,a,b,c,d,e,f,g分別對應數碼管的七段,minute和second分別位選兩個數碼管,顯示十位和個位2、仿真圖i showtime1 time_remain7 0minutei1clksecondFa:Ebcd!c ff9:in si圖5數碼管顯示模塊14 / 19圖6數碼管顯示模塊仿真圖3、數碼管顯示模塊源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity showtime isport(time_remai
16、n:in std_logic_vector(7 downto 0);clk:in std_logic;minute,second:out std_logic;a,b,c,d,e,f,g:out std_logic);end showtime;architecture showtime of showtime issignal temp:std_logic_vector(6 downto 0);signal bcd:std_logic_vector(3 downto 0);signal choose:std_logic;beginprocess(clk)beginif(clk'event
17、 and clk='1')thenchoose<=not choose;if(choose='1')thenminute<='0'second<='1'bcd<= time_remain(7 downto 4);elseminute<='1'second<='0'bcd<= time_remain(3 downto 0);end if;end if;end process;process(bcd)begincase bcd iswhen "0000
18、"=>temp<="1111110"when "0001"=>temp<="0110000"when "0010"=>temp<="1101101”;when "0011"=>temp<="1111001”;when "0100"=>temp<="0110011”;when "0101"=>temp<="1011011”;when &q
19、uot;0110"=>temp<="1011111”;when "0111"=>temp<="1110000”;when "1000"=>temp<="1111111”;when "1001"=>temp<="1111011”;when others=>temp<="1111011”;end case;a<=temp(6) ; b<=temp(5); c<=temp(4) ; d<=temp(
20、3) ; e<=temp(2) ; f<=temp(1); g<=temp(0);end process ;end showtime ;4.4 時序電路模塊(analyse)1、時序電路模塊analyse如圖7所示,本模塊由start控制使能控制,通過 時鐘的輸入進行計算當前系統所處的狀態,并進行編碼輸出電機的運轉狀態, out_1為高位時表示電機正轉,out_2為高位時表示電機反轉。由于在顯示以及 輸入的時候只有分鐘,故在模塊內部設計了一個秒的計時變量。2、仿真圖3、時序電路模塊analyse 源程序library ieee;use ieee.std_logic_1164.
21、all;use ieee.std_logic_unsigned.all;entity analyse isport(clk,start,time_over:in std_logic;out_1,out_2:out std_logic);end analyse;architecture analyse of analyse isbeginprocess(clk)variable state:std_logic;variable wash_time:integer:=0;variable wait_time:integer:=0;beginif(clk'event and clk='
22、;1')thenif(start='0')thenwash_time:=0;wait_time:=0;state:='0'out_1<='0'out_2<='0'elseif(time_over='1')thenif(wash_time=20)thenif(wait_time=10)thenwash_time:=0;state:=not state;elsewait_time:=wait_time+1;end if;elsewash_time:=wash_time+1; wait_time:=0
23、;end if;end if;if (wash_time=20)thenout_1<='0'out_2<='0'elseif(state='0') then out_1<='1'out_2<='0'elseout_1<='0'out_2<='1'end if;end if;end if;end if;end process;end analyse;4.5 譯碼器模塊(move1 、譯碼器模塊move如圖9所示,out_1和out_2接收時序電路模塊
24、的信號 對信號進行譯碼,安排電機運行狀態即正轉(RUN、反轉(REV、暫停(PAUSE, 并進行輸出。此模塊較為簡單,設計基本沒什么難度。 1 / i.Aj| 4 g人 1. ha fi I. 1工縣 j |.調理一工事一事一事一!3一,x,4.b444-:move:二可?out_1 REV -out_2 RUN -PAUSE -I:inst1 1圖9譯碼器模塊2、仿真圖3、譯碼器模塊move源程序library ieee;use ieee.std_logic_1164.all;entity move isport(out_1,out_2:in std_logic;REV,RUN,PAUSE:
25、buffer std_logic);end move;architecture move of move issignal choose:std_logic_vector(1 downto 0);beginchoose(1)<=out_1;choose(0)<=out_2;process(choose)begincase choose iswhen "00"=>REV<='0'RUN<='0'PAUSE<='1'when "10"=>REV<='0
26、39;RUN<='1'PAUSE<='0'when "01"=>REV<='1'RUN<='0'PAUSE<='0'when others=>REV<='0'RUN<='0'PAUSE<='0'end case;REV<=out_2;RUN<=out_1;PAUSE<=not(out_1 or out_2);end process;end move;五、總體設計電路圖5.
27、1 總體(頂層)設計電路圖"'E.好IraHLjtI QbEmH-0 W 0 IW ,t- M SW 帛一hr SflTli -» i ri WpuFlM M.i Mnr.nm二nr.TL匚njmmnr.m 二 njni-JinurnrTUVTir-nrLTirirr.in-jimnr二n匚uiRrniirjm 二 nmnrwirjurnunmjrm.imnj圖11各模塊連結后的電路圖系統運行過程如下:在系統進行運行之前,使用 K按鈕預置洗衣機運轉時間,此時用 戶設定的時間通過數碼管時時顯示出來,計時設備選取的精度是分鐘級,也就是說用戶可以設定洗衣時間是多少分鐘,范
28、圍為00-99。然后用戶可以給出開始信號,系統開始運轉并開始從預設時間倒計時,重復“正傳 -暫停-反轉-暫停”的循環過程直至剩余時間變為零,剩余時間為零時,time_over指示報警信號。數碼管在系統的整個運行過程中時時顯示剩余 運轉時間。本設計在電路中加入了掃描信號,輸入到減法模塊,時序電路模塊,實時顯示模塊。由于掃描信號非常高,在我們看來,輸出在數碼管上的數字都是連續的兩位數字,由預置時間開始以一分鐘減一的速度遞減。當數碼管顯示為零時,洗衣停止。5.2 頂層文件仿真Lrnn rir n mmr"Lnr n,j"jTm n.,rLnnv- 一 -Ln_L_5Lr_n_rL
29、r_Ln_n_rLn_rmrL_jn_rv_n_n_irLn_nj-LJn_nn51rLji_"tr_nj-Lrir_n_n_r_n -LrunrLnLnjn rLrLnjTLnLnEi-由上圖可以看出:當預置號時間,后動 start ,數碼管顯示預置時間,電 機開始以正轉=暫停=反轉=暫停為周期進行循環,一個周期正好費時一分鐘, 一個周期結束,數碼管顯示減一,依次循環,直至數碼管顯示時間為零,洗衣結 束。5.3管腳分配圖w:千M100,SJU工.3 %LEL Su 仇吟B0l_1pLit5&MB54B4JN22l3-*LLLF。網J844工J"E酬gUulcut工
30、夫lel gm©<»dT£Klt產4S4_NLu-*tvnL wanrapfiute口用立競4-&*_Nlj,g l/hl 版&&PJiUSE64小1*QM_13rt3”加latlVTUfsersuit;LXipuT?皿3工3B3_1i23LM界 LEL gdlQ曲CLUpjtyD3J42J. Z lev £0e“田皿DutpurB4_«LL*“E.供在jDflUfEww4B4bNL工 M-vivnt (oflbJc): E=_rputC9叩,J_"4MJML工 » LVT-l |:x觸tme_np<jtl2|n uutnsijis*B4_m13 VILVHL Ol*aJEji1*n?rnputpen $e4目鼻詞L工3 MLml函函0NsJr NvtieCte-LtknLDCB>lkn1Q*/EFC31W SLETMlard4nei1«>j|_1-孫,心4
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 校園周邊環境問題與學校環境文化建設研究論文
- 花椒烘干房管理制度
- 茶葉加工廠管理制度
- 防老人走失管理制度
- 六年級上學期期中質量檢測
- 財務會計崗位實訓心得
- 財務工作半年度總結(25篇)
- 解析匯編化學-專題18有機化學基礎(選修)
- 自動化管道維修策略
- 計量專業考試之計量基礎、法律法規知識考試題
- 19S406建筑排水管道安裝-塑料管道
- 灌砂法壓實度檢測記錄表(自動計算表)
- 江蘇省泰州市2022年中考生物試題真題(含答案+解析)
- 中國慢性髓性白血病診療指南更新
- 《民法典》合同編實務培訓課件
- 醫院胃鏡室設備清單
- 第7章食品原料的采購與貯存管理ppt課件
- 食品安全承諾書
- 湘教版高中美術選修:美術鑒賞 第一單元 第二課 圖像與眼睛 (教案)
- 《政治學原理(二)》課程教學大綱
- 石膏板A1級燃燒性能報告
評論
0/150
提交評論