2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩45頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  基于單片機(jī)的熱水控制器系統(tǒng)設(shè)計(jì)</p><p>  摘要:本文介紹了用51單片機(jī)設(shè)計(jì)的一種多功能熱水控制器,具有自動和手動加水、設(shè)置水溫、實(shí)時(shí)顯示水量及溫度和報(bào)警功能,并且具有結(jié)構(gòu)簡單、可靠性高、成本低等特點(diǎn)。 </p><p>  當(dāng)前市場上的熱水控制器基本上采用雙金屬片溫控,控溫精度低、可靠性差、功能單一。隨著微電子技術(shù)的發(fā)展,單片微處理器功能日益增強(qiáng),價(jià)格低廉,

2、在各方面得到廣泛應(yīng)用。在熱水控制器中應(yīng)用單片機(jī),具有設(shè)計(jì)簡單、可靠性高、功能易擴(kuò)展等優(yōu)點(diǎn)。</p><p>  本文著重于熱水器在智能控制方面的探討。</p><p>  關(guān)鍵詞:單片機(jī),熱水器,51,加熱</p><p>  Abstract: This paper introduces single-chip design with 51 of a multi-

3、functional water control, with automatic and manual water and set the water temperature, water and temperature in real-time display and alarm functions, and simple structure, high reliability, cost low.</p><p&

4、gt;  At present the market is basically the use of hot water controller Bimetal temperature control, temperature control accuracy of the low reliability of poor, single function. With the development of microelectronic t

5、echnology, the growing single-chip microprocessor functions and low prices, in all respects been widely used. Hot water applications in single-chip controller with a simple design, high reliability and easy expansion of

6、functions and so on. This article focuses on the water heater in</p><p>  Key words: microcontroller, water heater, 51, heating</p><p><b>  目 錄</b></p><p>  1整體設(shè)計(jì)方案

7、- 4 -</p><p>  1.1課程設(shè)計(jì)要求- 4 -</p><p>  1.2設(shè)計(jì)目的- 4 -</p><p>  2設(shè)計(jì)方案- 5 -</p><p>  3硬件電路設(shè)計(jì)- 6 -</p><p>  3.1DS1820的工作原理- 7 -</p><p> 

8、 3.2寄生電源電路- 8 -</p><p>  3.3溫度測量原理- 8 -</p><p>  3.4高溫自動報(bào)警電路- 10 -</p><p>  3.5基本溫度水溫測量電路- 10 -</p><p>  3.6顯示電路及鍵盤電路- 11 -</p><p>  3.7水溫和水量控制電

9、路- 12 -</p><p>  4系統(tǒng)軟件設(shè)計(jì)- 13 -</p><p>  4.1鍵盤和顯示- 14 -</p><p>  4.2水溫測量- 15 -</p><p>  5結(jié)論- 15 -</p><p>  6參考文獻(xiàn)- 20 -</p><p>  7致謝

10、- 20 -</p><p>  8附錄- 21 -</p><p>  附錄一:程序清單- 21 -</p><p>  附錄二:總原理圖- 46 -</p><p><b>  整體設(shè)計(jì)方案</b></p><p><b>  課程設(shè)計(jì)要求</b></p&

11、gt;<p>  完成基于單片機(jī)的熱水控制器系統(tǒng)的設(shè)計(jì),能夠?qū)崿F(xiàn)水溫的自動加熱,并檢測水溫大小,對溫度進(jìn)行顯示。</p><p>  程序設(shè)計(jì)合理、簡潔。</p><p>  自行設(shè)計(jì)檢測及相關(guān)處理電路。</p><p>  完成單片機(jī)數(shù)據(jù)采集及處理的硬件電路設(shè)計(jì)及相關(guān)軟件編程。</p><p>  輔助電路及元器件自選。 &l

12、t;/p><p><b>  自選傳感器類型</b></p><p>  加熱范圍40~100攝氏度</p><p><b>  設(shè)計(jì)目的</b></p><p>  現(xiàn)代科技飛速發(fā)展,擁有淵博的知識是今后一展鴻圖的基礎(chǔ).實(shí)踐也同知識一樣重要,如果不在學(xué)生的實(shí)踐技能的鍛煉上下功夫,單憑課堂理論課學(xué)習(xí),勢

13、必出現(xiàn)理論與實(shí)踐脫節(jié),學(xué)習(xí)與應(yīng)用脫節(jié)的局面。任隨書本上把單片微機(jī)技術(shù)介紹得多么重要、多么實(shí)用、多么好用,我們?nèi)匀粫械侥侵皇强罩袠情w,離自己十分遙遠(yuǎn),或者會因此而對它失去興趣,或者會感到它高深莫測無從下手,這些情況都會令課堂教學(xué)的效果大打折扣。</p><p>  “基于單片機(jī)應(yīng)用設(shè)計(jì)”的目的就是讓我們在理論學(xué)習(xí)的基礎(chǔ)上,通過完成一個(gè)涉及MCS-51單片機(jī)多種資源應(yīng)用并具有綜合功能的小系統(tǒng)目標(biāo)板的設(shè)計(jì)與編程應(yīng)用,

