




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、 單片機系統(tǒng)課程設(shè)計單片機系統(tǒng)課 程 設(shè) 計成績評定表設(shè)計課題 : 基于89C51的數(shù)字溫度控制器設(shè)計 學(xué)院名稱 : 電氣工程學(xué)院 專業(yè)班級 : 學(xué)生姓名 : 學(xué) 號 : 指導(dǎo)教師 : 設(shè)計地點 : 設(shè)計時間 : 指導(dǎo)教師意見:成績: 簽名: 年 月 日 單片機系統(tǒng)課 程 設(shè) 計課程設(shè)計名稱: 基于89C51的數(shù)字溫度控制器設(shè)計 專 業(yè) 班 級 : 學(xué) 生 姓 名 : 學(xué) 號 : 指 導(dǎo) 教 師 : 課程設(shè)計地點: 課程設(shè)計時間: 單片機系統(tǒng) 課程設(shè)計任務(wù)書學(xué)生姓名專業(yè)班級學(xué)號題 目課題性質(zhì)工程設(shè)計課題來源選題指導(dǎo)教師主要內(nèi)容(參數(shù))1、利用單片機AT89S51實現(xiàn)對溫度物理量的控制,以實現(xiàn)對
2、溫度控制的目的;2、為達(dá)到電源輸出5V電壓目標(biāo),完成電源電路的設(shè)計;3、為達(dá)到數(shù)碼管顯示目標(biāo),完成顯示電路的設(shè)計;4、為達(dá)到鍵盤控制的目標(biāo),完成鍵電路的設(shè)計;5為達(dá)到檢測溫度的目標(biāo),完成檢測電路的設(shè)計;6、完成報警設(shè)計;7、進行軟件設(shè)計編寫系統(tǒng)初始化和主程序模塊;編寫數(shù)字調(diào)節(jié)器軟件模塊;編寫A/D轉(zhuǎn)換器處理程序模塊;編寫輸出控制程序模塊等等。任務(wù)要求(進度)第1-2天:熟悉課程設(shè)計任務(wù)及要求,查閱技術(shù)資料,確定設(shè)計方案。第3-4天:按照確定的方案設(shè)計單元電路。要求畫出單元電路圖,元件及元件參數(shù)選擇要有依據(jù),各單元電路的設(shè)計要有詳細(xì)論述。第5-6天:軟件設(shè)計,編寫程序。第7-8天:實驗室調(diào)試。第
3、9-10天:撰寫課程設(shè)計報告。要求內(nèi)容完整、圖表清晰、文理流暢、格式規(guī)范、方案合理、設(shè)計正確,篇幅合理。主要參考資料1 張迎新單片微型計算機原理、應(yīng)用及接口技術(shù)(第2版)M北京:國防工業(yè)出版社,20042偉福LAB6000系列單片機仿真實驗系統(tǒng)使用說明書3 閻石數(shù)字電路技術(shù)基礎(chǔ)(第五版)北京:高等教育出版社,2006審查意見系(教研室)主任簽字: 年 月 日 目 錄1. 引言 42. 總體方案設(shè)計 52.1 系統(tǒng)整體方案和結(jié)構(gòu) 53硬件電路設(shè)計 7 3.1 單片機最小系統(tǒng)的設(shè)計 7 3.2 溫度傳感器的設(shè)計 8 3.3 溫度控制電路的設(shè)計 10 3.4 鍵盤電路的設(shè)計 11 3.5 顯示電路的
4、設(shè)計 124. 系統(tǒng)的軟件設(shè)計 13 4.1 系統(tǒng)的主程序設(shè)計 13 4.2 中斷程序的設(shè)計145. 系統(tǒng)的控制 16 5.1 溫控電路及報警電路的控制 16 5.2 LCD顯示電路的控制17附錄A:總原理圖 18附錄B:部分源程序 19參考資料 34 1. 引言 溫度控制廣泛應(yīng)用于人們的生產(chǎn)和生活中,人們使用溫度計來采集溫度,通過人工操作加熱、通風(fēng)和降溫設(shè)備來控制溫度,這樣不但控制精度低、實時性差,而且操作人員的勞動強度大。即使有些用戶采用半導(dǎo)體二極管作溫度傳感器,但由于其互換性差,效果也不理想。在某些行業(yè)中對溫度的要求較高,由于工作環(huán)境溫度不合理而引發(fā)的事故時有發(fā)生。對工業(yè)生產(chǎn)可靠進行造成
5、影響,甚至操作人員的安全。為了避免這些缺點,需要在某些特定的環(huán)境里安裝數(shù)字溫度測量及控制設(shè)備。本設(shè)計由于采用了新型單片機對溫度進行控制,以其測量精度高,操作簡單。可運行性強,價格低廉等優(yōu)點,特別適用于生活,醫(yī)療,工業(yè)生產(chǎn)等方面的溫度測量及控制。溫度控制系統(tǒng)廣泛應(yīng)用于社會生活的各個領(lǐng)域如家電、汽車、材料、電力電子等常用的控制電路根據(jù)應(yīng)用場合和所要求的性能指標(biāo)有所不同,在工業(yè)企業(yè)中,如何提高溫度控制對象的運行性能一直以來都是控制人員和現(xiàn)場技術(shù)人員努力解決的問題。這類控制對象慣性大,滯后現(xiàn)象嚴(yán)重,存在很多不確定的因素,難以建立精確的數(shù)學(xué)模型,從而導(dǎo)致控制系統(tǒng)性能不佳,甚至出現(xiàn)控制不穩(wěn)定、失控現(xiàn)象。傳
6、統(tǒng)的繼電器調(diào)溫電路簡單實用,但由于繼電器動作頻繁,可能會因觸點不良而影響正常工作。控制領(lǐng)域還大量采用傳統(tǒng)的PID控制方式,但PID控制對象的模型難以建立,并且當(dāng)擾動因素不明確時,參數(shù)調(diào)整不便仍是普遍存在的問題。而采用數(shù)字溫度傳感器DS18B20,因其內(nèi)部集成了A/D轉(zhuǎn)換器,使得電路結(jié)構(gòu)更加簡單,而且減少了溫度測量轉(zhuǎn)換時的精度損失,使得測量溫度更加精確。數(shù)字溫度傳感器DS18B20只用一個引腳即可與單片機進行通信,大大減少了接線的麻煩,使得單片機更加具有擴展性。由于DS18B20芯片的小型化,更加可以通過單跳數(shù)據(jù)線就可以和主電路連接,故可以把數(shù)字溫度傳感器DS18B20做成探頭,探入到狹小的地方
7、,增加了實用性。更能串接多個數(shù)字溫度傳感器DS18B20進行范圍的溫度檢測。2. 總體方案設(shè)計溫度控制系統(tǒng)采用AT89C51八位機作為微處理單元進行控制。采用4X4鍵盤把設(shè)定溫度的最高值和最低值存入單片機的數(shù)據(jù)存儲器,還可以過鍵盤完成溫度檢測功能的轉(zhuǎn)換。溫度傳感器把采集的信號與單片機里的數(shù)據(jù)相比較來控制溫度控制器。系統(tǒng)框圖如圖2.1:AT89C51溫度控制報警電路顯示電路溫度傳感器鍵盤設(shè)定圖2.1 系統(tǒng)框圖根據(jù)系統(tǒng)的設(shè)計要求,選擇DS18B20作為本系統(tǒng)的溫度傳感器,選擇單片機AT89C51為測控系統(tǒng)的核心來完成數(shù)據(jù)采集、處理、顯示、報警等功能。選用數(shù)字溫度傳感器DS18B20,省卻了采樣保持
8、電路、運放、數(shù)模轉(zhuǎn)換電路以及進行長距離傳輸時的串并轉(zhuǎn)換電路,簡化了電路,縮短了系統(tǒng)的工作時間,降低了系統(tǒng)的硬件成本。該系統(tǒng)的總體設(shè)計思路如下:溫度傳感器DS18B20把所測得的溫度發(fā)送到AT89C51單片機上,經(jīng)過51單片機處理,將把溫度在顯示電路上顯示,本系統(tǒng)顯示器為點陣字符LCD,1602液晶模塊。檢測范圍5攝氏度到60攝氏度。本系統(tǒng)除了顯示溫度以外還可以設(shè)置一個溫度值,對所測溫度進行監(jiān)控,當(dāng)溫度高于或低于設(shè)定溫度時,開始報警并啟動相應(yīng)程序(溫度高于設(shè)定溫度時,風(fēng)扇開;當(dāng)溫度低于設(shè)定溫度時,加熱器開)。中央微處理器 AT89C51: AT89C51是一個低功耗,高性能CMOS 8位單片機,
9、片內(nèi)含4k Bytes ISP(In-system programmable)的可反復(fù)擦寫1000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲單元,功能強大的微型計算機的AT89C51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價比的解決方案。AT89C51具有如下特點:40個引腳,4k Bytes Flash片內(nèi)程序存儲器,128 bytes的隨機存取數(shù)據(jù)存儲器(RAM),32個外部雙向輸入/輸出(I/O)口,5個中斷優(yōu)先級2層中斷嵌套中斷,2個16位可編程定
10、時計數(shù)器,1個全雙工串行通信口,片內(nèi)時鐘振蕩器。此外,AT89C51設(shè)計和配置了振蕩頻率,并可通過軟件設(shè)置省電模式??臻e模式下,CPU暫停工作,而RAM定時計數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時該芯片還具有PDIP、TQFP和PLCC等三種封裝形式。AT89C51單片機綜合了微型處理器的基本功能。按照實際需要,同時也考慮到設(shè)計成本與整個系統(tǒng)的精巧性,所以在本系統(tǒng)中就選用價格較低、工作穩(wěn)定的AT89C51單片機作為整個系統(tǒng)的控制器。3硬件電路設(shè)計3.1 單片機最小系統(tǒng)的設(shè)計目前的單片機開發(fā)系統(tǒng)只能夠仿真單片機,卻
11、沒有給用戶提供一個通用的最小系統(tǒng)。由設(shè)計的要求,只要做很小集成度的最小系統(tǒng)應(yīng)用在一些小的控制單元。其應(yīng)用特點是:(1)全部I/O口線均可供用戶使用。 (2)內(nèi)部存儲器容量有限(只有4KB地址空間)。 (3)應(yīng)用系統(tǒng)開發(fā)具有特殊性圖 3.1 最小系統(tǒng)圖單片機最小系統(tǒng)如圖3.1所示,其中有4個雙向的8位并行I/O端口,分別記作P0、P1、P2、P3,都可以用于數(shù)據(jù)的輸出和輸入,P3口具有第二功能為系統(tǒng)提供一些控制信號。時鐘電路用于產(chǎn)生MCS-51單片機工作所必須的時鐘控制信號,內(nèi)部電路在時鐘信號的控制下,嚴(yán)格地按時序指令工作。MCS-51內(nèi)部有一個用于構(gòu)成振蕩器的高增益反向放大器,該高增益反向放大
12、器的輸入端為芯片的引腳XTAL1,輸出端為XTAL2。這兩個引腳跨接石英晶體振蕩器和微調(diào)電容,就構(gòu)成了一個穩(wěn)定的自激振蕩器。電路中的微調(diào)電容通常選擇為30pF左右,該電容的大小會影響到振蕩器頻率的高低、振蕩器的穩(wěn)定性和起振的快速性。晶體的振蕩頻率為12MHz。把EA腳接高電平,單片機訪問片內(nèi)程序存儲器,但在PC值超過0FFFH(4Kbyte地址范圍)時,將自動轉(zhuǎn)向執(zhí)行外部程序存儲器內(nèi)的程序。MCS-51的復(fù)位是由外部的復(fù)位電路來實現(xiàn)。采用最簡單的外部按鍵復(fù)位電路。按鍵自動復(fù)位是通過外部復(fù)位電路的來實現(xiàn)的.我們選用時鐘頻率為12MHz,C1取47f。3.2 溫度傳感電路設(shè)計DS18B20的性能特
13、點:采用單總線專用技術(shù),既可通過串行口線,也可通過其它I/O口線與微機接口,無須經(jīng)過其它變換電路,直接輸出被測溫度值(9位二進制數(shù),含符號位)測溫范圍為-55-+125,測量分辨率為0.0625內(nèi)含64位經(jīng)過激光修正的只讀存儲器ROM適配各種單片機或系統(tǒng)機用戶可分別設(shè)定各路溫度的上、下限內(nèi)含寄生電源。DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM,溫度傳感器,非揮發(fā)的溫度報警觸發(fā)器TH和TL,高速暫存器。DS18B20的管腳排列如圖3.2所示。 圖 3.2 DS18B20管腳圖在硬件上,DS18B20與單片機的連接有兩種方法,一種是VCC接外部電源,GND接地,I/O與單片機的I/O
14、線相連;另一種是用寄生電源供電,此時UDD、GND接地,I/O接單片機I/O。無論是內(nèi)部寄生電源還是外部供電,I/O口線要接5K左右的上拉電阻.我們采用的是第一種連接方法,如圖3.3所示:把DS18B20的數(shù)據(jù)線與單片機的13管腳連接,再加上上拉電阻。圖 3.3 溫度傳感電路圖DS18B20有六條控制命令,如表3.1所示:表3-1 DS18B20控制命令指 令 約定代碼 操 作 說 明 溫度轉(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)
15、E2RAM B8H 把E2RAM中的TH、TL字節(jié)寫到暫存器TH、TL字節(jié) 讀電源供電方式 B4H 啟動DS18B20發(fā)送電源供電方式的信號給主CPU CPU對DS18B20的訪問流程是:先對DS18B20初始化,再進行ROM操作命令,最后才能對存儲器操作,數(shù)據(jù)操作。DS18B20每一步操作都要遵循嚴(yán)格的工作時序和通信協(xié)議。如主機控制DS18B20完成溫度轉(zhuǎn)換這一過程,根據(jù)DS18B20的通訊協(xié)議,須經(jīng)三個步驟:每一次讀寫之前都要對DS18B20進行復(fù)位,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對DS18B20進行預(yù)定的操作。3.3 溫度控制電路的設(shè)計圖 3.4 溫度控制電路
16、實際電路如圖3.4所示,通過鍵盤設(shè)定溫度的上下限。把實際測量的溫度和設(shè)定的上下限進行比較,來控制P0.0、P0.1、P0.7端口的高低電平。把P0.0、P0.1、P0.7端口分別與三極管的基極連接來控制溫度和報警。當(dāng)測量的溫度超過了設(shè)定的最高溫度,P2.2由高電平變成低電平,就相當(dāng)于基極輸入為“0”,這時三極管導(dǎo)通推動小風(fēng)扇和控制電路工作,反之,當(dāng)基極輸入為“1”時,三極管不導(dǎo)通,報警器和控制電路都不工作。只要控制單片機的P0.0、P0.1、P0.7口的高低電平就可以控制模擬電路的工作。3.4 鍵盤電路的設(shè)計如圖3.6所示,用AT89C51的并行口P1接44矩陣鍵盤,以P1.0P1.3作輸入線
17、,以P1.4P1.7作輸出線;液晶顯示器上顯示每個按鍵的“0F”序號。對應(yīng)的按鍵的序號排列如圖3.5所示: 3.5 按鍵的序號排列圖 圖3.6中微處理單元是AT89C51單片機,X1和X2接12M的兩腳晶振,接兩個30PF的起振電容,J1是上拉電阻.單片機的P1口8位引腳與行列式鍵盤輸出腳相連,控制和檢測行列式鍵盤的輸入.行線通過上拉電阻接到+5V上,無按鍵按下時,行線處于高電平狀態(tài),有鍵按下時,行線的電平狀態(tài)將由與此行線相連接的列線的電平?jīng)Q定.鍵盤輸入的信息主要進程是:1 CPU判斷是否有鍵按下.2 確定是按下的是哪個鍵.3 把此鍵所代表的信息翻譯成計算機可以識別的代碼或者其他的特征符號.
18、圖 3.6 鍵盤硬件電路圖3.5 顯示電路的設(shè)計液晶顯示器是一種將液晶顯示器件,連接器件,集成電路,PCB線路板,背光源,結(jié)構(gòu)器件裝配在一起的組件。根據(jù)顯示內(nèi)容和方式的不同可以分為,數(shù)顯LCD,點陣字符LCD,點陣圖形LCD在此設(shè)計中我們采用點陣字符LCD,這里采用常用的2行16個字的1602液晶模塊。1602采用標(biāo)準(zhǔn)的14腳接口,其中:第1腳:VSS為地電源第2腳:VDD接5V正電源第3腳:V0為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地電源時對比度最高,對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比度 第4腳:RS為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時
19、選擇指令寄存器。 第5腳:RW為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當(dāng)RS和RW共同為低電平時可以寫入指令或者顯示地址,當(dāng)RS為低電平RW為高電平時可以讀忙信號,當(dāng)RS為高電平RW為低電平時可以寫入數(shù)據(jù)。 第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。第714腳:D0D7為8位雙向數(shù)據(jù)線。 第1516腳:空腳。與單片機的連接如圖3.7所示。圖 3.7 液晶顯示電路圖4 系統(tǒng)的軟件設(shè)計 4.1 系統(tǒng)的主程序設(shè)計主程序是系統(tǒng)的監(jiān)控程序,在程序運行的過程中必須先經(jīng)過初始化,包括鍵盤程序,中斷程序,以及各個控制端口的初始化工作。流程圖如4.1 所示。系統(tǒng)在初始化
20、完成后就進入溫度測量程序,實時的測量當(dāng)前的溫度并通過顯示電路在LCD上顯示。程序中以中斷的方式來重新設(shè)定溫度的上下限。根據(jù)硬件設(shè)計完成對溫度的控制。按下4*4鍵盤上的A鍵可以設(shè)定溫度上限,按下B鍵可以設(shè)定溫度下限。系統(tǒng)軟件設(shè)計的總體流程圖開始系統(tǒng)初始化開中斷Int0=0?YN溫度上下限設(shè)定溫度測量溫度測量顯示系統(tǒng)圖 4.1 系統(tǒng)總體設(shè)計流程圖4.2 中斷程序的設(shè)計MCS-51單片的中斷系統(tǒng)有5個中斷請求源,用戶可以用關(guān)中斷指令“CLR EA”來屏蔽所有的中斷請求,也可以用開中斷指令“SET EA”來允許CPU接收中斷請求。在本設(shè)計中我們選用INTO 來作為中斷請求源。INT1外部中斷請求0,由
21、INTO引腳輸入,中斷請求標(biāo)志為IE0。ORG 0000HLJMP MAINORG 0003H (中斷入口地址)JMP INT0ORG 0038H (主程序的起始地址) MAIN: (主程序)MCS-51響應(yīng)中斷后,就進入中斷服務(wù)程序,中斷程序的基本流程圖如下圖 關(guān) 中 斷 現(xiàn)場保護開 中 斷中斷處理關(guān) 中 斷現(xiàn)場恢復(fù)開 中 斷中斷返回圖 4.2 中斷服務(wù)程序基本流程第- 21 -頁 5 系統(tǒng)的控制本章對系統(tǒng)的硬件控制進行概述。分別對溫度控制電路,報警電路及LCD液晶顯示電路進行說明。5.1 溫控電路及報警電路的控制單片機的P0.0、P0.1、P0.7分別與三極管的基極連接來控制控制溫度(圖5
22、.1)和報警(圖5.2)。利用面包板搭了一個PNP9012的偏置電路電路如圖4-4?;鶚O輸入為“0”時,這時三極管導(dǎo)通推動報警器和控制電路工作,當(dāng)基極輸入為“1”時,三極管不導(dǎo)通,報警器和控制電路都不工作。只要控制單片機的P0.0、P0.1、P0.7口的高低電平就可以控制模擬電路的工作。 圖 5.1 硬件控制電路 圖 5.2 硬件報警電路5.2 LCD顯示電路的控制把8根數(shù)據(jù)線和P2口連接,把3根控制線和P2.5、P2.6、P2.7連接。給VCC端加上+5V的電壓,GND端接地。VEE端的驅(qū)動電壓不要過大,要調(diào)節(jié)滑動變阻器使VEE在0.7伏以下顯示器才能工作。使用說明鍵盤中阿拉伯?dāng)?shù)字09是數(shù)據(jù)
23、輸入鍵,A鍵是寫上限的功能鍵,B鍵是寫下限的功能鍵,C鍵是取消鍵,其他的鍵置空。附錄A:總原理圖附錄B:部分源程序DI EQU P3.3DO EQU P3.4CLK EQU P3.5CS EQU P3.6 ; LCD端口定義D2RS EQU P2.7D2RW EQU P2.6D2E EQU P2.5KEYPORT EQU P1 ; DS18B20端口定義TEMPER_L EQU 36HTEMPER_H EQU 35HTEMPER_NUM EQU 38HFLAG1 BIT 00HDQ BIT P2.4ORG 0000HLJMP MAINORG 0003HJMP INT00ORG 0038HMAI
24、N: MOV SP,#60H SETB P2.0 SETB P2.1 SETB P2.2 SETB EA SETB EX0 SETB P2.0 SEETB P2.1 SETB P2.2 MOV R0,#01H ;清屏并置地址計數(shù)器AC為0 LCALL DIS_CMD _WRT MOV R0,#38H ;8位數(shù)據(jù)接口,雙行顯示,5*7點陣 LCALL DIS_CMD _WRT CALL DIS_CUR_OFF MOV 42H,#20 MOV 43H,#32XIAN: LCALL GET_TEMPER LCALL DISP LCALL DELAY43MS MOV A,TEMPER_NUM SUBB
25、 A,42H JC ZZZL MOV A,TEMPER_NUM SUBB A,43H JNC ZZZ2 SETB P2.0 SETB P2.1 SETB P2.2 JMP XIANZZZL: CLR P2.0 CLR P2.2 JMP XIANZZZ2: CLR P2.0 CLR P2.1 JMP XIANINT0: ;掃描鍵盤程序 LCALL ASKSAO: CLR 01H LCALL KEY JNB 01H,SAO CJNE A,#10,PAN LCALL ANSW RETIPAN: CJNE A,#12,SAO RETI ;顯示函數(shù)部分,可供調(diào)用DIS_CUR_OFF: MOV R0,#
26、0CH LCALL DIS_CMD_WRT RETDIS_CUR_ON: MOV R0,#0EH LCALL DIS_CMD_WRT RETCHK_BUSY_FLG: MOV P0,#0FFH CLR D2RS NOP NOP NOP LCALL DISPLAY_RD JB ACC.7,CHK_BUSY_FLG RETCLEAR_DIS: MOV R0,#01H LCALL DIS_CMD_WRT RETDIS_CMD_WRT: LCALL CHK_BUSY_FLG MOV P0,R0 CLR D2RS NOP NOP NOP LCALL DISPLAY_WRT RETDIS_DATA_WRT
27、: LCALL CHK_BUSY_FLG CJNE A,#10H,DIS_DAT_WRT1 MOV P0,#0C0H ;1100,00000行起始地址為40 CLR D2RS NOP NOP NOP LCALL DISPLAY_WRTDIS_DAT_WRT1: MOV P0,R0 SETB D2RS NOP NOP NOP LCALL DISPLAY_WRT RETDISPLAY_WRT: CLR D2RW NOP NOP NOP SETB D2E NOP NOP NOP CLR D2E NOP NOP NOP RETDISPLAY_RD: SETB D2RWNOPNOPNOPSETB D2E
28、NOPNOPNOPMOV A,P0NOPNOPNOPCLR D2ENOPNOPNOPRETDIS_DATA_RD: LCALL CHK_BUSY_FLGMOV P0,#0FFHSETB D2RSLCALL DISPLAY_RDRET ;鍵盤程序,出口:A為按鍵值 01H:0無鍵按下 1 有鍵按下KEY: MOV KEYPORT,#0FH MOV A,KEYPOR CJNE A,#0FH,KEYDOWN MOV A,#0FFH RETKEYDOWN:LCALL DELAY43MS MOV KEYPORT,#0FH MOV A,KEYPORT CJNE A,#0FH,KEYDOWN_YES MOV
29、 A,#0FFH RETKEYDOWN _YES: MOV B,A MOV KEYPORT,#0F0H MOV A,KEYPORT ORL A,B PUSH 30H MOV 30H,AMOV R3,#10H MOV DPTR,#KEYVALUENEXT_KEY:MOV A,R3 MOVC A,a+dptr CJNE A,30h,NEXTKEYVALUE DEC R3 POP 30HWAITKEY_F:MOV KEYPORT,#0FH MOV A,KEYPORT CJNE A,#0FH, WAITKEY_F MOV A,R3 SETB 01H RETNEXTKEYVALUE: DJNZ R3,N
30、EXT_KEY DEC R3 POP 30HWAITKEY_FREE: MOV KEYPORT,#0FH MOV A,KEYPORT CJNE A,#0FH, WAITKEY_FREE MOV A,R3 SETB 01H RETKEYVALUE:DB 0FFH,7EH,7DH,7BH,77H,0BEH,0BDH,0BBH,0B7H,0DEH,0DDH,0DBH,0D7H,0EEH,0EDH,0EBH,0E7HDELAY43MS: PUSH A MOV A,R3 PUSH A MOV A,R2 PUSH AMOV R3,#43DELAY:MOV R2,#0FAHLOOP:NOP ;內(nèi)層循環(huán)為1M
31、S NOP DJNZ R2,LOOPDJNZ R3,DELAY POP A MOV R2,A POP A MOV R3,A POP A RET ;確認(rèn)是否修改溫度設(shè)定ASK: MOV R0,#01H ;清屏并置地址計數(shù)器AC為0 LCALL DIS_CMD_WRT MOV 40H,#0ZDZ: MOV DPTR,#LINE MOV A,40H MOVC A,A+DPTR MOV R0,A LCALL DIS_DATA_WRT INC 40H MOV A,40H MOVC A,A+DPTR CJNE A,#00H,ZDZ RETLINE: DB ARE YOU SURE CHANGE T(Y/N
32、)?,00HANSW: MOV R6,42H MOV R7,43H MOV R0,#01H LCALL DIS_CMD_WRT MOV R0,#44H CALL DIS_DATA_WRT MOV R0,#6FH CALL DIS_DATA_WRT MOV R0,#77H CALL DIS_DATA_WRT MOV R0,#6EH CALL DIS_DATA_WRT MOV R0,#3AH CALL DIS_DATA_WRT MOV 40H,#0 CLR 00H JMP SAO1GAI: MOV R0,#0FEH CALL DIS_DATA_WRT MOV R0,#55H CALL DIS_DA
33、TA_WRTMOV R0,#70H CALL DIS_DATA_WRT MOV R0,#3AH CALL DIS_DATA_WRT MOV 40H,#0SAO1: CLR 01H LCALL KEY JNB 01H,SAO1 MOV R1,A MOV B,#10 DIV AB JZ NEXT2 MOV A,A1 CJNE A,#11,XU JB 00H,DOWN MOV 42H,40H CPL 00H JMP GAIDOWN: MOV 43H,40H RETIXU: CJNE A,#12,SAO1 MOV 42H,R6 MOV 43H,R7 RETINEXT2: MOV A,R1 ADD A,
34、#30H MOV R0,A LCALL DIS_DATA_WRT MOV A,R1 XCH A,40H MOV B,#10 MUL AB NOP CLR DQ CLR CWR1: CLR DQ MOV R3,#6 DJNZ R3,$ RR R4,#2 R1,#36H ; 低位存入36H(TEMPER_L),高位存入35H(TEMPER_ NOP NOP SETB DQMOV R3,#7 DJNZ R3,$ MOV C,DQ MOV R3,#23 DJNZ R3,$ RRC A DJNZ R2,RE01 MOV R1,A DEC R1 DJNZ R4,RE00 RET ; 將從DS18B20中讀
35、出的溫度數(shù)據(jù)進行轉(zhuǎn)換TEMPER_COV: MOV A,#0f0H ANL A,TEMPER_L ; 舍去溫度低位中小數(shù)點后的四位溫度數(shù)值 SWAP A MOV TEMPER_NUM,A MOV A,TEMPER_L JNB ACC.3,TEMPER_COV1 ; 四舍五入去溫度值 INC TEMPER_NUMTEMPER_COV1:MOV A,TEMPER_H ANL A,#07H SWAP A ORL A,TEMPER_NUM MOV TEMPER_NUM,A ; 保存變換后的溫度數(shù)據(jù) RET ;AD0832: SETB DI SETB DO SETB CLK CLR CS NOP SETB CS CLR CLK CLR CS CALL DELAY1 SETB DI SETB CLK NOP CLR CLK SETB DI SETB CLK NOP CLR CLK CLR DI SETB CLK NOP C
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 混凝土攪拌站勞動合同
- 房屋買賣合同書封面
- 全新月餅購銷合同
- 綠色建筑節(jié)能材料應(yīng)用推廣合同
- 游戲發(fā)行合同
- 5 我們的校園 (教學(xué)設(shè)計)-部編版道德與法治 一年級上冊
- 中國計量大學(xué)現(xiàn)代科技學(xué)院《公共事業(yè)管理概論》2023-2024學(xué)年第二學(xué)期期末試卷
- 長春師范高等??茖W(xué)?!夺t(yī)學(xué)生創(chuàng)新創(chuàng)業(yè)概論》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣州科技貿(mào)易職業(yè)學(xué)院《智慧教學(xué)理論與實踐》2023-2024學(xué)年第二學(xué)期期末試卷
- 滁州學(xué)院《成本核算與管理》2023-2024學(xué)年第二學(xué)期期末試卷
- DL∕T 712-2010 發(fā)電廠凝汽器及輔機冷卻器管選材導(dǎo)則
- (2024年秋季版)2024年七年級道德與法治下冊 4.9.1 生活需要法律教案 新人教版
- 血液透析安全注射臨床實踐專家共識解讀課件
- 2024年湖南大眾傳媒職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫附答案
- 旅游學(xué)概論(第五版)課件 第一章 旅游學(xué)概述
- 學(xué)生課后服務(wù)活動記錄表
- 義務(wù)教育信息科技課程標(biāo)準(zhǔn)(2022年版)解讀
- CRRT的精細(xì)化護理
- 排列五歷史開獎數(shù)據(jù)(2004年11月至2013年7月)
- 部編小學(xué)語文單元作業(yè)設(shè)計一年級下冊第二單元
- (高清版)DZT 0282-2015 水文地質(zhì)調(diào)查規(guī)范(1:50000)
評論
0/150
提交評論