freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

空調(diào)溫度控制器軟件設(shè)計(jì)及仿真-畢業(yè)論文-資料下載頁

2025-07-04 01:24本頁面

【導(dǎo)讀】隨著人們生活水平的日益提高,空調(diào)已成為現(xiàn)代家庭不可或缺的家用電器設(shè)備,人們也對空調(diào)的舒適性和空氣品質(zhì)的要求提出了更高的要求。室內(nèi)外風(fēng)扇的運(yùn)行狀態(tài)進(jìn)行智能控制。本系統(tǒng)控制電路成本低廉,功能實(shí)用,操作。簡便,有一定的實(shí)用價(jià)值。軟件部分主要設(shè)計(jì)了模數(shù)轉(zhuǎn)化程序,溫度控制程序,液晶顯示程序及按鍵控制程序。

  

【正文】 89C52 單片機(jī)發(fā)出指令,電磁閥執(zhí)行相應(yīng)的指令;當(dāng) 室內(nèi)溫度 達(dá)到設(shè)定值時(shí),同樣由 單片機(jī) 發(fā)出指令停止 工作 。 1 2 3 4 5 6ABCD654321DCBAT itleN um be r R e vis ionS izeBD ate : 6 M a y 201 1 S he e t o f F ile: D :\P R O G R A M F I L E S \D E S I G N E X P L O RE R 9 9 S E \E X A M P L E S \B A C K U P ~ D BD r aw n B y :R81K+ 5VC322 uFR E S E T 18 電 磁閥是靠線圈充放電引起閥門的關(guān)閉和開啟。有永久磁鐵參與的,是靠抵消磁性來實(shí)現(xiàn);沒有永久磁鐵的,靠線圈產(chǎn)生的磁性發(fā)生作用。產(chǎn)生磁性的強(qiáng)弱與閥門的功率有關(guān)系,控制線圈的電流即可。 國內(nèi)外的電磁閥從原理上分為三大類 (即:直動式、分步直動式、先導(dǎo)式 ),而從閥瓣結(jié)構(gòu)和材料上的不同與原理上的區(qū)別又分為六個(gè)分支小類 (直動膜片結(jié)構(gòu)、分步膜片結(jié)構(gòu)、先導(dǎo)式膜片結(jié)構(gòu)、直動活塞結(jié)構(gòu)、分步活塞結(jié)構(gòu)、先導(dǎo)活塞結(jié)構(gòu) )。 直 動式電磁閥原理:通電時(shí) ,電磁線圈產(chǎn)生電磁力把關(guān)閉件從閥座上提起 ,閥門打開;斷電時(shí),電磁力消失,彈簧力把關(guān)閉件壓在閥座 上,閥門關(guān)閉。 特點(diǎn):在真空、負(fù)壓、零壓時(shí)能正常工作,但一般通徑不超過 25mm。 分步直動式電磁閥原理:它是一種直動和先導(dǎo)式相結(jié)合的原理,當(dāng)入口與出口壓差 ≤ ,通電時(shí),電磁力把先導(dǎo)小閥和主閥關(guān)閉件依次向上提起,閥門打開。當(dāng)入口與出口壓差 ,通電時(shí),電磁力先打開先導(dǎo)小閥,主閥下腔壓力上升,上腔壓力下降,從而利用壓差把主閥向上推開;斷電時(shí),先導(dǎo)閥和主閥利用彈簧力或介質(zhì)壓力推動關(guān)閉件,向下移動,使閥門關(guān)閉 [9]。 本設(shè)計(jì)中所用的電磁閥是 直動式電磁閥 ,電路圖如圖 37。 圖 37 驅(qū)動電路圖 1 2 3 4 5 6ABCD654321DCBAT i t leN u m be r R e v i s i onS i z eBD a t e : 6 M a y 2 01 1 S he e t o f F i l e : D : \P R O G R A M F I L E S \ D E S I G N E X P L O R E R 9 9 S E \E X A M P L E S \ B A C K U P ~ D BD r a w n B y :+ 12 VR?R E S 110kR643kR7+ 12 VP 07 19 4 系統(tǒng)軟件設(shè)計(jì) 基于單片機(jī) AT89C52 的溫度控制系統(tǒng)的軟件設(shè)計(jì)離不開對硬件電路的設(shè)計(jì),根據(jù)設(shè)計(jì)好的硬件電路,本系統(tǒng)軟件設(shè)計(jì)的主要思路是:首先是熱敏電阻傳來的溫度信號是模擬信號,故需要模數(shù)轉(zhuǎn)化程序?qū)⑵滢D(zhuǎn)化為數(shù)字信號 。其次 單片機(jī)接受數(shù)字信號后將其標(biāo)記, 再將這個(gè)標(biāo)記溫度與設(shè)定溫度進(jìn)行比較,若標(biāo)記溫度高于設(shè)定溫執(zhí)行制冷操作,反之則執(zhí)行加熱操作,此時(shí)則需要溫度控制主程序來實(shí)現(xiàn)溫度的控制功能;最后,由液晶顯示程序?qū)?biāo)記溫度 、 設(shè)定溫度及工作模式在液晶顯示屏上顯示出來。 因而 本系統(tǒng) 軟件 設(shè)計(jì) 部分主要由 溫度控制 主程序、 A/D 轉(zhuǎn)換程序 、顯示程序等組成;它們的主要功能是完 成對硬件的控制, 溫度的顯示以及對采樣信號、鍵盤指令的處理 ,通過軟件將溫度、 工作模式和 溫度 每次的設(shè)定值存入 單片機(jī) RAM 中 ,并將其在液晶顯示屏上顯示出來。 模數(shù)轉(zhuǎn)化程序 模數(shù)轉(zhuǎn)化模塊的組成 數(shù)模轉(zhuǎn)化模塊的 硬件電路由 AT89C52 單片機(jī)及其最小系統(tǒng) 、 TLC083 熱敏電阻 、處理電路組成,其硬件原理圖如圖 41所示 。 熱 敏 電 阻 處 理 電 路 T L C 0 8 3 2A T 8 9 C 5 2S P 下 載 接 口復(fù) 位 電 路晶 振 電 路液 晶 顯 示 圖 41 數(shù)字測溫顯示系統(tǒng) 框圖 模數(shù)轉(zhuǎn)化模塊的工作原理 該溫度測溫顯示系統(tǒng)通過熱敏電阻來感應(yīng)溫度的變化,讓溫度值變成電阻值; 20 通過處理電路把電阻值轉(zhuǎn)化成對應(yīng)電壓值;電壓變化再轉(zhuǎn)變成 A/D 值變化, A/D 轉(zhuǎn)換成 A/D 值;最后由單片機(jī)通過計(jì)算查表找出具體溫度值。 TLC0832 程序 設(shè)計(jì) TLC0832 的工作原理: 常情況下 TLC0832 與單片機(jī)的接口應(yīng)為 4 條數(shù)據(jù)線,分別是 CS、 CLK、 DO、 DI。但由于 DO 端與 DI端在通信時(shí)并未同時(shí)使用并與單片機(jī)的接口是雙向的,所以在 I/O 口資源緊張時(shí)可以將 DO 和 DI 并聯(lián)在一根數(shù) 據(jù)線上使用。當(dāng) ADC0832 未工作時(shí)其 CS 輸入端應(yīng)為高電平,測溫控制系統(tǒng) 此時(shí)芯片禁用, CLK 和DO/DI 的電平可任意。當(dāng)要進(jìn)行 A/D 轉(zhuǎn)換時(shí),須先將 CS 使能端置于低電平并且保持低電平直到轉(zhuǎn)換完全結(jié)束。此時(shí)芯片開始轉(zhuǎn)換工作,同時(shí)由處理器向芯片時(shí)鐘( CLK)輸入端輸入時(shí)鐘脈沖, DO/DI 端則使用 DI 端輸入通道功能選擇的數(shù)據(jù)信號。在第一個(gè)時(shí)鐘脈沖的下沉之前 DI 端必須是高電平,表示啟始信號。在第二、三個(gè)脈沖下沉之前 DI端應(yīng)輸入兩位數(shù)據(jù)用于選擇通道功能。 故 TLC0832 數(shù)模轉(zhuǎn)化程序的流程圖如圖 42所示 [10]。 開 始CS=1起 始 脈 沖通 道 選 擇 ( 2個(gè) )讀 取 A/DCS=0結(jié) 束 圖 42 TLC0832 流程圖 故模數(shù)轉(zhuǎn)化 主 程序如下: uchar TLC0832(void) 21 { uchar i。 uchar adval=0x00。 ADC_CS=0。 //選通 ADC_CLK=0。 ADC_DAT=1。 //起始 ADC_CLK=1。 ADC_CLK=0。 ADC_DAT=1。 //選擇通道 1 ADC_CLK=1。 // ADC_CLK=0。 ADC_DAT=1。 ADC_CLK=1。 ADC_CLK=0。 ADC_DAT=1。 //釋放 for(i=0。i8。i++) { ADC_CLK=1。 adval=adval1。 ADC_CLK=0。 adval=adval|ADC_DAT。 } ADC_CS=1。 return (adval)。// } 22 溫度控制主 程序 溫度控制模塊的工作原理 啟動系統(tǒng)后,程序進(jìn)行初始化之后,溫度傳感器檢測室內(nèi)溫度并將溫度和系統(tǒng)狀態(tài)顯示出來。當(dāng)室內(nèi)溫度不在 18~ 30 度時(shí),其加熱和制冷子程序均不執(zhí)行;當(dāng)室內(nèi)溫度在此范圍并低于設(shè)定溫度時(shí),執(zhí)行加熱子程序,反之,執(zhí)行制冷子程序。如此循環(huán)下去直至室內(nèi)溫度與設(shè)定溫度相同,從而實(shí)現(xiàn)了對空調(diào)的溫度控制功能。 溫度控制模塊的程序 設(shè)計(jì) 根據(jù)溫度控制模塊的工作原理,其主程序流程圖如圖 43 所示 初 始 化溫 度 檢 測顯 示 輸 出溫 度 是 否 在 1 8 ~ 3 0 度是 否 低 于 設(shè) 定 溫 度加 熱 制 冷YYNN 圖 43 溫度控制主程序流程圖 故溫度控制主程序如下: void main() { init_lcd()。 Init_DS18B20()。 23 timer0_init()。 while(1) { Print()。 set_num()。 Comparison()。 } } void Comparison() { if(N_Countamp。amp。M_Count) { if(TEMP_NOWTEMP_SET) { warm=1。 cold=0。 } if(TEMP_NOWTEMP_SET) { cold=1。 warm=0。 } if(TEMP_NOW==TEMP_SET) { cold=0。 warm=0。 } } } 24 液晶顯示主程序 該次設(shè)計(jì)中 LCD 顯示要實(shí)現(xiàn)的功能是實(shí)現(xiàn)設(shè)定溫度 、 標(biāo)記溫度及工作模式的 顯示,用到的 金鵬 OCMJ4X8C 液晶模塊 ,它 是一款 內(nèi)置中文字庫 ,串并可選模塊 , 液晶屏幕為 128X64 點(diǎn) ,可顯示 4 行 16*16 的漢字,每行 8個(gè),每個(gè)漢字的位子可顯示 2個(gè)字符 , 漢字顯示的是 16 x16,數(shù)字和符號是 8 x16 的格式 [12]。 LCD 顯示的界面設(shè)計(jì) 如圖 44所示。 空 調(diào) 溫 度 控 制 設(shè) 計(jì)設(shè) 定 溫 度 : 2 8 ℃模 式 : 加 熱室 溫 : 1 9 ℃ 圖 44 LCD 的顯示界面設(shè)計(jì)圖 根據(jù)液晶顯示的工作原理,其液晶顯示的流程圖如圖 45所示 開 始L C D 初 始 化等 待 L C D 就 緒檢 查 B U S Y 位是 否 為 0 ?向 L C D 寫 命 令 字向 L C D 寫 數(shù) 據(jù)函 數(shù) 返 回YN 圖 44 LCD 顯示程序流程圖 25 故液晶顯顯示程序如下: uchar code DIS1[] = {空調(diào)溫度控制設(shè)計(jì) }。 uchar code DIS2[] = {設(shè)定溫度: ℃ }。 uchar code DIS3[] = {模式: }。 uchar code DIS4[] = {室溫: ℃ }。 void main() { uchar i。 delay(100)。 //上電,等待穩(wěn)定 lcd_init()。 //初始化 LCD while(1) { lcd_pos(1,0)。 //設(shè)置顯示位置為第一行 for(i=0。i16。i++) { lcd_wdat(DIS1[i])。 delay(30)。 } lcd_pos(2,0)。 //設(shè)置顯示位置為第二行 for(i=0。i16。i++) { lcd_wdat(DIS2[i])。 delay(30)。 } lcd_pos(3,0)。 //設(shè)置顯示位置為第三行 for(i=0。i16。i++) { lcd_wdat(DIS3[i])。 delay(30)。 } lcd_pos(4,0)。 //設(shè)置顯示位置為第四行 for(i=0。i16。i++) { lcd_wdat(DIS4[i])。 26 delay(30)。 } lcd_pos(2,5)。//設(shè)定顯示 lcd_wdat(temp_setamp。0xf0 )。 lcd_pos(2,6)。 lcd_wdat(temp_setamp。0x0f )。 if( warm=1amp。amp。cold=0) { lcd_pos(3,4)。//模式顯示 lcd_wdat(加 )。 lcd_pos(3,5)。 lcd_wdat(熱 )。 } if( warm=0amp。amp。cold=1) {lcd_pos(3,4)。//模式顯示 lcd_wdat(制 )。 lcd_pos(3,5)。 lcd_wdat(冷 )。 } adc0809(amp。ad_result[0],0)。 lcd_pos(4,4)。//設(shè)置顯示二進(jìn)制前四位的位置 lcd_wdat(advalamp。0xf0 )。//轉(zhuǎn)換后的二進(jìn)制前四位 delay(30)。 lcd_pos(4,5)。//設(shè)置顯示二進(jìn)制前四位的位置 lcd_wdat(advalamp。0x0f )。//轉(zhuǎn)換后的二進(jìn)制后四位 delay(30)。 } } 27 5 系統(tǒng)調(diào)試 系統(tǒng)的調(diào)試包括硬件調(diào)試和軟件調(diào)試,由于本次設(shè)計(jì)中我負(fù)責(zé) 的是 軟件 部分,所以我主要負(fù)責(zé) 軟件 的調(diào)試,與進(jìn)行 硬件 設(shè)計(jì)的同學(xué)合作。 調(diào)試工具 在調(diào)試過程中,所需要使用到的硬件工具有: 硬件電路 、 AT89C52 芯片一塊、OCMJ4X8C 液晶顯示器一個(gè)、 交叉串口線一根、 一個(gè) 電源 等 。所需要使用到的軟件工具有: ISP、 Keil uVision4軟件。 在調(diào)試過程中,要用到很多軟件,比如在 Keil uVision4 中編寫相關(guān)程序,并且進(jìn)行調(diào)試,修改問題,若此調(diào)試沒問題,就要將程序燒錄進(jìn)單片機(jī)中,結(jié)合硬件進(jìn)行進(jìn)一步調(diào)試,調(diào)試軟件,首先要檢查基本的語法錯誤,然后是邏輯 上的錯誤,檢查出錯誤后,要一步步的排除,這樣得出的程序才可能是正常工作的。 程序調(diào)試原理及方法 程序編寫完成之后,就可以進(jìn)行調(diào)試了。 ( 1) 程序調(diào)試首先需要在 Keil uVision4軟件中進(jìn)行編譯,驗(yàn)證程序是否有語法錯誤。在進(jìn)行編譯之前,必須正確設(shè)置該工程的工具配置選項(xiàng)。配置完畢后,就可以開始對該程序進(jìn)行編譯了: 編譯之后將彈出“ Erroramp。Warnings”對話框,來報(bào)告出錯和警告情況。編譯成功后,注意彈出的“ Erroramp。Warnings”對話框的左上角表示的錯誤數(shù)目,若為 0,則程序無語法錯 誤,可以進(jìn)行下一項(xiàng)調(diào)試了。 ( 2) 在 Keil uVision4 軟件的程序編輯環(huán)境下完成對該程序的編譯后,使用“ Creat hex file”生出 hex 文件, 接下來使用 ISP 軟件,將 hex 文件 下載至 AT89C52芯片中。 下載成功之后, ISP 軟件則提示 該 程序下載完成 。 ( 3) 程序下載成功之后,將 AT89C52單片機(jī) 裝入硬件電路中,接上電源, 觀察液晶顯示器是否正常工作。如果液晶顯示不能正常工作,則繼續(xù)對程序進(jìn)行修改與更正;如果液晶顯示器正常工作,則說明程序正確,調(diào)試完成。 調(diào)試中的 問題 在調(diào)試的過程 中,遇到了許多大大小小的問題。遇到問題,首先應(yīng)該知道引起 28 問題的原因,這樣才能使問題得到解決。通過對這些問題的排查、解決,使我了學(xué)到了很多知識,也使已經(jīng)掌握的知識得到了鞏固。在解決問題這些問題的時(shí)候,遇到了很多困難,但是在自己的努力和老師的幫助下,最終還是成功的將本次課題完成了,調(diào)試出了最終的結(jié)果。 程序語法調(diào)試 在相關(guān)的編程時(shí)出現(xiàn)的錯誤,分為兩個(gè)部分:一個(gè)是語法錯誤;另一個(gè)是在根據(jù)相關(guān)的芯片時(shí)序圖編輯時(shí),出現(xiàn)的錯誤。 ( 1)語法錯誤 ① 編譯時(shí)顯示如下 : D:\KEIL\C51\INC\(1): error C100: unprintable character 0xA1skipped,這個(gè)錯誤的意思是在程序編輯使用了中文標(biāo)點(diǎn)字符。 修改方法:在編輯出錯誤的行,然后改掉相應(yīng)的標(biāo)點(diǎn),使其變成英文標(biāo)點(diǎn)。 ② 編譯時(shí)顯示如下 : (22): error C141: syntax error near 39。P339。,這個(gè)錯誤別的意思是在 P3附近句子后未加“ ;”。 修改方法:在編輯中找出錯誤的行,在該行中找到 P3 處,在 P3 附近的句子末尾加入 “ ;” 。 ③ 編譯時(shí)顯示如下: *** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS SEGMENT: ?PR?DELAY?MAIN。這個(gè)提示的意思是沒有事使用到前面定義的函數(shù)。 修改方法:在編輯中找出沒有使用的函數(shù),發(fā)現(xiàn)其中的定義該函數(shù)中的函數(shù)書名編寫錯誤,改正之后可調(diào)用。 ④ 編譯時(shí)顯示如下: *** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS V SEGMENT: ?PR?_COMPARE?TESTLCD。這表示第 16 行無調(diào)用。 修改方法:在編輯環(huán)境找到該行,發(fā)現(xiàn)這行沒有任何作用,所以去掉。 ⑤ 編譯時(shí)顯示如下: Warning 280:’ i’ :unreferenced local variable,說明局部變量 i 在函數(shù)中未作 29 任何的存取操作解決方法消除函數(shù)中 i 變量的宣告 在編輯環(huán)境中,找到該行,發(fā)現(xiàn)該函數(shù)中使用了錯的變量 i,應(yīng)該改為 j。 ( 2)編程錯誤 ① 在編輯相應(yīng)的顯示程序時(shí)由于沒有按照相應(yīng)的 LCD12864 的時(shí)序來寫,導(dǎo)致了顯示不正常。主要是在寫一個(gè)字節(jié)時(shí),相應(yīng)的時(shí)序中延時(shí)應(yīng)該在 200ms 左 右但是,在延時(shí)程序中編寫的延時(shí)不足,在增加了相應(yīng)的延時(shí)后,顯示正常。 ② 在寫抖動延時(shí)程序出現(xiàn)了一些問題。在寫抖動延時(shí)的程序,在一些參考資料中對于抖動延時(shí)的操作方法各有不同,在進(jìn)行了相應(yīng)的實(shí)驗(yàn)操作后。根據(jù)測試的結(jié)果,編寫程序。 軟件調(diào)試 先將程序?qū)懲旰?,?Keil uVision4 下編譯,先要對 Keil uVision4 進(jìn)行參數(shù)設(shè)置,工程也要在 C51 環(huán)境下生成,然后將寫好
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1