版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、PAGE PAGE 26 基于S08的溫度檢測(jin c)顯示系統(tǒng)的設計學 院: 電氣(dinq)工程學院 班 級: 姓 名: 學 號: 目 錄TOC o 1-4 h u HYPERLINK l _Toc22231 1 緒論(xln) PAGEREF _Toc22231 1 HYPERLINK l _Toc11149 1.1設計(shj)背景 PAGEREF _Toc11149 1 HYPERLINK l _Toc22767 1.2 數(shù)據(jù)采集(cij)系統(tǒng)簡單介紹 PAGEREF _Toc22767 1 HYPERLINK l _Toc1389 2 方案論證 PAGEREF _Toc1389
2、 3 HYPERLINK l _Toc31862 2.1微控制器的選擇 PAGEREF _Toc31862 3 HYPERLINK l _Toc4735 2.2顯示方案選擇 PAGEREF _Toc4735 3 HYPERLINK l _Toc19691 2.3溫度傳感器的選擇 PAGEREF _Toc19691 4 HYPERLINK l _Toc7742 3 溫度測量顯示系統(tǒng)硬件設計 PAGEREF _Toc7742 5 HYPERLINK l _Toc1517 3.1 溫度采集模塊硬件設計 PAGEREF _Toc1517 5 HYPERLINK l _Toc25502 3.2 MCU控
3、制器模塊設計 PAGEREF _Toc25502 6 HYPERLINK l _Toc21826 3.3 顯示模塊電路的設計 PAGEREF _Toc21826 7 HYPERLINK l _Toc17760 4 溫度測量顯示系統(tǒng)軟件設計 PAGEREF _Toc17760 7 HYPERLINK l _Toc13912 4.1微控制器程序的開發(fā)環(huán)境及語言 PAGEREF _Toc13912 8 HYPERLINK l _Toc11812 4.2程序設計 PAGEREF _Toc11812 9 HYPERLINK l _Toc31381 4.2.1 A/D轉(zhuǎn)換原理及程序 PAGEREF _To
4、c31381 9 HYPERLINK l _Toc32248 4.2.2熱敏電阻阻值和溫度的非線性對性模塊原理及程序 PAGEREF _Toc32248 11 HYPERLINK l _Toc27933 4.2.3 溫度顯示模塊程序 PAGEREF _Toc27933 13 HYPERLINK l _Toc22900 總結(jié) PAGEREF _Toc22900 15 HYPERLINK l _Toc13835 參考文獻 PAGEREF _Toc13835 16 HYPERLINK l _Toc3749 附錄A 溫度采集與顯示程序 PAGEREF _Toc3749 17 HYPERLINK l _
5、Toc42 附錄B 接線原理圖 PAGEREF _Toc42 231 緒論(xln)1.1設計(shj)背景在人類(rnli)的生活環(huán)境中,溫度扮演著極其重要的角色。無論你生活在哪里,從事什么工作,無時無刻不在與溫度打著交道。自18世紀工業(yè)革命以來,工業(yè)發(fā)展對是否能掌握溫度有著絕對的聯(lián)系。在冶金、鋼鐵、石化、水泥、玻璃、醫(yī)藥等等行業(yè),可以說幾乎80%的工業(yè)部門都不得不考慮著溫度的因素。溫度對于工業(yè)如此重要,由此推進了溫度傳感器的發(fā)展。進入21世紀后,溫度傳感器正朝著高精度、多功能、總線標準化、高可靠性及安全性、開發(fā)虛擬傳感器和網(wǎng)絡傳感器、研制單片測溫系統(tǒng)等高科技的方向迅速發(fā)展。在工農(nóng)業(yè)生產(chǎn)中,
6、溫度檢測及其控制占有舉足輕重的地位,隨著現(xiàn)代信息技術(shù)的飛速發(fā)展和傳統(tǒng)工業(yè)改造的逐步實現(xiàn) ,能夠獨立工作的溫度檢測和顯示系統(tǒng)已經(jīng)應用于諸多領域。要達到較高的測量精度需要很好的解決引線誤差補償問題、多點測量切換誤差問題和放大電路零點漂移誤差等問題,使溫度檢測復雜化。模擬信號在長距離傳輸過程中,抗電磁干擾時令設計者傷腦筋的問題,對于多點溫度檢測的場合,各被檢測點到監(jiān)測裝置之間引線距離往往不同,此外,各敏感元件參數(shù)的不一致,這些都是造成誤差的原因,并且難以完全清除。單片機以其功能強、體積小、可靠性高、造價低和開發(fā)周期短等優(yōu)點,成為自動化和各個測控領域中必不可少且廣泛應用的器件,尤其在日常生活中也發(fā)揮越
7、來越大的作用。采用單片機對溫度采集進行控制,不僅具有控制方便、組態(tài)簡單和靈活性大等優(yōu)點,而且可以大幅度提高被控數(shù)據(jù)的技術(shù)指標,從而能夠大大提高產(chǎn)品的質(zhì)量和數(shù)量。1.2 數(shù)據(jù)采集系統(tǒng)簡單介紹隨著自動控制的發(fā)展,數(shù)據(jù)采集越來越被廣泛應用,如醫(yī)療、工業(yè)等方面,數(shù)據(jù)采集是指將溫度,壓力,流量,位移等模擬量通過各種傳感元件做適當轉(zhuǎn)換后,再經(jīng)信號調(diào)理、采樣、量化、編碼、傳輸?shù)炔襟E采集,轉(zhuǎn)換成數(shù)字量后,傳給PC 機進行存儲,處理,顯示或打印的過程,相應的系統(tǒng)稱為數(shù)據(jù)采集系統(tǒng),可分為以下幾種:1.基于通用微型計算機的數(shù)據(jù)采集(cij)系統(tǒng)將采集來的信號通過(tnggu)外部的采樣和A/D轉(zhuǎn)換后的數(shù)字信號通過接
8、口電路送入微機內(nèi)進行處理(chl),然后再顯示處理結(jié)果或經(jīng)過D/A 轉(zhuǎn)換輸出,主要有以下幾個特點:(1) 系統(tǒng)較強的軟、硬件支持。通用微型計算機系統(tǒng)所有的軟硬件資源都可以用來支持系統(tǒng)進行工作。(2) 具有自開發(fā)能力。(3) 系統(tǒng)的軟硬件的應用配置比較小,系統(tǒng)的成本較高,但二次開發(fā)時,軟硬件擴展能力較好。(4) 在工業(yè)環(huán)境中運行的可靠性差,對安放的環(huán)境要求較高;程序在RAM 中運行,易受外界干擾破壞。2.基于單片機的數(shù)據(jù)采集系統(tǒng)它是由單片機及其些外圍芯片構(gòu)成的數(shù)據(jù)采集系統(tǒng),是近年來微機技術(shù)快速發(fā)展的結(jié)果,它具有如下特點:(1) 系統(tǒng)不具有自主開發(fā)能力,因此,系統(tǒng)的軟硬件開發(fā)必須借助開發(fā)工具。(2
9、) 系統(tǒng)的軟硬件設計與配置規(guī)模都是以滿足數(shù)據(jù)采集系統(tǒng)功能要求為原則,因此系統(tǒng)的軟硬件應用配置具有最佳的性價比。系統(tǒng)的軟件一般都有應用程序。(3) 系統(tǒng)的可靠性好、使用方便。應用程序在ROM 中運行不會因外界的干擾而破壞,而且上電后系統(tǒng)立即進入用戶狀態(tài)。3.基于DSP數(shù)字信號微處理器的數(shù)據(jù)采集系統(tǒng)DSP數(shù)字信號微處理器從理論上而言就是一種單片機的形式,常用的數(shù)字信號處理芯片有兩種類型,一種是專用DSP芯片,一種是通用DSP芯片?;贒SP數(shù)字信號微處理器的數(shù)據(jù)采集系統(tǒng)的特點如下:精度高、靈活性好、可靠性好、容易集成、分時復用等,但其價格不菲。2 方案(fng n)論證2.1微控制器的選擇(xun
10、z)微控制器是測量顯示裝置的核心部分,它要負責數(shù)據(jù)的處理(chl)及控制液晶屏顯示。因此,需要一個高集成度、穩(wěn)定性高和體積小的微控制器,同時還要注重低成本及實際情況。AT89S52是一種低功耗、高性能8位微控制器,具有8K系統(tǒng)可編程FLASH存儲器和256字節(jié)ROM,可實現(xiàn)0Hz33Hz的全靜態(tài)操作,支持4.0V5.5V電源。使用Atmel公司高密度非易失性存儲器技術(shù)制造,與MCS-51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。其內(nèi)部沒有A/D轉(zhuǎn)換模塊,需要外部擴展模數(shù)轉(zhuǎn)換芯片。S08AW60擁有62KB片上在線可編程FLASH存儲器和2KB片上RAM
11、,具有模塊保護與安全選項功能,支持2.75.5V電源。片內(nèi)總線時鐘最高可達20MHz,可選擇寬范圍的時鐘頻率。其內(nèi)部集成了高性能模/數(shù)轉(zhuǎn)換器(ADC)和串行通信模塊,具有很寬的工作溫度范圍(-40+125),可適應各類惡劣環(huán)境。該芯片還可以通過BDM在計算機與微控制器進行在線編程及后臺調(diào)試,避免頻繁的插拔單片機,編譯軟件調(diào)試功能強大。對比之后,根據(jù)實際的應用需求,本設計選擇了飛思卡爾公司生產(chǎn)的增強型8位微控制器MC9S08AW60(44引腳、LQFP封裝)。其擁有足夠大的FLASH存儲器和ROM,并帶有高性能模/數(shù)轉(zhuǎn)換器。另外,體積小,穩(wěn)定性高,調(diào)試方便。2.2顯示方案選擇方案一:LED數(shù)碼管
12、顯示器可分為兩種顯示方式:靜態(tài)顯示和動態(tài)顯示。LED數(shù)碼管靜態(tài)顯示,多片七段譯碼器驅(qū)動顯示,這不僅增加了成本,還需要占用單片機多個I/O口,也給電路的焊接帶來一定的困難,因此不選用這種方案作為顯示模塊,所以排除此方案。方案二:LED數(shù)碼管顯示器動態(tài)顯示方式下,將所有位的段選線并聯(lián)在起,由位選線控制哪位接收字段碼。采用動態(tài)掃描顯示,也就是在顯示過中,輪流向各位送出字形碼和相應的字位選擇,同一時刻只有一位顯示,其他各位熄滅。但是此顯示方案穩(wěn)定性較差,并且還需要焊接外圍電路,所以不采用此方案。方案(fng n)三:LCD液晶(yjng)顯示,由單片機驅(qū)動.它主要用來顯示大量數(shù)據(jù)、文字、圖形,能夠顯示
13、的位數(shù)多,顯示得清晰多樣、美觀,同時液晶顯示器的編寫程序簡單,價格便宜,故采用此種方案。 LCD類型繁多,價格不等。根據(jù)本設計需要顯示的信息量小的特點(tdin),選用價格便宜的LCD1602液晶屏。其特點如下:(1) 液晶顯示屏是以16列2行=32個510或57點陣塊組成的顯示字符群,每個點陣為一個字符,字符間距和行距都為一個點的寬度。(2) 具有字符發(fā)生器ROM,可以顯示192種字符。(3) 具有64字節(jié)的自定義字符RAM,可自定義8個57或4個510點陣字符。(4) 具有80字節(jié)的RAM。(5) 結(jié)構(gòu)緊湊、輕巧、裝配容易。(6) 單+5V電源供電,低功耗,長壽命,高可靠性。2.3溫度傳感
14、器的選擇測量溫度的關鍵是溫度傳感器,因此需要靈敏度高、測溫范圍寬、穩(wěn)定性好,同時還要考慮成本和實際情況。DS18B20數(shù)字式溫度傳感器,使用集成芯片,采用單總線技術(shù),其能夠有效的減小外界的干擾,提高測量的精度,同時,它可以直接將被測溫度轉(zhuǎn)化成串行數(shù)字信號供微機處理,接口簡單,使數(shù)據(jù)傳輸和處理簡單化。部分功能電路的集成,使總體硬件設計更簡潔,能有效地降低成本, 搭建電路和焊接電路時更快,調(diào)試也更方便簡單化 。熱敏電阻的主要特點是:靈敏度較高,其電阻溫度系數(shù)要比金屬大10100倍以上,能檢測出10-6的溫度變化;工作溫度范圍寬,常溫器件適用于-55315,高溫器件適用溫度高于315(目前最高可達到
15、2000),低溫器件適用于-27355;體積小,能夠測量其他溫度計無法測量的空隙、腔體及生物體內(nèi)血管的溫度;使用方便,電阻值可在0.1100k間任意選擇;易加工成復雜的形狀,可大批量生產(chǎn);穩(wěn)定性好、過載能力強對比之后,根據(jù)實際的應用需求(xqi),本設計采用熱敏電阻。熱敏電阻包括正溫度系數(shù)(xsh)(PTC)和負溫度系數(shù)(NTC)熱敏電阻,以及臨界溫度熱敏電阻(CTR)本設計(shj)采用NTC熱敏電阻。NTC(Negative Temperature Coeff1Cient)是指隨溫度上升電阻呈指數(shù)關系減小、具有負溫度系數(shù)的熱敏電阻現(xiàn)象和材料該材料是利用錳、銅、硅、鈷、鐵、鎳、鋅等兩種或兩種
16、以上的金屬氧化物進行充分混合、成型、燒結(jié)等工藝而成的半導體陶瓷,可制成具有負溫度系數(shù)(NTC)的熱敏電阻其電阻率和材料常數(shù)隨材料成分比例、燒結(jié)氣氛、燒結(jié)溫度和結(jié)構(gòu)狀態(tài)不同而變化。它的測量范圍一般為-10+300,也可做到-200+10,甚至可用于+300+1200環(huán)境中作測溫用。3 溫度測量顯示系統(tǒng)硬件設計溫度采集系統(tǒng)的硬件部分是由溫度采集模塊、MCU控制器模塊、溫度顯示模塊組成。具體框圖如下圖3.1所示: 圖3.1 系統(tǒng)硬件框圖3.1 溫度采集模塊硬件設計該模塊是根據(jù)熱敏電阻阻值隨溫度變化而變化的特性,利用串聯(lián)分壓的特點,將熱敏電阻所分的電壓送到MC9S08AW60的模擬量輸入端。具體電路原
17、理如圖3.2所示: 圖3.2 溫度采集(cij)模塊電路原理圖 該電路(dinl)中R4為熱敏電阻,其電壓傳輸?shù)組C9S08AW60單片機的模擬量輸入端,即B0口。3.2 MCU控制器模塊(m kui)設計MC9S08AW60的外部工作電路如圖3.3所示。Vddad和Vssad是MCU內(nèi)部模擬電路的電源,給模數(shù)轉(zhuǎn)換器(ADC)模塊供電,VREFH和VREFL是模數(shù)轉(zhuǎn)換的參考電壓。Vdd和Vss是S08MCU主要的電源引腳,工作電壓范圍是2.7V5.5V,在該電路中提供的是5V電壓。在Vdd和Vss之間接10F鉭電容器和0.1F的陶瓷旁路電容器,10F鉭電容器來為系統(tǒng)提供大容量的電荷存儲,同時應
18、在離MCU電源管腳盡可能近的地方安裝一個0.1F的陶瓷旁路電容器來抑制高頻噪音。 圖3.3 MC9S08AW60外部工作(gngzu)電路原理圖該電路為MCU控制器電路,其中,G0、G1、G2口分別(fnbi)與LCD1602的RS、R/W、E引腳連接;C0C3口與LCD1602的DB0DB3引腳連接;D0D3口與LCD1602的DB4DB7引腳連接。.B0口是模擬量輸入端,用于輸入熱敏電阻的電壓。3.3 顯示(xinsh)模塊電路的設計該模塊是利用LCD1602液晶屏顯示,顯示的清晰度是關鍵,其Vee引腳作用是對比調(diào)整,原理是該引腳輸入電壓不同,調(diào)整度不同,所以采用電位器分壓作為它的電壓輸入
19、。Vss及K引腳分別是電源地、LCD背光電源負極,直接接地。Vcc及A引腳分別是電源、LCD背光電源正極,采用+5V電源供電。其電路原理圖如圖3.4所示:圖3.4 顯示(xinsh)模塊電路原理圖該電路(dinl)中,LCD1602的RS、R/W、E引腳分別與MC9S08AW60的G0、G1、G2口連接(linji);DB0DB3引腳分別與MC9S08AW60的C0C3口連接;DB4DB7引腳與MC9S08AW60的D0D3口連接。4 溫度測量顯示系統(tǒng)軟件設計4.1微控制器程序的開發(fā)環(huán)境及語言在前面,本設計已經(jīng)選擇了MC9S08AW60微控制器,飛思卡爾的微控制器有其專用的開發(fā)環(huán)境軟件Code
20、Warrior IDE。同時,CodeWarrior IDE可以在不同的操作系統(tǒng)(包括Windows, Macintosh和Linux)下使用,而且在這些操作系統(tǒng)下的界面完全相同。本設計使用CodeWarrior6.3版,其界面如圖4.1所示,只要在右邊打開main.c窗口就可以進行程序編寫。 圖4.1 CodeWarrior6.3程序開發(fā)界面(jimin)在對微控制器進行編程時,可以用匯編語言(hu bin y yn)或者C語言,甚至可以二者混合編程。CodeWarrior IDE支持(zhch)匯編語言,C、C+和Java高級語言。C語言功能豐富、表達能力強、使用靈活方便、目標程序效率高、
21、可移植性好,既具有高級語言的優(yōu)點,又具有低級語言的許多特點,是國內(nèi)外廣泛使用的一種計算機語言。本設計使用C語言對微控制器進行編程,其能直接操作微控制器的硬件和接口,生成的機器代碼也是高水平的。4.2程序設計本設計程序主要包括A/D轉(zhuǎn)換模塊程序、熱敏電阻阻值和溫度的非線性對性模塊程序、溫度顯示模塊程序,其總程序流程圖如圖4.2所示:圖4.2 系統(tǒng)(xtng)程序總流程圖4.2.1 A/D轉(zhuǎn)換(zhunhun)原理及程序傳感器獲得的信號由于是模擬信號,而CPU處理(chl)的是數(shù)字信號,故要經(jīng)過模數(shù)轉(zhuǎn)換。在MC9S08AW60芯片中集成了一個8位/10位精度可選的逐次逼近式ADC模塊,使用時不需再
22、擴展片外的A/D轉(zhuǎn)換器。逐次逼近式ADC是一個具有反饋回路的循環(huán)系統(tǒng),主要部件有電壓比較器、逐次逼近寄存器(SAR)、結(jié)果寄存器、數(shù)字/模擬轉(zhuǎn)換器(Digital -To- Analog,DAC)和控制電路,如圖4.3所示。逐次逼近式ADC用DAC的輸出電壓來驅(qū)動比較器的反相端。轉(zhuǎn)換時,要用一個逐次逼近寄存器存放轉(zhuǎn)換出來的數(shù)字量;轉(zhuǎn)換結(jié)束時,將數(shù)字量送到結(jié)果寄存器。 圖4.3 逐次(zh c)逼近式ADC原理圖逐次逼近ADC原理是:首先(shuxin)設置SAR中的最高位為1,其余位為0,經(jīng)D/A轉(zhuǎn)換器轉(zhuǎn)換成模擬電壓VO,然后(rnhu)將VO與輸入電壓Vi在電壓比較器中進行比較。如果ViVO
23、,則置1保留,并使下一位置1。如果ViVO,則這一位給予清除,然后使下一位置1。按上述方法對次高位進行轉(zhuǎn)換、比較、判斷,決定次高位應取1還是0。重復上述過程,直到確定SAR最低位為止。這時控制電路送出一個轉(zhuǎn)換結(jié)束標志信號,這個信號將SAR中的數(shù)字量送入結(jié)果寄存器供CPU使用。本設計中,由于在S08AW60芯片中的SCI數(shù)據(jù)寄存器只有8位,所以模數(shù)轉(zhuǎn)換選擇8位精度,以滿足實際情況。針對振動信號高頻多變,在ADC初始化中選擇連續(xù)轉(zhuǎn)換、高速轉(zhuǎn)換和短采樣時間。C語言編寫的MC9S08AW60微控制器中A/D轉(zhuǎn)換的節(jié)選程序代碼如下:/* * *函數(shù)名稱:adc_init()* *作用:A/D模塊初始化*
24、/void adc_init(void) APCTL1=0X01; /*ADCP01引腳I/O無效,即B口0位*/ ADC1CFG=0X00; /*高速模式 8位精度,ADCK=總線頻率*/ ADC1SC2=0X00; /*軟件觸發(fā),比較功能禁止*/ ADC1SC1=0X00; /*禁止(jnzh)轉(zhuǎn)換完成中斷,單次轉(zhuǎn)換*/* * *函數(shù)(hnsh)名稱:convert_begin()* *作用(zuyng):啟動A/D轉(zhuǎn)換*/unsigned int convert_begin(void) unsigned int Vtemp; ADC1SC1=0X00; /* 寫ADC1SC1啟動轉(zhuǎn)換*/
25、 while(!(ADC1SC1_COCO); /* 等待轉(zhuǎn)換結(jié)束 */ Vtemp=ADC1RL; /*讀取轉(zhuǎn)換結(jié)果 */ return Vtemp; /* 返回結(jié)果 */4.2.2熱敏電阻阻值和溫度的非線性對性模塊原理及程序熱敏電阻的阻值溫度特性曲線是一條指數(shù)曲線,非線性度較大,因此在使用時要進行線性化處理??刹捎煤唵蔚牟楸矸◤碾妷褐抵胁槌鱿鄳臏囟戎?。預先將一系列溫度與電壓對應值存貯到AW60微控制器程序存儲器中的一個表內(nèi),當給定任意一個電壓值時,即可通過查表得出所對應的溫度值。當表中沒有對應的電壓值時,可找出電壓值在表中的區(qū)域,然后在區(qū)間的相鄰兩點經(jīng)線性插值得出對應溫度值。存入表中點的
26、多少影響溫度值的精度。這里以選16個點為例,選8位模式A/D可轉(zhuǎn)換結(jié)果范圍是0255,因此每兩個點的間隔是16。使用插值算法如下: (4.1)式中:當前溫度; 當前溫度的A/D轉(zhuǎn)換值;,相鄰點的溫度值;,相鄰點的A/D轉(zhuǎn)換值;當A/D轉(zhuǎn)換結(jié)果在區(qū)間016或240255時,不再計算,直接按溫度值79或-40處理。C語言編寫的獲得(hud)溫度值的節(jié)選程序代碼如下:/* * *函數(shù)(hnsh)名稱: GetTemperature()* *作用(zuyng):查表及插值程序得到溫度值*/signed int GetTemperature(int Value) signed int T; int i;
27、 if(Value= V_T_table015) T=V_T_table115; /* 當A/D轉(zhuǎn)換值在240255時,按-40攝氏度賦值 */ else for(i=1;i V_T_table0i)&(Value V_T_table0i+1) T=(V_T_table1i+1-V_T_table1i)*100)/16; T=T*(Value-V_T_table0i); /* 沒有,找到區(qū)間并插值 */ T=V_T_table1i+T/100; break; return T; /* 返回(fnhu)溫度值T */4.2.3 溫度顯示(xinsh)模塊程序LCD1602采用+5V電壓驅(qū)動,其數(shù)
28、據(jù)(shj)接口和讀寫控制引腳與MC9S08AW60單片機的I/O口直接相連。MC9S08AW60單片機將采集到的模擬電壓值經(jīng)過A/D轉(zhuǎn)換后,查表得到溫度值,通過I/O口傳輸給LCD1602顯示。C語言編寫的溫度值顯示的節(jié)選程序代碼如下:/* * *函數(shù)名稱:LCD1602_init()* *作用LCD1602初始化*/void LCD1602_init(void) LCD1602_DB(0 x08 ,0 x03); /*顯示模式 8位總線 雙行顯示 5*7點陣*/ RS_RW_E_init(); LCD1602_DB(0 x04 ,0 x01); /*光標移動 每輸入一次該指令 光標向右移一
29、格 整體畫面不滾動*/ RS_RW_E_init(); LCD1602_DB(0 x0C ,0 x00); /* 屏幕開關 打開顯示屏 不顯示光標 不閃爍 */ RS_RW_E_init(); LCD1602_DB(0 x06 ,0 x00); /輸入方式 RS_RW_E_init(); LCD1602_DB(0 x01 ,0 x00); /清屏 RS_RW_E_init(); /* * *函數(shù)名稱:LCD1602_display()* *作用LCD1602顯示*/void LCD1602_display(void) if(neg_flag) /* 如果(rgu)是負,最高位顯示-*/ LCD
30、1602_DB(0 x00,0 x08); /*需要(xyo)顯示的字符的地址*/ RS_RW_E_init(); LCD1602_write_dat(0 x0d,0 x02); else /* 如果(rgu)是正,最高位顯示+*/ LCD1602_DB(0 x00,0 x08); /*需要顯示的字符的地址*/ RS_RW_E_init(); LCD1602_write_dat(0 x0b,0 x02); LCD1602_DB(0 x01,0 x08); /*需要顯示的字符的地址*/ RS_RW_E_init(); LCD1602_write_dat(Disp_Value0s,Disp_Val
31、ue1s); LCD1602_DB(0 x02,0 x08); /*需要顯示的字符的地址*/ RS_RW_E_init(); LCD1602_write_dat(Disp_Value0g,Disp_Value1g);總結(jié)(zngji)硬件方面。選擇硬件,要比較同類產(chǎn)品的穩(wěn)定性、功耗、體積、價格(jig)等,另外還要符合設計的全部要求。在顯示方案上,利用LCD1602顯示,程序簡單,在硬件電路(dinl)的設計方面,用Protel繪制電路圖時要標明元件的大小,有些封裝元件要標明名稱和封裝。其次,軟件方面。把程序分塊編寫能夠有效地提高正確性和編程效率。通過本次實驗,我學習了很多關于S08AW60的
32、知識,并能通過所學設計一款基于S08AW60的溫度測量顯示系統(tǒng),雖然有很多不足,也有很多不理解的地方,但是通過學習和討論,一一得到了解決,受益匪淺。參考文獻1 王威嵌入式微控制器S08AW原理(yunl)與實踐M北京:北京航空航天大學出版社,20092 陳杰. 傳感器與檢測(jin c)技術(shù)M北京(bi jn):高教出版社,20043 邵貝貝. 龔光華.單片機認識與實踐M.北京:北京航空航天大學出版社,20064 閻石.數(shù)字電子技術(shù)基礎(第三版). 北京:高等教育出版社,19895 沈蘭蓀.數(shù)據(jù)采集與處理M北京:能源出版社,19876 沙占友、王彥朋、孟志永.單片機外圍電路設計.電子工業(yè)出版社
33、,20037 謝宜仁.單片機實用技術(shù)問答. 人民郵電出版社,20038 孫傳友、漢澤西.測控系統(tǒng)原理與設計.北京航空航天大學出版社,20029 章吉良,周勇,戴旭涵等微傳感器原理、技術(shù)及應用M上海:上海交通大學出版社,2005附錄A 溫度采集與顯示(xinsh)程序/* * *文件名Temprature_LCD1602.c* *MCU:MC9S08AW60* *調(diào)試(dio sh)環(huán)境:CodeWarrior v6.3* *日期(rq):2010.12*/#include /* for EnableInterrupts macro */#include derivative.h /* incl
34、ude peripheral declarations */const unsigned char Disp_Value210=0 x00,0 x01,0 x02,0 x03,0 x04,0 x05,0 x06,0 x07,0 x08,0 x09,0 x03,0 x03,0 x03,0 x03,0 x03,0 x03,0 x03,0 x03,0 x03,0 x03 ; /*存放顯示段碼*/const signed int V_T_table217=0,16,32,48,64,80,96,112,128,144,160,176,192,208,224,240,255,0,79,56,43,34,
35、27,21,15,10,5,-1,-6,-11,-18,-26,-40,0 /*存放A/D轉(zhuǎn)換值和溫度值的表*/ ; #define LCD1602_D03_PTB03 PTCD /*1602液晶屏數(shù)據(jù)接口低4位接C口低4位*/#define LCD1602_D47_PTD03 PTDD /*1602液晶屏數(shù)據(jù)接口高4位接D口低4位*/#define LCD1602_RS PTGD_PTGD0 /*1602液晶屏數(shù)據(jù)選擇接口接G口0位*/#define LCD1602_RW PTGD_PTGD1 /*1602液晶屏讀寫選擇接口接G口1位*/#define LCD1602_E PTGD_PTGD
36、2 /*1602液晶屏信號使能接口接G口2位*/signed int Temperature; /*溫度*/char neg_flag=0; /*溫度正負標志,正時為0,負時為1*/int s,g; /*溫度十位,個位*/unsigned int adc_value; /*通道電壓值*/*函數(shù)聲明*/void data_deal(void); /*數(shù)據(jù)處理程序*/void adc_init(void) ; /*ADC初始化程序*/signed int GetTemperature(int Value); /*查表得到溫度程序*/unsigned int convert_begin(void);
37、 /*啟動轉(zhuǎn)換*/void delay40us(int count); /*LCD顯示延時程序*/void RS_RW_E_init(void); /*LCD1602控制程序*/void LCD1602_DB(char x ,char y); /*LCD1602數(shù)據(jù)接口*/void LCD1602_init(void); /*LCD1602數(shù)據(jù)(shj)接口*/void LCD1602_write_dat(char x,char y); /*寫數(shù)據(jù)(shj)程序*/void LCD1602_display(void); /*LCD1602顯示(xinsh)程序*/void PORT_init(
38、void) ; /*I/O口初始化程序*/*/* * *函數(shù)名稱:delay40us()* *作用:延時*/void delay40us(int count) int i; for(i=0;icount;i+) _RESET_WATCHDOG(); /* * *函數(shù)名稱:adc_init()* *作用:A/D模塊初始化*/void adc_init(void) APCTL1=0X01; /*ADCP01引腳I/O無效,即B口0位*/ ADC1CFG=0X00; /*高速模式 8位精度,ADCK=總線頻率*/ ADC1SC2=0X00; /*軟件觸發(fā),比較功能禁止*/ ADC1SC1=0X00;
39、 /*禁止轉(zhuǎn)換完成中斷,單次轉(zhuǎn)換*/* * *函數(shù)名稱:convert_begin()* *作用:啟動A/D轉(zhuǎn)換*/unsigned int convert_begin(void) unsigned int Vtemp; ADC1SC1=0X00; /* 寫ADC1SC1啟動轉(zhuǎn)換*/ while(!(ADC1SC1_COCO); /* 等待轉(zhuǎn)換結(jié)束 */ Vtemp=ADC1RL; /*讀取轉(zhuǎn)換結(jié)果 */ return Vtemp; /* 返回結(jié)果 */* * *函數(shù)名稱: GetTemperature()* *作用:查表及插值程序得到溫度值*/signed int GetTemperatur
40、e(int Value) signed int T; int i; if(Value= V_T_table015) T=V_T_table115; /* 當A/D轉(zhuǎn)換(zhunhun)值在240255時,按-40攝氏度賦值 */ else for(i=1;i V_T_table0i)&(Value V_T_table0i+1) T=(V_T_table1i+1-V_T_table1i)*100)/16; T=T*(Value-V_T_table0i); /* 沒有,找到區(qū)間并插值 */ T=V_T_table1i+T/100; break; return T; /* 返回溫度值T */ /*
41、* *函數(shù)名稱:data_deal()* *作用:實現(xiàn)十位,個位的分離*/void data_deal(void) if(Temperature0) /* 溫度為負 */ neg_flag=1; /* neg_flag為1*/ Temperature=-Temperature; /* 取正*/ else neg_flag=0; s= Temperature/10; /* 分離十位*/ g= Temperature-s*10; /* 分離個位*/* * *函數(shù)名稱:RS_RW_E_init()* *作用:LCD1602控制*/void RS_RW_E_init(void) LCD1602_RS=
42、0; LCD1602_RW=0; LCD1602_E =1; delay40us(10000); LCD1602_E =0;/* * *函數(shù)(hnsh)名稱LCD1602_DB()* *作用:數(shù)據(jù)(shj)接口*/void LCD1602_DB(char x ,char y) LCD1602_D03_PTB03 =x; LCD1602_D47_PTD03 =y;/* * *函數(shù)(hnsh)名稱:LCD1602_init()* *作用LCD1602初始化*/void LCD1602_init(void) LCD1602_DB(0 x08 ,0 x03); /*顯示模式 8位總線 雙行顯示 5*7點陣*/ RS_RW_E_init(); LCD1602_DB(0 x04 ,0 x01); /*光標移動 每輸入一次該指令 光標向右移一格 整體畫面不滾動*/ RS_RW_E_init(); LCD1602_DB(0 x0C ,0 x00); /* 屏幕開關 打開顯示屏 不顯示光標 不閃爍 */ RS_RW_E_init(); LCD1602_DB(0 x06 ,0 x00); /輸入方式 RS_RW_E_init(); LCD1602_DB(0 x01 ,0 x00
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度遠程英語教育兼職外教合同3篇
- 二零二五年酒店員工福利待遇轉(zhuǎn)讓合同示例3篇
- 二零二五版寄賣合同范本:農(nóng)產(chǎn)品寄售協(xié)議書3篇
- 二零二五版植物營養(yǎng)肥料試驗與研究服務合同3篇
- 二零二五年度酒類批發(fā)市場租賃銷售合同2篇
- 二零二五年度耕地承包與農(nóng)村土地承包權(quán)登記發(fā)證合同2篇
- 二零二五年度紅色文化遺址保護與修復合同3篇
- 二零二五版躉購電合同:電力批發(fā)市場交易合同2篇
- 二零二五版高端社區(qū)地下車庫經(jīng)營權(quán)轉(zhuǎn)讓合同3篇
- 二零二五年度智能化辦公大樓安全防范系統(tǒng)合同2篇
- 一年級科學人教版總結(jié)回顧2
- 格式塔心理咨詢理論與實踐
- 精神發(fā)育遲滯的護理查房
- 有效排痰的護理ppt(完整版)
- 魯教版七年級數(shù)學下冊(五四制)全冊完整課件
- 英語六級詞匯(全)
- 算法向善與個性化推薦發(fā)展研究報告
- 聚合物的流變性詳解演示文稿
- 電氣設備預防性試驗安全技術(shù)措施
- 醫(yī)院出入口安檢工作記錄表范本
- 內(nèi)科學教學課件:免疫性血小板減少癥(ITP)
評論
0/150
提交評論