14、使之不但能夠?qū)⒄n堂上學(xué)到的理論知識與實(shí)際應(yīng)用結(jié)合起來,而且能夠?qū)﹄娮与娐贰㈦娮釉骷?、印制電路板等方面的知識進(jìn)一步加深認(rèn)識,同時(shí)在軟件編程、排錯(cuò)調(diào)試、焊接技術(shù)、相關(guān)儀器設(shè)備的使用技能等方面得到較全面的鍛煉和提高,為今后能夠獨(dú)立進(jìn)行某些單片機(jī)應(yīng)用系統(tǒng)的開發(fā)設(shè)計(jì)工作打下一定的基礎(chǔ)。</p><p><b>  設(shè)計(jì)方案</b></p><p>  本文介紹了用51單片機(jī)設(shè)

15、計(jì)的一種多功能熱水控制器,具有自動和手動加水、設(shè)置水溫、實(shí)時(shí)顯示水量及溫度和報(bào)警功能,并且具有結(jié)構(gòu)簡單、可靠性高、成本低等特點(diǎn)。 </p><p>  當(dāng)前市場上的熱水控制器基本上采用雙金屬片溫控,控溫精度低、可靠性差、功能單一。隨著微電子技術(shù)的發(fā)展,單片微處理器功能日益增強(qiáng),價(jià)格低廉,在各方面得到廣泛應(yīng)用。在熱水控制器中應(yīng)用單片機(jī),具有設(shè)計(jì)簡單、可靠性高、功能易擴(kuò)展等優(yōu)點(diǎn)。</p><p&g

16、t;  熱水控制器主要實(shí)現(xiàn)對水溫的控制,并滿足不同用戶的個(gè)性需求。因此一個(gè)較完善的控制器應(yīng)具有以下功能:</p><p>  水溫的測量與顯示;水量的測量與顯示;用戶設(shè)定功能(如水溫設(shè)定,定時(shí)設(shè)定等);對電加熱管的控制功能;一些功能鍵(如定時(shí)自動加水,恒溫控制,手動加水,手動加熱等)。</p><p><b>  圖1 原理框圖</b></p><

17、p><b>  硬件電路設(shè)計(jì)</b></p><p>  根據(jù)熱水控制器的功能要求,并結(jié)合對51系列單片機(jī)的資源分析,采用此系列中的主流型號89C51作為電路系統(tǒng)的控制核心。電熱水控制器的總體布局如圖1所示?;居布娐穲D如圖2(a)~(c)所示。在本系統(tǒng)中,P0.0~P0.3用于七段碼顯示,P2.6控制水閘開關(guān),P2.7控制電加熱管,P3.3~P3.5用于按鍵設(shè)計(jì)和讀取水量,P3.0

18、~P3.2用于跟DS1820通信進(jìn)行水溫測量,P2.0~P2.1對七段碼進(jìn)行掃描,P2.2~P2.5 LED指示燈顯示,P3.7控制揚(yáng)聲器用于報(bào)警和指示。</p><p><b>  1.水溫測量電路</b></p><p>  水溫測量電路如圖4所示,測溫元件采用DALLAS的單線數(shù)字溫度傳感器DS1820。DS1820提供九位溫度讀數(shù),測量范圍-55℃~125℃,

19、采用獨(dú)特1-WIRE 總線協(xié)議,只需一根口線即實(shí)現(xiàn)與MCU的雙向通訊,具有連接簡單,高精度,高可靠性等特點(diǎn)。在工作時(shí),通過總線向其提供電源,單片機(jī)發(fā)出指令碼讀取溫度值。</p><p>  DS1820的工作原理</p><p>  DS1820采用3腳PR-35封裝或8腳SOIC封裝,管腳排列如圖2所示。圖中3號引腳為GND,2號引腳I/O為數(shù)據(jù)輸入/輸出端(即單線總線),該腳為漏極開路

20、輸出,常態(tài)下呈高電平。1號引腳VDD是外部+5V電源端,不用時(shí)應(yīng)接地。NC為空腳。圖3所示為DS1820的內(nèi)部框圖,它主要包括寄生電源、溫度傳感器、64位激光ROM單線接口、存放中間數(shù)據(jù)的高速暫存器(內(nèi)含便箋式RAM),用于存儲用戶設(shè)定的溫度上下限值的TH和TL解發(fā)器存儲與控制邏輯、8位循環(huán)冗余校驗(yàn)碼(CRC)發(fā)生器等七部分。</p><p>  圖2 DS1820引腳圖</p><p>

21、  圖3 DS18B20內(nèi)部結(jié)構(gòu)圖</p><p><b>  寄生電源電路</b></p><p>  寄生電源由二極管VD1、VD2和寄生電容C組成。電源檢測電路用于判定供電方式。寄生電源供電時(shí),VDD端接地,器件從單線總線上獲取電源。在I/O線呈低電平時(shí),改由C上的電壓Vc繼續(xù)向器件供電。該寄生電源有兩個(gè)優(yōu)點(diǎn):第一,檢測遠(yuǎn)程溫度時(shí)無需本地電源;第二,缺少正常電源

