




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、基于51單片機的溫濕度及萬年歷設(shè)計 課程設(shè)計 儀器設(shè)計實驗課程設(shè)計名稱: 基于51單片機的溫濕度及萬年歷設(shè)計 專 業(yè) 班 級 : xxxxx 學(xué) 生 姓 名 : xxx 學(xué) 號 : xxxxxxxxx 組 員 :xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 指 導(dǎo) 教 師 : xxxxxxx 課程設(shè)計地點: xxxxxxxxx 課程設(shè)計時間: xxxxxxxxxxxxxxxxx 目錄1 系統(tǒng)概述11.1 電子萬年歷發(fā)展背景11.2 電子萬年歷的特點11.3 電子萬年歷的發(fā)展現(xiàn)狀12 方案論證22.1 單片機芯片的選擇方案和論證22.2 顯示模塊的選擇方案和論證22.3 時
2、鐘芯片的選擇方案和論證32.4 溫濕度傳感器的選擇方案和論證43硬件設(shè)計53.1 系統(tǒng)功能模塊劃分53.2 各單元模塊功能分析及模塊電路設(shè)計63.2.1 時鐘模塊63.2.2 溫濕度模塊73.2.3 顯示模塊83.2.4 獨立鍵盤模塊144 軟件設(shè)計144.1 萬年歷軟件系統(tǒng)的流程圖154.2 溫濕度信息的采集164.3 時鐘的讀取174.3.1 DS1302控制字節(jié)的說明174.3.2 DS1302時間日期寄存器及相應(yīng)位定義184.3.3 DS1302數(shù)據(jù)的輸入和輸出184.4 溫度的顯示控制195 系統(tǒng)調(diào)試201 系統(tǒng)概述1.1 電子萬年歷發(fā)展背景隨著電子技術(shù)的發(fā)展,人類不斷研究,不斷創(chuàng)新
3、紀錄。萬年歷目前已經(jīng)不再局限于以書本形式出現(xiàn)。以電腦軟件或者電子產(chǎn)品形式出現(xiàn)的萬年歷被稱為電子萬年歷。與傳統(tǒng)書本形式的萬年歷相比,電子萬年歷得到了越來越廣泛的應(yīng)用,采用電子時鐘作為時間顯示已經(jīng)成為一種時尚。目前市場上各式各樣的電子時鐘數(shù)不勝數(shù),但多數(shù)是只針對時間顯示,功能單一不能滿足人們?nèi)粘I钚枨蟆?.2 電子萬年歷的特點電子萬年歷顯示功能,包括公歷年、月、日,時間、溫度、濕度、星期、農(nóng)歷等等;附帶功能有:定時鬧鈴、以及按鈕是否可以正常調(diào)動。本文提出了一種基于89c51單片機的萬年歷設(shè)計方案,采用12864液晶顯示。本方案以89c51單片機作為主控核心,與時鐘芯片DS1302、溫濕度傳感器芯
4、片DHT11、LCD12864顯示等模塊組成硬件系統(tǒng)。在硬件系統(tǒng)中設(shè)有3個獨立按鍵和一個LCD顯示器,能顯示豐富的信息,根據(jù)使用者的需要可以隨時對時間進行校準、時間、溫濕度顯示等,綜上所述此萬年歷具有讀取方便、顯示直觀、功能多樣、電路簡潔、成本低廉等諸多優(yōu)點,符合電子儀器儀表的發(fā)展趨勢,具有廣闊的市場前景。1.3 電子萬年歷的發(fā)展現(xiàn)狀隨著電子技術(shù)的迅速發(fā)展,特別是隨大規(guī)模集成電路出現(xiàn),給人類生活帶來了根本性的改變。尤其是單片機技術(shù)的應(yīng)用產(chǎn)品已經(jīng)走進了千家萬戶。電子萬年歷的出現(xiàn)給人們的生活帶來的諸多方便。市場上有許多電子萬年歷的專用芯片,如:LM8363、LM8365等,但它們0功能單一,電路連
5、接復(fù)雜,不便于調(diào)試制作。因此本系統(tǒng)采用了以89c51單片機技術(shù)為核心,配合DHT11溫濕度測量模塊,DS1302時鐘模塊,LCD顯示模塊,鍵盤模塊使該設(shè)計具有現(xiàn)實功能齊全,人機交互,節(jié)能的特點。 隨著單片機的發(fā)展,電子萬年歷呈現(xiàn)了微型化 ,功能豐富化的趨勢,而且價格在不斷下降,考慮到資源問題,現(xiàn)在的設(shè)計設(shè)計的萬年歷都采用了節(jié)能設(shè)計方案,萬年歷對人們的生活有著十分重要的作用,所以電子萬年歷還是有很大的發(fā)展前景的。2 方案論證2.1 單片機芯片的選擇方案和論證采用89C52芯片作為硬件核心,89C52是一種帶8K字節(jié)閃爍可編程可擦除只讀存儲器,采用Flash ROM,內(nèi)部具有8KB ROM 存儲空
6、間,3個16位定時器、5個中斷源(兩個中斷優(yōu)先級),能于3V的超低壓工作,而且與MCS-51系列單片機完全兼容,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,89C52是一種高效微控制器,51單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案,片上資源已經(jīng)足夠進行該方案的效設(shè)計,且該芯片簡單易懂,與所學(xué)課程緊密聯(lián)系,也可對所學(xué)知識進行簡單的復(fù)習(xí)加深掌握,故選用該芯片進行系統(tǒng)方案的設(shè)計。2.2 顯示模塊的選擇方案和論證方案一:中文字庫的LCD12864是一種具有4位/8位并行、2線或3線串行多種接口方式,內(nèi)部含有國標一級、二級簡體中文字
7、庫的點陣圖形液晶顯示模塊;其顯示分辨率為128×64, 內(nèi)置8192個16*16點漢字,和128個16*8點ASCII字符集。利用該模塊靈活的接口方式和簡單、方便的操作指令,可構(gòu)成全中文人機交互圖形界面??梢燥@示8×4行16×16點陣的漢字,也可完成圖形顯示,低電壓2低功耗是其又一顯著特點。由該模塊構(gòu)成的液晶顯示方案與同類型的圖形點陣液晶顯示模塊相比,不論硬件電路結(jié)構(gòu)或顯示程序都要簡潔得多,且該模塊的價格也略低于相同點陣的圖形液晶模塊。萬年歷要求顯示年月日、時分秒、星期、和農(nóng)歷。LCD12864液晶可以完成設(shè)計的要求 。方案二:系統(tǒng)采用LED顯示。LED應(yīng)用可分為
8、兩大類:一是LED單管應(yīng)用,包括背光源LED,紅外線LED等;另外就是LED顯示屏,目前,中國在LED基礎(chǔ)材料制造方面與國際還存在著一定的差距,但就LED顯示屏而言,中國的設(shè)計和生產(chǎn)技術(shù)水平基本與國際同步。LED顯示屏是由發(fā)光二極管排列組成的顯示器件。它采用低電壓掃描驅(qū)動,具有:耗電少、使用壽命長、成本低、亮度高、故障少、視角大、可視距離遠等特點。采用LED數(shù)碼管動態(tài)掃描.價格上比較經(jīng)濟實惠,但不能顯示文字,性價比不是很高,操作起來比較液晶顯示來說略顯繁瑣,所以也不用此種作為顯示。經(jīng)過綜合比較最終選擇方案一,即選擇LCD12864液晶顯示屏。2.3 時鐘芯片的選擇方案和論證方案一:采用單片機定
9、時。單片機集成度高、功能強、可靠性高、體積小、功耗低、使用方便、價格低廉等一系列優(yōu)點,單片機的應(yīng)用領(lǐng)域已從面向工業(yè)控制、通訊、交通、智能儀表等迅速發(fā)展到家用消費產(chǎn)品、辦公自動化、汽車電子、PC機外圍以及網(wǎng)絡(luò)通訊等廣大領(lǐng)域。直接采用單片機定時計數(shù)器提供秒信號,計數(shù)的脈沖由外部提供,定時的脈沖由外部晶振提供,定時加1的周期為一個機器周期;定時時間與初值和晶振頻率有關(guān)。使用程序?qū)崿F(xiàn)年、月、日、星期、時、分、秒計數(shù)。采用此種方案減少芯片的使用,節(jié)約成本,但程序復(fù)雜度較高。方案二:采用DS1302時鐘芯片。DS1302 是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實時時鐘電路,它可以對年、
10、月、日、星期、時、分、秒進行計時,具有閏年補償功能,工作電壓為2.5V5.5V。采用雙電源供電(主電源和備用電源),可設(shè)置備用電源充電方式,提供了對后背電源進行涓細電流充電的能力。DS1302用于數(shù)據(jù)記錄,特別是對某些具有特殊意義的數(shù)據(jù)點的記錄上,能實現(xiàn)數(shù)據(jù)與出現(xiàn)該數(shù)據(jù)的時間同時記錄,因此廣泛應(yīng)用于測量系統(tǒng)中。采用三線接口與CPU進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。DS1302內(nèi)部有一個31×8的用于臨時性存放數(shù)據(jù)的RAM寄存器。采用DS1302只需要寫出驅(qū)動程序,調(diào)用程序讀出寄存器內(nèi)數(shù)據(jù)經(jīng)過簡單的變換就可以輸出萬年歷的數(shù)據(jù)。經(jīng)過綜合比較最終選擇方案
11、二,即采用DS1302時鐘芯片。2.4 溫濕度傳感器的選擇方案和論證方案一:采用熱敏電阻作為溫度傳感器。熱敏電阻是開發(fā)早、種類多、發(fā)展較成熟的敏感元器件。熱敏電阻由半導(dǎo)體陶瓷材料組成,利用的原理是溫度引起電阻變化。使用熱敏電阻作為傳感器,用熱敏電阻與一個相應(yīng)阻值電阻相串聯(lián)分壓,利用熱敏電阻阻值隨溫度變化而變化的特性,采集這兩個電阻變化的分壓值,并進行A/D轉(zhuǎn)換。此設(shè)計方案需用A/D轉(zhuǎn)換電路,增加硬件成本而且熱敏電阻的感溫特性曲線并不是嚴格線性的,會產(chǎn)生較大的測量誤差。方案二:采用DS18B20溫度傳感器。在應(yīng)用與高精度、高可靠性的場合時DALLAS(達拉斯)公司生產(chǎn)的DS18B20溫度傳感器當(dāng)
12、仁不讓。超小的體積,超低的硬件開消,抗干擾能力強,精度高,附加功能強,使得DS18B20更受歡迎。示信息經(jīng)過單線接口送入DS18B20或從DS18B20送出,因此從單片機到DS18B20僅需一條線連接即可。它可在1秒鐘(典型值)內(nèi)把溫度變換成數(shù)字方案三:采用DHT11數(shù)字溫濕度傳感器。產(chǎn)品概述DHT11數(shù)字溫濕度傳感器是一款含有已校準數(shù)字信號輸出的溫濕度復(fù)合傳感器。它應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品具有極高的可靠性與卓越的長期穩(wěn)定性傳感器包括一個電阻式感濕元件和一個NTC測溫元件,并與一個高性能8位單片機相連接。每個DHT11傳感器都在極為精確的濕度校驗室中進行校準。校準系
13、數(shù)以程序的形式儲存在OTP內(nèi)存中,傳感器內(nèi)部在檢測信號的處理過程中要調(diào)用這些校準系數(shù)。單線制串行接口,使系統(tǒng)集成變得簡易快捷。超小的體積、極低的功耗,信號傳輸距離可達20米以上,使其成為各類應(yīng)用甚至最為苛刻的應(yīng)用場合的最佳選擇。經(jīng)過綜合比較最終選擇方案三,即采用DHT11溫濕度傳感器。3硬件設(shè)計3.1 系統(tǒng)功能模塊劃分根據(jù)系統(tǒng)功能要求,可大致畫出系統(tǒng)所需硬件結(jié)構(gòu)框圖如圖3-1所示: LCD12964液晶顯示按鍵時間調(diào)整模塊 STC89C52RCDHT11溫濕度采集模塊DS1302時鐘模塊 圖 3.1 系統(tǒng)原理方框圖主控模塊采用性價比較高的STC189c52單片機芯片,可通過程序的運行控制溫濕度
14、測量模塊DHT11進行溫濕的數(shù)據(jù)采集,而所測得的溫濕度和時鐘芯片測得的實時日歷將通過顯示模塊的液晶顯示器以數(shù)字形式顯示;單片機調(diào)用程序,讀取DS1302內(nèi)寄存器,可以得到萬年歷的時間數(shù)據(jù),經(jīng)過程序處理就可以輸出在LCD上;鍵盤電路可對實時日歷進行調(diào)整。3.2 各單元模塊功能分析及模塊電路設(shè)計3.2.1 時鐘模塊 DS1302的工作原理和單片機的接口:DS1302為美國DALLAS公司的一種實時時鐘芯片,主要特點是采用串行數(shù)據(jù)傳輸,可為掉電保護電源提供可編程的充電功能,并且可以關(guān)閉充電功能。采用32.768Hz晶振。它可以對年、月、日、星期、時、分、秒進行計時,且具有閏年補償?shù)榷喾N功能。DS13
15、02 用于數(shù)據(jù)記錄,特別是對某些具有特殊意義的數(shù)據(jù)點的記錄上,能實現(xiàn)數(shù)據(jù)與出現(xiàn)該數(shù)據(jù)的時間同時記錄。這種記錄對長時間的連續(xù)測控系統(tǒng)結(jié)果的分析以及對異常數(shù)據(jù)出現(xiàn)的原因的查找有重要意義。在本設(shè)計中,它的實際電路圖如圖3-2所示:圖3-2 DS1302與單片機的連接DS1302需要外接32.768K的晶振,1號引腳接主電源VCC(5V)電源,8號引腳接備用電池(3V),當(dāng)主電源掉電后,備用電源為DS1302提供電源,維持DS1302內(nèi)數(shù)據(jù)不丟失,這正是時鐘芯片所必須的特性。3.2.2 溫濕度模塊傳統(tǒng)的溫度傳感器系統(tǒng)大都采用放大、調(diào)理、A/D轉(zhuǎn)換,轉(zhuǎn)換后的數(shù)字信號送入計算機處理,處理電路復(fù)雜、可靠性相
16、對較差,占用計算機的資源比較多,本設(shè)計測溫模塊采用數(shù)字溫濕度傳感器DHT11,可將溫濕度信號直接轉(zhuǎn)換成數(shù)字信號送給微處理器,電路簡單,成本低,其電路原理圖如圖3-3所示:圖3-3 DHT11溫濕度模塊DHT11的供電電壓為35.5V。傳感器上電后,要等待 1s 以越過不穩(wěn)定狀態(tài)在此期間無需發(fā)送任何指令。電源引腳(VDD,GND)之間可增加一個100nF 的電容,用以去耦濾波。DATA 用于微處理器與 DHT11之間的通訊和同步,采用單總線數(shù)據(jù)格式,一次通訊時間4ms左右,數(shù)據(jù)分小數(shù)部分和整數(shù)部分,具體格式在下面說明,當(dāng)前小數(shù)部分用于以后擴展,現(xiàn)讀出為零.操作流程如下:一次完整的數(shù)據(jù)傳輸為40b
17、it,高位先出。數(shù)據(jù)格式:8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bi溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù) +8bit校驗和數(shù)據(jù)傳送正確時校驗和數(shù)據(jù)等于“8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bi溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)”所得結(jié)果的末8位。用戶MCU發(fā)送一次開始信號后,DHT11從低功耗模式轉(zhuǎn)換到高速模式,等待主機開始信號結(jié)束后,DHT11發(fā)送響應(yīng)信號,送出40bit的數(shù)據(jù),并觸發(fā)一次信號采集,用戶可選擇讀取部分數(shù)據(jù).從模式下,DHT11接收到開始信號觸發(fā)一次溫濕度采集,如果沒有接收到主機發(fā)送開始信號,DHT11不會主動進行溫濕度采集.采集數(shù)據(jù)后轉(zhuǎn)換到低速模式。3.2.3
18、 顯示模塊本設(shè)計顯示模塊主要采用LCD12864液晶顯示器,其電路原理圖如下:圖3-5 LCD12864模塊LCD12864液晶顯示器通過數(shù)據(jù)端口也即端口714與主控芯片STC12C5A60S2的I/O端口P2相連接實現(xiàn)數(shù)據(jù)與指令的傳輸,再通過控制端口RS、RW、EN也即端口46與主控芯片P3.6,P3.7,P4.0端口相接實現(xiàn)對數(shù)據(jù)和指令傳輸?shù)目刂?。顯示模塊采用12864液晶顯示器可實現(xiàn)對溫度和時間的直接顯示,清晰明了。帶中文字庫的LCD12864是一種具有4位/8位并行、2線或3線串行多種接口方式,內(nèi)部含有國標一級、二級簡體中文字庫的點陣圖形液晶顯示模塊其顯示分辨率為128×6
19、4, 內(nèi)置8192個16*16點漢字和128個16*8 點ASCII字符集。利用該模塊靈活的接口方式和簡單、方便的操作指令,可構(gòu)成全中文人機交互圖形界面。可以顯示8×4行16×16點陣的漢字,也可完成圖形顯示。低電壓低功耗是其又一顯著特點。由該模塊構(gòu)成的液晶顯示方案與同類型的圖形點陣液晶顯示模塊相比,不論硬件電路結(jié)構(gòu)或顯示程序都要簡得多,且該模塊的價格也略低于相同點陣的圖形液晶模塊。1模塊管腳是連接外部電路的紐帶 ,在此模塊中管腳主要由控制管腳和數(shù)據(jù)管腳等構(gòu)成,現(xiàn)將其組成情況及相關(guān)功能介紹如下:表3-1 12864液晶模塊接口說明管腳號管腳名稱電平管腳功能描述1VSS0V電
20、源地2VCC3.0V/5V電源正3V0 -對比度(亮度)調(diào)整4RS(CS)H/LRS=“H”,表示DB7DB0為顯示數(shù)據(jù) RS=“L”,表示DB7DB0為顯示指令數(shù)據(jù)5R/WH/LR/W=“H”,E=“H”,數(shù)據(jù)被讀到DB7DB0 R/W=“L”,E=“HL”, DB7DB0的數(shù)據(jù)被寫到IR或DR6E(SCLK)H/L使能信號714DB0DB7H/L 三態(tài)數(shù)據(jù)線15PSBH/LH:8位或4位并口方式,L:串口方式16NC - 空腳17RESETH/L復(fù)位端,低電平有效18VOUT - LCD驅(qū)動電壓輸出端19AVDD背光源正端20KVSS背光源負端2控制器控制著模塊內(nèi)部指令的發(fā)出與否,存儲器則
21、對指令和數(shù)據(jù)進行存儲與更換,現(xiàn)將分別介紹控制器各接口及各存儲器的功能。1) RS,R/W的配合選擇決定控制界面的4種模式表3-2 RS,R/W配合功能說明RSR/W功能說明LLMPU寫指令到指令暫存器(IR)LH讀出忙標志(BF)及地址記數(shù)器(AC)的狀態(tài)HLMPU寫入數(shù)據(jù)到數(shù)據(jù)暫存器(DR)HHMPU從數(shù)據(jù)暫存器(DR)中讀出數(shù)據(jù)2) E信號表3-3 E信號功能說明E狀態(tài)執(zhí)行動作結(jié)果高>低I/O緩沖>DR配合/W進行寫數(shù)據(jù)或指令高DR>I/O緩沖配合R進行讀數(shù)據(jù)或指令低/低>高無動作顯示數(shù)據(jù)RAM(DDRAM ):模塊內(nèi)部顯示數(shù)據(jù)RAM提供64×2個位元組的
22、空間,最多可控制4行各16字的中文字型顯示,當(dāng)寫入顯示數(shù)據(jù)RAM時,可分別顯示CGROM與CGRAM 的字型;此模塊可顯示三種字型,分別是半角英數(shù)字型(16*8)、CGRAM 字型及CGROM的中文字型。三種字型的選擇,由在DDRAM中寫入的編碼選擇,在0000H0006H的編碼中將選擇CGRAM的自定義字型,02H7FH的編碼中將選擇半角英數(shù)字的字型,至于A1以上的編碼將自動的結(jié)合下一個位元組,組成兩個位元組編碼形成中文字型的編碼。字型產(chǎn)生 RAM(CGRAM):字型產(chǎn)生RAM提供圖象定義(造字)功能,可以提供四組 16×16點的自定義圖象空間,使用者可以將內(nèi)部字型沒有提供的圖象字
23、型自行定義到CGRAM中,便可和CGROM中的定義一樣地通過DDRAM顯示在屏幕中。地址計數(shù)器AC: 地址計數(shù)器是用來貯存DDRAM/CGRAM 之一的地址,可由設(shè)定指令暫存器來改變,之后只要讀取或?qū)懭隓DRAM/CGRAM的值時,地址計數(shù)器的值就會自動加一。當(dāng)RS =0且R/W=1時,地址計數(shù)器的值會被讀取到DB6DB0中。光標/閃爍控制電路:此模塊提供硬體光標及閃爍控制電路,由地址計數(shù)器的值來指定DDRAM中的光標或閃爍位置。3模塊控制芯片提供兩套控制指令:基本指令和擴充指令,這些由各控制端口和寄存器組合而成的指令可對液晶顯示器自身模式、狀態(tài)、功能等進行設(shè)置,也可控制與其他芯片進行數(shù)據(jù)和指
24、令的通信。其指令分別如下:表3-4 基本指令集(RE=0)指令指 令 碼功 能RSR/WD7D6D5D4D3D2D1D0清除顯示0000000001將DDRAM填滿"20H",并且設(shè)定DDRAM的地址計數(shù)器(AC)到"00H"地址歸位000000001X設(shè)定DDRAM的地址計數(shù)器(AC)到"00H",并且將游標移到開頭原點位置;這個指令不改變DDRAM 的內(nèi)容顯示狀態(tài)開/關(guān)0000001DCBD=1: 整體顯示 ONC=1: 游標ONB=1:游標位置反白允許進入點設(shè)定00000001I/DS指定在數(shù)據(jù)的讀取與寫入時,設(shè)定游標的移動方向
25、及指定顯示的移位游標或顯示移位控制000001S/CR/LXX設(shè)定游標的移動與顯示的移位控制位;這個指令不改變DDRAM 的內(nèi)容功能設(shè)定00001DLXREXXDL=0/1:4/8位數(shù)據(jù)RE=1: 擴充指令操作RE=0: 基本指令操作設(shè)定CGRAM地址0001AC5AC4AC3AC2AC1AC0設(shè)定CGRAM 地址設(shè)定DDRAM地址0010AC5AC4AC3AC2AC1AC0設(shè)定DDRAM 地址(顯示位址)第一行:80H87H第二行:90H97H讀取忙標志和地址01BFAC6AC5AC4AC3AC2AC1AC0讀取忙標志(BF)可以確認內(nèi)部動作是否完成,同時可以讀出地址計數(shù)器(AC)的值寫數(shù)據(jù)
26、到RAM10數(shù)據(jù)將數(shù)據(jù)D7D0寫入到內(nèi)部的RAM (DDRAM/CGRAM/IRAM/GRAM)讀出RAM的值11數(shù)據(jù)從內(nèi)部RAM讀取數(shù)據(jù)D7D0(DDRAM/CGRAM/IRAM/GRAM表3-5 擴展指令集(RE=1)指令指 令 碼功 能RSR/WD7D6D5D4D3D2D1D0待命模式0000000001進入待命模式,執(zhí)行其他指令都棵終止待命模式卷動地址開關(guān)開啟000000001SRSR=1:允許輸入垂直卷動地址SR=0:允許輸入IRAM和CGRAM地址反白選擇00000001R1R0選擇2行中的任一行作反白顯示,并可決定反白與否。初始值R1R000,第一次設(shè)定為反白顯示,再次設(shè)定變回正
27、常睡眠模式0000001SLXXSL=0:進入睡眠模式SL=1:脫離睡眠模式擴充功能設(shè)定00001CLXREG0CL=0/1:4/8位數(shù)據(jù)RE=1: 擴充指令操作RE=0: 基本指令操作G=1/0:繪圖開關(guān)設(shè)定繪圖RAM地址0010AC60AC50AC4AC3AC3AC2AC2AC1AC1AC0AC0設(shè)定繪圖RAM先設(shè)定垂直(列)地址AC6AC5AC0再設(shè)定水平(行)地址AC3AC2AC1AC0將以上16位地址連續(xù)寫入即可當(dāng)IC1在接受指令前,微處理器先確認其內(nèi)部處于非忙碌狀態(tài),即讀取BF標志時,BF需為零方可接受新的指令;如果在送出一個指令前不檢查BF標志,那么在前一個指令和這個指令中間必須
28、延長一段較長的時間,即等待前一個指令確實執(zhí)行完成。412864液晶顯示器不僅可以顯示字符同時也可以圖形,因此可以滿足不同使用者更多的要求,如顯示一幅圖畫或者一個曲線圖等。使用者在使用時便可根據(jù)自身需求進行不同的顯示。1)字符顯示:帶中文字庫的128X64-0402B每屏可顯示4行8列共32個16×16點陣的漢字,每個顯示RAM可顯示1個中文字符或2個16×8點陣全高ASCII碼字符,即每屏最多可實現(xiàn)32個中文字符或64個ASCII碼字符的顯示。帶中文字庫的128X64-0402B內(nèi)部提供128×2字節(jié)的字符顯示RAM緩沖區(qū)(DDRAM)。字符顯示是通過將字符顯示編
29、碼寫入該字符顯示RAM實現(xiàn)的。根據(jù)寫入內(nèi)容的不同,可分別在液晶屏上顯示CGROM(中文字庫)、HCGROM(ASCII碼字庫)及 CGRAM(自定義字形)的內(nèi)容。三種不同字符/字型的選擇編碼范圍為:00000006H (其代碼分別是0000、0002、0004、0006 共4 個)顯示自定義字型,02H7FH 顯示半寬ASCII 碼字符,A1A0HF7FFH 顯示8192 種GB2312中文字庫字形。字符顯示RAM 在液晶模塊中的地址80H9FH。字符顯示的RAM的地址與32個字符顯示區(qū)域有著一一對應(yīng)的關(guān)系,其對應(yīng)關(guān)系如下表所示:表3-6 字符RAM與顯示區(qū)域?qū)?yīng)關(guān)系80H81H82H83H8
30、4H85H86H87H90H91H92H93H94H95H96H97H88H89H8AH8BH8CH8DH8EH8FH98H99H9AH9BH9CH9DH9EH9FH2)圖形顯示:先設(shè)垂直地址再設(shè)水平地址(連續(xù)寫入兩個字節(jié)的資料來完成垂直與水平的坐標地址)。垂直地址范圍AC5.AC0,水平地址范圍AC3.AC0。繪圖RAM的地址計數(shù)器(AC)只會對水平地址(X軸) 自動加一,當(dāng)水平地址=0FH時會重新設(shè)為00H但并不會對垂直地址做進位自動加一,故當(dāng)連續(xù)寫入多筆資料時,程序需自行判斷垂直地址是否需要重新設(shè)定。GDRAM的坐標地址與資料排列順序如下圖: 圖3-6 GDRAM的坐標地址與資料排列順序
31、3.2.4 獨立鍵盤模塊鍵盤是人與萬年歷實現(xiàn)信息交互的接口,本設(shè)計中,我們采用3個獨立鍵盤,電路原理如下圖3-7:圖3.8 按鍵模塊考慮到系統(tǒng)的簡潔性,所以采用最少的按鍵來實現(xiàn)時間的全部調(diào)整功能,如上圖所示按鍵key1來實現(xiàn)功能選擇,根據(jù)按下的次數(shù)不同來分別實現(xiàn)年、月、日、周、時、分、秒、星期的選擇和暫停,開始。key2根據(jù)選擇來進行該位上的加1功能,同理key3來實現(xiàn)減1功能。按鍵的引入使萬年歷顯得更加人性化,智能化。4 軟件設(shè)計在系統(tǒng)軟件設(shè)計中,我們使用了Keil Vision3,它是2006年1月30日ARM推出全新的針對各種嵌入式處理器的軟件開發(fā)工具,集成Keil Vision3的Re
32、alView MDK開發(fā)環(huán)境。 RealView MDK開發(fā)工具KeilVision3源自Keil公司。 RealView MDK集成了業(yè)內(nèi)領(lǐng)先的技術(shù),包括Keil Vision3集成開發(fā)環(huán)境與RealView編譯器。Keil C51生成的目標代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢,所以我們選擇該軟件來開發(fā)我們的萬年歷程序。4.1 萬年歷軟件系統(tǒng)的流程圖等待進行下一組數(shù)據(jù)液晶LCD12864初始化顯示一張圖片開始溫濕度傳感器DHT11初始化時鐘芯片DS1302初始化是否與單片機取得通信等待與單片機進行通信對12864寫指令,寫數(shù)據(jù) 否向
33、芯片寫入時間 進行溫濕度數(shù)據(jù)的轉(zhuǎn)換進行數(shù)據(jù)校驗依次接收溫濕度數(shù)據(jù) 對時是12864進行顯示(顯示溫濕度及當(dāng)前的日期與時間)進行延時大約5s是時間處理顯示掃描按鍵等待按鍵按下繼續(xù)掃描按鍵等待按鍵按下 否重新對時并顯示通過上下鍵進行日期調(diào)整時鐘時間停止并判斷當(dāng)前需要調(diào)整的時間位置是當(dāng)接通電源開始工作后,單片機中的程序開始運行,將對DHT11進行初始化,以便和單片機芯片達成通信協(xié)議。完成初始化后,啟動溫濕度測量程序,測量過程完成后,發(fā)出溫濕度度轉(zhuǎn)換指令,從而便可將溫濕度轉(zhuǎn)化成數(shù)字模式進行顯示讀??;同時DS1302將讀取時分秒星期以及年月日寄存器然后通過液晶顯示實時時間、星期及日期;鍵盤電路中按鍵可對
34、實時日歷時鐘進行調(diào)整。4.2 溫濕度信息的采集1.通訊過程如圖1所示圖1總線空閑狀態(tài)為高電平,主機把總線拉低等待DHT11響應(yīng),主機把總線拉低必須大于18毫秒,保證DHT11能檢測到起始信號。DHT11接收到主機的開始信號后,等待主機開始信號結(jié)束,然后發(fā)送80us低電平響應(yīng)信號.主機發(fā)送開始信號結(jié)束后,延時等待20-40us后, 讀取DHT11的響應(yīng)信號,主機發(fā)送開始信號后,可以切換到輸入模式,或者輸出高電平均可, 總線由上拉電阻拉高。總線為低電平,說明DHT11發(fā)送響應(yīng)信號,DHT11發(fā)送響應(yīng)信號后,再把總線拉高80us,準備發(fā)送數(shù)據(jù),每一bit數(shù)據(jù)都以50us低電平時隙開始,高電平的長短定
35、了數(shù)據(jù)位是0還是1.格式見下面圖示.如果讀取響應(yīng)信號為高電平,則DHT11沒有響應(yīng),請檢查線路是否連接正常.當(dāng)最后一bit數(shù)據(jù)傳送完畢后,DHT11拉低總線50us,隨后總線由上拉電阻拉高進入空閑狀態(tài)。數(shù)字0信號表示方法如圖3所示 圖3數(shù)字1信號表示方法.如圖4所示 圖44.3 時鐘的讀取4.3.1 DS1302控制字節(jié)的說明 控制字節(jié)的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入到DS1302 中位6 如果為0,則表示存取日歷時鐘數(shù)據(jù),為1 表示存取RAM數(shù)據(jù);位至位1 指示操作單元的地址;最低有效位(位0)如為0 表示要進行寫操作,為1 表示進行讀操作,控制字節(jié)總是從最低位
36、開始輸出。 圖4-5 DS1302控制字節(jié)4.3.2 DS1302時間日期寄存器及相應(yīng)位定義表4-1為DS1302時間寄存器信息:表4-1 DS1302時間日期寄存器 4.3.3 DS1302數(shù)據(jù)的輸入和輸出在控制指令字輸入后的下一個SCLK 時鐘的上升沿時數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從低位即位0 開始。同樣,在緊跟8 位的控制指令字后的下一個SCLK 脈沖的下降沿讀出DS1302 的數(shù)據(jù),讀出數(shù)據(jù)時從低位0 位至高位7。圖4-6 DS1302的時序4.4 溫度的顯示控制當(dāng)所測的溫濕度輸送到單片機上之后,下一步就是要將其在液晶顯示器上顯示出來。首先對液晶進行初始化,液晶顯示器12864的初
37、始化過程如下:先將復(fù)位引腳置高位即RST=1、數(shù)據(jù)傳輸方式設(shè)為并口方式即PSB=1(在設(shè)計中,我們將LCD的該引腳接VCC),然后將指令集調(diào)到基本指令集上來即寫指令30H,再將顯示打開、關(guān)光標、清除液晶里先前的顯示內(nèi)容即分別寫指令0CH、01H,寫指令時需分別延時5ms。然后就是數(shù)據(jù)的傳送過程,要使數(shù)據(jù)在液晶顯示器上顯示必須要按照其讀寫操作時序來進行,其讀、寫操作時序圖為:寫操作時序: 圖4-8 12864 液晶顯示器寫時序圖讀操作時序: 圖4-9 12864液晶顯示器讀時序圖5 系統(tǒng)調(diào)試在硬件電路焊接和軟件程序設(shè)計分別完成的基礎(chǔ)之上,進行軟硬件的結(jié)合與調(diào)試。通過下載將在電腦上已完成的程序下載
38、到單片機芯片中。在調(diào)試中發(fā)現(xiàn)軟件中存在的問題,及時解決問題,確保系統(tǒng)能正常工作并達到設(shè)計要求。通過反復(fù)的調(diào)試與實驗,可以證明該系統(tǒng)能夠較好地完成設(shè)計所需的基本要求。即能夠正確的顯示萬年歷。在設(shè)計中,因為考慮到鬧鐘定時功能,我們希望我們設(shè)置的鬧鐘時刻不會因為系統(tǒng)的掉電而丟失,考慮到DS1302是有鋰電池作為電源的,不會因為主系統(tǒng)掉電丟失內(nèi)部數(shù)據(jù),所以我們將鬧鐘的定時時刻放到了DS1302內(nèi)的空余寄存器里面,像這些靈活的技巧就需要我們認真的閱讀元件的數(shù)據(jù)手冊,從中索取對自己有用的信息。經(jīng)過萬年歷的設(shè)計,讓我學(xué)到了很多,讓我認識到了學(xué)習(xí)基礎(chǔ)知識的重要性,當(dāng)設(shè)計完整的系統(tǒng)時,要考慮到硬件和軟件兩者的結(jié)
39、合,有時硬件的不足,我們可以用軟件程序來彌補,從而節(jié)約硬件成本,在設(shè)計軟件程序時要模塊化,可以提高程序的可讀性。能會發(fā)生因為意見不同而又爭執(zhí)的情況,但是我們都是為了把本次設(shè)計做好,所以最后都能很好的解決這些問題。參考文獻1 江志紅.51單片機技術(shù)與應(yīng)用系統(tǒng)開發(fā)案例精選.北京:清華大學(xué)出版社,20092 譚浩強.C語言程序設(shè)計.北京:清華大學(xué)出版社,20063 白延敏.51單片機典型系統(tǒng)開發(fā)實例精講.北京:電子工業(yè)出版社,20094 王為青,程國鋼.單片機Keil C×51應(yīng)用開發(fā)技術(shù).北京:人民郵電出版社,20075 周麗娜.Protel99SE電路設(shè)計技術(shù).北京:中國鐵道出版社,2
40、0096 劉坤,宋戈,趙紅波等.51單片機C語言應(yīng)用技術(shù)開發(fā)技術(shù)大全.北京:人民郵電出版社,2008 附錄: 正常顯示是采集溫濕度顯示及萬年歷顯示(第一行可顯示任意漢字)設(shè)計程序如下:#include<reg52.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned int uchar x,y; /清屏?xí)r定義的起始地址 uchar flag,flag1,flag2; /標志位 溫濕度傳感器時使用 uchar wei; /位定義 uchar zijie; / 字節(jié)定義uchar wdzs
41、,wdxs,sdzs,sdxs,jiaoyan; uchar WZ,WX,SZ,SX,JY;sbit rs=P00; /液晶3個端口的定義 sbit rw=P01;sbit e =P02;sbit SJ= P03; /溫濕度傳感器接口 sbit sck=P04;sbit io=P05;sbit rst=P06;sbit key1=P22;sbit key2=P21;sbit key3=P20;uchar time_data7=13,1,11,11,00,00,00;/年,周,月,日,時,分,秒 uchar write_add7=0x8c,0x8a,0x88,0x86,0x84,0x82,0x8
42、0;uchar read_add7=0x8d,0x8b,0x89,0x87,0x85,0x83,0x81;uchar disp13=""uchar time_data17="" /用來存放從1302中讀出的時間 uchar time_data27=""uchar table1="溫度"uchar table2="濕度"uchar table34=""uchar table44=""uchar table5="可顯示五字!" /可顯示任意
43、漢字數(shù)字及字符 uchar code image=0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
44、0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
45、0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,
46、0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x01,0x80,0x00,0x00,0x60,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0xE0,0x00,0x01,0x80,0x00,0x00,0x63,0xE0,0x18,0x00,0x0E,0x01,0xB0,0x00,0xC0,0x07,
47、0xE0,0x00,0x03,0x40,0x00,0x00,0x3F,0x80,0x7C,0x01,0xF8,0x00,0xF0,0x00,0xC0,0x00,0xF8,0x00,0x02,0x40,0x00,0x00,0xC7,0x80,0x33,0x80,0x30,0x00,0xF0,0x01,0x98,0x1F,0x98,0x00,0x02,0x40,0x00,0x00,0x3F,0x80,0xFF,0x80,0x30,0x06,0xFC,0x0F,0xF0,0x1F,0xC0,0x00,0x02,0x40,0x00,0x00,0x1F,0x81,0xF9,0x80,0x30,0x03,
48、0xF8,0x01,0x80,0x01,0x80,0x00,0x06,0x20,0x00,0x00,0x6D,0x81,0xF9,0x80,0x30,0x03,0xF0,0x01,0xC0,0x01,0xF8,0x00,0x38,0x1C,0x00,0x00,0xC1,0x81,0xBF,0x80,0x30,0x00,0xF0,0x01,0xE0,0x1F,0x80,0x01,0xE0,0x03,0x80,0x00,0xC1,0x81,0xF9,0x83,0xFF,0x80,0xFF,0x03,0x30,0x01,0x80,0x00,0xC0,0x03,0x00,0x00,0x03,0x81,
49、0xB7,0x80,0x00,0x07,0xE0,0x06,0x38,0x01,0x80,0x00,0x38,0x3E,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x0C,0x03,0x80,0x00,0x04,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x40,
50、0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
51、0x00,0x00,0x01,0x80,0x00,0x00,0x00,0xE0,0xC6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0xFE,0xC0,0xC6,0x01,0x81,0x83,0xC1,0x80,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x1F,0xC0,0xC3,0xC3,0x83,0x86,0xC3,0x80,0x00,0x00,0x00,0xE0,0x0F,0x80,0x00,0x01,0xBF,0xC0,0xFF,0x87,0x87,0x86,
52、0x67,0x80,0x00,0x00,0x01,0x98,0x18,0x80,0x00,0x00,0xFF,0xC0,0xFF,0x01,0x81,0x8E,0x61,0x80,0x00,0x00,0x02,0x04,0x20,0x60,0x00,0x00,0xFF,0xC0,0xF9,0x81,0x81,0x8C,0x61,0x80,0x00,0x00,0x04,0x04,0x20,0x20,0x00,0x00,0xFE,0xC1,0xF3,0x01,0x81,0x8E,0x61,0x80,0x00,0x00,0x04,0x02,0xE0,0x20,0x00,0x01,0x9C,0xC3,
53、0xDE,0x01,0x81,0x86,0x61,0x80,0x00,0x00,0x04,0x01,0x80,0x20,0x00,0x00,0x36,0xC0,0xCC,0x01,0x81,0x86,0xC1,0x80,0x00,0x00,0x08,0x01,0x80,0x30,0x00,0x00,0x00,0xC1,0xFF,0xC1,0x81,0x83,0x81,0x80,0x00,0x00,0x08,0x19,0xE0,0x10,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x2E,0x90,0x10,
54、0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x43,0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x43,0x08,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x43,0x08,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 福建省長汀、連城一中等六校聯(lián)考2024-2025學(xué)年高三5月份綜合模擬檢測試題英語試題含解析
- 2025年甘肅省天水市清水縣第六中學(xué)高三年級調(diào)研測試(英語試題)試題含解析
- 云南三鑫職業(yè)技術(shù)學(xué)院《土木工程施工設(shè)計》2023-2024學(xué)年第一學(xué)期期末試卷
- 松原市前郭爾羅斯蒙古族自治縣2024-2025學(xué)年數(shù)學(xué)五年級第二學(xué)期期末達標檢測模擬試題含答案
- 第11課 元朝的建立與統(tǒng)一 教案2024-2025學(xué)年七年級歷史下冊新課標
- 現(xiàn)階段在高中生中大規(guī)模推廣體育運動種類的調(diào)研
- 裝修鋼結(jié)構(gòu)施工方案
- 加固現(xiàn)澆閣樓施工方案
- 坡屋面保溫施工方案
- 外墻保溫膠泥施工方案
- 外研版九年級英語下冊Module-4-Unit-2教學(xué)課件(PPT 16頁)
- 精品隨班就讀個別化教學(xué)計劃
- 軟件開發(fā)管理辦法(完整版)
- 《等量代換》ppt(基礎(chǔ)教育)
- 第一章 - 免疫規(guī)劃信息管理系統(tǒng)
- 初中語文四大名著選擇題精選48道(修訂版帶答案)
- 下肢血管超聲規(guī)范檢查與診斷(精品)
- 職業(yè)駕駛員職業(yè)心理和生理健康
- 機床用語中英文對照
- 電梯日常清潔記錄表
- 智慧樹知到《配位化學(xué)研究生版》章節(jié)測試答案
評論
0/150
提交評論