單片機(jī)原理及應(yīng)用課程設(shè)計(jì)單片機(jī)溫度控制器_第1頁(yè)
單片機(jī)原理及應(yīng)用課程設(shè)計(jì)單片機(jī)溫度控制器_第2頁(yè)
單片機(jī)原理及應(yīng)用課程設(shè)計(jì)單片機(jī)溫度控制器_第3頁(yè)
單片機(jī)原理及應(yīng)用課程設(shè)計(jì)單片機(jī)溫度控制器_第4頁(yè)
單片機(jī)原理及應(yīng)用課程設(shè)計(jì)單片機(jī)溫度控制器_第5頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、課 程 設(shè) 計(jì) 課程名稱 單片機(jī)原理及應(yīng)用課程設(shè)計(jì) 題目名稱 單片機(jī)溫度控制器 學(xué)生學(xué)院 專業(yè)班級(jí) 號(hào) 學(xué)生姓名 指導(dǎo)教師 2007 年 06 月 29 日題目名稱單片機(jī)溫度控制器學(xué)生學(xué)院專業(yè)班級(jí)姓 名學(xué) 號(hào)一、課程設(shè)計(jì)的內(nèi)容制冷/熱電專業(yè)本科學(xué)生學(xué)習(xí)了“單片機(jī)原理與接口”課程后,通過(guò)本課程設(shè)計(jì)鞏固、活化所學(xué)的專業(yè)理論知識(shí),基本掌握單片機(jī)測(cè)控系統(tǒng)的設(shè)計(jì)方法,為今后的學(xué)習(xí)和工作奠定良好的實(shí)驗(yàn)基礎(chǔ)。課程教學(xué)目的及基本要求為:1.了解單片機(jī)測(cè)控系統(tǒng)的組成、作用與原理;2.掌握并且應(yīng)用單片機(jī)測(cè)控系統(tǒng)的分析方法;3.掌握并且應(yīng)用單片機(jī)測(cè)控系統(tǒng)的設(shè)計(jì)方法;4.完成一個(gè)完整的單片機(jī)溫度測(cè)控系統(tǒng)的分析、設(shè)計(jì)過(guò)

2、程;二、課程設(shè)計(jì)的要求與數(shù)據(jù)學(xué)生在本課程設(shè)計(jì)中,完成以下的設(shè)計(jì)內(nèi)容:1單片機(jī)溫度控制器的總體設(shè)計(jì)及設(shè)計(jì)流程,包括系統(tǒng)數(shù)學(xué)模型的建立、硬件設(shè)計(jì)、軟件設(shè)計(jì)、調(diào)試等。要求具有溫度采集、顯示,控制值輸入以及溫度定值控制功能。2數(shù)字量輸入輸出通道接口設(shè)計(jì)(開(kāi)關(guān)量輸入/輸出)。3模擬量輸入輸出通道接口設(shè)計(jì)(a/d、d/a接口);4人機(jī)接口設(shè)計(jì)(鍵盤、顯示);5測(cè)量數(shù)據(jù)處理及與控制算法(數(shù)字濾波、控制算法)。三、課程設(shè)計(jì)應(yīng)完成的工作單片機(jī)溫度控制器的方案設(shè)計(jì),包括功能設(shè)計(jì)、硬件設(shè)計(jì)、軟件設(shè)計(jì);1應(yīng)用嵌入式系統(tǒng)仿真開(kāi)發(fā)平臺(tái)proteus完成單片機(jī)溫度控制器的硬件和軟件設(shè)計(jì)及仿真,提交實(shí)驗(yàn)項(xiàng)目電子版;2 制作單