22、時(shí)也能讀ROM。若采用外部電源VDD,則通過VD2向器件供電。</p><p><b>  溫度測量原理</b></p><p>  DS1820測量溫度時(shí)使用特有的溫度測量技術(shù)。其測量電路框圖如圖3所示。DS1820內(nèi)部的低溫度系數(shù)振蕩器能產(chǎn)生穩(wěn)定的頻率信號f0,高溫度系數(shù)振蕩器則將被測溫度轉(zhuǎn)換成頻率信號f。當(dāng)計(jì)數(shù)門打開時(shí),DS1820對f0計(jì)數(shù),計(jì)數(shù)門開通時(shí)間由高

23、溫度系數(shù)振蕩器決定。芯片內(nèi)部還有斜率累加器,可對頻率的非線性予以被償。測量結(jié)果存入溫度寄存器中。一般情況下的溫度值應(yīng)為9位(符號點(diǎn)1位),但因符號位擴(kuò)展成高8位,故以16位被碼讀出。</p><p>  圖4 DS1820測溫原理框圖</p><p><b>  高速暫存器</b></p><p>  在正常測溫情況下,DS1820的測溫分辨

24、力為0.5℃,可采用下述方法獲得高分辨率的溫度測量結(jié)果:首先用DS1820提供的讀暫存器指令(BEH)讀出以0.5℃為分辨率的溫度測量結(jié)果,然后切去測量結(jié)果中的最低有效位(LSB),得到所測實(shí)際溫度的整數(shù)部分Tz,然后現(xiàn)用BEH指令取計(jì)數(shù)器1的計(jì)數(shù)剩余值Cs和每度計(jì)數(shù)值CD??紤]到DS1820測量溫度的整數(shù)部分以0.25℃、0.75℃為進(jìn)位界限的關(guān)系,實(shí)際溫度Ts可用下式計(jì)算:</p><p>  Ts=(Tz-

25、0.25℃)+(CD-Cs)/CD</p><p><b>  高溫自動報(bào)警電路</b></p><p>  DS1820完成溫度轉(zhuǎn)換后,就把測得的溫度值與TH、TL作比較。若T>TH或T<TL,則將該器件內(nèi)的告警標(biāo)志置位,并對主機(jī)發(fā)出的告警搜索命令作出響應(yīng)。因此,可用多只DS1820同時(shí)測量溫度并進(jìn)行告警搜索。一旦某測溫點(diǎn)越限,主機(jī)利用告警搜索命令即可識

26、別正在告警的器件,并讀出其序號,而不必考慮非告警器件。</p><p><b>  CRC的產(chǎn)生</b></p><p>  在64位ROM的最高有效字節(jié)中存儲有循環(huán)冗余校驗(yàn)碼(CRC)。主機(jī)根據(jù)ROM的前56位來計(jì)算CRC值,并和存入DS1820中的CRC值作比較,以判斷主機(jī)收到的ROM數(shù)據(jù)是否正確。CRC的函數(shù)表達(dá)式為:CRC=X8+X5+X3+1。此外,DS18

27、20尚需依上式為暫存器中的數(shù)據(jù)來產(chǎn)生一個(gè)8位CRC送給主機(jī),以確保暫存器數(shù)據(jù)傳送無誤。</p><p>  基本溫度水溫測量電路</p><p>  基本溫度水溫測量電路如圖5所示,本系統(tǒng)中,一個(gè)DS18B20溫度傳感器,三個(gè)七段碼顯示與四個(gè)LED燈指示,四個(gè)功能按鍵與水量設(shè)定按鍵使用同一組按鍵。按鍵的優(yōu)先權(quán)高于水量信號,水量高檔位信號優(yōu)先權(quán)高于低檔位信號,以保證能優(yōu)先響應(yīng)按鍵。</

28、p><p>  圖5 基本溫度水溫測量、鍵盤電路</p><p><b>  顯示電路及鍵盤電路</b></p><p>  顯示電路如圖6所示,溫度采用二位七段碼顯示,顯示范圍0℃~99℃。水量采用一位七段顯示,顯示1、2、3、4,四檔水位。對溫度和水量進(jìn)行循環(huán)掃描顯示。四個(gè)LED用于當(dāng)前按鍵功能設(shè)定。</p><p>

29、  設(shè)置按鍵兩個(gè),一個(gè)十位按鍵,一個(gè)個(gè)位按鍵。</p><p>  圖6 基本顯示電路圖圖</p><p><b>  水溫和水量控制電路</b></p><p>  水溫和水量控制電路如圖7所示,單片機(jī)通過光電耦合對繼電器進(jìn)行控制,用來切斷或接通加熱管電源,關(guān)閉或打開水閥,從而達(dá)到對水溫和水量的控制。</p><p>

30、  圖7 水溫和水量控制電路</p><p><b>  系統(tǒng)軟件設(shè)計(jì)</b></p><p>  系統(tǒng)軟件采用匯編語言精簡指令編寫。本系統(tǒng)中鍵盤掃描、漏電檢測等子程序都通過查詢實(shí)現(xiàn),并采用12MHz的時(shí)鐘頻率,對指令的運(yùn)行時(shí)間進(jìn)行了精確計(jì)算和設(shè)計(jì),保證軟件的可靠性和穩(wěn)定性。系統(tǒng)主程序框圖如圖7所示,DS1820工作程序流程圖如圖8所示。</p>&l

