版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Good is good, but better carries it.精益求精,善益求善。VerilogHDL家用空調(diào)溫度控制器設(shè)計(jì)-數(shù)字系統(tǒng)課程設(shè)計(jì)設(shè)計(jì)報(bào)告設(shè)計(jì)題目:家用空調(diào)溫度控制器班級(jí):電技081姓名:翟建峰學(xué)號(hào):3080422031日期:2010-12-31一設(shè)計(jì)題目的要求:家用空調(diào)溫度控制器的功能為:1、室內(nèi)溫度可由按鍵設(shè)置,溫度的設(shè)置范圍為20度至39度。2、有加熱和制冷兩種工作模式。當(dāng)空調(diào)工作在加熱模式時(shí),如果室溫低于設(shè)定溫度,空調(diào)加熱,反之,不加熱;當(dāng)空調(diào)工作于制冷模式時(shí),如果室溫高于設(shè)定溫度,空調(diào)制冷,反之空調(diào)不制冷。3、對(duì)室內(nèi)溫度用兩位數(shù)碼管進(jìn)行實(shí)時(shí)顯示。二設(shè)計(jì)方案及其工
2、作原理:總的設(shè)計(jì)框圖如下:本電路由控制核心cpu、按鍵、4位鎖存器、數(shù)碼管7位譯碼器電路組成。cpu:負(fù)責(zé)數(shù)據(jù)接收;室溫和設(shè)定溫度的比較;工作模式選擇;顯示數(shù)據(jù)的輸出;加熱制冷信號(hào)的控制;報(bào)警信號(hào)的輸出等。按鍵:負(fù)責(zé)設(shè)定標(biāo)準(zhǔn)溫度,設(shè)置溫度的升高與降低。鎖存器:將cpu輸出的顯示信號(hào)鎖存,防止干擾,將信號(hào)送給譯碼器。譯碼器:將BCD碼譯成數(shù)碼管顯示用的高低電平。工作原理在reset信號(hào)作用下,設(shè)定溫度寄存器賦初值,初值為26度,通過(guò)add(溫度升)和down(溫度減)來(lái)步進(jìn)調(diào)整設(shè)定溫度(步進(jìn)為一)。按鍵(key)模塊通過(guò)seta和setb輸出端口將設(shè)定溫度傳給cpu。cpu接收到設(shè)定溫度后將其與
3、由溫度傳感器傳來(lái)的室溫xy比較,將比較結(jié)果標(biāo)志存在寄存器(flag)中。讀取用戶(hù)工作模式(mod=1時(shí)為加熱,mod=0時(shí)為制冷)。在加熱模式狀態(tài)下,根據(jù)flag的值給出加熱控制寄存器heat賦值;在制冷模式狀態(tài)下,根據(jù)flag的值給制冷狀態(tài)寄存器cool賦值。cpu還將設(shè)置溫度與設(shè)置溫度范圍比較,將比較結(jié)果標(biāo)志存在報(bào)警寄存器flag_high(超上界寄存器)和flag_low(超下界寄存器)。cpu還將室溫和設(shè)定溫度分別存放在室溫寄存器和設(shè)定溫度寄存器中。最后,cpu將寄存器的值通過(guò)各端口輸出。各鎖存器將數(shù)據(jù)鎖存后在時(shí)鐘信號(hào)的作用下將鎖存信號(hào)輸出給譯碼器,譯碼器再把BCD碼轉(zhuǎn)換成數(shù)碼管顯示的
4、高低電平,數(shù)碼管顯示出室溫和設(shè)置溫度。Led燈接到有效信號(hào)后點(diǎn)亮,指示設(shè)定溫度是否越界(led_settoohigh表示設(shè)置溫度過(guò)高;led_settoolow表示設(shè)置溫度過(guò)低)。三各單元電路設(shè)計(jì):1、cpu設(shè)計(jì)cpu框圖如下:disp_outx:室溫十位輸出顯示disp_outy:室溫個(gè)位輸出顯示disp_outa:設(shè)置十位輸出顯示disp_outb:設(shè)置個(gè)位輸出顯示cool:制冷輸出信號(hào)heat:加熱輸出信號(hào)led_settoohigh:設(shè)定溫度超越上限報(bào)警led_settoolow:設(shè)定溫度超越下限報(bào)警x:室溫十位輸入y:室溫個(gè)位輸入a:設(shè)定溫度十位輸入b:設(shè)定溫度個(gè)位輸入mod:用戶(hù)加
5、熱制冷模式選擇clk:時(shí)鐘脈沖flag:室溫和設(shè)置溫度比較標(biāo)志位寄存器flag_high:設(shè)置溫度超越上界標(biāo)志位寄存器flag_low:設(shè)置溫度超越下界標(biāo)志位寄存器2、按鍵(key)設(shè)計(jì)按鍵(key)框圖如下:seta輸出溫度設(shè)定十位setb輸出溫度設(shè)定個(gè)位add設(shè)定溫度加一down設(shè)定溫度減一clk時(shí)鐘信號(hào)reset復(fù)位信號(hào)(用于寄存器賦初值)3、鎖存器設(shè)計(jì)鎖存器框圖如下:data:鎖存數(shù)據(jù)輸入qout:鎖存數(shù)據(jù)輸出clk:時(shí)鐘信號(hào)4、譯碼器設(shè)計(jì)譯碼器框圖如下:D4:譯碼器BCD碼輸入信號(hào)a,b,c,d,e,f,g:譯碼器輸出信號(hào)(輸入給數(shù)碼管)四模擬仿真驗(yàn)證及結(jié)果分析:因整體仿真驗(yàn)證結(jié)果不
6、易說(shuō)明效果,故將各模塊仿真結(jié)果予以分析。1、cpu仿真結(jié)果cpu仿真結(jié)果如圖:分析:前兩個(gè)周期,用戶(hù)模式為加熱模式(mod=1)室溫設(shè)定溫度,制冷(cool=1);第79周期設(shè)置溫度39度,超越上界報(bào)警(led_settoohigh=1)。2、鍵盤(pán)仿真結(jié)果鍵盤(pán)仿真結(jié)果如圖:分析:前2周期,reset=1,設(shè)置溫度被設(shè)為26度,第510周期,add=1,設(shè)置溫度每周期遞增一;第1220周期down=1,設(shè)置溫度每周期遞減一,2127周期,沒(méi)有增加和減少信號(hào),溫度穩(wěn)定在24度。3、鎖存器仿真結(jié)果鎖存器仿真結(jié)果如圖:分析:如圖,在每個(gè)時(shí)鐘的上升沿將data中數(shù)據(jù)從qout輸出。4、譯碼器仿真結(jié)果譯碼
7、器仿真結(jié)果如圖:分析:D4輸入8時(shí),abcdefg為:1111111,D4輸入為7時(shí),abcdefg為:1110000,符合數(shù)碼管顯示規(guī)則。下圖為整個(gè)頂層結(jié)果仿真圖(部分),僅供參考:五總結(jié)體會(huì):在這次課程設(shè)計(jì)的過(guò)程中,遇到了很多的問(wèn)題;但也學(xué)習(xí)到了很多平時(shí)上課不曾接觸到的東西、不懂的知識(shí)。了解到了具體的大工程是如何生成的、進(jìn)一步掌握并熟悉了verilogHDL語(yǔ)言,同時(shí)也學(xué)會(huì)了同學(xué)之間相互的團(tuán)結(jié)和協(xié)作。通過(guò)本次課程設(shè)計(jì),我懂得一個(gè)工程,必須先要有一個(gè)總體的方案,心中要明確設(shè)計(jì)的目的,如何才能達(dá)到這個(gè)目的;然后劃分模塊,將復(fù)雜抽象的問(wèn)題具體簡(jiǎn)單化;接著逐個(gè)設(shè)計(jì)每個(gè)模塊,調(diào)試,分析,再調(diào)試,直到
8、完成各個(gè)模塊的要求為止;最終,將各個(gè)模塊整合起來(lái),完成整體模塊,完成工程設(shè)計(jì)??芍^受益匪淺。附錄:程序源代碼/*溫度控制cpu*/disp_outx室溫十位輸出顯示/disp_outy室溫個(gè)位輸出顯示/disp_outa設(shè)置十位輸出顯示/disp_outb設(shè)置個(gè)位輸出顯示/cool制冷輸出信號(hào)/heat加熱輸出信號(hào)/led_settoohigh設(shè)定溫度超越上限報(bào)警/led_settoolow設(shè)定溫度超越下限報(bào)警/x室溫十位輸入/y室溫個(gè)位輸入/a設(shè)定溫度十位輸入/b設(shè)定溫度個(gè)位輸入/mod用戶(hù)加熱制冷模式選擇/clk時(shí)鐘脈沖/flag室溫和設(shè)置溫度比較標(biāo)志位寄存器/flag_high設(shè)置溫度超
9、越上界標(biāo)志位寄存器/flag_low設(shè)置溫度超越下界標(biāo)志位寄存器modulecpu(disp_outx,disp_outy,disp_outa,disp_outb,cool,heat,led_settoohigh,led_settoolow,x,y,a,b,mod,clk);output3:0disp_outx,disp_outy,disp_outa,disp_outb;outputcool,heat,led_settoohigh,led_settoolow;input3:0 x,y,a,b;inputmod,clk;reg3:0disp_outx,disp_outy,disp_outa,di
10、sp_outb;reg1:0flag;regflag_high,flag_low,cool,heat,led_settoohigh,led_settoolow;always(posedgeclk)beginbegin/*設(shè)定溫度上下界標(biāo)志位判斷*/if(a=4)beginflag_high=1;flag_low=0;/flag_high=1設(shè)定溫度超出上界endelseif(aa)flag=2b01;/flag=01室溫高于設(shè)定溫度elseif(xb)flag=2b01;elseif(yb)flag=2b10;elseflag=2b11;/flag=11室溫等于設(shè)定溫度endendbegin/
11、*制冷、加熱輸出寄存器賦值*/if(mod)begin/mod=1加熱模式下if(flag=2b01)|(flag=2b11)beginheat=0;/停止加熱cool=0;endelseif(flag=2b10)begin/加熱heat=1;cool=0;endendelse/mod=0制冷模式下beginif(flag=2b10)|(flag=2b11)begincool=0;/停止制冷heat=0;endelseif(flag=2b01)begincool=1;/制冷heat=0;endendendbegin/*顯示、報(bào)警輸出寄存器賦值*/if(!flag_high&!flag_low)
12、/室溫和設(shè)定溫度顯示寄存器賦值begindisp_outx=x;disp_outy=y;disp_outa=a;disp_outb=b;led_settoohigh=0;/led_settoohigh=0led_settoolow=0設(shè)定溫度在正常范圍led_settoolow=0;endelseif(flag_high&!flag_low)/設(shè)定溫度超越上界報(bào)警寄存器賦值beginled_settoohigh=1;/led_settoohigh=1設(shè)定溫度超越上界led_settoolow=0;endelseif(!flag_high&flag_low)/設(shè)定溫度超越下界報(bào)警寄存器賦值beg
13、inled_settoohigh=0;led_settoolow=1;/led_settoolow=1設(shè)定溫度超越下界endendendendmodule/*按鍵輸入設(shè)定溫度*/seta輸出溫度設(shè)定十位/setb輸出溫度設(shè)定個(gè)位/add設(shè)定溫度加一/down設(shè)定溫度減一/clk時(shí)鐘信號(hào)/reset復(fù)位信號(hào)(用于寄存器賦初值)modulekey(seta,setb,add,down,clk,reset);output3:0seta,setb;inputadd,down,clk,reset;reg3:0seta,setb;always(posedgeclkorposedgereset)begini
14、f(reset)/*寄存器賦初值*/beginseta=2;setb=6;endif(add)/*寄存器加一*/beginif(setb=9)beginsetb=0;seta=seta+1;endelsesetb=setb+1;endelseif(down)/*寄存器減一*/beginif(setb=0)beginsetb=9;seta=seta-1;endelsesetb=setb-1;endendendmodule/*4位鎖存器*/qout輸出信號(hào)/data輸入信號(hào)/clk時(shí)鐘信號(hào)modulesuocunqi(qout,data,clk);output3:0qout;input3:0dat
15、a;inputclk;reg3:0qout;always(clkordata)beginif(clk)qout=data;/在時(shí)鐘信號(hào)作用下輸出信號(hào)endendmodule/*7位數(shù)碼管譯碼器*/a,b,c,d,e,f,g,數(shù)據(jù)輸出/D4輸出數(shù)據(jù)moduleyimaqi(a,b,c,d,e,f,g,D4);outputa,b,c,d,e,f,g;input3:0D4;rega,b,c,d,e,f,g;always(D4)begincase(D4)4d0:a,b,c,d,e,f,g=7b1111110;4d1:a,b,c,d,e,f,g=7b0110000;4d2:a,b,c,d,e,f,g=7b1101101;4d3:a,b,c,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025雅戈?duì)柶放品b與泰富百貨服裝買(mǎi)賣(mài)合同
- 2025高考教室采購(gòu)合同
- 二零二五年度個(gè)人旅游貸款合同與旅行社擔(dān)保服務(wù)協(xié)議3篇
- 2024年租賃購(gòu)買(mǎi)合同:汽車(chē)租賃兼購(gòu)買(mǎi)協(xié)議
- 2025年度混合料供應(yīng)鏈管理合同3篇
- 2025關(guān)于網(wǎng)絡(luò)服務(wù)代理合同
- 2024新版消費(fèi)協(xié)議合同標(biāo)準(zhǔn)版3篇
- 2025股權(quán)委托合同書(shū)范文
- 2024年跨境電商產(chǎn)業(yè)投資借款協(xié)議3篇
- 2024年項(xiàng)目資金運(yùn)用擔(dān)保協(xié)議模板版B版
- 公務(wù)員調(diào)任(轉(zhuǎn)任)審批表 - 陽(yáng)春人才網(wǎng)
- IE部成立工作規(guī)劃
- 單體調(diào)試及試運(yùn)方案
- 2023-2024學(xué)年浙江省杭州市城區(qū)數(shù)學(xué)四年級(jí)第一學(xué)期期末學(xué)業(yè)水平測(cè)試試題含答案
- 網(wǎng)球技術(shù)與戰(zhàn)術(shù)-華東師范大學(xué)中國(guó)大學(xué)mooc課后章節(jié)答案期末考試題庫(kù)2023年
- 2023年35kV集電線(xiàn)路直埋施工方案
- 思政教師培訓(xùn)心得體會(huì)2021
- HLB值的實(shí)驗(yàn)測(cè)定方法
- 2023年《病歷書(shū)寫(xiě)基本規(guī)范》年度版
- 防止電力生產(chǎn)事故的-二十五項(xiàng)重點(diǎn)要求2023版
- 代理記賬機(jī)構(gòu)代理記賬業(yè)務(wù)規(guī)范
評(píng)論
0/150
提交評(píng)論