3、片機(jī)溫度控制器樣機(jī),實(shí)現(xiàn)設(shè)定功能;3 編寫(xiě)系統(tǒng)的設(shè)計(jì)說(shuō)明書(shū)編寫(xiě)。設(shè)計(jì)說(shuō)明書(shū)內(nèi)容包括:(1)系統(tǒng)總體設(shè)計(jì);(2)設(shè)計(jì)原理圖;(3)軟件流程圖;(4)軟件清單及注釋;(5)主要元件資料摘要: 單片機(jī)溫度控制器,是應(yīng)用單片機(jī)對(duì)溫度進(jìn)行分析,判斷,和控制的自動(dòng)控制器,根據(jù)設(shè)備的用途、特點(diǎn)和要求,利用單片機(jī)基本原理進(jìn)行工況分析,擬定合理、完善的單片機(jī)控制器系統(tǒng)原理圖,寫(xiě)出詳細(xì)的系統(tǒng)工作原理。再經(jīng)過(guò)必要的計(jì)算確定各元件有關(guān)參數(shù),然后按照所得參數(shù)選擇元件。進(jìn)行軟件程序設(shè)計(jì):主程序,顯示程序,鍵盤程序,采樣程序等,進(jìn)行軟件設(shè)計(jì)時(shí)應(yīng)考慮程序布局合理、緊湊、美觀、調(diào)試方便。再焊接電路。關(guān)鍵詞:?jiǎn)纹瑱C(jī),溫度控制,目

4、 錄1課程設(shè)計(jì)目的 12課程設(shè)計(jì)內(nèi)容 121課程設(shè)計(jì)題目及簡(jiǎn)介 122設(shè)計(jì)說(shuō)明 1221設(shè)計(jì)任務(wù)的分析 1222 系統(tǒng)總體設(shè)計(jì) 1223設(shè)計(jì)電路圖 723軟件設(shè)計(jì) 8231程序框圖 8232程序設(shè)計(jì) 1024系統(tǒng)功能介紹 1925 元件清單 203心得體會(huì) 20參考文獻(xiàn)21附件:1.課程設(shè)計(jì)目的:課程教學(xué)目的及基本要求為:1.了解單片機(jī)測(cè)控系統(tǒng)的組成、作用與原理;2.掌握并且應(yīng)用單片機(jī)測(cè)控系統(tǒng)的分析方法;3.掌握并且應(yīng)用單片機(jī)測(cè)控系統(tǒng)的設(shè)計(jì)方法;4.完成一個(gè)完整的單片機(jī)溫度測(cè)控系統(tǒng)的分析、設(shè)計(jì)過(guò)程;2.課程設(shè)計(jì)內(nèi)容:21課程設(shè)計(jì)題目及簡(jiǎn)介制冷/熱電專業(yè)本科學(xué)生學(xué)習(xí)了“單片機(jī)原理與接口”課程后,

5、通過(guò)本課程設(shè)計(jì)鞏固、活化所學(xué)的專業(yè)理論知識(shí),基本掌握單片機(jī)測(cè)控系統(tǒng)的設(shè)計(jì)方法,為今后的學(xué)習(xí)和工作奠定良好的實(shí)驗(yàn)基礎(chǔ)。22設(shè)計(jì)說(shuō)明:221設(shè)計(jì)任務(wù)的分析電路設(shè)計(jì)總體思路:在溫度測(cè)量控制系統(tǒng)中,實(shí)際溫度值由電阻恒流工作調(diào)理電路進(jìn)行測(cè)量。為了克服其非線性特點(diǎn),在信號(hào)調(diào)理電路中加入負(fù)反饋非線性校正網(wǎng)絡(luò);調(diào)理電路的輸出電壓經(jīng)adc0808轉(zhuǎn)換后送入單片機(jī)at89s51;對(duì)采樣數(shù)據(jù)進(jìn)行濾波及標(biāo)度變換處理后。由3位7段數(shù)碼管顯示。輸入的設(shè)定值則由4位的獨(dú)立式鍵盤電路進(jìn)行調(diào)整,可分別對(duì)設(shè)定值的十位和個(gè)位進(jìn)行加一減一操作,送入單片機(jī)at89s51后,由3位7段數(shù)碼管顯示。數(shù)碼管的碼段由74ls05進(jìn)行驅(qū)動(dòng),而位

