




已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
嵌入式系統(tǒng)技術及應用題 目 基于AVR的嵌入式溫濕度采集系統(tǒng) 目錄第一章 緒論31.1 課題研究背景和意義31.2 國內外的研究現(xiàn)狀41.2.1 溫度傳感器41.2.2 濕度傳感器5第2章系統(tǒng)整體設計82.1信號采集82.2信號處理112.2.1 產品特點:112.2.2 單片機的內部結構132.2.3 單片機最小系統(tǒng)142.3信息處理16第3章軟件設計193.1 系統(tǒng)初始化193.2 LCD顯示193.3 溫濕度采集20總 結23第一章 緒論1.1 課題研究背景和意義溫度是表示物體冷熱程度的物理量,微觀上來講是物體分子熱運動的劇烈程度。在整個宇宙當中,溫度無處不存在。無論在地球上還是在月球上,也無論是在熾熱的太陽上還是在陰冷的冥王星上,這一切無不由于空間位置的不同而存在著溫度的差別。濕度,表示大氣干燥程度的物理量。在一定的溫度下在一定體積的空氣里含有的水汽越少,則空氣越干燥;水汽越多,則空氣越潮濕??諝獾母蓾癯潭冉凶觥皾穸取?。在此意義下,常用絕對濕度、相對濕度、比較濕度、混合比、飽和差以及露點等物理量來表示。濕度表示氣體中的水蒸汽含量,有絕對濕度和相對濕度兩種表示方法。絕對濕度是一定體積的空氣中含有的水蒸氣的質量,一般其單位是克/立方米,絕對濕度的最大限度是飽和狀態(tài)下的最高濕度;相對濕度是絕對濕度與最高濕度之間的比,它的值顯示水蒸氣的飽和度有多高。溫度、濕度和人類的生產、生活有著密切的關系,同時也是工業(yè)生產中最常見最基本的工藝參數(shù),例如機械、電子、石油、化工等各類工業(yè)中廣泛需要對溫度、濕度的檢測與控制。并且隨著人們生活水平的提高,人們對自己的生存環(huán)境越來越關注,而空氣中溫濕度的變化與人體的舒適度和情緒都有直接的影響,所以對溫度、濕度的檢測及控制就非常有必要了。溫度、濕度是工業(yè)農業(yè)生產不可缺少的因素,但傳統(tǒng)的方法是用溫度表、毛發(fā)濕度表、雙金屬式測量計和濕度試紙等測試器材,通過人工進行檢測,對不符合溫度和濕度要求的庫房進行通風、去濕和降溫等工作。這種人工測試方法費時費力、效率低,且測試的溫度及濕度誤差大,隨機性大。含有微型計算機或微處理器的測量儀器,由于它擁有對數(shù)據(jù)存儲,運算邏輯判斷及自動化的功能,有著智能作用。隨著生產的發(fā)展,一個低成本和具有較高精度的溫度濕度測量儀在許多領域會代替人工操作,自動控制各種儀器調整環(huán)境溫度濕度。目前市場上普遍存在的溫濕度檢測儀器大都是溫濕度分開測量,而且溫濕度信息傳遞不及時,精度達不到要求,不利于控制者根據(jù)溫度、濕度變化及時做出決定,為此,本設計開發(fā)了一種能夠同時測量溫濕度,并實時性高、精度高,能夠方便擴展處理多點溫濕度信息,并能進行溫濕度控制的測控產品??傊?,環(huán)境溫濕度的檢測與調節(jié)儀器的設計和開發(fā)具有非常大的市場前景和實用價值。1.2 國內外的研究現(xiàn)狀1.2.1 溫度傳感器集成溫度傳感器是目前應用范圍最廣、使用最普及的一種全集成化傳感器。其種類很多,大致可分為以下5類:1、模擬集成溫度傳感器;2、模擬集成溫度控制器;3、智能溫度傳感器;4、通用智能溫度控制器;5、微機散熱保護專用的智能溫度控制器。集成溫度傳感器的主要應用領域有以下3個方面:1.溫度測量:可以構成數(shù)字溫度計、溫度變送器、溫度巡回檢測儀、智能化溫度檢測系統(tǒng)及網(wǎng)絡化測溫系統(tǒng)。2.溫度控制:適用于智能化溫度測控系統(tǒng)、工業(yè)過程控制、現(xiàn)場可編程溫度控制系統(tǒng)、環(huán)境溫度監(jiān)測及報警系統(tǒng)、中央空調、風扇溫控電路、微處理器及微機系統(tǒng)的過熱保護裝置、現(xiàn)代辦公設備、電信設備、服務器中的溫度測控系統(tǒng)、電池充電器的過熱保護電路、音頻功率放大器的過熱保護電路及家用電器。3.特殊應用:例如,熱電偶冷端溫度補償、測量溫差、測量平均溫度、測量溫度場、電子密碼鎖(僅對內含64位ROM的單線總線智能溫度傳感器而言)及液晶顯示器表面溫度監(jiān)測等。模擬集成溫度傳感器是在20世紀80年代問世的,它是將溫度傳感器集成在一個芯片上、可完成溫度測量及模擬信號輸出功能的專用IC。模擬集成溫度傳感器的主要特點是功能單一(僅測量溫度)、測溫誤差小、價格低、響應速度快、傳輸距離遠、體積小、微功耗等,適合遠距離測溫、控溫,不需要進行非線性校準,外圍電路簡單。它是目前在國內外應用最為普遍的一種集成傳感器,典型產品有AD590、AD592、TMP17、LM135等。 智能溫度傳感器(亦稱數(shù)字溫度傳感器)是在20世紀90年代中期問世的。它是微電子技術、計算機技術和自動測試技術(ATE)的結晶。目前,國際上已開發(fā)出多種智能溫度傳感器系列產品。智能溫度傳感器內部都包含溫度傳感器、A/D轉換器、信號處理器、存儲器(或寄存器)和接口電路。有的產品還帶多路選擇器、中央控制器(CPU)、隨機存取存儲器(RAM)和只讀存儲器(ROM)。智能溫度傳感器的特點是能輸出溫度數(shù)據(jù)及相關的溫度控制量,適配各種微控制器(MCU);并且它是在硬件的基礎上通過軟件來實現(xiàn)測試功能的,其智能化程度也取決于軟件的開發(fā)水平。進入21世紀后,智能溫度傳感器正朝著高精度、多功能、總線標準化、高可靠性及安全性、開發(fā)虛擬傳感器和網(wǎng)絡傳感器、研制單片測溫系統(tǒng)等高科技的方向迅速發(fā)展。在20世紀90年代中期最早推出的智能溫度傳感器,采用的是8位A/D轉換器,其測溫精度較低,分辨力只能達到1。目前,國外已相繼推出多種高精度、高分辨力的智能溫度傳感器,所用的是912位A/D轉換器,分辨力一般可達0.50.0625。由美國DALLAS半導體公司新研制的DS1624型高分辨力智能溫度傳感器,能輸出13位二進制數(shù)據(jù),其分辨力高達0.03125,測溫精度為0.2。為了提高多通道智能溫度傳感器的轉換速率,也有的芯片采用高速逐次逼近式A/D轉換器。以AD7817型5通道智能溫度傳感器為例,它對本地傳感器、每一路遠程傳感器的轉換時間分別僅為27s、9s。 新型智能溫度傳感器的測試功能也在不斷增強。例如,DS1629型單線智能溫度傳感器增加了實時日歷時鐘(RTC),使其功能更加完善。DS1624還增加了存儲功能,利用芯片內部256字節(jié)的E2PROM存儲器,可存儲用戶的短信息。另外,智能溫度傳感器正從單通道向多通道的方向發(fā)展,這就為研制和開發(fā)多路溫度測控系統(tǒng)創(chuàng)造了良好條件。智能溫度傳感器的總線技術也實現(xiàn)了標準化、規(guī)范化,所采用的總線主要有單線總線、I2C總線、SMBus總線和SPI總線。1.2.2 濕度傳感器濕度傳感器產品及濕度測量屬于90年代興起的行業(yè)。濕度傳感器主要分為電阻式和電容式兩種,產品的基本形式都是在基片上涂覆感濕材料形成感濕膜??諝庵械乃羝皆诟袧癫牧仙虾螅淖杩?、介質常數(shù)發(fā)生很大的變化,從而制成濕敏元件。近年來,國內外在濕度傳感器研發(fā)領域取得了較大的發(fā)展。濕敏傳感器正從簡單的濕敏元件向集成化、智能化、多參數(shù)檢測的方向迅速發(fā)展。國內外各廠家的濕度傳感器產品水平不一,質量價格都相差較大,用戶如何選擇性能價格比最優(yōu)的理想產品確有一定難度,需要在這方面作深入的了解?,F(xiàn)在國內市場上出現(xiàn)了不少國內外濕度傳感器產品,電容式濕敏元件較為多見,感濕材料種類主要為高分子聚合物,氯化鋰和金屬氧化物。濕敏元件是最簡單的濕度傳感器。濕敏元件主要分為電阻式、電容式兩大類。濕敏電阻的特點是在基片上覆蓋一層用感濕材料制成的膜,當空氣中的水蒸氣吸附在感濕膜上時,元件的電阻率和電阻值都發(fā)生變化,利用這一特性即可測量濕度。濕敏電阻的種類很多,例如金屬氧化特濕敏電阻、硅濕敏電阻、陶瓷濕敏電阻等。濕敏電阻的優(yōu)點是靈敏度高,主要缺點是線性度和產品的互換性差。濕敏電容一般是用高分子薄膜電容制成的,常用的高分子材料有聚苯乙烯、聚酰亞胺、酷酸醋酸纖維等。當環(huán)境濕度發(fā)生改變時,濕敏電容的介電常數(shù)發(fā)生變化,使其電容量也發(fā)生變化,其電容變化量與相對濕度成正比。濕敏電容的主要優(yōu)點是靈敏度高、產品互換性好、響應速度快、濕度的滯后量小、便于制造、容易實現(xiàn)小型化和集成化,其精度一般比濕敏電阻要低一些。國外生產濕敏電容的主廠家有Humirel公司、Philips公司、Siemens公司等。以Humirel公司生產的SH1100型濕敏電容為例,其測量范圍是(1%99%)RH,在55%RH時的電容量為180pF(典型值)。當相對濕度從0變化到100%時,電容量的變化范圍是163pF202pF。溫度系數(shù)為0.04pF/,濕度滯后量為1.5%,響應時間為5s。除電阻式、電容式濕敏元件之外,還有電解質離子型濕敏元件、重量型濕敏元件(利用感濕膜重量的變化來改變振蕩頻率)、光強型濕敏元件、聲表面波濕敏元件等。濕敏元件的線性度及抗污染性差,在檢測環(huán)境濕度時,濕敏元件要長期暴露在待測環(huán)境中,很容易被污染而影響其測量精度及長期穩(wěn)定性。目前,國外生產集成濕度傳感器的主要廠家及典型產品分別為Honeywell公司(HIH-3602、HIH-3605、HIH-3610型),Humirel公司(HM1500、HM1520、HF3223、HTF3223型),Sensiron公司(SHT11、SHT15型)。這些產品可分成以下三種類型:(1)線性電壓輸出式集成濕度傳感器;典型產品有 HIH3605/3610、HM1500/1520。其主要特點是采用恒壓供電,內置放大電路,能輸出與相對濕度呈比例關系的伏特級電壓信號,響應速度快,重復性好,抗污染能力強。(2)線性頻率輸出集成濕度傳感器;典型產品為HF3223型。它采用模塊式結構,屬于頻率輸出式集成濕度傳感器,在55%RH時的輸出頻率為8750Hz(型值),當上對濕度從10%變化到95%時,輸出頻率就從9560Hz減小到8030Hz。這種傳感器具有線性度好、抗干擾能力強、便于配數(shù)字電路或單片機、價格低等優(yōu)點。(3)頻率/溫度輸出式集成濕度傳感器;典型產品為HTF3223型。它除具有HF3223的功能以外,還增加了溫度信號輸出端,利用負溫度系數(shù)(NTC)熱敏電阻作為溫度傳感器。當環(huán)境溫度變化時,其電阻值也相應改變并且從NTC端引出,配上二次儀表即可測量出溫度值。2002年Sensiron公司在世界上率先研制成功SHT11、 SHT15型智能化溫度/溫度傳感器,其外形尺寸僅為7.6(mm)5(mm)2.5(mm),體積與火柴頭相近。出廠前,每只傳感器都在溫度室中做過精密標準,標準系數(shù)被編成相應的程序存入校準存儲器中,在測量過程中可對相對濕度進行自動校準。它們不僅能準確測量相對溫度,還能測量溫度和露點。測量相對溫度的范圍是0100%,分辨力達0.03%RH,最高精度為2%RH。測量溫度的范圍是-40 123.8,分辨力為0.01。第2章系統(tǒng)整體設計本設計以AVR ATMega128單片機為核心來對溫濕度進行實時巡檢。檢測單元(從機)能獨立完成功能,同時能自動的向主控機傳輸采集到的溫濕度數(shù)據(jù)。最后采集來的信息通過液晶屏顯示清晰的呈現(xiàn)給用戶。 本系統(tǒng)采用AM2301溫濕度模塊進行參數(shù)采集,它是集溫度傳感器和濕度傳感器于一體的檢測模塊,并且通信協(xié)議與1-wire相同,便于開發(fā)和擴展為多路檢測系統(tǒng),節(jié)約IO口。檢測溫度范圍-40+80,精度為0.3。濕度檢測范圍為2090RH,其檢測精度為3。本設計由信號采集、信號處理和信息顯示三個部分組成的。(1)信號采集 由AM2301溫濕度傳感器模塊組成;(2)信號處理 由單片機ATMega128及外圍器件組成;(3)信息顯示 由12864液晶顯示模塊組成。2.1信號采集AM2301濕敏電容數(shù)字溫濕度模塊是一款含有己校準數(shù)字信號輸出的溫濕度復合傳感器。它應用專用的數(shù)字模塊采集技術和溫濕度傳感技術,確保產品具有極高的可靠性與卓越的長期穩(wěn)定性。傳感器包括一個電容式感濕元件和一個高精度測溫元件,并與一個高性能8位單片機相連接。因此該產品具有品質卓越、超快響應、抗干擾能力強、性價比極高等優(yōu)點。每個傳感器都在極為精確的濕度校驗室中進行校準。校準系數(shù)以程序的形式儲存在單片機中,傳感器內部在檢測信號的處理過程中要調用這些校準系數(shù)。標準單總線接口,使系統(tǒng)集成變得簡易快捷。超小的體積、極低的功耗,信號傳輸距離可達20米以上,使其成為各類應用甚至最為苛刻的應用場合的最佳選擇。產品為 3引線(單總線接口)連接方便。圖2.1 AM2301實物圖主要應用在暖通空調、除濕器、測試及檢測設備、消費品、汽車、自動控制、數(shù)據(jù)記錄器、家電、濕度調節(jié)器、醫(yī)療、氣象站、及其他相關濕度檢測控制等。有超低能耗、傳輸距離遠、全部自動化校準、采用電容式濕敏元件、完全互換、標準數(shù)字單總線輸出、卓越的長期穩(wěn)定性、采用高精度測溫元件等優(yōu)點。 圖2.2 引腳定義AM2315的供電電壓范圍為 3.5V - 5.5V,建議供電電壓為 5V。SDA 引腳為三態(tài)結構,用于讀、寫傳感器數(shù)據(jù)。具體的通信時序,見通信協(xié)議的詳細說明。AM2301 器件采用簡化的單總線通信。單總線即只有一根數(shù)據(jù)線,系統(tǒng)中的數(shù)據(jù)交換、控制均由數(shù)據(jù)線完成。設備(微處理器)通過一個漏極開路或三態(tài)端口連至該數(shù)據(jù)線,以允許設備在不發(fā)送數(shù)據(jù)時能夠釋放總線,而讓其它設備使用總線;單總線通常要求外接一個約 5.1k的上拉電阻,這樣,當總線閑置時,其狀態(tài)為高電平。由于它們是主從結構,只有主機呼叫傳感器時,傳感器才會應答,因此主機訪問傳感器都必須嚴格遵循單總線序列,如果出現(xiàn)序列混亂,傳感器將不響應主機。與AVR的硬件連接圖如圖。圖2.3 溫濕度傳感器硬件連接電路SDA 用于微處理器與 AM2301之間的通訊和同步,采用單總線數(shù)據(jù)格式,一次傳送 40位數(shù)據(jù),高位先出。具體通信時序如圖2.4所示,通信格式說明見表2.1。圖2.4 AM2301單總線通信協(xié)議表2.1 AM2301通信格式說明用戶主機(MCU)發(fā)送一次起始信號(把數(shù)據(jù)總線SDA拉低至少800s)后,AM2301從休眠模式轉換到高速模式。待主機開始信號結束后, AM2301 發(fā)送響應信號,從數(shù)據(jù)總線 SDA 串行送出40Bit的數(shù)據(jù),先發(fā)送字節(jié)的高位;發(fā)送的數(shù)據(jù)依次為濕度高位、濕度低位、溫位、溫度低位、校驗位,發(fā)送數(shù)據(jù)結束觸發(fā)一次信息采集,采集結束傳感器自動轉入休眠模式,直一次通信來臨。圖2.5 單總線讀取流程圖2.2信號處理2.2.1 產品特點: 高性能、低功耗的 AVR微處理器 先進的 RISC 結構 133 條指令 大多數(shù)可以在一個時鐘周期內完成 32 x 8 通用工作寄存器 + 外設控制寄存器 全靜態(tài)工作 工作于16 MHz 時性能高達16 MIPS 只需兩個時鐘周期的硬件乘法器 非易失性的程序和數(shù)據(jù)存儲器 128K 字節(jié)的系統(tǒng)內可編程 Flash 壽命: 10,000 次寫 /擦除周期 具有獨立鎖定位、可選擇的啟動代碼區(qū)通過片內的啟動程序實現(xiàn)系統(tǒng)內編程真正的讀- 修改- 寫操作4K 字節(jié)的EEPROM壽命: 100,000 次寫 /擦除周期4K 字節(jié)的內部SRAM 多達64K字節(jié)的優(yōu)化的外部存儲器空間 可以對鎖定位進行編程以實現(xiàn)軟件加密 可以通過SPI實現(xiàn)系統(tǒng)內編程 JTAG 接口(與 IEEE 1149.1 標準兼容 ) 遵循JTAG標準的邊界掃描功能 支持擴展的片內調試 通過JTAG接口實現(xiàn)對 Flash, EEPROM, 熔絲位和鎖定位的編程 外設特點 兩個具有獨立的預分頻器和比較器功能的8 位定時器/ 計數(shù)器 兩個具有預分頻器、比較功能和捕捉功能的16 位定時器 /計數(shù)器 具有獨立預分頻器的實時時鐘計數(shù)器 兩路8 位PWM6路分辨率可編程 (2 到16 位)的 PWM 輸出比較調制器8路 10 位ADC8個單端通道7個差分通道2個具有可編程增益 (1x, 10x, 或200x)的差分通道 面向字節(jié)的兩線接口 兩個可編程的串行USART 可工作于主機/從機模式的 SPI串行接口 具有獨立片內振蕩器的可編程看門狗定時器 片內模擬比較器 特殊的處理器特點 上電復位以及可編程的掉電檢測 片內經(jīng)過標定的RC 振蕩器 片內/片外中斷源6種睡眠模式 : 空閑模式、ADC噪聲抑制模式、省電模式、掉電模式、Standby 模式以及擴展的Standby 模式 可以通過軟件進行選擇的時鐘頻率 通過熔絲位可以選擇ATmega103兼容模式 全局上拉禁止功能 I/O和封裝53 個可編程I/O 口線64 引腳TQFP與 64引腳 MLF封裝 工作電壓 2.7 - 5.5V ATmega128L 4.5 - 5.5V ATmega128 速度等級 0 - 8 MHz ATmega128L 0 - 16 MHz ATmega1282.2.2 單片機的內部結構VCC 數(shù)字電路的電源。GND 地。端口 A(PA7.PA0) 端口 A 為 8 位雙向 I/O 口,并具有可編程的內部上拉電阻。其輸出緩沖器具有對稱的驅動特性,可以輸出和吸收大電流。作為輸入使用時,若內部上拉電阻使能,則端口被外部電路拉低時將輸出電流。復位發(fā)生時端口 A 為三態(tài)。端口 A 也可以用做其他不同的特殊功能,請參見 P 68。端口 B(PB7.PB0) 端口 B 為 8 位雙向 I/O 口,并具有可編程的內部上拉電阻。其輸出緩沖器具有對稱的驅動特性,可以輸出和吸收大電流。作為輸入使用時,若內部上拉電阻使能,則端口被外部電路拉低時將輸出電流。復位發(fā)生時端口 B 為三態(tài)。端口 B 也可以用做其他不同的特殊功能。端口 C(PC7.PC0) 端口 C 為 8 位雙向 I/O 口,并具有可編程的內部上拉電阻。其輸出緩沖器具有對稱的驅動特性,可以輸出和吸收大電流。作為輸入使用時,若內部上拉電阻使能,則端口被外部電路拉低時將輸出電流。復位發(fā)生時端口 C 為三態(tài)。端口 D(PD7.PD0) 端口 D 為 8 位雙向 I/O 口,并具有可編程的內部上拉電阻。其輸出緩沖器具有對稱的驅動特性,可以輸出和吸收大電流。作為輸入使用時,若內部上拉電阻使能,則端口被外部電路拉低時將輸出電流。復位發(fā)生時端口 D 為三態(tài)。端口 E(PE7.PE0) 端口 E 為 8 位雙向 I/O 口,并具有可編程的內部上拉電阻。其輸出緩沖器具有對稱的驅動特性,可以輸出和吸收大電流。作為輸入使用時,若內部上拉電阻使能,則端口被外部電路拉低時將輸出電流。復位發(fā)生時端口 E 為三態(tài)。端口 E 也可以用做其他不同的特殊功能。端口F(PF7.PF0) 端口 F 為 ADC的模擬輸入引腳。如果不作為 ADC 的模擬輸入,端口 F 可以作為 8 位雙向 I/O 口,并具有可編程的內部上拉電阻。其輸出緩沖器具有對稱的驅動特性,可以輸出和吸收大電流。作為輸入使用時,若內部上拉電阻使能,則端口被外部電路拉低時將輸出電流。復位發(fā)生時端口 F為三態(tài)。如果使能了 JTAG 接口,則復位發(fā)生時引腳 PF7(TDI)、 PF5(TMS) 和 PF4(TCK) 的上拉電阻使能。端口 F 也可以作為 JTAG 接口。端口G(PG4.PG0) 端口 G 為 5 位雙向 I/O 口,并具有可編程的內部上拉電阻。其輸出緩沖器具有對稱的驅動特性,可以輸出和吸收大電流。作為輸入使用時,若內部上拉電阻使能,則端口被外部電路拉低時將輸出電流。復位發(fā)生時端口 G 為三態(tài)。端口 G 也可以用做其他不同的特殊功能。在 ATmega103 兼容模式下,端口 G 只能作為外部存儲器的所存信號以及 32 kHz 振蕩器的輸入,并且在復位時這些引腳初始化為 PG0 = 1, PG1 = 1 以及 PG2 = 0。 PG3 和PG4 是振蕩器引腳。RESET 復位輸入引腳。超過最小門限時間的低電平將引起系統(tǒng)復位。低于此時間的脈沖不能保證可靠復位。XTAL1 反向振蕩器放大器及片內時鐘操作電路的輸入。XTAL2 反向振蕩器放大器的輸出。AVCC AVCC為端口F以及ADC轉換器的電源,需要與VCC相連接,即使沒有使用ADC也應該如此。使用 ADC 時應該通過一個低通濾波器與 VCC 連接。AREF AREF 為 ADC 的模擬基準輸入引腳。PEN PEN是SPI串行下載的使能引腳。在上電復位時保持PEN為低電平將使器件進入SPI串行下載模式。在正常工作過程中 PEN 引腳沒有其他功能。2.2.3 單片機最小系統(tǒng)單片機系統(tǒng)的擴展是以基本最小系統(tǒng)為基礎的,故應首先熟悉應用應用系統(tǒng)的結構。單片機最小系統(tǒng)包括晶體振蕩電路、復位電路,其電路圖如圖2.5所示。圖2.6 單片機最小系統(tǒng)1.復位電路單片機復位的原理是在時鐘電路開始工作后,在單片機的RST引腳施加24個時鐘振蕩脈沖(即兩個機器周期)以上的高電平,單片機便可以實現(xiàn)復位。在復位期間,單片機的ALE引腳和PSEN引腳均輸出高電平。當RST引腳從高電平跳變?yōu)榈碗娖胶?,單片機便從0000H單元開始執(zhí)行程序。在實際應用中,一般采用既可以手動復位,又可以上電復位的電路,這樣可以人工復位單片機系統(tǒng),這種電路如圖2.5復位部分所示。上電復位電路部分的原理也是RC電路的充放電效應。除了系統(tǒng)上電的時候可以給RST引腳一個短暫的高電平信號外,當按下按鍵開關的時候,VCC通過一個高電阻連接到RST引腳,給RST一個高電平,按鍵松開的時候,RST引腳恢復為低電平,復位完成。2.晶振電路時鐘電路是用于產生單片機正常工作時所需要的時鐘信號。STC89C52單片機內部包含有一個振蕩器,可以用于CPU的時鐘源。另外也可以采用外部振蕩器,由外部振蕩器產生的時鐘信號來供內部CPU運行使用。(1)內部時鐘模式內部時鐘模式是采用單片機內部振蕩器來工作的模式。AVR系列單片機內部包含有一個高增益的單級反相放大器,引腳XTAL1和XTAL2分別為片內放大器的輸入端口和輸出端口,其工作頻率為033MHz。當單片機工作于內部時鐘模式的時候,只需在XTAL1引腳和XTAL2引腳連接一個晶體振蕩器或陶瓷振蕩器,并聯(lián)兩個電容后接地即可,如圖3-6所示。使用時對于電容的選擇有一定得要求,具體如下:A 當外接晶體振蕩器的時候,電容值一般選擇C1=C2=3010pF;B 當外接陶瓷振蕩器的時候,電容值一般選擇C1=C2=4010pF。在實際電路設計時,盡量保證外接的振蕩器和電容盡可能接近單片機的XTAL1和XTAL2引腳,這樣可以減少寄生電容的影響,使振蕩器能夠穩(wěn)定可靠地為單片機CPU提供時鐘信號。(2)外部時鐘模式外部時鐘模式是采用外部振蕩器產生時鐘信號,直接提供給單片機使用。對于不同的結構的單片機,外部時鐘信號接入的方式有所不同。對于普通的8051單片機,外部時鐘信號由XTAL2引腳接入后直接送到單片機內部的時鐘信號發(fā)生器,而引腳XTAL1則應直接接地。這里需要注意,由于XTAL2引腳的邏輯電平不是TTL信號,因此外接一個上拉電阻。根據(jù)實際應用,我們選擇內部時鐘電路,外接頻率16.000MHz的晶體振蕩器,選擇兩個電容值為30pF的陶瓷電容。2.3信息處理在單片機應用系統(tǒng)設計中,一般都是把鍵盤和顯示器放在一起考慮。顯示器作為輸出部件,可以將系統(tǒng)的運行結果、狀態(tài)等信息直觀地顯示出來供操作者了解系統(tǒng)的運行情況和程序的執(zhí)行結果。這里用到的12864是一種具有 4位/8 位并行、2線或 3線串行多種接口方式,內部含有國標一級、二級簡體中文字庫的點陣圖形液晶顯示模塊;其顯示分辨率為 12864, 內置8192 個16*16點漢字,和 128 個16*8點ASCII 字符集.利用該模塊靈活的接口方式和簡單、方便的操作指令,可構成全中文人機交互圖形界面??梢燥@示 84 行 1616 點陣的漢字. 也可完成圖形顯示.低電壓低功耗是其又一顯著特點。由該模塊構成的液晶顯示方案與同類型的圖形點陣液晶顯示模塊相比,不論硬件電路結構或顯示程序都要簡潔得多。基本特性: 低電源電壓(VDD:+3.0-+5.5V),顯示分辨率:12864點,內置漢字字庫,提供8192個1616點陣漢字(簡繁體可選),內置 128個168點陣字符,2MHZ時鐘頻率,顯示方式:STN、半透、正顯,驅動方式:1/32DUTY,1/5BIAS,視角方向:6點,背光方式:側部高亮白色LED,功耗僅為普通LED的 1/51/10 ,通訊方式:串行、并口可選,內置 DC-DC轉換電路,無需外加負壓,無需片選信號,簡化軟件設計,工作溫度: 0 - +55 ,存儲溫度: -20 - +60。12864硬件電路圖如下,采用標準的20腳接口,其中:第1腳:VSS為電源地第2腳:VDD接5V電源正極第3腳:V0為液晶顯示器對比度調整端,接正電源時對比度最弱,接地電源時對比度最高(對比度過高時會產生“鬼影”,使用時可以通過一個10K的電位器調整對比度)。第4腳:RS為寄存器選擇,高電平1時選擇數(shù)據(jù)寄存器、低電平0時選擇指令寄存器。第5腳:RW為讀寫信號線,高電平(1)時進行讀操作,低電平(0)時進行寫操作。第6腳:E(或EN)端為使能(enable)端。第7-14腳:D0-D7為8位雙向數(shù)據(jù)端。第15腳:串口,并口方式選擇。第16腳:NC。第17腳:復位,低電平有效。第18腳:LCD驅動電壓輸出端。第19,20腳:背光源。圖2.7 LCD顯示模塊液晶屏的控制時序可以參考液晶屏的手冊,但是需要注意幾點。欲在某一個位置顯示中文字符時,應先設定顯示字符位置,即先設定顯示地址,再寫入中文字符編碼。 顯示 ASCII 字符過程與顯示中文字符過程相同。不過在顯示連續(xù)字符時,只須設定一次顯示地址,由模塊自動對地址加 1指向下一個字符位置,否則,顯示的字符中將會有一個空 ASCII字符位置。 當字符編碼為 2 字節(jié)時,應先寫入高位字節(jié),再寫入低位字節(jié)。 模塊在接收指令前,向處理器必須先確認模塊內部處于非忙狀態(tài),即讀取 BF 標志時 BF 需為“0”,方可接受新的指令。如果在送出一個指令前不檢查BF標志,則在前一個指令和這個指令中間必須延遲一段較長的時間,即等待前一個指令確定執(zhí)行完成。指令執(zhí)行的時間請參考指令表中的指令執(zhí)行時間說明?!癛E”為基本指令集與擴充指令集的選擇控制位。當變更“RE”后,以后的指令集將維持在最后的狀態(tài),除非再次變更“RE”位,否則使用相同指令集時,無需每次均重設“RE”位。第3章軟件設計軟件設計包括單片機的初始化,LCD液晶顯示屏的初始化及字庫的定義,以及溫濕度采集協(xié)議的控制。3.1 系統(tǒng)初始化系統(tǒng)初始化主要包括IO口的初始化,以及各個寄存器的初始化。本設計IO口只用到A,C和E口,故只需對這三組端口的方向進行設置。uint year;uchar month,day,flag; DDRE|=BIT(2); PORTE&=BIT(2); /關閉LED PORTE&=BIT(2)/端口A初始化data_port_dir=0xff;data_port=0xff;control_port_dir=0xff;PORTC=0xff;/初始化 init_lcd();Key_init();TWI_Init(); PCF8563_Init();flag=AM2301_CollectIntData(&temperature,&humidity);3.2 LCD顯示首先要對LCD的字庫進行定義,把要顯示的字定義好放到一個數(shù)組里以備調用。然后對LCD顯示屏進行顯示的初始化。程序如下。void init_lcd(void) select_screen(11); /選中雙屏 s_ms(1000); clearscreen(11); /雙屏都清屏 wr_lcd(com,disp_off); wr_lcd(com,disp_on); /開一次關一次 /顯示第一行固定值:disp(10,1,1,shuzi2,0); /2disp(10,1,2,shuzi0,0);/0disp(10,1,3,nian,1); /年disp(01,1,1,yue,1); /月disp(01,1,3,ri,1); /日disp(01,1,4,smile,1);/顯示第二行固定值disp(10,2,2,yue,1); /月disp(01,2,2,xing,1);/星disp(01,2,3,qi,1); /期 /顯示第三行固定值disp(10,3,7,dot,0); /:disp(01,3,2,dot,0);/:/顯示第四行固定值disp(10,4,1,wen,1); /溫disp(10,4,2,du,1);/度disp(10,4,4,ssd,1);/ disp(01,4,1,shi,1); /濕disp(01,4,2,du,1);/度disp(01,4,4,bfh,1); /在主函數(shù)里的無限循環(huán)中,對要顯示的字符進行實時刷新。while(1) uchar th1,wendu_s,wendu_l,wendu_g,shidu_s,shidu_g; key_process();if(stop!=1) level=0;/推出level=100狀態(tài),否則不斷進入level100狀態(tài),導致不斷的重設時間 PCF8563_Updata_Time(); /顯示第一行:年月日 /disp(10,1,1,shuzi2,0); /2 /disp(10,1,2,shuzi0,0); /0 disp(10,1,3,shuzidate_display2,0);/年十位 disp(10,1,4,shuzidate_display3,0);/年個位 disp(10,1,7,shuzidate_display5,0);/月十位 disp(10,1,8,shuzidate_display6,0);/月個位 disp(01,1,3,shuzidate_display8,0);/日十位 disp(01,1,4,shuzidate_display9,0);/日個位 /顯示第二行:農歷、星期 year=2000+date_display2*10+date_display3; month=date_display5*10+date_display6; day=date_display8*10+date_display9; dispChinaCalendar(year,month,day); /顯示農歷 disp(01,2,4,monthcodeweek_display,1);/顯示星期 /顯示第三行:時:分:秒 disp(10,3,5,shuzitime_display0,0); /時十位 disp(10,3,6,shuzitime_display1,0); /時個位 disp(10,3,8,shuzitime_display3,0); /分十位 disp(01,3,1,shuzitime_display4,0); /分個位 disp(01,3,3,shuzitime_display6,0); /秒十位 disp(01,3,4,shuzitime_display7,0); /秒個位 /顯示第四行:溫度、濕度3.3 溫濕度采集溫濕度的采集由AM2301_CollectIntData(int *pvHumidity,int *pvTemperature)函數(shù)來完成,由于單片機一般不提供1-wire總線協(xié)議,故需要用IO口模擬單總線協(xié)議。模擬過程由AM2301_ReadByte(unsigned char *pvData)函數(shù)來實現(xiàn)。具體程序如下。uchar AM2301_CollectIntData(int *pvHumidity,int *pvTemperature)unsigned char lvReturn=1,lvCount;unsigned int lvTemp16=0;int lvTemp;unsigned char lvHumidityHigh=0; /濕度高位unsigned char lvHumidityLow=0; /濕度低位unsigned char lvTemperatureHigh=0; /溫度高位unsigned char lvTemperatureLow=0; /溫度低位unsigned char lvCheck=0; /校驗位/主機的操作SetDataBitOutput();SetDataBit();ClearDataBit(); /拉低總線delay16M_nus(190); /持續(xù)至少500us,現(xiàn)取600usSetDataBit(); /釋放總線/主機檢測叢機SetDataBitInput();delay16M_nus(1); /應延時20-40usif(TestDataBit()while(TestDataBit(); /等待響應信號delay16M_nus(1); /應延時20-40usif(!(TestDataBit() while(!(TestDataBit() ;/判斷叢機是否發(fā)送了80us的高電平信號while(TestDataBit(); /等待高電平結束AM2301_ReadByte(&lvHumidityHigh);AM2301_ReadByte(&lvHumidityLow);AM2301_ReadByte(&lvTemperatureHigh);AM2301_ReadByte(&lvTemperatureLow);
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年稅務籌劃技巧試題及答案
- 3 當沖突發(fā)生2023-2024學年四年級下冊道德與法治同步教學設計(統(tǒng)編版)
- 2025年中考化學第一輪復習訓練題 專題14 化學與生活(解析版)
- 財務橫向課題申報書
- 一年級語文上冊 識字(一)快樂讀書吧 讀書真快樂教學設計 新人教版
- 高效備戰(zhàn)證券從業(yè)資格試題及答案
- 茶藝課題申報書
- 從容應對項目管理考試的試題及答案
- 技能競賽 課題申報書
- 實驗室定期評估及其必要性試題及答案
- β內酰胺類抗菌藥物皮膚試驗指導原則(2021年版)解讀
- 生物技術概論(全套課件958P)
- 古代朝代的官職名稱及等級
- 第五版-FMEA-新版FMEA【第五版】
- 守株待兔兒童故事繪本PPT
- 《慢性病健康管理》教學大綱
- YY/T 0342-2002外科植入物 接骨板彎曲強度和剛度的測定
- 油罐及管道強度設計
- 第二講CIS的發(fā)展史
- Unit 6 The admirable Topic talk 課件-高中英語北師大版(2019)必修第二冊
- 四川省高等教育自學考試畢業(yè)生登記表【模板】
評論
0/150
提交評論