

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 1引言</b></p><p> 1.1 課題研究背景與現狀</p><p> 時間是科學技術中最基本的物理量之一,無論是農業(yè)生產,還是工業(yè)自動控制,都與時間息息相關,尤其是中國的農業(yè)生產,和農歷日期聯系緊密,準確的農歷日期,為農業(yè)生產、農民生活帶來極大方便。工業(yè)生產中的延時動作,定時動作等對時間的精確度要求較高。小到運動員的百米賽跑
2、,大到一項工程的實施,都和時間密不可分,所以,萬年歷隨處可見。但是,隨著科技的發(fā)展,人們生活水平不斷提高,人們所關心的不僅僅是時間,還有其他一些像室內溫度、農歷日期、星期等和人們生活聯系緊密的數據,甚至對數字萬年歷的外觀也提出新的要求,這就對萬年歷的功能提出新的更高的要求。</p><p> 近年來隨著計算機在社會各領域的滲透, 單片機的應用正在不斷地走向深入,同時帶動傳統控制方式日新月益。控制方式有從模擬控制
3、向數字控制轉變的發(fā)展趨勢。微控制芯片具有強大的邏輯運算能力,它的出現,使得數字萬年歷不僅能給人們提供時間,而且還能提供很多新的功能,例如:溫度顯示、農歷顯示、節(jié)氣提示、語音提示、日程表、生日提示、星座查詢、錄音放音、風景控制等?,F在的好多數字萬年歷產品都通過控制內置燈光對萬年歷表面裝飾圖片進行掃描,實現動態(tài)風景;通過控制語音芯片發(fā)出各類鳥叫的聲音,使人們生活在自己的房間里,仿佛身處大自然!可見,現在的數字萬年歷不僅僅是一個智能化的、可以
4、提供多信息的器件,更是室內的一道風景。</p><p> 上海禮品公司生產的多功能萬年歷具有LED燈顯示、年歷、月歷、時間顯示、12小時或24小時制式、選擇四組定時鬧鈴、整點鈴響、按鍵音、小于100小時倒計時、世界16個城市現在時查詢、1900年到2099年月歷查詢、八位數四則運算、百分比計算 M+、M-和MRC存儲運算功能貨幣換匯計算??梢?,多功能智能化數字萬年歷是以后萬年歷發(fā)展的方向,基于微控制芯片的數字萬
5、年歷可以滿足人們對萬年歷的多功能、界面友好和智能化的要求,數字控制技術將引起萬年歷新的重大改變。</p><p> 1.2本課題所做的工作</p><p> 首先,本課題對系統主要功能進行分析,確定該系統的主要功能是:陽歷日期、時間顯示、農歷日期顯示、星期顯示、環(huán)境溫度顯示和定時鬧鈴,并可以修改時間,在修改時間的過程中,可以對月份天數自動判斷。</p><p>
6、 其次,系統設計要做的工作是電源分析和設計,該設計選用的集成芯片都采用+5V電源供電,所以,要先對常見220V交流電源進行變換,得到較為穩(wěn)定的、可以滿足系統要求的+5V穩(wěn)壓電源。</p><p> 最后,要對選用的芯片進行學習,尤其是其工作時序,這是實現系統的關鍵。溫度檢測采用DS18B20,由于DS18B20是單總線溫度傳感器,所以,對其控制需要較嚴格的時序。通過查閱資料和仿真掌握單總線數字溫度傳感器的時序
7、要求和工作流程,該系統主要應用了DS18B20的跳過ROM匹配、溫度轉換、讀取溫度指令等。</p><p> 時鐘芯片采用DS1302,為三總線時鐘芯片,為了能夠使其正常工作,要學習其中的寄存器格式、寄存器特殊位作用、讀取時間寄存器數據、寫入時間寄存器數據等。DS1302時鐘芯片內部沒有集成備用電源,所以,要對其掉電保護環(huán)節(jié)進行考慮和設計。</p><p> 顯示器件選用點陣帶字庫型1
8、2864液晶模塊,由于液晶模塊在寫入指令或數據后,要經過一段時間才能完成內部動作,所以,對其讀寫控制時要有必要的延時,以等待液晶模塊完成內部動作,才能使寫入的數據或指令有效。帶字庫型液晶模塊有基本指令集和擴充指令集,本設計不需要顯示圖片,所以,采用基本指令集。在時間設定環(huán)節(jié),要有設定提示,本系統以游標閃爍方式提示用戶當前所修改的數據,為此,要對游標閃爍控制方式進行學習。</p><p> 2數字萬年歷硬件設計&
9、lt;/p><p> 該系統采用220V交流電供電,自帶電源變換電路,在交流斷電的情況下,仍能保持正確走時。微控制芯片采用Atmel公司的AT89S52,其內部含有8k字節(jié)Flash,支持USBISP編程,十分方便。溫度傳感器選用DS18B20,它支持3V~5.5V的電壓范圍,使系統設計更靈活、方便。時鐘芯片選用美國Dallas公司推出的具有涓細電流充電能力的低功耗實時時鐘芯片DS1302。顯示部分選用界面友好的Y
10、M12864R液晶模塊,其內部采用ST7920A控制器,內置8192個中文漢字(16×16),編程方便,可以節(jié)約很多的程序存儲器空間。穩(wěn)壓芯片選用三端穩(wěn)壓器件7805,簡單易用、價格低廉。</p><p> 2.1 電源電路設計</p><p> 電源是系統能夠工作的基礎,電源的好壞直接影響到系統的性能。一個好的電源,可以給系統提供足夠的能量,從而使系統運行穩(wěn)定。我們常見的、
11、也比較容易獲得的電源是220V交流電,而該系統以集成芯片為硬件基礎,其需要大約+5V的直流電源。如何對易得的220V交流電進行變換,使其符合系統+5V的電壓、功率需求,是首先要解決的問題。</p><p> 圖2-1 7805管腳</p><p> 7805為三端正穩(wěn)壓電路,TO-220封裝,如圖2-1所示。在輸入電壓范圍為7V-15V時,輸出端輸出較為穩(wěn)定的+5V電壓。內含過流、過
12、熱和過載保護電路。帶散熱片時,輸出電流可達1A,且價格低廉,應用十分廣泛,能夠滿足該系統+5V工作電壓需求,所以該系統選取7805作為穩(wěn)壓元件。220V交流電經過9V變壓器,再經過DB107全橋整流芯片,經過2200uf電容濾波作為7805的輸入電壓,在7805輸出端就可以得到系統所需要的+5V電源,其硬件電路原理如圖2-2所示。</p><p> 圖2-2 電源電路硬件原理</p><p
13、> 2.2微控制器選擇</p><p> 今天,微處理器已經無處不在,無論是錄像機、智能洗衣機、移動電話等家電產品,還是汽車引擎控制,以及數控機床、導彈精確制導等都要嵌入各類不同的微處理器。微處理器不僅是微型計算機的核心部件,也是各種數字化智能設備的關鍵部件,其芯片管腳如圖2-3所示。</p><p> 圖2-3 AT89S52芯片管腳</p><p&g
14、t; AT89S52是一種低功耗、高性能CMOS8位微控制器。AT89S52具有8K在線系統可編程Flash存儲器。使用Atmel公司高密度非易失性存儲器技術制造,與工業(yè)80C51產品指令和引腳完全兼容。片上Flash允許程序存儲器在線系統可編程,亦適于常規(guī)編程器。在芯片上,具有靈巧的8 位CPU 和在線系統可編程Flash,使得AT89S52為眾多嵌入式控制應用系統提供高靈活、超有效的解決方案。AT89S52具有以下標準功能:8k字
15、節(jié)Flash,256字節(jié)RAM,32位I/O口線,看門狗定時器,2個數據指針,三個16 位定時器/計數器,一個6向量2級中斷結構,全雙工串行口,片內晶振及時鐘電路。另外,AT89S52可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。空閑模式下,CPU停止工作,允許RAM、定時器/計數器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止。</p>&
16、lt;p> P0口:P0口是一個8位漏極開路的雙向I/O口。作為輸出口,每位能驅動8個TTL邏輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入。當訪問外部程序和數據存儲器時,P0口也被作為低8位地址/數據復用口,在這種模式下,P0口具有內部上拉電阻。在Flash編程時,P0口也用來接收指令字節(jié);在程序校驗時,輸出指令字節(jié)。程序校驗時,需要外部上拉電阻。 </p><p> P1口:P1口是一個具有內
17、部上拉電阻的8 位雙向I/O 口,P1 輸出緩沖器能驅動4個TTL 邏輯電平。對P1 端口寫“1”時,內部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入口使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流。 </p><p><b> 引腳號第二功能:</b></p><p> P1.0 T2(定時器/計數器T2的外部計數輸入),時鐘輸出 </p
18、><p> P1.1 T2EX(定時器/計數器T2的捕捉/重載觸發(fā)信號和方向控制) </p><p> P1.5 MOSI(系統編程用) </p><p> P1.6 MISO(系統編程用) </p><p> P1.7 SCK(系統編程用) </p><p> P2口:P2口是一個具有內部上拉電阻的8 位雙向I
19、/O 口,P2 輸出緩沖器能驅動4個TTL 邏輯電平。對P2端口寫“1”時,內部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入口使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流。 </p><p> 在訪問外部程序存儲器或用16位地址讀取外部數據存儲器(例如執(zhí)行MOVX @DPTR)時,P2口送出高八位地址。在這種應用中,P2口使用很強的內部上拉發(fā)送1。在使用8位地址(如MOVX @RI)訪問外部數
20、據存儲器時,P2口輸出P2鎖存器的內容。在Flash編程和校驗時,P2口也接收高8位地址字節(jié)和一些控制信號。 </p><p> P3口:P3口是一個具有內部上拉電阻的8位雙向I/O口,P2輸出緩沖器能驅動4個TTL邏輯電平。對P3端口寫“1”時,內部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入口使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流。 </p><p> P3
21、口亦作為AT89S52特殊功能(第二功能)使用,如下所示。 </p><p> 在Flash編程和校驗時,P3口也接收一些控制信號。 </p><p> P3.0 RXD(串行輸入口)</p><p> P3.1 TXD(串行輸出口)</p><p> P3.2 INTO(外中斷0)</p><p> P3.
22、3 INT1(外中斷1)</p><p> P3.4 TO(定時/計數器0)</p><p> P3.5 T1(定時/計數器1)</p><p> P3.6 WR(外部數據存儲器寫選通)</p><p> P3.7 RD(外部數據存儲器讀選通)</p><p> 此外,P3口還接收一些用于Flash閃存編程和
23、程序校驗的控制信號。</p><p> RST——復位輸入。當振蕩器工作時,RST引腳出現兩個機器周期以上高電平將使單片機復位,其上電復位硬件原理如圖2-4所示。</p><p> 圖2-4 上電復位硬件原理</p><p> ALE/PROG——當訪問外部程序存儲器或數據存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍
24、以時鐘振蕩頻率的1/6輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當訪問外部數據存儲器時將跳過一個ALE脈沖。</p><p> 對Flash存儲器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活。此外,該引腳會被微弱拉高,單片機執(zhí)行外部程序時
25、,應設置ALE禁止位無效。</p><p> PSEN——程序存儲器允許(PSEN)輸出,是外部程序存儲器的讀選通信號,當AT89S52由外部程序存儲器取指令(或數據)時,每個機器周期兩次PSEN有效,即輸出兩個脈沖,在此期間,當訪問外部數據存儲器,將跳過兩次PSEN信號。</p><p> EA/Vpp——外部訪問允許,欲使CPU僅訪問外部程序存儲器(地址為0000H-FFFFH),
26、EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復位時內部會鎖存EA端狀態(tài)。</p><p> 如EA端為高電平(接Vcc端),CPU則執(zhí)行內部程序存儲器的指令。Flash存儲器編程時,該引腳加上+12V的編程允許電源Vpp,當然這必須是該器件是使用12V編程電壓Vpp。該系統主控制電路硬件原理如圖2-5所示。</p><p> 圖2-5 系統主控制電路硬件原理&l
27、t;/p><p> 2.3溫度測量環(huán)節(jié)設計</p><p> 如今,溫度傳感器的總類可謂五花八門,各溫度傳感器的精度和控制方式都有所不同,價格也相差很大。如何選擇滿足該系統測量室溫的精度要求,并且價格低廉的溫度傳感器,是一個重要問題。</p><p> Dallas半導體公司的數字化溫度傳感器DS18B20是一線總線接口的溫度傳感器,一線總線具有獨特而經濟的特點,
28、性能價格比非常出色。該系統需要測量室溫,精度要求不是太高,所以,該系統選用DS18B20作為溫度傳感器,其管腳排列如圖2-6所示。</p><p> 圖2-6 DS18B20管腳</p><p> 微控制器控制DS18B20完成溫度轉換必須經過三個步驟:每一次讀寫之前要對DS18B20進行復位,復位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對DS18B20進行預定的操作。
29、復位要求微控制器將數據線下拉500微秒,然后釋放,DS18B20收到信號后等待16~60微秒左右,然后發(fā)出60~240微秒的存在低脈沖,微控制器收到此信號表示復位成功,如果沒有收到復位成功信號,則表示DS18B20出現問題,可以用來作為系統設計時的故障提示、判斷信號。</p><p> DS18B20的單總線數據傳輸特點,決定了它嚴格的控制時序。微控制器寫1時,數據線必須先被拉至低電平,然后就被釋放,使數據線在
30、寫時間片開始之后的15微秒之內拉至高電平。微控制器寫0時,數據線必須先被拉至低電平且至少保持邏輯低電平60微秒。微控制器把數據線從高電平拉至低電平時,產生讀時間片,數據線必須保持在邏輯低電平至少1微秒;來自DS18B20的輸出數據在讀時間片下降沿之后15微秒有效。因此,為了讀取從時間片開始算起15微秒的數據線狀態(tài),微控制器必須停止把數據線驅動至低電平。在讀時間片結束時,數據線經過外部的上拉電阻拉回至高電平。所有讀時間片的最短持續(xù)期限為6
31、0微秒,各個讀時間片之間必須有最短為1微秒的恢復時間。其讀寫時序如圖2-7所示。</p><p> 圖2-7 DS18B20讀寫時間間隙</p><p> 該系統對DS18B20進行操作用到的指令為:跳過ROM匹配,命令字為0CCH;溫度轉換指令,命令字為44H;讀溫度指令,命令字為0BEH。系統溫度檢測部分硬件原理如圖2-8所示。</p><p> 圖2-
32、8 系統溫度檢測部分硬件電路</p><p><b> 2.4時鐘芯片環(huán)節(jié)</b></p><p> DS1302 是美國Dallas公司推出的一種高性能、低功耗、帶RAM的實時時鐘電路,它可以對年、月、日、周日、時、分、秒進行計時,具有閏年補償功能,采用三線接口與CPU進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數據。DS1302內部有一個
33、31×8的用于臨時存放數據的RAM寄存器。DS1302采用主電源/后備電源雙電源引腳,同時提供了對后備電源進行涓細電流充電的能力。DS1302電路的接口簡單、價格低廉、工作電壓為2.5V~5.5V,使用方便,被廣泛地采用,所以,該系統選用DS1302。</p><p> 圖2-9 DS1302管腳</p><p> 圖2-9所示為DS1302的引腳排列,其中Vcc1為后備電
34、源,Vcc2為主電源,在主電源關閉的情況下,也能保持時鐘的連續(xù)運行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當Vcc2大于Vcc1+0.2V時,Vcc2給DS1302供電。當Vcc2小于Vcc1時,DS1302由Vcc1供電。X1和X2是振蕩源,外接32.768kHz晶振。RST是復位/片選線,通過把RST輸入驅動至高電平來啟動所有的數據傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;
35、其次,RST提供終止單字節(jié)或多字節(jié)數據的傳送手段。當RST為高電平時,所有的數據傳送被初始化,允許對DS1302進行操作。如果在傳送過程中RST置為低電平,則會終止此次數據傳送。</p><p> I/O引腳變?yōu)楦咦钁B(tài)。上電運行時,在Vcc≥2.5V之前,RST必須保持低電平,只有在SCLK為低電平時,才能將RST置為高電平。I/O為串行數據輸入輸出端(雙向),SCLK始終是輸入端。</p>&l
36、t;p> 在對DS1302進行讀寫操作時,要首先了解它的控制字。DS1302 的控制字如圖2-10所示??刂谱止?jié)的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數據寫入DS1302中,位6如果為0,則表示存取日歷時鐘數據,為1表示存取RAM數據;位5至位1表示操作單元的地址;最低有效位(位0)如為0表示要進行寫操作,為1表示進行讀操作,控制字節(jié)總是從最低位開始輸出。在控制指令字輸入后的下一個SCLK時鐘的上升沿,數據被寫入
37、DS1302,數據輸入從低位即位0開始。同樣,在緊跟8位控制指令字后的下一個SCLK脈沖的下降沿讀出DS1302的數據,讀出數據時從低位0到高位7。</p><p> 圖2-10 DS1302控制字</p><p> 該系統需要對時間進行讀取和設定,所以,在掌握控制字之后,還必須熟悉DS1302內部各寄存器的地址和特殊狀態(tài)位,其內部各寄存器的地址和特殊狀態(tài)位如表2-1所示。</
38、p><p> 表2-1 日歷、時間寄存器及其控制字</p><p> 系統時鐘芯片部分硬件原理如圖2-11所示。</p><p> 圖2-11 系統時鐘芯片部分硬件原理</p><p><b> 2.5顯示電路設計</b></p><p> 現在,大多數字萬年歷都采用LED顯示數據,但是
39、,LED只能顯示數字,不能顯示漢字。要想實現更好的人機界面,用液晶顯示器顯示數據是最佳選擇。YM12864R點陣帶字庫液晶顯示模塊可顯示漢字及圖形,內置8192個中文漢字(16×16點陣)、128個字符(8×16點陣),其引腳功能如表2-2所示。</p><p> 該系統中,微控制芯片采用8位并口的方式對YM12864R進行控制,所以PSB引腳接固定高電平。在對YM12864R進行控制時,要
40、清楚它的讀寫時序,在本設計中,主要是對YM12864R進行寫操作,所以,下面介紹YM12864R的寫控制時序,其寫控制時序如圖2-12所示。</p><p> 表2-2 YM12864R引腳功能說明</p><p> 圖2-12 YM12864寫時序</p><p> 圖2-12給出YM12864R的寫控制時序,對YM12864R寫控制時,在使能信號E下降
41、沿有效。在使能信號E下降沿后,為了保證數據或指令可靠寫入,需要在使能信號E下降沿后有一段延時,使YM12864R完成內部動作。YM12864R的指令集分為基本指令集和擴充指令集,擴充指令集提供繪圖功能,可以顯示圖片;在本設計當中,僅需要基本指令集以顯示漢字、數字和字母,表2-3給出YM12864R的基本指令集。清除顯示指令將DDRAM填滿“20H”,并且設定DDRAM的地址計數器(AC)為“00H”。 地址歸位指令設定DDRAM的地址計
42、數器(AC)為“00H”,并且將游標移到開頭原點位置,這個指令并不改變DDRAM的內容。在顯示狀態(tài)開/關指令中,D=1,整體顯示ON,C=1,游標ON,B=1,游標位置ON。在功能設定指令中DL=1(必須為1),RE=1,擴充指令集動作,RE=0,基本指令集動作。</p><p> 表2-3 YM12864R基本指令</p><p> 對YM12864操作時需要注意的問題:</
43、p><p> 1:對YM12864R操作前,要初始化,本設計在初始化時主要是進行DDRAM地址設定,基本指令集選擇,顯示狀態(tài)開,游標顯示開等。</p><p> 2:在對YM12864R寫控制時,必須保證在使能信號E的下降沿后有一段的延時才能寫入有效的數據或指令。</p><p> 3:在顯示中文字型時,將兩字節(jié)編碼連續(xù)寫入DDRAM中,范圍為A140H-F7FF
44、H(GB碼)或A140H-D75FH(BIG5碼)。顯示半寬字形時將一字節(jié)編碼寫入DDRAM中,范圍為02H-7FH,系統顯示部分硬件電路原理如圖2-13所示。</p><p> 圖2-13 系統顯示部分硬件電路</p><p> 2.6 定時鬧鈴、按鍵電路設計</p><p> 該系統具有定時鬧鈴功能,當定時到的時候,微控制器由P1.7發(fā)出控制信號,控制三
45、極管導通關斷,從而控制蜂鳴器發(fā)出時長一分鐘的鬧鈴聲。蜂鳴器采用+5V供電,所以需要三極管驅動,其驅動控制電路如圖2-14所示。</p><p> 圖2-14 系統鬧鈴部分硬件電路</p><p> 在該系統中,用戶可以通過按鍵對日期、時間、定時時間進行修改。系統提供四個按鍵,分別為:設定、選擇、調節(jié)、確定。四個按鍵分別接到微控制器P3.0、P3.1、P3.2、P3.3引腳,在按鍵沒有
46、被按下時,引腳為邏輯低電平,按下則為邏輯高電平,系統按鍵部分硬件原理如圖2-15所示。</p><p> 圖2-15 系統按鍵部分硬件電路</p><p> 3 數字萬年歷軟件設計</p><p> 一個系統,硬件的設計往往只是其中的一部分,或者說一小部分。尤其隨著微電子技術、大規(guī)模集成電路制作技術的發(fā)展,很多我們所需要的元件都可以在市場上找到。集成芯片系統
47、的硬件電路往往非常簡單,因為它們都采用總線和微控制器對話。硬件電路設計完成后,要讓系統按照我們設計的要求工作,就需要軟件來控制微控制器和外圍芯片對話,軟件是該系統的靈魂!</p><p> 3.1 軟件總體設計</p><p> 該系統軟件采用匯編語言設計,模塊化的設計方法使得該系統以后的升級改動更為靈活。系統軟件流程為:上電顯示制作者開機界面、送開始轉換溫度指令、讀取溫度值到緩沖區(qū)、
48、讀取全部時鐘日歷數據到緩沖區(qū)、顯示陽歷日期和時間、陽歷農歷轉換、顯示農歷日期、顯示溫度、定時判斷、判斷是否有按鍵被按下、返回到開始。本系統采用四個按鍵和微處理器對話,可以修改時間,設定定時時間。微處理器采用查詢方式掃描按鍵狀態(tài)。主程序執(zhí)行流程如圖3-1所示。</p><p> 圖3-1 主程序流程</p><p> 3.2按鍵掃描并處理程序流程</p><p>
49、; 要設定鬧鈴時間,就要求外界和微處理器對話,以告知微處理器人們的意愿。按鍵輸入方便、簡單,應用廣泛,例如電腦鍵盤。,按鍵掃描并處理程序流程如圖3-2所示。</p><p> 圖3-2 按鍵掃描并處理程序流程</p><p> 3.3 相應數據加一程序流程</p><p> 圖3-3 相應數據加一程序流程</p><p> 相應
50、數據加一程序流程如圖3-3所示,在對數據加一處理程序中,需要對各數據范圍進行判斷,年的最大值為99,即該系統最長可顯示到2099年的日期、時間。月的最大值為12,時的最大值為23,分的最大值為59,秒的最大值為59。該系統能夠對每月的天數進行自動判斷,陽歷的月份信息為:1、3、5、7、8、10、12月,每月31天;4、6、9、11月,每月30天;二月最為特殊,非閏年為28天,閏年為29天,所以,要想實現日期加一,除了要判斷月份值外,還需
51、要判斷年份是否為閏年。日期加一的程序流程如圖3-4所示。</p><p> 圖3-4 日期加一程序流程</p><p> 3.4 游標顯示控制程序流程</p><p> 該數字萬年歷可以對時間進行修改、鬧鈴設定。當需要修改時間和鬧鈴設定時,系統以游標閃爍的方式提示用戶當前修改的數據。游標指針是連續(xù)加一的,要能正確顯示游標的位置,需要對其進行變換,得到YM12
52、864R的實際游標閃爍地址,游標閃爍控制程序流程如圖3-6所示。</p><p> 3.5 溫度測量元件控制程序流程</p><p> 室內環(huán)境溫度和人們的生活息息相關,隨著人們生活水平的提高,人們對和氣候相關的數據越來越關心。本系統具有室內溫度測量功能,并且通過液晶顯示器顯示出來,界面直觀,可以讓人們很方便的了解當前的環(huán)境溫度。該系統采用DS18B20作為溫度傳感器,一個微控制器引腳
53、可以掛接多個DS18B20,在微控制器發(fā)送指令時,究竟哪一個DS18B20接收指令,由ROM匹配環(huán)節(jié)確定。本設計只用到一片DS18B20,所以不需要ROM匹配,直接發(fā)送跳過ROM匹配指令即可。溫度傳感器DS18B20控制程序流程如圖3-5所示。</p><p> 圖3-5 DS18B20控制程序流程</p><p> 圖3-6 游標閃爍控制程序流程</p><p
54、> 3.6 時鐘芯片讀寫程序流程</p><p> 在該系統中,微控制器所做的主要工作就是不斷的讀取時鐘芯片內部的日歷寄存器數據并將其顯示在液晶屏幕上。DS1302采用三總線與微控制器對話,微控制器讀寫時鐘芯片內日歷寄存器數據的程序流程如圖3-7、3-8所示。</p><p><b> 4系統調試</b></p><p> 一個完
55、整的系統在開始著手設計的時候往往要考慮很多的環(huán)節(jié),該系統在設計的時候就要考慮溫度檢測、時鐘準確走時、數據顯示、鬧鈴、按鍵識別與處理等很多環(huán)節(jié)。假如我們直接把所有硬件焊接起來,倘若系統不能正常工作,那么檢查起來將非常麻煩,所以,該系統在進行調試的時候,采用模塊化,分步驟進行的方式,把一塊一塊的功能實現了,再組裝起來進行聯合調試,可以取得事半功倍的效果。</p><p><b> 4.1系統硬件調試<
56、;/b></p><p> 硬件是系統的載體,沒有硬件,系統根本無法實現。在硬件焊接的過程中,難免會出現一些問題,在微控制器控制系統中,對硬件每一部分的細節(jié)都要求很高,任何一個環(huán)節(jié)出現很小的問題都將導致系統不能正常工作,系統功能無法實現。</p><p> 4.1.1微控制器硬件調試</p><p> 在本系統硬件調試過程中,首先確定微控制器各引腳能夠正
57、常輸出邏輯高低電平。在微控制器硬件電路焊接完畢之后,裝入簡單測試程序,讓微控制器所有管腳輸出邏輯高電平,然后,用萬用表測量各管腳是否為高電平;再裝入測試程序,讓所有微控制器管腳輸出邏輯低電平,用萬用表測量各管腳是否為低電平。這種裝入簡單測試程序以測量部分硬件電路是否工作正常的方式在該系統的調試過程中顯得非常有用。</p><p> 4.1.2時鐘芯片硬件調試</p><p> 時鐘芯片
58、在該系統中有著非常重要的地位。在時鐘芯片硬件電路焊接好之后,裝入測試程序,發(fā)現不能正常工作,如果拿金屬物接觸DS1302數據管腳,就能正常工作,這種現象很少見,因為只拿金屬物接觸時鐘芯片數據管腳,并沒有構成任何回路,所以這個問題非常隱蔽。</p><p> 開始猜測這種現象是由于杜邦線插頭接觸不良造成,所以用手接觸所有杜邦線,發(fā)現畫面閃爍,有時時鐘芯片可以正常工作,有時又不能正常工作。經過多次觸摸杜邦線試驗,發(fā)
59、現接觸時鐘芯片數據線之后,畫面閃爍最為厲害。由于時鐘芯片的三根杜邦線是一排線,并沒有拆開,所以試著把這三根杜邦線拆開,結果發(fā)現畫面穩(wěn)定,說明時鐘芯片工作正常。由此看來,杜邦線的距離非常近,相互干擾是結果不正常的原因,這將是一個寶貴的經驗。</p><p> 時鐘芯片DS1302沒有掉電保護功能,為了在系統主電源斷開后系統仍能保持正常走時,需要對DS1302加后備電源。該系統采用兩節(jié)1.5V電池作為時鐘芯片DS1
60、302的后備電源。對后備電源調試的時候,是先切斷主電源,等一段時間再接通主電源,觀察時間是否仍然正確。開始,在切斷主電源的時候,發(fā)現有的時候時鐘芯片能夠正常走時,有的時候不能正常走時。當按下電源開關速度比較快的時候,能夠正常走時;當按下電源開關速度比較慢的時候不能正常走時,時鐘數據混亂。開始猜測是由于電壓突變,時鐘芯片不能正確切換到備用電源造成的,所以,考慮在時鐘芯片電源管腳加電容,但是仍不能滿足要求。最后經過多次閱讀時鐘芯片說明書,發(fā)
61、現主電源和備用電源焊顛倒了,這說明我們在焊接硬件電路的時候一定要準確了解各個管腳的功能。</p><p> 4.1.3蜂鳴器硬件電路調試</p><p> 定時鬧鈴在萬年歷中屬于基本功能,本系統在鬧鈴環(huán)節(jié)采用5V有源蜂鳴器發(fā)出鬧鈴信號。在對蜂鳴器環(huán)節(jié)初次試驗時,直接接到單片機引腳,發(fā)現無聲響,直接接到電源端,發(fā)出聲響,可見需要驅動電路。在本系統中,蜂鳴器采用一個PNP三極管驅動,微控制
62、器發(fā)出低電平控制信號有效。</p><p><b> 4.2系統軟件調試</b></p><p> 在本系統中,硬件電路看上去非常簡單,全部采用集成芯片設計。每一個集成芯片都有相應的控制方法,即工作時序。我們在應用一個集成芯片的時候,首先要認真閱讀其讀寫時序,再了解它的初始化流程及指令集。該系統除含有單總線溫度傳感器芯片外,還含有液晶顯示模塊,其控制方式都非常麻煩
63、,對軟件的設計要求很嚴格,尤其是溫度傳感器芯片,在對其讀寫過程中,要求有嚴格的延時。</p><p> 4.2.1時鐘芯片軟件調試</p><p> 在開始的時鐘芯片讀寫過程中,發(fā)現不能正確讀出時鐘芯片數據,讀出的時鐘芯片數據全部為0FFH。經仔細閱讀資料發(fā)現時鐘芯片DS1302內部含有寫保護寄存器,當其最高位為0時,可以寫入移位寄存器,反之則不能寫入,而在開始初始化DS1302時,并
64、沒有包含寫保護寄存器最高位清零的環(huán)節(jié),所以程序中的所有寫入、讀出語句全部無效,不能被DS1302所接收。在程序設計的開始加入關閉寫保護語句,可以正確寫入、讀出時鐘芯片日歷寄存器數據。</p><p> 4.2.2顯示部分軟件調試</p><p> 為了使系統具有良好的人機交互界面,該系統采用液晶顯示器顯示所有數據,但是,液晶顯示模塊的控制要比LED數碼管復雜得多。不同的液晶顯示模塊可能
65、采用不同的控制器,在選用液晶模塊的時候,要對其進行控制,首先要學習它的控制器,該系統所選液晶模塊采用ST7920控制器。</p><p> 液晶模塊采用8位并口和微控制器對話,在時鐘下降沿有效。在開始的顯示部分軟件調試過程中,液晶顯示模塊白屏,即所送指令和數據根本沒有被液晶模塊所接收。</p><p> 圖4-1 液晶顯示模塊寫時序</p><p> 閱讀液
66、晶模塊寫入時序,如圖4-1所示,發(fā)現在E下降沿后,要保持數據一段時間,以等待液晶模塊完成內部動作。在每一個E下降沿之后加一段延時程序,發(fā)現顯示部分工作正常。</p><p> 4.2.3按鍵部分軟件調試</p><p> 在本系統中,用戶可以使用鍵盤修改時間、設定鬧鈴時間。以前學習過讀取微控制器引腳狀態(tài)的基本語句。按照理論設計程序,并觀察按鍵按下之后顯示界面是否按照理論設計的結果變化,
67、發(fā)現在按下一次“選擇”鍵之后,游標不是移動一位,而是移動很多位,這說明硬件有抖動。本設計在最后按鍵部分軟件設計過程中,采用軟件消抖和按鍵釋放判斷,很好的解決了這個問題。</p><p><b> 5 總結</b></p><p> 在該系統設計、調試完成之后,對最后的成功進行分析,同時結合在調試過程中出現的錯誤進行綜合分析,總結在實際系統設計和調試過程中的寶貴經驗
68、。</p><p> 在系統硬件設計之前,要結合當前系統的發(fā)展趨勢和現狀對系統功能進行定位,使系統在實際應用中具有競爭力。該系統最大的特點就是界面友好,走時準確,和現在使用LED顯示數據的萬年歷相比,體積更小,可以作為轎車車載顯示裝置。系統采用液晶顯示器,可以使該系統應用到更加現代化的地方。該系統采用模塊化程序設計方法,同時保留了很多的微控制器I/O口,擴展十分方便。以往的采用LED顯示數據的萬年歷要想實現功能
69、擴展,除需要對系統程序進行修改外,還必須增加或刪減LED數碼管,同時要對LED圖片界面進行更換,硬件改動較大;該系統的顯示部分除可以顯示數據外,還可以顯示圖片,所以說,其界面改動非常靈活,僅僅改動程序就能實現界面的修改,用戶還可以選擇自己喜歡的界面,這是以LED作為顯示裝置的數字萬年歷所不能實現的。</p><p> 系統具有溫度檢測功能,可以作為工業(yè)溫度檢測裝置,我們只要坐在辦公室,就可以從液晶顯示器上觀察到
70、機器設備的溫度值,同時可提供溫度報警。系統的按鍵輸入功能,可以讀取決策,我們可以通過按鍵發(fā)送指令,控制工業(yè)現場機器的動作,實現遠程控制。</p><p> 可見,該系統本身不僅具有很大的靈活性、友好的界面、方便的可擴展性,同時,在其基礎上的系統的市場需求也很可觀。工業(yè)控制的很多場合對時間要求比較嚴格,在實際應用系統中,系統各裝置需要按照預定的時間動作,比如我們要在春節(jié)零晨向廣大客戶發(fā)送祝福短信,就要判斷時間;我
71、們在孵化系統中,除了要對孵化溫度進行控制外,還要對時間進行控制。學校的電鈴,要根據時間進行動作;自動配電系統,要根據時間進行通電或斷電,等很多場合需要根據時間量進行控制,本系統可以很好的滿足這些系統的要求。</p><p> 該系統在進行軟件設計的時候,采用模塊化設計方法,除了便于升級外,在調試過程中,模塊化的程序設計將使系統更容易調試。我們在調試過程中,可以分塊調試,最后總組裝。如果不采用模塊化設計方法,將很
72、難找出調試中的錯誤。無論是在系統硬件焊接還是在軟件編程時,都要細心,比如在開始的時候,時鐘芯片主電源和備用電源焊顛倒,12864不能寫入數據等,都是很小的錯誤,卻很大的影響了系統的性能,甚至導致系統根本無法工作。</p><p><b> 致謝</b></p><p> 本設計做出了實物,在實際電路設計的過程當中遇到很多問題。在此,首先要感謝我的指導老師——xx
73、老師,他淵博的專業(yè)知識和熱心的指導給我留下深刻的印象。在設計本系統的過程中,曾經在遇到困難的時候很迷茫,是xx老師一次次的鼓勵我,并且嚴格要求、指導我完成設計。在此謹向敬愛的xx老師表示衷心的感謝。</p><p> 在該系統設計過程中,還得到其他老師的幫助和同學的鼓勵。在此,向他們和所有熱心幫助過我的朋友表示衷心的感謝!</p><p> 衷心地感謝在百忙之中參加評閱論文和答辯的各位
74、專家、教授!</p><p><b> 參考文獻</b></p><p> [1] 祝木田. 單片機原應用教程.北京:中國財經經濟出版社,2005.8</p><p> [2] 李廣弟.單片機基礎.北京:北京航空航天大學出版社,1999.10</p><p> [3] 沈德金.單片機應用程序實例.北京:北京
75、航空航天大學出版社,1990</p><p> [4] 胡漢才.單片機原理及接口技術. 北京:清華大學出版社,1996</p><p> [5] 康華光.模擬電子技術基礎.北京:高等教育出版社,2006</p><p> [6] 余修武.單片機原理及應用.成都:電子科技大學出版社,2008.1</p><p> [7] 李秀忠
76、.單片機應用技術.北京:人民郵電出版社,2007.12</p><p> [8] 三恒星科技.MCS-51單片機原理與應用實例.北京:電子工業(yè)出版設,2008.1</p><p> [9] 王為青.51單片機應用開發(fā)案例精選.北京:人民郵電出版社,2007.8</p><p> [10] 歐陽文.ATMEL89系列單片機的原理與開發(fā)實踐.北京:中國電力出版
77、社,2007.6</p><p> [11] 林伸茂.8051單片機徹底研究——實習篇.北京:中國電力出版社,2006</p><p> [12] 黃嘉寧.數字電子基礎.北京:中國計量出版社,2008.1</p><p> [13] 郭強.最新液晶顯示應用.北京;電子工業(yè)出版社,2006.10</p><p> [14] 李宏.液晶顯
78、示器件應用技術.北京:機械工業(yè)出版社,2007.6</p><p> [15] 李志廣、李曉泉、淮俊霞. 中文圖形12864點陣液晶顯示模塊與51單片機的并行接口電路及C51程序設計.現代顯示, 2008年07期 </p><p> [16] 孫鵬. 51單片機綜合學習系統——12864點陣型液晶顯示篇.電子制作,2008年02期</p><p
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電子萬年歷畢業(yè)設計
- 電子萬年歷畢業(yè)設計
- 電子萬年歷畢業(yè)設計
- 畢業(yè)設計---電子萬年歷設計
- 電子萬年歷畢業(yè)設計稿
- 電子萬年歷畢業(yè)設計2
- 畢業(yè)設計---電子萬年歷的設計
- 畢業(yè)設計---電子萬年歷的設計
- 畢業(yè)論文——電子萬年歷設計
- 電子萬年歷設計-畢業(yè)論文
- 畢業(yè)論文——電子萬年歷設計
- 電子萬年歷設計
- 電子鐘萬年歷畢業(yè)設計
- 數字萬年歷畢業(yè)設計
- 萬年歷課程設計--萬年歷電子時鐘
- 萬年歷設計畢業(yè)論文
- 電子萬年歷畢業(yè)論文
- 電子萬年歷的設計畢業(yè)論文
- 萬年歷電子時鐘溫度畢業(yè)設計
- 畢業(yè)設計論文車載可測溫式電子萬年歷
評論
0/150
提交評論