6、碼由三極管2n222a進(jìn)行驅(qū)動(dòng)。為了使兩組數(shù)碼管實(shí)時(shí)現(xiàn)實(shí),對(duì)兩組數(shù)碼管顯示器進(jìn)行動(dòng)態(tài)掃描。本系統(tǒng)的模糊控制由單片機(jī)at89s51的程序來(lái)實(shí)現(xiàn)。首先由溫度采樣值與設(shè)定值之差求出溫度誤差,進(jìn)一步求出誤差變化率,經(jīng)量化及限幅子程序處理,得到誤差語(yǔ)言變量e和誤差變化率語(yǔ)言變量ec,直接查詢模糊控制表就可以獲得控制量u,然后由定時(shí)子程序處理,發(fā)出控制信號(hào),控制加熱片及風(fēng)扇工作。加熱片及風(fēng)扇的控制電路采用晶體管驅(qū)動(dòng)的直流電磁繼電器,通過(guò)輸出可以改變占空比的pwm波信號(hào)。若系統(tǒng)溫度偏高,則控制風(fēng)扇電路工作,進(jìn)行降溫;若溫度未達(dá)到設(shè)定值,則輸出溫度控制信號(hào),控制加熱電路,進(jìn)行加熱。從而實(shí)現(xiàn)自動(dòng)控制溫度的目的。

7、222 系統(tǒng)總體設(shè)計(jì)22.2.1主控制器 單片機(jī)at89s51具有低電壓供電和體積小等特點(diǎn),四個(gè)端口只需要兩個(gè)口就能滿足電路系統(tǒng)的設(shè)計(jì)的需要,很適合便攜手持式產(chǎn)品的設(shè)計(jì)使用系統(tǒng)可用二節(jié)電池供電。22.2.2時(shí)鐘電路 at89s51單片機(jī)芯片內(nèi)部設(shè)有一個(gè)反向放大器所構(gòu)成的振蕩器,xtal1和xtal2分別為振蕩電路的輸入端和輸出端,時(shí)鐘可以又內(nèi)部或者外部產(chǎn)生,在xtal1和xtal2引腳上外接定時(shí)元器件,內(nèi)部振蕩電路就會(huì)產(chǎn)生自激蕩。本系統(tǒng)采用的定時(shí)元器件為石英晶體和電容組成的并聯(lián)諧振回路。晶振頻率選擇12mhz,c1,c2的電容值取22pf,電容的大小可起頻率微調(diào)作用。22.2.3復(fù)位電路 單片

8、機(jī)具有多種復(fù)位電路,本系統(tǒng)采用電平式開(kāi)關(guān)復(fù)位與上復(fù)位方式,具體電路如圖所示。當(dāng)上電時(shí),c1相當(dāng)于短路,使單片機(jī)復(fù)位,在正常工作時(shí),按下開(kāi)關(guān)使單片機(jī)復(fù)位,當(dāng)系統(tǒng)時(shí)鐘頻率為12mhz時(shí),c1=4.7uf,r1=100歐姆,r2=1000歐姆。其缺點(diǎn)是干擾易于串入復(fù)位端,在大多數(shù)條件下,不會(huì)造成單片機(jī)錯(cuò)誤復(fù)位,但會(huì)引起內(nèi)部某些寄存器錯(cuò)誤復(fù)位,這時(shí)可以在reset端加一個(gè)去藕電容。22.2.4鍵盤輸入電路 在本系統(tǒng)中,采用獨(dú)立式鍵盤。本鍵盤完成的功能為輸入控制系統(tǒng)的設(shè)定值,以便與系統(tǒng)的采樣值比較,求出系統(tǒng)的誤差與誤差變化率,供以后的模糊控制子程序使用。其中第一個(gè)鍵和第二個(gè)鍵為位選開(kāi)關(guān),為后續(xù)鍵盤處理字

