版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
重慶三峽學(xué)院單片機課程設(shè)計報告書(基于單片機的溫度控制系統(tǒng))學(xué)院(系年級專業(yè):學(xué) 號:學(xué)生姓名:指導(dǎo)教師:教師職稱:成 績:制作日期2012年11月2日目 錄摘要 3第一章 4引言 錯誤!未定義書簽。項目概述 錯誤!未定義書簽。設(shè)計任務(wù)和要求 4第二章硬件系統(tǒng)的設(shè)計 5硬件設(shè)計概要 5各部分及其實現(xiàn)的功能 5中央控制芯片 5溫度傳感器 5液晶顯示器 8主要電路及功能 11單片機電路 112.32顯示電路 12溫度傳感器電路 12升溫和降溫調(diào)節(jié)電路 13溫度上下限調(diào)節(jié)電路 13報警電路 14第三章軟件系統(tǒng)的設(shè)計 15主程序流程圖 15液晶顯示流程圖 16溫度傳感器流程圖 17第四章仿真與調(diào)試 17硬件調(diào)試 17軟件電路故障與解決辦法 17軟件調(diào)試方法 17仿真顯示成果 18第五章實訓(xùn)總結(jié) 20附錄 21基于單片機STC89C51的溫度顯示系統(tǒng)的設(shè)計摘要:本設(shè)計是基于單片機的溫度控制系統(tǒng),采用DS18B20溫度傳感器采集所要測量的當(dāng)前環(huán)境溫度,通過單片機進行處理并加以顯示。冷裝置,從而實現(xiàn)環(huán)境溫度處于設(shè)定溫度上下線范圍內(nèi)。當(dāng)DS18B20所測量的環(huán)境溫度低于設(shè)定溫度下限時,蜂鳴器和指示燈發(fā)出報警,控制外部加熱裝置的繼電器動作,使外部加熱器工作,直到溫度高于溫度設(shè)定下限時,警報解除。加熱裝置停止加熱。當(dāng)環(huán)境溫度高于溫度上限時,蜂鳴器發(fā)出報警,控制外部降溫裝置的電機動作,使外部降溫裝置工作,直到環(huán)境溫度低于溫度上限,警報解除,降溫裝置停止工作(實現(xiàn)對溫度在0℃-99℃控制的自動化)。換液晶顯示,調(diào)節(jié)溫度上下限的功能。關(guān)鍵字:單片機;傳感器;溫控;DS18b20第一章引言開發(fā)較為容易,在工業(yè)控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、智能化儀器儀表、辦公自動化等諸多領(lǐng)域得到極為廣泛的應(yīng)用,并已走人家庭,從洗衣機、微波爐到音響、汽車,到處都可見到單片機的蹤影。因此,單片機技術(shù)開發(fā)和應(yīng)用水平已逐步成為一個國家工業(yè)發(fā)展水平的標(biāo)志之一。本課題研究的內(nèi)容就是以單片機AT89c51為主要控制元件,通過溫度傳感器DS18B20實現(xiàn)對溫度的測量,并通過LCD1602項目概可能造成嚴(yán)重的經(jīng)濟財產(chǎn)損失,給生活生產(chǎn)帶來許多利的因素,基于AT89C51市場前景好。設(shè)計任務(wù)和要求:本溫度控制器系統(tǒng)可以實現(xiàn)以下功能:采集溫度,并通過液晶顯示當(dāng)前溫度。通過按鍵調(diào)節(jié)溫度上下限,并通過液晶顯示設(shè)定的溫度上下限值。度范圍內(nèi)。就可以分辨出是溫度過高還是過低。第二章硬件系統(tǒng)的設(shè)計硬件設(shè)計概要根據(jù)需求,我們將系統(tǒng)分為五個模塊,信息處理模塊,溫度采集模塊、控制調(diào)節(jié)模塊、報警電路模塊,顯示模塊。圖1結(jié)構(gòu)圖各部分及其實現(xiàn)的功能STC89C51STC89C51是一種低功耗、高性能的片內(nèi)含有4KB快閃可編程/擦除只讀存儲器FPEROM-FlashProgrammableandEraseableReadOnlyMemor)的8位CMOS用高密度、非易失存儲技術(shù)制造,并且與80C51MCS-51微控制器產(chǎn)品系列兼容。片內(nèi)有4KB102.7V6V0Hz3;128*8RAM;32I/O1652狀態(tài)維持低功耗和掉電狀態(tài)保存存儲內(nèi)容。DS18B20:1.DS18B20的性能特點:采用單總線專用技術(shù),既可通過串行口線,也可通過其它I/O口線與微機接口,無須經(jīng)過其它變換,直接輸出被測溫度值。②測溫范圍為-55℃-+125℃,測量分辨率為0.0625℃③內(nèi)含64位經(jīng)過激光修正的只讀存儲器ROM④適配各種單片機或系統(tǒng)機⑤用戶可分別設(shè)定各路溫度的上、下限⑥內(nèi)含寄生電源??谳^少,可節(jié)省大量的引線和邏輯電路。2.DS18B20的內(nèi)部結(jié)構(gòu)DS18B2014ROMTHTLDS18B202(在寄生電源接線方式時接地,見圖4)。ROM中的64位序列號是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼,每個DS18B206464ROMROM用是使每一個DS18B20DS18B20圖2DS118B20的內(nèi)部結(jié)構(gòu)圖3DS18B20的管腳排列DS18B20DS18B20的一線工作協(xié)議流程是:初始化→ROM操作指令→存儲器操作指令→數(shù)據(jù)傳輸。其工作時序包括初始化時序、寫時序和讀時序,如圖3(a)(b)(c)所示。(a)初始化時序(b)寫時序(c)讀時序圖4DS18B20的工作時序圖序號寄存器名稱作用序號寄存器名稱序號寄存器名稱作用序號寄存器名稱0溫度低字節(jié)以16位補碼形式4配置寄存器1溫度高字節(jié)存放5、6、7保留2TH/用戶字節(jié)1存放溫度上限8CRC3HL/用戶字節(jié)2存放溫度下限121218B208RAM50,500.06250,5110.0625高8位SSSSS262524低8位232221202-12-22-32-4DS18B20指令約定代碼操作說明溫度轉(zhuǎn)換44H啟動DS18B20進行溫度轉(zhuǎn)換讀暫存器BEH讀暫存器9個字節(jié)內(nèi)容寫暫存器4EH將數(shù)據(jù)寫入暫存器的TH、TL字節(jié)復(fù)制暫存器48H把暫存器的TH、TL字節(jié)寫到E2RAM中重新調(diào)E2RAMB8H把E2RAM中的TH、TL字節(jié)寫到暫存器TH、TL字節(jié)讀電源供電方式B4H啟動DS18B20發(fā)送電源供電方式的信號給主CPU液晶顯示模塊(LCD1602)從液晶顯示器的顯示內(nèi)容來分,可分為段式、字符式、點陣式。字符型LCD1602專門用于顯示數(shù)字、字母、符號及幾個自定義符號。它可以顯示2行x16個字符。(1).接口定義注:V0為LCD1602的對比度調(diào)整端,接正電源時對比度最弱,接地時對比度最強,一般接10K可調(diào)電阻的中端,該可調(diào)電阻一端接正電源另一端接地。在讀狀態(tài)下,E為高電平時,LCD1602將所需數(shù)據(jù)送到數(shù)據(jù)線上;在寫狀態(tài)下,E為下降沿時LCD1602從數(shù)據(jù)線上讀取管腳號管腳號名稱LEVEL功能1VSS0V電源地2VDD+5V電源正(3.0V-5.5V)3VEE對比調(diào)整電壓4RS0/10:輸入指令1:輸入數(shù)據(jù)5R/W0/10:向LED寫入指令或數(shù)據(jù)1:從LED讀取數(shù)據(jù)6E1,1→0使能信號,1時讀取數(shù)據(jù),1→0執(zhí)行指令7D00/1數(shù)據(jù)總線line0(最低位)8D10/1數(shù)據(jù)總線line19D20/1數(shù)據(jù)總線line210D30/1數(shù)據(jù)總線line311D40/1數(shù)據(jù)總線line412D50/1數(shù)據(jù)總線line513D60/1數(shù)據(jù)總線line614D70/1數(shù)據(jù)總線line7(最高位)(2).控制指令1.清屏RSR/WDB7DB6DB5DB4DB3DB2DB1DB0000000000101H,向顯示DDRAM中寫入ASCII20H左上角。光標(biāo)歸位RSR/WDB7DB6DB5DB4DB3DB2DB1DB0000000001XACX01。輸入方式設(shè)置RSR/WDB7DB6DB5DB4DB3DB2DB1DB000000001I/DS狀態(tài)位指令代碼狀態(tài)位指令代碼功能I/DS0004H光標(biāo)左移1格,AC值減1,字符不動0105H光標(biāo)不動,AC值減1,字符全部右移1格1006H光標(biāo)右移1格,AC值加1,字符不動1107H光標(biāo)不動,AC值加1,字符全部左移1格4.顯示開關(guān)控制RSR/WDB7DB6DB5DB4DB3DB2DB1DB00000001DCB指令代碼為08H~0FH,該指令控制字符、光標(biāo)及閃爍的開與關(guān):D是字符顯示狀態(tài)位,D=1時開顯示;D=0時關(guān)顯示,但顯示內(nèi)容保持不變。C是光標(biāo)顯示狀態(tài)位,C=1時光標(biāo)顯示;C=0時光標(biāo)消失,光標(biāo)的位置由地址計數(shù)器AC確定,并隨其變動而移動,當(dāng)AC值超出了字符的顯示范圍,光標(biāo)將隨之消失。B是光標(biāo)閃爍顯示狀態(tài)位,B=1時光標(biāo)閃爍;B=0時光標(biāo)不閃爍。5.光標(biāo)、字符移位RSR/WDB7DB6DB5DB4DB3DB2DB1DB0000001S/CR/LXX執(zhí)行該指令將產(chǎn)生字符或光標(biāo)向左或右滾動一個字符位,如果定時間隔地執(zhí)行該指令,將產(chǎn)生字符或光標(biāo)的平滑滾動。具體設(shè)置如下:狀態(tài)位指令代碼功能S/CR/L0010H光標(biāo)左滾動0114H光標(biāo)右滾動1018H字符左滾動111CH字符右滾動RS6.功能設(shè)置R/WDB7DB6DB5DB4DB3DB2DB1DB000001DLNF00該指令用于設(shè)置LCD1602的控制方式。DL844844位的順序分兩次傳送。N用于設(shè)置顯示的字符行數(shù),N=1為兩行,N=0為一行。F用于設(shè)置顯示字符的字體,F(xiàn)=1為5x10點陣字體,F(xiàn)=0為5x7點陣字體。RSR/WDB7DB6RSR/WDB7DB6DB5DB4DB3DB2DB1DB000001A5A4A3A2A1A06CGRAM地址寫入地址指針計數(shù)器ACCGRAM/寫操作。DDRAM地址設(shè)置RSR/WDB7DB6DB5DB4DB3DB2DB1DB0001A6A5A4A3A2A1A07位DDRAM地址寫入地址指針計數(shù)器AC是對DDRAM的讀寫操作。讀BFAC值RSR/WDB7DB6DB5DB4DB3DB2DB1DB001BFAC6AC5AC4AC3AC2AC1AC0BFLCD的忙閑標(biāo)志位,BF=1行操作。而另外的D6~D0的值表示CGRAM或DDRAM中的地址。寫數(shù)據(jù)到CGRAM或DDRAMRSR/WDB7DB6DB5DB4DB3DB2DB1DB010先設(shè)定CGRAM或DDRAM地址,再將數(shù)據(jù)寫入D7~D0中,以使LCD將自創(chuàng)的字符寫入CGRAM。RSR/WDB7DB6DB5DB4DB3DB2RSR/WDB7DB6DB5DB4DB3DB2DB1DB011先設(shè)定CGRAM或DDRAM地址,再讀取其中的數(shù)據(jù)。主要電路及功能單片機的復(fù)位電路及時鐘電路12M的晶振和兩個20PF1微秒。AT89C5151系列增強型832個I/O4KFLASH工藝12MHz,一個指令周期為1μS。使用該單片機完全可以完成設(shè)計任務(wù),其最小系統(tǒng)主要包括:復(fù)位電路、震蕩電路。圖4單片機模塊顯示電路字符型LCD通常有14條引腳線或16條引腳線的LCD,多出來的2條線是背光電源線VCC(15腳)和地線GND(16腳),其控制原理與14腳的LCD完全一樣。圖5顯示電路溫度傳感器電路溫度檢測控制模擬電路圖DS18B20原件及其連線如圖溫度此傳感器上顯示的溫度同步顯示到液晶顯示器上,并有加溫,減溫按鈕。圖6溫度檢測控制模擬電路升溫和降溫調(diào)節(jié)電路圖7加溫和降溫控制電路溫度上下限調(diào)節(jié)電路通過按鍵控制鍵選著調(diào)節(jié)對象,通過上升下降調(diào)節(jié)值大小,控制開關(guān),升溫開關(guān),降溫開關(guān),為加減1開關(guān),按一下,減1,K4開關(guān)用來復(fù)位返回到當(dāng)前溫度。圖8上下限調(diào)節(jié)電路報警電路電路通過LED鳴器鳴叫,低于下限低溫指示燈亮,蜂鳴器鳴叫。圖9 報警指示燈 圖10報警揚聲器第三章軟件系統(tǒng)的設(shè)計程序流程圖開始總線置1開始總線置1并延時總線置0并延時480μs總線置1返回開始S51寄存器初始化18b20存在?Y溫度轉(zhuǎn)換命令讀取溫度溫度數(shù)據(jù)處理溫度顯示在設(shè)定區(qū)間內(nèi)報警在設(shè)定初圖 區(qū)間內(nèi)溫度低于低溫下限,低溫報警液晶顯示流程圖上電初始化設(shè)定進入點上電初始化設(shè)定進入點顯示數(shù)據(jù)功能設(shè)定控制字顯示開關(guān)控制字清屏控制字進入設(shè)定點控制字溫度傳感器流程圖上電初始化忽略上電初始化忽略ROM指令讀暫存器指令數(shù)據(jù)處理送LCD顯示數(shù)據(jù)口復(fù)位延時單片機拉低總線延時釋放總線延時,傳感器發(fā)生存在脈沖第四章仿真與調(diào)試硬件調(diào)試的P2RS1和RE借口R/WENhex到單片機,看看是否在液晶第一排是否顯示“溫度”,在第三排是否顯示“液晶溫度顯示”然后根據(jù)DS18B20的手冊書寫程序,將液晶程序設(shè)為頭文件,若DS18B20程序無誤,則在XX不顯示,第四排首位開始顯示“液晶溫度顯示”。如果程序有誤,則再看看芯片資料和程序的書寫是否有出入,如有錯誤則再更正,直至顯示正確為止。軟件電路故障與解決辦法么結(jié)果也沒有,可能是由于程序轉(zhuǎn)移到意外之處或在某處死循環(huán)所造成的。不響應(yīng)中斷Cpu行中斷程序的操作。當(dāng)斷點在中斷入口或者中斷服務(wù)程序中時碰不到斷點。錯誤可能由中斷寄存器IP)的初值設(shè)置不當(dāng),使CPU沒有開放中斷或者不許某個中斷源請求,或者對片內(nèi)的定時器、串行口等特殊功能的寄存器和I/O接口程序有錯誤,造成中斷沒有被激活。又或者某一中斷程序不是RETCPU雖然已經(jīng)返回到主程序但內(nèi)部中斷狀態(tài)寄存器沒有被消除,從而不影響中斷,或者外部中斷源的硬件故障使得外部中斷請求無效。軟件調(diào)試方法軟件調(diào)試所使用的方法有:計算程序的調(diào)試方法、I/O處理程序的調(diào)試法、綜合調(diào)試法等。1、計算程序的調(diào)試方法:2、I/O對于A/D轉(zhuǎn)換器一類的I/O接口處理程序是實時處理程序,因此一般用全速斷點運行方式或連續(xù)運行方法進行調(diào)試。3.綜合調(diào)試:在完成了各個程序模塊的調(diào)試工作之后,就可以進行系統(tǒng)的綜合調(diào)試。綜合調(diào)試采用全速運行或斷點運行方式,這個階段的主要工作是檢測系統(tǒng)里面遺留的錯誤以及提高系統(tǒng)的動態(tài)性能和精度。在綜合調(diào)試階段,應(yīng)該注意系統(tǒng)的晶振頻率工作,使系統(tǒng)全速運行目標(biāo)程序,實現(xiàn)預(yù)定功能技術(shù)指標(biāo)之后,就可以將軟件固化,然后在運行固化的目標(biāo)程序,成功后目標(biāo)系統(tǒng)就可以脫機運行。仿真后,顯示成果:圖11調(diào)節(jié)溫度上下限圖12顯示當(dāng)前溫度圖13溫度高于溫度上限,高溫報警燈亮,蜂鳴器鳴叫圖14 溫度低于低溫下限,低溫報警燈亮,蜂鳴器鳴叫第五章總結(jié)基于AT89C51proteuskeilproteus51單片機的知識了解,介紹51DS18B20,設(shè)計軟件仿真,更直觀的反應(yīng)設(shè)計的正確性。溫度控制利用在很多領(lǐng)域,在一些人不能直接進入的場所,利用單片機控制的溫度控制,可以設(shè)置并控制其中的溫度,溫度控制還可以利用在溫室中,這樣就可以控制溫室中的溫度,當(dāng)溫度超過所要求的溫度時,可發(fā)生報警。單片機的功能都為我們實現(xiàn)電路提供了非常有利的條件,同時也為開發(fā)環(huán)境帶去了簡單,易用,方便,大大加快本系統(tǒng)設(shè)計開發(fā)。總之溫度控制器用在很多領(lǐng)域。從本次實習(xí)中,發(fā)現(xiàn)自己還存在許多的不足,對匯編程序不是很熟悉,不會靈活運用,導(dǎo)致代碼讀起來有點困難。還有對數(shù)據(jù)手冊中的時序圖理解不是很透徹,以后我會通過實踐和理論結(jié)合來彌補自己的不足之處。參考文獻(xiàn):[1.20108(第二版[3[6劉伯春.智能PID199(:20~25周景潤,張麗娜.基于proteus[M]版社,2006.MCS—51單片機原理及嵌入式系統(tǒng)應(yīng)用[M]200751[J].微計算機信息,2007,1—2附錄:附錄一系統(tǒng)整體電路圖:附錄二程序代碼:;-------------------------------------------------;簡單功能說明:一個顯示實時溫度的小系統(tǒng),可以自行設(shè);定高溫報警和低溫報警值,實現(xiàn)溫度控制電機帶動外圍器;件功能。;;-------------------------------------------------DQEQUP1.7 ;DS18B20RS EQU P2.4RW EQU P2.5E EQU P2.6LCD EQU FLAG EQU30HGEWEI EQUSHIEQU28HXIAOSHUEQU27HTEMP_TLEQU20H低溫限值TEMP_THEQU21H高溫限值TEMPH EQU22H溫度高字TEMPL EQU23H溫度低字TEMP EQU24HK1EQUP3.0K2EQUP3.1K3EQUP3.2K4EQUP3.3;===============================================MAIN: MOVTEMP_TH,#25MOVTEMP_TL,#01ACALL INIT_LCD ;初始化液晶ACALL WR_THL ;寫入高溫限值和低溫限值寄存ACALL WR_PROMACALL RE_PROM ;從EEPROM中返回高溫限值和低溫限ACALL RESET ;初始化1820JBFLAG,LOOPACALL ERROR ;報錯LOOP: ACALL READ_T ;1820ACALL DISP_TEMP ;液晶顯示實時溫度ACALL KEYSCAN ;鍵盤設(shè)定高溫限值和低溫限ACALL TEMP_COMPJMPLOOP;=============啟動18b20讀取溫====================READ_T:SETB DQACALL RESETJBFLAG,READ_T1RETREAD_T1:MOVA,#0CCHACALL MOVA,#44HACALL ACALL RESETMOVA,#0CCHACALL MOVA,#0BEHACALL ACALL RET;=========把高溫和低溫限值寫入寄存器=================WR_THL:JBFLAG,WR_HLRETWR_HL:ACALL MOVA,#0CCHACALL WR_1820MOVA,#4EHACALL MOVA,TEMP_THACALL MOVA,TEMP_TLACALL RET;==========把高溫和低溫限值寫入EEPROM=================WR_PROM:ACALL RESETMOVA,#0CCHACALL MOVA,#48HACALL RET;========把EEPROM的值返回到高溫和低溫限值寄存器========RE_PROM:ACALL RESETMOVA,#0CCHACALL MOVA,#0B8HACALL RET;===========初始化1820==================================RESET:SETB DQNOPCLRMOVR5,#250DJNZ SETB NOPMOVR5,#25HRESET1:JNBDJNZ JMPNDQFLAG1:SETB MOVR5,#100DJNZ R5,$SETB DQMOVR5,#100DJNZ JMPRETUNDQ: CLRFLAGACALL RETU: SETB RET;=============18b20寫字節(jié)========================WR_1820:MOVR6,#8CLRCWR1: CLRDQMOVR5,#7DJNZ RRCAMOVDQ,CMOVR5,#25DJNZ SETB NOPNOPDJNZ R6,WR1SETB RET;==============讀取18b20數(shù)據(jù)======================READ_1820:MOVR2,#4MOVR1,#TEMPLRE1: MOVR6,#8RE2: SETB NOPCLRCLRCNOPNOPSETB DQMOVR5,#9DJNZ MOVC,DQMOVR5,#24DJNZ RRCADJNZ MOV@R1,ADECR1DJNZ RET;===========轉(zhuǎn)換數(shù)據(jù)=============================TURN: MOVXIAOSHU,TEMPL ;保存TEMPL4MOVA,TEMPLMOVC,16 ;22HRRCAMOVRRCAMOVRRCAMOVRRCAMOVTEMP,AMOVA,XIAOSHUANLMOVXIAOSHU,ARET;========鍵盤掃描=============================KEYSCAN:JBK1,RETUN ;按下K1,進入鍵盤掃ACALL DELAY20JNBK1,$ACALL CLR_LCD ;清屏ACALL DISP_THL ;顯示高溫限值和低溫限ACALL SET_HL ;設(shè)定限值A(chǔ)CALL WR_THL ;把高溫限值和低溫限值寫入ACALLWR_PROM ;限值復(fù)制到EEPROM中RETUN:RET;------------設(shè)定高低限值----------------------SET_HL:JBK1,KEY4ACALL JNBK1,$CPL20H.1 JB20H.1,SET_HJMPSET_L; 調(diào)高溫限SET_H:ACALL TH_SHAN ;光標(biāo)閃,進入設(shè)定KEY2H:JNBK1,SET_L JNBK4,EXITJBK2,KEY3H ;按下K2,值加ACALL DELAY20JNBK2,$INCTEMP_THMOVA,TEMP_THCJNE MOVTEMP_TH,#00A0:ACALL DISP_THLKEY3H:JBK3,KEY2H ;按下K3,值減ACALL DELAY20JNBK3,$DEC TEMP_THMOV A,TEMP_THCJNE A,#0,A1MOVTEMP_TH,#99A1:ACALL JMPSET_H; 調(diào)低溫限SET_L:ACALL TL_SHANKEY2L:JNBK1,SET_H JNBK4,EXITJBK2,KEY3L ;按下K2,1ACALL JNBK2,$INCTEMP_TLMOVA,TEMP_TLCJNE MOVTEMP_TL,#00A2:ACALL DISP_THLKEY3L:JBK3,KEY2L ;按下K3,值減ACALL DELAY20JNBK3,$DECMOVA,TEMP_TLCJNE A,#0,A3MOVTEMP_TL,#99A3:ACALL JMPSET_L;----------------------KEY4: JNBK4,EXIT ;K4JMPSET_HLEXIT: ACALL JNBK4,$MOV LCD,#00001100B 設(shè)置液晶光標(biāo)不顯示、不閃ACALL WR_COMMACALL CLR_LCDACALL RET;==============溫度比較======================================TEMP_COMP:CLRP1.0;對所用端口清零CLRP1.1CLRCLRCLRCLRMOVA,TEMP_THSUBBA,TEMP ACALLDIANJIMOVA,TEMPSUBB A,TEMP_TL ;與低溫比ACALL DIANJI2RET;=============啟動電機========================;電機接口是P14P1.7;避免沖突,電機接口按位控制DIANJI:JCDIAN0RETDIAN0:MOVDIAN1:SETB P1.4SETB P1.0CLRP1.1ACALL CLRP1.0SETB P1.1ACALL DELAYDJNZ CLRP1.0CLRP1.1CLRP1.4RETDELAY:MOVR5,#5DLY1: MOVDLY2: MOVDJNZ R7,$DJNZ R6,DLY2DJNZ RET;=============================================DIANJI2:JCDIAN2RETDIAN2:MOVR0,#4DIAN3:SETB P1.5SETB CLRP1.3ACALL CLRP1.0SETB P1.3ACALL DELAY1DJNZ CLRP1.0CLRP1.3CLRP1.5RETDELAY1:MOVR5,#5DLY3: MOVDLY4: MOVDJNZ R7,$DJNZ R6,DLY4DJNZ RET;============清屏=============================CLR_LCD:MOVLCD,#80HACALL MOVR0,#16CLR1: MOVLCD,#'ACALL WR_DATADJNZ R0,CLR1MOVLCD,#0C0HACALL MOVR0,#16CLR2: MOVLCD,#'ACALL WR_DATADJNZ R0,CLR2RET;===============報錯============================ERROR:MOVLCD,#80HACALL WR_COMMMOVACALL DISP0RETERORTAB:DB'INITERROR!',0H;================溫度標(biāo)志===================DISP_C:MOVLCD,AACALLWR_COMMMOVLCD,#0DFHACALL MOVLCD,#'C'ACALL RET;=================數(shù)碼顯示======================SHUMA:MOVMOVC A,@A+DPTRMOVLCD,AACALL RETSHUTAB:DB30H,31H,32H,33H,34HDB35H,36H,37H,38H,39H;===============顯示實時溫度======================DISP_TEMP:ACALL TURNMOV ACALLWR_COMMMOV ACALLDISP0MOVLCD,#0CAHACALLMOVLCD,#2EH ;小數(shù)ACALL WR_DATAMOVA,#0CCHACALL DISP_C ;溫度標(biāo)志;------------------------------MOVA,XIAOSHUMOVDPTR,#XIAOMOVC MOVXIAOSHU,AMOVA,TEMPMOVDIVABMOVMOVGEWEI,BMOVA,XIAOSHUMOVLCD,#0CBHACALL ACALL SHUMAMOVA,SHIMOVLCD,#0C8HACALL ACALL SHUMAMOVA,GEWEIACALL RETCURRENT:DB'TempretureNow:',0HXIAO: DB00H,00H,01H,01H,02H,03H,03H,04HDB05H,05H,06H,06H,07H,08H,08H,09H;================字符顯示=============================DISP0:MOV R1,#0NEXT: MOV A,R1MOVC JZRETTMOV LCD,AINC R1ACALL JMPNEXTRETT: RET;==========顯示高溫限值和低溫限值======================DISP_THL:MOVMOVLCD,#80HACALL WR_COMMACALL DISP0MOVDPTR,#THLMOVLCD,#0C1HACALL ACALL DISP0;---------------------------F5
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版跨境電商平臺傭金比例調(diào)整合同3篇
- 二零二五版?zhèn)€人教育貸款擔(dān)保合同模板3篇
- 二零二五年建筑裝修幫工雇傭合同2篇
- 二零二五版寄賣合同范本:藝術(shù)品寄售代理中介服務(wù)協(xié)議2篇
- 二零二五版辦公設(shè)備智能化升級改造合同5篇
- 二零二五版橋梁工程勞務(wù)分包合同模板6篇
- 二零二五版職工住房借款與社區(qū)文化活動支持合同3篇
- 二零二五年度黃牛養(yǎng)殖與屠宰行業(yè)購銷法律法規(guī)遵守合同3篇
- 二零二五年鋁藝門安裝與外觀設(shè)計承包合同3篇
- 二零二五年度電商代發(fā)貨及品牌授權(quán)合同2篇
- 大型活動LED屏幕安全應(yīng)急預(yù)案
- 舞蹈課家長會
- 2024年內(nèi)蒙古包頭市中考道德與法治試卷
- 湖南省長沙市2024-2025學(xué)年高二上學(xué)期期中考試地理試卷(含答案)
- 自來水質(zhì)量提升技術(shù)方案
- 金色簡約蛇年年終總結(jié)匯報模板
- 農(nóng)用地土壤環(huán)境質(zhì)量類別劃分技術(shù)指南(試行)(環(huán)辦土壤2017第97號)
- 反向開票政策解讀課件
- 工程周工作計劃
- 房地產(chǎn)銷售任務(wù)及激勵制度
- 六年級語文下冊14文言文二則《學(xué)弈》課件
評論
0/150
提交評論