31、t;p><b>  鍵盤和顯示</b></p><p>  本系統(tǒng)中,有四個(gè)功能按鍵:定時(shí)加水、恒溫控制、手動加水和手動加熱;三個(gè)七段碼顯示與四個(gè)LED燈指示。</p><p>  (1) 按下定時(shí)加水按鈕時(shí),定時(shí)LED變亮,并以當(dāng)前時(shí)間為定時(shí)時(shí)標(biāo),每24小時(shí)自動加水至設(shè)定水量;若長按此鈕超過5秒,定時(shí)LED滅,并聽到“嘟”一聲進(jìn)行水量設(shè)定,此后每按一下鈕,水量

32、顯示加一檔,1~4檔循環(huán)顯示,不按此鈕超過5秒,再次聽到“嘟”一聲,水量設(shè)定完畢。系統(tǒng)的定時(shí)功能主要通過軟件完成。</p><p> ?。?)按下恒溫控制鈕,恒溫LED變亮,表示進(jìn)行恒溫控制,再按一下LED滅,取消恒溫控制。與水量設(shè)定類似,長按后,進(jìn)行溫度設(shè)定。</p><p>  (3)按下手動加熱鈕時(shí),加熱LED變亮,加熱至65℃,如水量少于1檔,則先加水到1檔,再按一次取消加熱。&l

33、t;/p><p> ?。?)按下手動加水鈕時(shí),加水至設(shè)定水量值,長按可設(shè)定水量。手動加水過程中,再次按下取消加水。正常情況下,兩個(gè)七段碼顯示當(dāng)前水溫,另一個(gè)顯示當(dāng)前水位。</p><p><b>  水溫測量</b></p><p>  溫度讀取是通過與DS1820通信完成。DS1820通信功能是分時(shí)完成的,它有嚴(yán)格的時(shí)隙概念。因此系統(tǒng)對DS182

34、0的各種操作必須按協(xié)議進(jìn)行。DS1820是美國DALLAS公司生產(chǎn)的單線數(shù)字溫度傳感器,它具有微型化、低功耗、高性能、抗干擾能力強(qiáng)、易配微處理器等優(yōu)點(diǎn),特別適合于構(gòu)成多點(diǎn)溫度測控系統(tǒng),可直接將溫度轉(zhuǎn)化成串行數(shù)字信號供微機(jī)處理,而且每片DS1820都有唯一的產(chǎn)品號并可存入其ROM中,以使在構(gòu)成大型溫度測控系統(tǒng)時(shí)在單線上掛任意多個(gè)DS1820芯片。從DS1820讀出或?qū)懭隓S1820信息僅需要一根口線,共讀寫及溫度變換功率來源于數(shù)據(jù)總線,該

35、總線本身也可以向所掛接的DS1820供電,而無需額處電源。DS1820能提供九位溫度讀數(shù),它無需任何外圍硬件即可方便地構(gòu)成溫度檢測系統(tǒng)。</p><p><b>  結(jié)論</b></p><p>  課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識,發(fā)現(xiàn),提出,分析和解決實(shí)際問題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過程.隨著科學(xué)技術(shù)發(fā)展的日新日異,單片機(jī)已

36、經(jīng)成為當(dāng)今計(jì)算機(jī)應(yīng)用中空前活躍的領(lǐng)域, 在生活中可以說得是無處不在。因此作為二十一世紀(jì)的大學(xué)來說掌握單片機(jī)的開發(fā)技術(shù)是十分重要的。 回顧起此次單片機(jī)課程設(shè)計(jì),至今我仍感慨頗多,的確,從選題到定稿,從理論到實(shí)踐,在整整兩星期的日子里,可以說得是苦多于甜,但是可以學(xué)到很多很多的的東西,同時(shí)不僅可以鞏固了以前所學(xué)過的知識,而且學(xué)到了很多在書本上所沒有學(xué)到過的知識。通過這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識是遠(yuǎn)遠(yuǎn)

37、不夠的,只有把所學(xué)的理論知識與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會服務(wù),從而提高自己的實(shí)際動手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時(shí)在設(shè)計(jì)的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固,比如說對單片機(jī)匯編語言掌握得不好……通過這次課程設(shè)計(jì)之后,一定把以前所學(xué)過的知識重</p><p>  1.

38、在設(shè)計(jì)程序之前,務(wù)必要對所用單片機(jī)的內(nèi)部結(jié)構(gòu)有一個(gè)系統(tǒng)的了解,知道該單片機(jī)片內(nèi)有哪些資源,它的引腳功能都要了解</p><p>  2.設(shè)計(jì)程序采用什么編程語言并不是非常重要,關(guān)鍵要有一個(gè)清晰的思路和一個(gè)完整的軟件流程圖.</p><p>  3.在設(shè)計(jì)程序時(shí),不能妄想一次就將整個(gè)程序設(shè)計(jì)好,"反復(fù)修改,不斷改進(jìn)"是程序設(shè)計(jì)的必經(jīng)之路.</p><p