9、程序的分支程序提供便利。第三個(gè)鍵與第四個(gè)鍵選用按鈕開(kāi)關(guān)。本系統(tǒng)編寫(xiě)的鍵盤處理字程序,主要注重三個(gè)問(wèn)題:如何減少開(kāi)關(guān)的使用次數(shù),以提高開(kāi)關(guān)的使用壽命。如何更快捷,更方便的給出設(shè)定值。如何有利于總程序的整體調(diào)度。 為此,采用4個(gè)鍵來(lái)搭建鍵盤電路,如圖所示,第一個(gè)鍵用來(lái)判斷是轉(zhuǎn)入控制字程序運(yùn)行,還是轉(zhuǎn)入鍵盤處理子程序運(yùn)行。若未按下則轉(zhuǎn)入控制處理子程序運(yùn)行,按下則轉(zhuǎn)入鍵盤處理子程序運(yùn)行;如第一個(gè)鍵按下,則第二個(gè)鍵開(kāi)始起作用,用第二鍵來(lái)判斷是十位進(jìn)行加減操作,還是個(gè)位進(jìn)行加減操作。如第二鍵未按下,轉(zhuǎn)十位進(jìn)行加減操作,否則轉(zhuǎn)個(gè)位進(jìn)行加減操作;第三個(gè)鍵為加一操作,第四個(gè)鍵為減一操作。為了進(jìn)一步解決上面提出的

10、兩個(gè)問(wèn)題,將個(gè)位與十位的設(shè)定值均設(shè)置為5,如果加一操作結(jié)果等于11,給加一單元重賦5,如果減一操作結(jié)果等于0ffh,給減一單元重賦5。這樣,考慮最壞情況,即用鍵盤設(shè)置離初始設(shè)定值的最遠(yuǎn)的值,第三鍵最多按5次,第四鍵最多按5次。從而大大減少了按鍵次數(shù),且更方便給出了設(shè)定值;第一個(gè)鍵和第二個(gè)鍵的加入,也充分考慮了總程序的整體調(diào)度。22.2.5顯示電路 顯示電路采用4位共陰led數(shù)碼管,從p34口rxd,txd串口輸出段碼。led顯示器:led顯示器內(nèi)部由發(fā)光二極管組成,其外形如圖所示: a f g b e c d hhgfedcba共陽(yáng)極 led結(jié)構(gòu)顯示字型和字段碼關(guān)系: 當(dāng)發(fā)光二極管導(dǎo)通時(shí),它就

11、會(huì)發(fā)光。每個(gè)二極管就是一個(gè)筆畫(huà)。若干個(gè)發(fā)光二級(jí)管發(fā)光時(shí),就構(gòu)成了一個(gè)顯示字符,不同的發(fā)光段落,可組成不同的字型。 輸入到數(shù)碼管h, a , b , c , d , e , f , g 的二進(jìn)制碼稱為字形碼,數(shù)碼管的結(jié)構(gòu)為字形。 本設(shè)計(jì)選擇4位共陽(yáng)極led數(shù)碼顯示器,采用動(dòng)態(tài)顯示工作方式。 所謂動(dòng)態(tài)顯示方式就是一位一位輪流的點(diǎn)亮各位數(shù)碼關(guān),其特點(diǎn)為:每一時(shí)刻只能有一位數(shù)碼管被點(diǎn)亮,并各位依次輪流被點(diǎn)亮;對(duì)于每一位來(lái)說(shuō),每隔一段時(shí)間點(diǎn)亮一次。數(shù)碼管的點(diǎn)亮既與點(diǎn)亮?xí)r的電流有關(guān),也與點(diǎn)亮?xí)r間和間隔比例有關(guān),通過(guò)調(diào)整電流和時(shí)間常數(shù),可實(shí)現(xiàn)較高較穩(wěn)定的顯示。22.2.6溫度傳感器 ds18b20溫度傳感器

