版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、東北石油大學(xué)課程設(shè)計課 程 EDA技術(shù)課程設(shè)計題 目洗衣機(jī)控制器院 系電子科學(xué)學(xué)院專業(yè)班級電子信息工程學(xué)生姓名學(xué)生學(xué)號指導(dǎo)教師東北石油大學(xué)課程設(shè)計任務(wù)書課程EDA技術(shù)課程設(shè)計題目洗衣機(jī)控制器專業(yè)電子信息工程2號 主要容、基本要求、主要參考資料等主要容:設(shè)計一個洗衣機(jī)控制器,要求洗衣機(jī)有正轉(zhuǎn)、反轉(zhuǎn)、暫停三種狀態(tài)。設(shè)定洗衣機(jī)的工作時間,要洗衣機(jī)在工作時間完成:定時啟動正轉(zhuǎn)20秒 暫停10秒 反轉(zhuǎn)20秒 暫停10秒 定時未到回到“正轉(zhuǎn)20秒暫停10秒 ”,定時到則停止,同時發(fā)出提示音。基本要求:1、設(shè)計一個電子定時器,控制洗衣機(jī)作如下運轉(zhuǎn):定時啟動正轉(zhuǎn)20秒 暫停10秒 反轉(zhuǎn)20秒 暫停10秒 定時
2、未到回到“正轉(zhuǎn) 20秒 暫停10秒 ”,定時到則停止;2、若定時到,則停機(jī)發(fā)出音響信號;3、用兩個數(shù)碼管顯示洗滌的預(yù)置時間(分鐘數(shù)),按倒計時方式對洗滌過程作計時顯示,直到時間到停機(jī);洗滌過程由“開始”信號開始;4、三只LED丁表示“正轉(zhuǎn)”、“反轉(zhuǎn)”、“暫?!比齻€狀態(tài)。主要參考資料:1松著.EDA技術(shù)實用教程(第二版).:科學(xué),2005.2康華光主編.電子技術(shù)基礎(chǔ) 模擬部分.:高教,2006.3閻石主編.數(shù)字電子技術(shù)基礎(chǔ).:高教,2003.完成期限 2014.3.7指導(dǎo)教師專業(yè)負(fù)責(zé)人2014年3月3日、設(shè)計思想1 .基本原理洗衣機(jī)控制器的設(shè)計主要是定時器的設(shè)計。由一片F(xiàn)PG街口外圍電路構(gòu)成了電
3、器控制部分。FPGA®收鍵盤的控制命令,控制洗衣機(jī)的進(jìn)水、排水、水位和 洗衣機(jī)的工作狀態(tài)、并控制顯示工作狀態(tài)以及設(shè)定直流電機(jī)速度、正反轉(zhuǎn)控制、 制動控制、起??刂坪瓦\動狀態(tài)控制。對芯片的編程采用模塊化的VHDL健件描述語言)進(jìn)行設(shè)計,設(shè)計分為三層實現(xiàn),頂層實現(xiàn)整個芯片的功能。頂層和中 間層多數(shù)是由VHDL勺元件例化語句實現(xiàn)。中間層由無刷直流電機(jī)控制、運行模 式選擇、洗滌模式選擇、定時器、顯示控制、鍵盤掃描、水位控制以及對直流 電機(jī)控制板進(jìn)行速度設(shè)定、正反轉(zhuǎn)控制、啟??刂频饶K組成,它們分別調(diào)用 底層模塊。2 .設(shè)計框圖圖1設(shè)計框圖用兩位數(shù)碼管預(yù)置洗滌時間(分鐘數(shù)),洗滌過程在送入預(yù)置
4、時間后開始運轉(zhuǎn),洗滌中按倒計時方式對洗滌過程作計時顯示,用LED表示電動機(jī)的正、反轉(zhuǎn),如果定時時間到,則停機(jī)并發(fā)出音響信號。二、設(shè)計步驟和調(diào)試過程1、模塊設(shè)計和相應(yīng)模塊代碼洗衣機(jī)控制器電路主要有五大部分組成,包括:減法計數(shù)器、時序控制電路、預(yù)置時間和編碼電路、數(shù)碼管顯示、譯碼器組成。(1)預(yù)設(shè)時間和編碼電路:本模塊將輸入的四位時間信號編碼成八位二進(jìn)制數(shù) 輸出到減法計數(shù)器電路。library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity settime is port (load:in std_lo
5、gic;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 10ad='1')thencase time_input iswhen "0000"=>p1<="000
6、00000"when "0001"=>p1<="00000001"when "0010"=>p1<="00000010"when "0011"=>p1<="00000011"when "0100"=>p1<="00000100"when "0101"=>p1<="00000101"when "0110"=&g
7、t;p1<="00000110"when "0111"=>p1<="00000111"when "1000"=>p1<="00001000"when "1001"=>p1<="00001001"when others=>p1<="00000000"end case;end if;end processtime_set<=p1;end settime;T dM I*«i
8、rWFri |也 I;1slM圖2預(yù)設(shè)時間和編碼仿真用K1、K2、K3、K4給time_input 輸入一個二進(jìn)制數(shù) 0111,讓load有效,輸出 time_set 為 00000111。(2)減法計數(shù)器模塊:由于洗衣機(jī)有工作時間,必須要一模塊來控制它的工作時間圍,當(dāng)洗衣機(jī)開始工作后,減法計數(shù)器即會實現(xiàn)減數(shù)功能,直到時間減到零,洗衣機(jī)便停止工作。當(dāng)出現(xiàn)系統(tǒng)運行結(jié)束信號time_over時,蜂鳴器報警洗衣機(jī)工作結(jié)束。library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity counter is
9、port(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(clk)variable time_second:integer range 0 to 59 :=59;beginif(clk,event and clk='1')thenif
10、(start='0')thenif(time_remain(7 downto 0)=0)thentime_remain<=time_set;elsetime_remain(7 downto 4)<=time_remain(3 downto 0);time_remain(3 downto 0)<=time_set(3 downto0);end if;time_second:=59;time_over<='1'elseif(time_over='1')thenif(time_second=0 and time_remain(7
11、 downtothen0)=0)time_over<='0'elseif(time_second=0)thenif(time_remain(3 downto 0)=0)thentime_remain(7 downto 4)<=time_remain(7 downto 4)-1;time_remain(3 downto 0)<="1001"time_second:=59;elsetime_remain(7 downto 4)<=time_remain(7 downto 4);time_remain(3 downto 0)<=tim
12、e_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;end counter;圖3減法計數(shù)器模塊源仿真(3)數(shù)碼管顯示模塊:根據(jù)課程設(shè)計要求,必須將洗衣機(jī)的工作狀態(tài)及工作時間在數(shù)碼管和指示燈上顯示出來,此模塊是用來控制洗衣機(jī)的工作狀態(tài)及工作的頻率,并把工作狀態(tài)及工作時間顯示出來。a,b,c,d,e,f,g分別對應(yīng)數(shù)碼管的七段,minute和second分別位選兩個數(shù)碼管,顯示十位和個位。library
13、ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all; entity showtime isport (time_remain: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);beginarchitecture showtime of showtime issignal temp:std_logic_vector(6 downto 0);signal bcd
14、:std_logic_vector(3 downto 0);signal choose:std_logic;beginprocess(clk)beginif(clk'event and clk='1')thenchoose<=not choose;if(choose='1')thenminute<='0'second<='1'bcd<= time_remain(7 downto 4);elseminute<='1'second<='0'bcd<= t
15、ime_remain(3 downto 0);end if;end if;end process;case bcd iswhen "0000"=>temp<="1111110"when "0001"=>temp<="0110000"when "0010"=>temp<="1101101"when "0011"=>temp<="1111001"when "0100"=&g
16、t;temp<="0110011"when "0101"=>temp<="1011011"when "0110"=>temp<="1011111"when "0111"=>temp<="1110000"when "1000"=>temp<="1111111"when "1001"=>temp<="1111011"
17、when others=>temp<="1111011"end case;a<=temp(6) ; b<=temp(5) ; c<=temp(4) ; d<=temp(3) ; e<=temp(2);f<=temp(1) ; g<=temp(0)end processend showtime圖4數(shù)碼管模塊仿真(4)時序電路模塊:接收運行起止信號,安排電機(jī)運行狀態(tài)并編碼輸出library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all; en
18、tity 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;if(clk'event and clk='1')thenif(start='0')thenwash
19、_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;end if;end if;if (wash_time=20)thenout_1<
20、;='0'out_2<='0'elseif(state='0')thenout_1<='1'out_2<='0'elseout_1<='0'out_2<='1'end if;end if;end if;end if;end process; end analyse;process(choose)圖5時序電路模塊仿真:(5)譯碼器模塊:接收電機(jī)運行狀態(tài)信號,譯碼后實時控制電機(jī)的正傳、 反轉(zhuǎn)和暫停。library ieee;use ieee.std_logi
21、c_1164.all;entity move is port (out_1,out_2:in std_logic;REV,RUN,PAUSE: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;begincase choose iswhen "00"=>REV<='0'RUN<='0'PAUS
22、E<='1'when "10"=>REV<='0'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;圖6譯碼器模塊仿真:2、仿真及仿真結(jié)果分析當(dāng)預(yù)置號時間,啟動start ,數(shù)碼管顯示預(yù)置時間,電機(jī)開始以正轉(zhuǎn)=暫停。反轉(zhuǎn)=暫停為周期進(jìn)行循環(huán),一個周期正好費時一分鐘,一個周期結(jié)束,數(shù)碼管顯示減依次循環(huán),直至數(shù)碼管顯示時間為零,洗衣結(jié)束圖7總體仿真3、實驗調(diào)試結(jié)果電路設(shè)計完成以后,按照預(yù)定設(shè)計,輸入相應(yīng)數(shù)據(jù),三只 LED燈按照設(shè)定 時間規(guī)律間斷性亮起,數(shù)碼管也顯示輸入時間并
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年建材市場商鋪租賃及品牌展示合同2篇
- 二零二五版A4一頁紙環(huán)保印刷定制合同2篇
- 二零二五年度活動板房租賃合同(含消防設(shè)施及安全檢查)3篇
- 二零二五版城市綠化帶基站場地租賃與景觀融合合同3篇
- 二零二五版辦公室能源管理合同3篇
- 二零二五年度高性能1號不銹鋼駁接爪批量采購供貨合同2篇
- 二零二五版企業(yè)清算注銷及員工安置及補(bǔ)償及債務(wù)清理合同3篇
- 二零二五版金融資產(chǎn)抵押交易合同范本3篇
- 二零二五版古建筑修復(fù)工程勞務(wù)承包施工合同2篇
- 二零二五版鋼材現(xiàn)貨及期貨交易合同示范文本3篇
- 2024質(zhì)量管理理解、評價和改進(jìn)組織的質(zhì)量文化指南
- 手指外傷后護(hù)理查房
- 油氣回收相關(guān)理論知識考試試題及答案
- 我能作業(yè)更細(xì)心(課件)-小學(xué)生主題班會二年級
- 2023年湖北省武漢市高考數(shù)學(xué)一模試卷及答案解析
- 城市軌道交通的網(wǎng)絡(luò)安全與數(shù)據(jù)保護(hù)
- 英國足球文化課件
- 《行政職業(yè)能力測驗》2023年公務(wù)員考試新疆維吾爾新疆生產(chǎn)建設(shè)兵團(tuán)可克達(dá)拉市預(yù)測試題含解析
- 醫(yī)院投訴案例分析及處理要點
- 燙傷的安全知識講座
- 工程變更、工程量簽證、結(jié)算以及零星項目預(yù)算程序?qū)嵤┘?xì)則(試行)
評論
0/150
提交評論