39、>  4.在設(shè)計(jì)程序過程中遇到問題是很正常的,但我們應(yīng)該將每次遇到的問題記錄下來,并分析清楚,以免下次再碰到同樣的問題.</p><p><b>  圖8 主程序流程圖</b></p><p><b>  參考文獻(xiàn)</b></p><p>  [1]蘇長贊主編:《實(shí)用遙控技術(shù)手冊》,北京:人民郵電出版社,1996年。

40、</p><p>  [2]陳永甫主編:《紅外探測與控制電路》,北京:人民郵電出版社,2004年。</p><p>  [3]無線電愛好者叢書編委會,黃繼昌等主編:《實(shí)用識別電路》,北京: 人民郵電出版社,2005年。</p><p><b>  致謝</b></p><p>  首先感謝各位指導(dǎo)老師,各位同學(xué)給

41、我的支持和幫助,感謝他們在這幾個(gè)月份給與的關(guān)鍵性指導(dǎo)和提議。</p><p>  同時(shí)我也感謝家里的父母,為我提供了一個(gè)很好的學(xué)習(xí)環(huán)境,和無微不至的關(guān)懷,在我感到困難和灰心時(shí),他們對我的鼓勵(lì),我的成功有他們不可以或缺的功勞。</p><p>  感謝我的指導(dǎo)老師,他們嚴(yán)謹(jǐn)細(xì)致、一絲不茍的作風(fēng)一直是我工作、學(xué)習(xí)中的榜樣;他們循循善誘的教導(dǎo)和不拘一格的思路給予我無盡的啟迪。 <

42、/p><p>  歲月如流,流走的是時(shí)光,流不動的是永存于心底的這份情愫!</p><p><b>  附錄</b></p><p><b>  附錄一:程序清單</b></p><p>  ORG 0000H;系統(tǒng)主程序JMP MAIN </p><p><b> 

43、 ORG 000BH</b></p><p>  JMP  LEDINT0</p><p><b>  ORG 001BH</b></p><p>  JMP LEDINT1</p><p><b>  ORG 0100H</b></p><p>  

44、PP5:JMP PP1</p><p>  PP7:JMP PP2</p><p>  MAIN:  MOV 34H,#0FFH</p><p>  MOV 35H,#0FFH</p><p>  MOV 36H,#00H</p><p>  MOV 37H,#00H</p><p>

45、  clr   p1.6</p><p>  setb  p1.7</p><p>  MOV SP,#60H     ;給堆棧指針賦初值</p><p>  MOV TMOD,#51H   ;定時(shí)器0工作于方式定時(shí)器1作為計(jì)數(shù)器</p><p>  M

46、OV TH0,#0ECH   ;給計(jì)數(shù)寄存器的高8位賦初值</p><p>  MOV TL0,#77H    ;給計(jì)數(shù)寄存器的低8位賦初值</p><p>  MOV   30H,#20</p><p>  mov   31h,#10</p><p>

47、  MOV   32H,#20</p><p>  mov   33h,#10</p><p>  mov   th1,#00h</p><p>  mov   tl1,#00h</p><p>  MOV IE,#82H</p><p>

48、  SETB    TR0         ;計(jì)時(shí)開始</p><p>  setb  tr1         ;開始計(jì)數(shù)</p><p><b>  mov r0,#0</b

49、></p><p><b>  mov r1,#0</b></p><p><b>  mov r2,#0</b></p><p><b>  mov r3,#0</b></p><p><b>  mov r4,#0</b></p>

50、<p>  LOOP:  mov dptr,#0a100h  ;讀取鍵盤狀態(tài)</p><p>  movx a,@dptr</p><p>  MOV 21H,A   ;把A的內(nèi)容賦給緩沖區(qū)21H,再比較判斷然后輸出</p><p>  JNB 21H.7,PP3     ;加

51、水到50</p><p>  JNB 21H.6,PP7    ;加水到80</p><p>  JNB 21H.5,PP5     ;加水到100</p><p><b>  MOV A,34H</b></p><p><b>  CLR

52、C</b></p><p><b>  SUBB A,#1</b></p><p>  JC PP3              ;C是1 轉(zhuǎn)PP3</p><p>  JZ TTL4  

53、;           ;A=0 轉(zhuǎn)TTL4</p><p>  AJMP BB             ;無條件轉(zhuǎn)移</p><p>  TTL4:MOV A,35H&l

54、t;/p><p><b>  CLR C</b></p><p>  SUBB A,#10</p><p><b>  JC PP3</b></p><p><b>  MOV A,36H</b></p><p><b>  CLR C</b

55、></p><p><b>  SUBB A,#5</b></p><p><b>  JC BB</b></p><p><b>  JZ TTL5</b></p><p><b>  AJMP PP6</b></p><p&g

56、t;  TTL5:MOV A,37H</p><p><b>  CLR C</b></p><p>  SUBB A,#10</p><p><b>  JC BB</b></p><p><b>  AJMP PP6</b></p><p>  BB

57、:    MOV A,R0</p><p>  LCALL XIANSHI</p><p>  MOV   DPTR ,   #0A000h</p><p>  MOVx  @DPTR,A</p><p>  lcall delay</p><

58、p><b>  MOV A,R1</b></p><p>  LCALL XIANSHI</p><p>  MOV   DPTR ,   #0A001h</p><p>  MOVx  @DPTR,A</p><p>  lcall delay</p>