12、是美國(guó)dallas半導(dǎo)體公司最新推出的一種改進(jìn)型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測(cè)溫元件相比,它能直接讀出被測(cè)溫度,并且可根據(jù)實(shí)際要求通過(guò)簡(jiǎn)單的編程實(shí)現(xiàn)位的數(shù)字值讀數(shù)方式。ds18b20的性能特點(diǎn)如下:獨(dú)特的單線接口僅需要一個(gè)端口引腳進(jìn)行通信;多個(gè)ds18b20可以并聯(lián)在惟一的三線上,實(shí)現(xiàn)多點(diǎn)組網(wǎng)功能;無(wú)須外部器件;可通過(guò)數(shù)據(jù)線供電,電壓范圍為3.05.5;零待機(jī)功耗;溫度以或位數(shù)字;用戶可定義報(bào)警設(shè)置;報(bào)警搜索命令識(shí)別并標(biāo)志超過(guò)程序限定溫度(溫度報(bào)警條件)的器件;負(fù)電壓特性,電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常工作; ds18b20采用腳pr35封裝或腳soic封裝,其內(nèi)部結(jié)

13、構(gòu)框圖如圖所示。64位rom的結(jié)構(gòu)開(kāi)始位是產(chǎn)品類型的編號(hào),接著是每個(gè)器件的惟一的序號(hào),共有48位,最后位是前面56位的crc檢驗(yàn)碼,這也是多個(gè)ds18b20可以采用一線進(jìn)行通信的原因。溫度報(bào)警觸發(fā)器和,可通過(guò)軟件寫(xiě)入戶報(bào)警上下限。ds18b20溫度傳感器的內(nèi)部存儲(chǔ)器還包括一個(gè)高速暫存和一個(gè)非易失性的可電擦除的eeram。高速暫存ram的結(jié)構(gòu)為字節(jié)的存儲(chǔ)器,結(jié)構(gòu)如圖3所示。頭個(gè)字節(jié)包含測(cè)得的溫度信息,第和第字節(jié)和的拷貝,是易失的,每次上電復(fù)位時(shí)被刷新。第個(gè)字節(jié),為配置寄存器,它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率。ds18b20工作時(shí)寄存器中的分辨率轉(zhuǎn)換為相應(yīng)精度的溫度數(shù)值。該字節(jié)各位的定義如圖

14、3所示。低位一直為,是工作模式位,用于設(shè)置ds18b20在工作模式還是在測(cè)試模式,ds18b20出廠時(shí)該位被設(shè)置為,用戶要去改動(dòng),r1和0決定溫度轉(zhuǎn)換的精度位數(shù),來(lái)設(shè)置分辨率。由表1可見(jiàn),ds18b20溫度轉(zhuǎn)換的時(shí)間比較長(zhǎng),而且分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時(shí)間越長(zhǎng)。因此,在實(shí)際應(yīng)用中要將分辨率和轉(zhuǎn)換時(shí)間權(quán)衡考慮。高速暫存的第、字節(jié)保留未用,表現(xiàn)為全邏輯。第字節(jié)讀出前面所有字節(jié)的crc碼,可用來(lái)檢驗(yàn)數(shù)據(jù),從而保證通信數(shù)據(jù)的正確性。當(dāng)ds18b20接收到溫度轉(zhuǎn)換命令后,開(kāi)始啟動(dòng)轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度值就以16位帶符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲(chǔ)在高速暫存存儲(chǔ)器的第、字節(jié)。單片機(jī)可以通過(guò)單線接口讀出