59、<p><b>  MOV A,R2</b></p><p>  LCALL XIANSHI</p><p>  MOV   DPTR ,   #0A002h</p><p>  MOVx  @DPTR,A</p><p>  lcall delay<

60、/p><p><b>  MOV A,R3</b></p><p>  LCALL XIANSHI</p><p>  MOV   DPTR ,   #0A003h</p><p>  MOVx  @DPTR,A</p><p>  lcall del

61、ay</p><p><b>  MOV A,R4</b></p><p>  LCALL XIANSHI</p><p>  MOV   DPTR ,   #0A004h</p><p>  MOVx  @DPTR,A</p><p>  lca

62、ll delay</p><p><b>  ajmp loop</b></p><p><b>  pp3:  </b></p><p><b>  MOV A,#0</b></p><p>  LCALL XIANSHI</p><p> 

63、 MOV   DPTR ,   #0A000h</p><p>  MOVx  @DPTR,A</p><p>  lcall delay</p><p><b>  MOV A,#5</b></p><p>  LCALL XIANSHI</p><

64、p>  MOV   DPTR ,   #0A001h</p><p>  MOVx  @DPTR,A</p><p>  lcall delay</p><p><b>  MOV A,34H</b></p><p><b>  CLR C </b&

65、gt;</p><p><b>  SUBB A,#1</b></p><p><b>  JC PP3</b></p><p>  JZ TTL    </p><p>  TTL:MOV A,35H</p><p><b>  CL

66、R C</b></p><p>  SUBB A,#55</p><p><b>  JC PP3</b></p><p><b>  JMP LOOP</b></p><p>  pp2:  MOV A,#8</p><p>  LCALL XIANS

67、HI</p><p>  MOV   DPTR ,   #0A001h</p><p>  MOVx  @DPTR,A</p><p>  lcall delay</p><p><b>  MOV A,#0</b></p><p>  LCALL

68、 XIANSHI</p><p>  MOV   DPTR ,   #0A000h</p><p>  MOVx  @DPTR,A</p><p>  lcall delay</p><p><b>  MOV A,34H</b></p><p>

69、<b>  CLR C </b></p><p><b>  SUBB A,#2</b></p><p><b>  JC PP2</b></p><p><b>  JZ TTL1</b></p><p>  TTL1:MOV A,35H</p&g

70、t;<p><b>  CLR C</b></p><p>  SUBB A,#55</p><p><b>  JC PP2</b></p><p><b>  JMP LOOP</b></p><p>  PP6:  MOV A,#10</p&

71、gt;<p>  LCALL XIANSHI</p><p>  MOV   DPTR ,   #0A002h</p><p>  MOVx  @DPTR,A</p><p>  lcall delay</p><p><b>  MOV A,#13</b>

72、</p><p>  LCALL XIANSHI</p><p>  MOV   DPTR ,   #0A001h</p><p>  MOVx  @DPTR,A</p><p>  lcall delay</p><p><b>  MOV A,#13<

73、;/b></p><p>  LCALL XIANSHI</p><p>  MOV   DPTR ,   #0A000h</p><p>  MOVx  @DPTR,A</p><p>  lcall delay</p><p><b>  MOV A

74、,34H</b></p><p><b>  CLR C </b></p><p><b>  SUBB A,#4</b></p><p><b>  JC PP6</b></p><p><b>  JZ TTL6</b></p>

75、<p><b>  JMP LOOP</b></p><p>  TTL6:MOV A,35H</p><p><b>  CLR C</b></p><p>  SUBB A,#55</p><p><b>  JC PP6</b></p><

76、;p><b>  JMP LOOP</b></p><p>  pp1:  MOV A,#9</p><p>  LCALL XIANSHI</p><p>  MOV   DPTR ,   #0A000h</p><p>  MOVx  @DPTR,A&

77、lt;/p><p>  lcall delay</p><p><b>  MOV A,#9</b></p><p>  LCALL XIANSHI</p><p>  MOV   DPTR ,   #0A001h</p><p>  MOVx  @D

78、PTR,A</p><p>  lcall delay</p><p><b>  MOV A,34H</b></p><p><b>  CLR C </b></p><p><b>  SUBB A,#4</b></p><p><b> 

79、 JC PP1</b></p><p><b>  JZ TTL2</b></p><p>  TTL2:MOV A,35H</p><p><b>  CLR C</b></p><p>  SUBB A,#55</p><p><b>  JC PP

80、1</b></p><p><b>  JMP LOOP </b></p><p>  TEMPER_L    EQU    36H;DS1820溫度測量子程序TEMPER_H    EQU   

81、 35HDQ        BIT    P3.2; DS18B20初始化程序INIT_1820:    SETB    DQ    NOP  

82、  CLR    DQ    MOV    R0,#06BHTSR1:    DJNZ    R0,TSR1        ;

83、0;延時(shí)    SETB    DQ    MOV    R0,#25HTSR2:    JNB    DQ,TSR3    DJNZ &#

84、160;  R0,TSR2    LJMP    TSR4            ; 延時(shí)TSR3:    SETB    

85、FLAG1            ; 置標(biāo)志位,表示DS1820存在    LJMP    TSR5TSR4:    CLR    FLAG1&