15、該數(shù)據(jù),讀數(shù)據(jù)時(shí)低位在先,高位在后,數(shù)據(jù)格式以0.0625lsb形式表示。當(dāng)符號(hào)位時(shí),表示測(cè)得的溫度值為正值,可以直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)符號(hào)位時(shí),表示測(cè)得的溫度值為負(fù)值,要先將補(bǔ)碼變成原碼,再計(jì)算十進(jìn)制數(shù)值。表2是一部分溫度值對(duì)應(yīng)的二進(jìn)制溫度數(shù)據(jù)。ds18b20完成溫度轉(zhuǎn)換后,就把測(cè)得的溫度值與ram中的th、t字節(jié)內(nèi)容作比較。若th或ttl,則將該器件內(nèi)的報(bào)警標(biāo)志位置位,并對(duì)主機(jī)發(fā)出的報(bào)警搜索命令作出響應(yīng)。因此,可用多只ds18b20同時(shí)測(cè)量溫度并進(jìn)行報(bào)警搜索。在64位rom的最高有效字節(jié)中存儲(chǔ)有循環(huán)冗余檢驗(yàn)碼(crc)。主機(jī)rom的前56位來(lái)計(jì)算crc值,并和存入ds18b20的c

16、rc值作比較,以判斷主機(jī)收到的rom數(shù)據(jù)是否正確。ds18b20的測(cè)溫原理是這這樣的,器件中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送給減法計(jì)數(shù)器;高溫度系數(shù)晶振隨溫度變化其振蕩頻率明顯改變,所產(chǎn)生的信號(hào)作為減法計(jì)數(shù)器的脈沖輸入。器件中還有一個(gè)計(jì)數(shù)門,當(dāng)計(jì)數(shù)門打開(kāi)時(shí),ds18b20就對(duì)低溫度系數(shù)振蕩器產(chǎn)生的時(shí)鐘脈沖進(jìn)行計(jì)數(shù)進(jìn)而完成溫度測(cè)量。計(jì)數(shù)門的開(kāi)啟時(shí)間由高溫度系數(shù)振蕩器來(lái)決定,每次測(cè)量前,首先將55所對(duì)應(yīng)的一個(gè)基數(shù)分別置入減法計(jì)數(shù)器、溫度寄存器中,計(jì)數(shù)器和溫度寄存器被預(yù)置在55所對(duì)應(yīng)的一個(gè)基數(shù)值。減法計(jì)數(shù)器對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行減法計(jì)數(shù),當(dāng)減法計(jì)數(shù)器

17、的預(yù)置值減到時(shí),溫度寄存器的值將加,減法計(jì)數(shù)器的預(yù)置將重新被裝入,減法計(jì)數(shù)器重新開(kāi)始對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán)直到減法計(jì)數(shù)器計(jì)數(shù)到時(shí),停止溫度寄存器的累加,此時(shí)溫度寄存器中的數(shù)值就是所測(cè)溫度值。其輸出用于修正減法計(jì)數(shù)器的預(yù)置值,只要計(jì)數(shù)器門仍未關(guān)閉就重復(fù)上述過(guò)程,直到溫度寄存器值大致被測(cè)溫度值。2.2.2.7 ds18b20溫度傳感器與單片機(jī)的接口電路ds18b20可以采用兩種方式供電,一種是采用電源供電方式,此時(shí)ds18b20的1腳接地,2腳作為信號(hào)線,3腳接電源。另一種是寄生電源供電方式,如圖4 所示單片機(jī)端口接單線總線,為保證在有效的ds18b20時(shí)鐘周期內(nèi)提供足夠

18、的電流,可用一個(gè)mosfet管來(lái)完成對(duì)總線的上拉。當(dāng)ds18b20處于寫(xiě)存儲(chǔ)器操作和溫度a/d轉(zhuǎn)換操作時(shí),總線上必須有強(qiáng)的上拉,上拉開(kāi)啟時(shí)間最大為10us。采用寄生電源供電方式時(shí)vdd端接地。由于單線制只有一根線,因此發(fā)送接口必須是三態(tài)的.223設(shè)計(jì)電路圖系統(tǒng)原理圖發(fā)熱元件溫度傳感器加熱對(duì)象可控硅鍵盤led顯示器51單片機(jī):系統(tǒng)電路圖:23軟件設(shè)計(jì)231程序框圖總流程圖: 開(kāi)始初值化采樣鍵盤顯示器控制運(yùn)算控制輸出3.鍵盤流程圖:開(kāi)始有鍵按下?去抖動(dòng)有鍵按下?是k1?k1鍵處理是k2?k2鍵處理k3否?k3鍵處理是k4?k4鍵返回nyn232程序設(shè)計(jì)org 0000h main: mov 25h