86、#160;           ; 清標(biāo)志位,表示DS1820不存在    LJMP    TSR7TSR5:    MOV    R0,#06BHTS

87、R6:    DJNZ   </p><p>  ;***********************</p><p>  ;定時(shí)器0中斷服務(wù)子程序</p><p>  ;***********************</p><p><b>  LEDINT0:&

88、lt;/b></p><p>  PUSH    PSW     ;壓棧保護(hù)現(xiàn)場</p><p>  PUSH    ACC</p><p>  clr   ET0       ;防

89、止連續(xù)中斷</p><p>  CLR TR0        ;禁止定時(shí)器計(jì)數(shù)     CLR   TR1 </p><p>  MOV TH0,#3CH  ;重新給計(jì)數(shù)器賦初值</p><p>  MOV TL0,#0B0H</p

90、><p>  DJNZ  30H,LEDRET    ;定時(shí)1s到了嗎?</p><p>  djnz 31h,ibtd  ;水溫水位分別顯示20秒</p><p><b>  CLR   ET0</b></p><p>  MOV TMOD,#15H&#

91、160;  ;定時(shí)器1工作于方式定時(shí)器0作為計(jì)數(shù)器</p><p>  MOV TH1,#0ECH   ;給計(jì)數(shù)寄存器的高8位賦初值</p><p>  MOV TL1,#77H    ;給計(jì)數(shù)寄存器的低8位賦初值</p><p>  MOV   32H,#20</p>&

92、lt;p>  mov   33h,#10   </p><p>  mov   th0,#00h</p><p>  mov   tl0,#00h</p><p>  MOV IE,#88H     ;IE是寄存器,88H的輸入設(shè)置了中斷--

93、--</p><p>  setb  tr1                      </p><p>  SETB    TR0 

94、0;           ;開始計(jì)數(shù)</p><p><b>  mov r0,#0</b></p><p><b>  mov r1,#0</b></p><p><b>  mov r2,#0</b>

95、;</p><p><b>  mov r3,#0</b></p><p><b>  mov r4,#0</b></p><p><b>  POP PSW</b></p><p><b>  POP ACC</b></p><p&g

96、t;<b>  RETI</b></p><p>  IBTD:MOV 30H,#20    ;是,則重新賦初值</p><p><b>  MOV A,TH1</b></p><p><b>  MOV 34H,A</b></p><p><

97、;b>  MOV R2,A</b></p><p><b>  MOV A,TL1</b></p><p><b>  MOV 35H,A</b></p><p>  MOV R3,A   </p><p>  MOV TH1,#00H</p>&

98、lt;p>  MOV TL1,#00H            </p><p>  CLR    A              &

99、#160;         </p><p><b>  MOV R4,A</b></p><p><b>  MOV R5,A</b></p><p><b>  MOV R6,A</b></p><

100、p>  MOV R7,#16</p><p>  PP0:    CLR C</p><p><b>  MOV A,R3</b></p><p><b>  RLC A</b></p><p><b>  MOV R3,A</b></

101、p><p><b>  MOV A,R2</b></p><p>  RLC A      ;把十六進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)</p><p><b>  MOV R2,A</b></p><p><b>  MOV A,R6</b>&l

102、t;/p><p><b>  ADDC A,R6</b></p><p>  DA A                </p><p><b>  MOV R6,A</b><

103、;/p><p><b>  MOV A,R5</b></p><p><b>  ADDC A,R5</b></p><p><b>  DA A</b></p><p><b>  MOV R5,A</b></p><p><b

104、>  MOV A,R4</b></p><p><b>  ADDC A,R4</b></p><p><b>  DA A</b></p><p><b>  MOV R4,A</b></p><p>  DJNZ R7,PP0  

105、60;  ;轉(zhuǎn)換完畢</p><p>  MOV A,R4        ;把R4,R5,R6中的十進(jìn)制數(shù)一位一位的存放于R4,R3,R2,R1,R0中</p><p><b>  MOV R4,A</b></p><p><b>  MOV A,R5&l

106、t;/b></p><p><b>  SWAP A</b></p><p>  ANL A,#0FH</p><p><b>  MOV R3,A</b></p><p><b>  MOV A,R5</b></p><p>  ANL A,#0

107、FH</p><p><b>  MOV R2,A</b></p><p><b>  MOV A,R6</b></p><p><b>  SWAP A</b></p><p>  ANL A,#0FH</p><p><b>  MOV R

108、1,A</b></p><p><b>  MOV A,R6</b></p><p>  ANL A,#0FH</p><p><b>  MOV R0,A</b></p><p>  LEDRET:SETB TR0</p><p>  SETB TR1 

109、;        ;啟動定時(shí)器</p><p><b>  ;啟動計(jì)數(shù)器</b></p><p>  MOV IE,#82H</p><p>  POP ACC         ;出棧</p

110、><p><b>  POP PSW</b></p><p>  RETI                ;中斷返回</p><p><b>  ledint1:</b><

111、/p><p>  PUSH    PSW         ;壓棧保護(hù)現(xiàn)場</p><p>  PUSH    ACC</p><p>  clr   ET1    