19、,#00h mov 26h,#05h mov 27h,#05hcaiyang: mov sp,#60h mov 24h,#03h mov 31h,#0chlcall get_temp ;主程序 lcall display clr c ;aaa lcall jiare ;aaa clr c ;aaa lcall check1 ajmp caiyangcheck1: ;查詢k1鍵是否按下 jb p0.0, caiyanglcall delay jnb p0.0,int_ret int_: mov 24h, #01h xianshi: mov 19h, 25h mov 20h, 26h mov 21

20、h, 27h mov 31h, #0c7h acall displayk1q: jb p0.0, k2q;k1鍵沒(méi)按下,跳 acall delay jnb p0.0,k1s k2q: jb p0.1,k3q acall delay jnb p0.1,k2s k3q: jb p0.2 ,k4q acall delay jnb p0.2,k3s k4q: jb p0.3,fanhui acall delay jnb p0.3,k4s fanhui: ajmp xianshi k1s: ljmp caiyang k2s: inc 24h mov a,24h cjne a,#01h, deng1 mo

21、v r0,#25h ljmp xianshideng1: cjne a,#02h,deng2 mov r0,#26h ljmp xianshideng2: mov r0,#27h mov 24h,#00h ajmp xianshik3s: inc r0 mov a,r0 mov r3,a mov a,#09h clr c subb a,r3 jnc tz1 mov r0,#00h tz1: ajmp xianshi k4s: dec r0 mov a,r0 mov r3,a mov a,#09h clr c subb a,r3 jnc tz2 mov r0,#09htz2: ajmp xian

22、shidelay: mov r3 ,#0a0h lop2: mov r4,#0ffh lop1: djnz r4,lop1 djnz r3,lop2 ret get_temp: clr psw.4 setb psw.3 clr ea lcall int mov a,#0cch lcall write mov a,#44h lcall write lcall int mov a,#0cch lcall write mov a,#0beh lcall write lcall read mov 29h,a lcall read mov 28h,a mov a,29h mov c,40h;將28h中的

23、最低位移入c rrc a mov c,41h rrc a mov c,42h rrc a mov c,43h rrc a mov 22h,a mov b,#100 ;10進(jìn)制/10=10進(jìn)制 div ab mov 19h, a ;百位存20 mov a,b mov b,#10 div ab mov 20h ,a mov 21h,b setb ea ret int: clr eal0: clr p3.3 mov r2,#200 l1: clr p3.3 djnz r2,l1 setb p3.3 mov r2,#30h l4: djnz r2,l4 clr c orl c, p3.3 jc l0

24、mov r6 ,#80 l5: orl c,p3.3 jc l3 djnz r6,l5 sjmp l0 l3: mov r2,#240l2: djnz r2,l2 ret write: clr ea mov r3,#08hwr1: setb p3.3 mov r4,#08h rrc a clr p3.3wr2: djnz r4, wr2 mov p3.3,c mov r4,#20wr3: djnz r4,wr3 djnz r3,wr1 setb p3.3 retread: clr ea mov r6,#08hre1: clr p3.3 mov r4,#04h nop setb p3.3re2:

25、 djnz r4,re2 mov c,p3.3 rrc a mov r5,#30re3: djnz r5,re3 djnz r6,re1 setb p3.3 ret jiare:mov a,25hmov b,#100mul abmov r2,amov a,26hmov b,#10mul abadd a,r2add a,27hsubb a,22hclr a ; mov b,#00h ;jnc lvclr p2.4setb p2.5ret ;lv:clr p2.5 setb p2.4ret display:mov dptr,#numtab ;指定查表啟始地址mov a,31hmov p1,aset

26、b p2.0acall d1ms clr p2.0mov a,19h ;取百位數(shù)movc a,a+dptr ;查十位數(shù)的7段代碼mov p1,a ;送出十位的7段代碼setb p2.1;開(kāi)十位顯示 mov a,24hcjne a,#01h, yi1 ;若被選中,達(dá)到閃爍的目的acall d10ms ajmp chang1 yi1: acall d1ms;顯示1ms chang1: clr p2.1mov a,20h;取十位數(shù)movc a,a+dptr ;查十位數(shù)的7段代碼mov p1,a ;送出個(gè)位的7段代碼setb p2.2;開(kāi)個(gè)位顯示mov a,24hcjne a,#02h,yi2 ;若被

27、選中,達(dá)到閃爍的目的acall d10ms ajmp chang2 yi2:acall d1ms ;顯示1mschang2:clr p2.2mov a,21hmovc a,a+dptrmov p1,asetb p2.3mov a,24hcjne a,#00h,yi3acall d10ms ajmp chang3yi3:acall d1mschang3:clr p2.3ret;1ms延時(shí)(按12mhz算)d1ms: mov r7,#80h djnz r7,$ ret d10ms: mov r5,#10h djnz r5,$ retnumtab:db 0c0h ;0 db 0f9h ;1 db 0

28、a4h ;2 db 0b0h ;3 db 99h ;4 db 92h ;5 db 82h ;6 db 0f8h ;7 db 80h ;8 db 90h ;9 end24系統(tǒng)功能介紹溫度傳感器采溫功能:能直接讀出被測(cè)溫度,并且可根據(jù)實(shí)際要求通過(guò)簡(jiǎn)單的編程實(shí)現(xiàn)位的數(shù)字值讀數(shù)方式,測(cè)溫范圍:-55+125,在-10+85時(shí)精度為0.5數(shù)碼顯示器顯示功能:4位數(shù)碼顯示器,第一位顯示字母“p”或字母“l(fā)”.p表示顯示器顯示的數(shù)值是當(dāng)前傳感器采集的被測(cè)環(huán)境的溫度。l表示進(jìn)入設(shè)定穩(wěn)定狀態(tài),所顯示的溫度為設(shè)定溫度。小數(shù)點(diǎn)亮或有閃爍的數(shù)位為可操作位。通過(guò)鍵盤可選擇可操作位。發(fā)光二極管功能:紅色亮,代表被測(cè)溫度低

29、于設(shè)定溫度,啟動(dòng)加熱器加熱?;@色亮,代表被測(cè)溫度超過(guò)設(shè)定溫度。加熱器不再加熱。鍵盤按鍵功能: 按鍵k1:進(jìn)行顯示被測(cè)溫度和設(shè)定溫度的切換。p表示顯示器顯示的數(shù)值是當(dāng)前傳感器采集的被測(cè)環(huán)境的溫度。l表示進(jìn)入設(shè)定穩(wěn)定狀態(tài),所顯示的溫度為設(shè)定溫度按鍵k2:用于選擇個(gè),十,百數(shù)位,被選中的數(shù)位小數(shù)點(diǎn)亮或有閃爍。可以通過(guò)k3(加),k4(減)進(jìn)行操作。按鍵k3:每按一次,被操作位數(shù)值加一按鍵k4:每按一次,被操作位數(shù)值減一25 元件清單元件名稱型號(hào)數(shù)量備注電池盒1電路板1電線夠用就好51單片機(jī)at89c5114位led顯示屏7seg-mpx4-ca1共陽(yáng)極感溫器ds18s201按鈕開(kāi)關(guān)4起動(dòng)器74071電阻12發(fā)光二極管紅綠各一個(gè)2可控硅1發(fā)熱元件13心得體會(huì):三個(gè)星期的單片機(jī)課程設(shè)計(jì),痛苦并快樂(lè)著。思路從一

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論