112、0;       ;防止連續(xù)中斷</p><p>  CLR TR0          ;禁止定時(shí)器計(jì)數(shù)</p><p>  CLR   TR1 </p><p>  MOV TH1,#3CH &#

113、160;  ;重新給計(jì)數(shù)器賦初值</p><p>  MOV TL1,#0B0H</p><p>  DJNZ  32H,LEDRET1   ;定時(shí)1s到了嗎?</p><p>  djnz 33h,IBTD1       ;顯示水位時(shí)間到了沒有???</p>

114、;<p><b>  ;到就去顯示水溫</b></p><p>  MOV    TMOD,#51H       ;定時(shí)器0工作于方式定時(shí)器1作為計(jì)數(shù)器</p><p>  MOV TH0,#0ECH     

115、60; ;給計(jì)數(shù)寄存器的高8位賦初值</p><p>  MOV TL0,#77H        ;給計(jì)數(shù)寄存器的低8位賦初值</p><p>  MOV   30H,#20</p><p>  mov   31h,#10   </

116、p><p>  mov   th1,#00h</p><p>  mov   tl1,#00h</p><p>  MOV IE,#82H</p><p>  SETB    TR0        

117、 ;計(jì)時(shí)開始</p><p>  setb  tr1               ;開始計(jì)數(shù)</p><p><b>  mov r0,#0</b></p><p><b>  mov

118、r1,#0</b></p><p><b>  mov r2,#0</b></p><p><b>  mov r3,#0</b></p><p><b>  mov r4,#0</b></p><p><b>  POP PSW</b><

119、;/p><p><b>  POP ACC</b></p><p>  RETI        </p><p>  IBTD1:MOV 32H,#20   ;是,則重新賦初值</p><p>  ;******************

120、********</p><p>  ;將十六進(jìn)制轉(zhuǎn)換為BCD碼    **</p><p>  ; **************************</p><p><b>  MOV A,TH0</b></p><p><b>  MOV 36H,A</b>&l

121、t;/p><p><b>  MOV R2,A</b></p><p><b>  MOV A,TL0</b></p><p><b>  MOV 37H,A</b></p><p>  MOV R3,A   </p><p>  MOV

122、 TH0,#00H</p><p>  MOV TL0,#00H            </p><p>  CLR    A          

123、60;             </p><p><b>  MOV R4,A</b></p><p><b>  MOV R5,A</b></p><p><b>  MOV R6,A<

124、/b></p><p>  MOV R7,#16</p><p>  PP4:    CLR C</p><p><b>  MOV A,R3</b></p><p><b>  RLC A</b></p><p><b>  M

125、OV R3,A</b></p><p><b>  MOV A,R2</b></p><p><b>  RLC A</b></p><p><b>  MOV R2,A</b></p><p><b>  MOV A,R6</b></p

126、><p><b>  ADDC A,R6</b></p><p><b>  DA A</b></p><p><b>  MOV R6,A</b></p><p><b>  MOV A,R5</b></p><p><b>

127、;  ADDC A,R5</b></p><p><b>  DA A</b></p><p><b>  MOV R5,A</b></p><p><b>  MOV A,R4</b></p><p><b>  ADDC A,R4</b>&

128、lt;/p><p><b>  DA A</b></p><p><b>  MOV R4,A</b></p><p>  DJNZ R7,PP4</p><p><b>  ;轉(zhuǎn)換完畢</b></p><p><b>  MOV A,R4<

129、/b></p><p><b>  MOV R4,A</b></p><p><b>  MOV A,R5</b></p><p><b>  SWAP A</b></p><p>  ANL A,#0FH</p><p><b>  M

130、OV R3,A</b></p><p><b>  MOV A,R5</b></p><p>  ANL A,#0FH</p><p><b>  MOV R2,A</b></p><p><b>  MOV A,R6</b></p><p>

131、;<b>  SWAP A</b></p><p>  ANL A,#0FH</p><p><b>  MOV R1,A</b></p><p><b>  MOV A,R6</b></p><p>  ANL A,#0FH</p><p><b

132、>  MOV R0,A</b></p><p>  LEDRET1:SETB TR0   ;啟動定時(shí)器</p><p>  SETB TR1        ;啟動計(jì)數(shù)器</p><p><b>  setb et1</b></p>&

133、lt;p><b>  setb ea</b></p><p>  POP ACC     ;出棧</p><p><b>  POP PSW</b></p><p>  RETI        ;中斷返回&l

134、t;/p><p>  delay:  mov r7,#15</p><p>  TM:    mov r6,#10</p><p>  AA:     djnz r6,AA</p><p>  djnz r7,TM </p><p>  RET

135、         </p><p>  XIANSHI:  </p><p><b>  inc a</b></p><p>  movc a,@a+pc</p><p>  RET    &

136、#160;                              &

137、#160;                                    

138、;                                     &#

139、160;                               db 0c0h,0f9h,0a4h,0b0h,99h,92h

140、,82h, 0f8h,80h,90h ;數(shù)據(jù)顯示分別  為:0,1,2,3,4,5,6,7,8,9</p><p>  db 88h,83h,0c6h,0a1h,86h,8eh,0ffh, 0f7h   ;為顯示ADD而用的數(shù)據(jù)</p><p><b>  END</b></p><p><b>  附錄

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論