




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、摘要 隨著電子技術(shù)的迅速發(fā)展,特別是大規(guī)模集成電路的出現(xiàn),人類生活發(fā)生 了根本性的變化。以單片機技術(shù)為核心的產(chǎn)品已走進了千家萬戶,數(shù)字萬年歷 的出現(xiàn)更是給人們的生活帶來諸多方便,本文就實現(xiàn)了基于 at89s52 單片機 的多功能數(shù)字萬年歷的設(shè)計。 本設(shè)計以 at89s52 單片機技術(shù)為核心,以各種硬件電路為基礎(chǔ),軟件采 用匯編語言進行編寫,為了便于擴展和更改,采用模塊化的程序設(shè)計方法,使 程序設(shè)計的邏輯關(guān)系更加簡潔明了,系統(tǒng)升級更加簡單方便。系統(tǒng)以點陣式帶 字庫 12864 液晶模塊為載體顯示數(shù)據(jù),所以具有人性化的操作界面和美觀的頁 面效果,可以顯示公歷日期、時間、農(nóng)歷日期、星期、溫度,并有鬧
2、鈴功能。 用戶可以通過按鍵調(diào)節(jié)系統(tǒng)時間、設(shè)定鬧鈴時間。最后完成了組裝與調(diào)試。 關(guān)鍵詞:at89s52 單片機;數(shù)字萬年歷;12864 液晶模塊 abstract with the rapid development of electronic technology, especially the emergence of large-scale integrated circuits, human life there has been a fundamental change. the products have entered tens of thousands of households
3、 whose core is single-chip technology, the emergence of digital calendar is to bring a lot of peoples lives easy, this article worked out a design of multi-functional digital calendar based on the single chip at89s52. the design of single-chip at89s52 technology as the core, based on a variety of ha
4、rdware circuitry and used assembly language for the preparation of software, in order to facilitate the expansion and changes to the design, procedures for the use of modular design method so that the logic of the relationship between program design more concise, the system more simple and convenien
5、t to upgrade. system use dot- matrix lcd module 12864 font display as the data carrier and therefore have a human interface and aesthetic page will show the calendar date, time, chinese date, week, temperature, and has alarm functions. users can adjust the system time or set the alarm time through t
6、he button. i completed the assembly and commissioning finally. key words: single-chip at89s52 digital calendar lcd module 12864 目錄 1 引言 1 1.1 課題研究背景與現(xiàn)狀1 1.2 本課題所做的工作2 2 數(shù)字萬年歷硬件設(shè)計 3 2.1 電源電路設(shè)計3 2.2 微控制器選擇4 2.3 溫度測量環(huán)節(jié)設(shè)計8 2.4 時鐘芯片環(huán)節(jié)10 2.5 顯示電路設(shè)計13 2.6 定時鬧鈴、按鍵電路設(shè)計16 3 數(shù)字萬年歷軟件設(shè)計 18 3.1 軟件總體設(shè)計18 3.2 按鍵掃描并
7、處理程序流程19 3.3 相應數(shù)據(jù)加一程序流程20 3.4 游標顯示控制程序流程22 3.5 溫度測量元件控制程序流程22 3.6 時鐘芯片讀寫程序流程23 4 系統(tǒng)調(diào)試 25 4.1 系統(tǒng)硬件調(diào)試25 4.1.1 微控制器硬件調(diào)試 25 4.1.2 時鐘芯片硬件調(diào)試 25 4.1.3 蜂鳴器硬件電路調(diào)試 26 4.2 系統(tǒng)軟件調(diào)試26 4.2.1 時鐘芯片軟件調(diào)試 27 4.2.2 顯示部分軟件調(diào)試 27 4.2.3 按鍵部分軟件調(diào)試 28 5 總結(jié) 29 致謝 31 參考文獻 32 附錄 33 附 1:系統(tǒng)原理總圖33 附 2: 系統(tǒng)實物圖片34 附件 3:系統(tǒng)程序35 1 1 引言引言
8、1.1 課題研究背景與現(xiàn)狀 時間是科學技術(shù)中最基本的物理量之一,無論是農(nóng)業(yè)生產(chǎn),還是工業(yè)自動 控制,都與時間息息相關(guān),尤其是中國的農(nóng)業(yè)生產(chǎn),和農(nóng)歷日期聯(lián)系緊密,準 確的農(nóng)歷日期,為農(nóng)業(yè)生產(chǎn)、農(nóng)民生活帶來極大方便。工業(yè)生產(chǎn)中的延時動作, 定時動作等對時間的精確度要求較高。小到運動員的百米賽跑,大到一項工程 的實施,都和時間密不可分,所以,萬年歷隨處可見。但是,隨著科技的發(fā)展, 人們生活水平不斷提高,人們所關(guān)心的不僅僅是時間,還有其他一些像室內(nèi)溫 度、農(nóng)歷日期、星期等和人們生活聯(lián)系緊密的數(shù)據(jù),甚至對數(shù)字萬年歷的外觀 也提出新的要求,這就對萬年歷的功能提出新的更高的要求。 近年來隨著計算機在社會各領(lǐng)
9、域的滲透, 單片機的應用正在不斷地走向深 入,同時帶動傳統(tǒng)控制方式日新月益??刂品绞接袕哪M控制向數(shù)字控制轉(zhuǎn)變 的發(fā)展趨勢。微控制芯片具有強大的邏輯運算能力,它的出現(xiàn),使得數(shù)字萬年 歷不僅能給人們提供時間,而且還能提供很多新的功能,例如:溫度顯示、農(nóng) 歷顯示、節(jié)氣提示、語音提示、日程表、生日提示、星座查詢、錄音放音、風 景控制等?,F(xiàn)在的好多數(shù)字萬年歷產(chǎn)品都通過控制內(nèi)置燈光對萬年歷表面裝飾 圖片進行掃描,實現(xiàn)動態(tài)風景;通過控制語音芯片發(fā)出各類鳥叫的聲音,使人 們生活在自己的房間里,仿佛身處大自然!可見,現(xiàn)在的數(shù)字萬年歷不僅僅是 一個智能化的、可以提供多信息的器件,更是室內(nèi)的一道風景。 上海禮品公
10、司生產(chǎn)的多功能萬年歷具有 led 燈顯示、年歷、月歷、時間顯 示、12 小時或 24 小時制式、選擇四組定時鬧鈴、整點鈴響、按鍵音、小于 100 小時倒計時、世界 16 個城市現(xiàn)在時查詢、1900 年到 2099 年月歷查詢、八 位數(shù)四則運算、百分比計算 m+、m-和 mrc 存儲運算功能貨幣換匯計算??梢?, 多功能智能化數(shù)字萬年歷是以后萬年歷發(fā)展的方向,基于微控制芯片的數(shù)字萬 年歷可以滿足人們對萬年歷的多功能、界面友好和智能化的要求,數(shù)字控制技 術(shù)將引起萬年歷新的重大改變。 1.2 本課題所做的工作 首先,本課題對系統(tǒng)主要功能進行分析,確定該系統(tǒng)的主要功能是:陽歷 日期、時間顯示、農(nóng)歷日期顯
11、示、星期顯示、環(huán)境溫度顯示和定時鬧鈴,并可 以修改時間,在修改時間的過程中,可以對月份天數(shù)自動判斷。 其次,系統(tǒng)設(shè)計要做的工作是電源分析和設(shè)計,該設(shè)計選用的集成芯片都 采用+5v 電源供電,所以,要先對常見 220v 交流電源進行變換,得到較為穩(wěn)定 的、可以滿足系統(tǒng)要求的+5v 穩(wěn)壓電源。 最后,要對選用的芯片進行學習,尤其是其工作時序,這是實現(xiàn)系統(tǒng)的關(guān) 鍵。溫度檢測采用 ds18b20,由于 ds18b20 是單總線溫度傳感器,所以,對其 控制需要較嚴格的時序。通過查閱資料和仿真掌握單總線數(shù)字溫度傳感器的時 序要求和工作流程,該系統(tǒng)主要應用了 ds18b20 的跳過 rom 匹配、溫度轉(zhuǎn)換、
12、 讀取溫度指令等。 時鐘芯片采用 ds1302,為三總線時鐘芯片,為了能夠使其正常工作,要學 習其中的寄存器格式、寄存器特殊位作用、讀取時間寄存器數(shù)據(jù)、寫入時間寄 存器數(shù)據(jù)等。ds1302 時鐘芯片內(nèi)部沒有集成備用電源,所以,要對其掉電保護 環(huán)節(jié)進行考慮和設(shè)計。 顯示器件選用點陣帶字庫型 12864 液晶模塊,由于液晶模塊在寫入指令或 數(shù)據(jù)后,要經(jīng)過一段時間才能完成內(nèi)部動作,所以,對其讀寫控制時要有必要 的延時,以等待液晶模塊完成內(nèi)部動作,才能使寫入的數(shù)據(jù)或指令有效。帶字 庫型液晶模塊有基本指令集和擴充指令集,本設(shè)計不需要顯示圖片,所以,采 用基本指令集。在時間設(shè)定環(huán)節(jié),要有設(shè)定提示,本系統(tǒng)以
13、游標閃爍方式提示 用戶當前所修改的數(shù)據(jù),為此,要對游標閃爍控制方式進行學習。 7805 123 inputgndoutput 2 數(shù)字萬年歷硬件設(shè)計數(shù)字萬年歷硬件設(shè)計 該系統(tǒng)采用 220v 交流電供電,自帶電源變換電路,在交流斷電的情況下, 仍能保持正確走時。微控制芯片采用 atmel 公司的 at89s52,其內(nèi)部含有 8k 字 節(jié) flash,支持 usbisp 編程,十分方便。溫度傳感器選用 ds18b20,它支持 3v5.5v 的電壓范圍,使系統(tǒng)設(shè)計更靈活、方便。時鐘芯片選用美國 dallas 公司推出的具有涓細電流充電能力的低功耗實時時鐘芯片 ds1302。顯示部分選 用界面友好的
14、ym12864r 液晶模塊,其內(nèi)部采用 st7920a 控制器,內(nèi)置 8192 個 中文漢字(1616) ,編程方便,可以節(jié)約很多的程序存儲器空間。穩(wěn)壓芯片 選用三端穩(wěn)壓器件 7805,簡單易用、價格低廉。 2.1 電源電路設(shè)計 電源是系統(tǒng)能夠工作的基礎(chǔ),電源的好壞直接影響到系統(tǒng)的性能。一個好 的電源,可以給系統(tǒng)提供足夠的能量,從而使系統(tǒng)運行穩(wěn)定。我們常見的、也 比較容易獲得的電源是 220v 交流電,而該系統(tǒng)以集成芯片為硬件基礎(chǔ),其需 要大約+5v 的直流電源。如何對易得的 220v 交流電進行變換,使其符合系統(tǒng) +5v 的電壓、功率需求,是首先要解決的問題。 圖 2-1 7805 管腳 7
15、805 為三端正穩(wěn)壓電路,to-220 封裝,如圖 2-1 所示。在輸入電壓范圍 為 7v-15v 時,輸出端輸出較為穩(wěn)定的+5v 電壓。內(nèi)含過流、過熱和過載保護電 路。帶散熱片時,輸出電流可達 1a,且價格低廉,應用十分廣泛,能夠滿足該 系統(tǒng)+5v 工作電壓需求,所以該系統(tǒng)選取 7805 作為穩(wěn)壓元件。220v 交流電經(jīng) c4 2200uf input 1 gnd 2 output 3 7805 三三三三 7805 in 1 in 2 + 3 - 4 db107 三三三 220v 1 220v 2 9v 3 9v 4 三三三 三三三 220v 220v +5 三三三三 過 9v 變壓器,再經(jīng)
16、過 db107 全橋整流芯片,經(jīng)過 2200uf 電容濾波作為 7805 的輸入電壓,在 7805 輸出端就可以得到系統(tǒng)所需要的+5v 電源,其硬件電路原 理如圖 2-2 所示。 圖 2-2 電源電路硬件原理 2.22.2 微控制器選擇微控制器選擇 今天,微處理器已經(jīng)無處不在,無論是錄像機、智能洗衣機、移動電話等 家電產(chǎn)品,還是汽車引擎控制,以及數(shù)控機床、導彈精確制導等都要嵌入各類 不同的微處理器。微處理器不僅是微型計算機的核心部件,也是各種數(shù)字化智 能設(shè)備的關(guān)鍵部件,其芯片管腳如圖 2-3 所示。 at89s52 p1.0 1 p1.1 2 p1.2 3 p1.3 4 p1.4 5 p1.5
17、 6 p1.6 7 p1.7 8 rst 9 p3.0 10 p3.1 11 p3.2 12 p3.3 13 p3.4 14 p3.5 15 p3.6 16 p3.7 17 xtal2 18 xtal1 19 gnd 20 vcc 40 p0.0 39 p0.1 38 p0.2 37 p0.3 36 p0.4 35 p0.5 34 p0.6 33 p0.7 32 ea 31 ale 30 psen 29 p2.7 28 p2.6 27 p2.5 26 p2.4 25 p2.3 24 p2.2 23 p2.1 22 p2.0 21 at89s52 圖 2-3 at89s52 芯片管腳 at89s
18、52 是一種低功耗、高性能 cmos8 位微控制器。at89s52 具有 8k 在線 系統(tǒng)可編程 flash 存儲器。使用 atmel 公司高密度非易失性存儲器技術(shù)制造, 與工業(yè) 80c51 產(chǎn)品指令和引腳完全兼容。片上 flash 允許程序存儲器在線系統(tǒng) 可編程,亦適于常規(guī)編程器。在芯片上,具有靈巧的 8 位 cpu 和在線系統(tǒng)可 編程 flash,使得 at89s52 為眾多嵌入式控制應用系統(tǒng)提供高靈活、超有效的 解決方案。at89s52 具有以下標準功能:8k 字節(jié) flash,256 字節(jié) ram,32 位 i/o 口線,看門狗定時器,2 個數(shù)據(jù)指針,三個 16 位定時器/計數(shù)器,一個
19、 6 向量 2 級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,at89s52 可 降至 0hz 靜態(tài)邏輯操作,支持 2 種軟件可選擇節(jié)電模式??臻e模式下,cpu 停 止工作,允許 ram、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下, ram 內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬 件復位為止。 p0 口:p0 口是一個 8 位漏極開路的雙向 i/o 口。作為輸出口,每位能驅(qū) 動 8 個 ttl 邏輯電平。對 p0 端口寫“1”時,引腳用作高阻抗輸入。當訪問外 部程序和數(shù)據(jù)存儲器時,p0 口也被作為低 8 位地址/數(shù)據(jù)復用口,在這種模式 下,p0 口具有內(nèi)
20、部上拉電阻。在 flash 編程時,p0 口也用來接收指令字節(jié); 在程序校驗時,輸出指令字節(jié)。程序校驗時,需要外部上拉電阻。 p1 口:p1 口是一個具有內(nèi)部上拉電阻的 8 位雙向 i/o 口,p1 輸出緩沖 器能驅(qū)動 4 個 ttl 邏輯電平。對 p1 端口寫“1”時,內(nèi)部上拉電阻把端口拉 高,此時可以作為輸入口使用。作為輸入口使用時,被外部拉低的引腳由于內(nèi) 部電阻的原因,將輸出電流。 引腳號第二功能: p1.0 t2(定時器/計數(shù)器 t2 的外部計數(shù)輸入) ,時鐘輸出 p1.1 t2ex(定時器/計數(shù)器 t2 的捕捉/重載觸發(fā)信號和方向控制) p1.5 mosi(系統(tǒng)編程用) p1.6 m
21、iso(系統(tǒng)編程用) p1.7 sck(系統(tǒng)編程用) p2 口:p2 口是一個具有內(nèi)部上拉電阻的 8 位雙向 i/o 口,p2 輸出緩沖 器能驅(qū)動 4 個 ttl 邏輯電平。對 p2 端口寫“1”時,內(nèi)部上拉電阻把端口拉高, 此時可以作為輸入口使用。作為輸入口使用時,被外部拉低的引腳由于內(nèi)部電 阻的原因,將輸出電流。 在訪問外部程序存儲器或用 16 位地址讀取外部數(shù)據(jù)存儲器(例如執(zhí)行 movx dptr)時,p2 口送出高八位地址。在這種應用中,p2 口使用很強的內(nèi) 部上拉發(fā)送 1。在使用 8 位地址(如 movx ri)訪問外部數(shù)據(jù)存儲器時,p2 口 輸出 p2 鎖存器的內(nèi)容。在 flash
22、 編程和校驗時,p2 口也接收高 8 位地址字節(jié) 和一些控制信號。 p3 口:p3 口是一個具有內(nèi)部上拉電阻的 8 位雙向 i/o 口,p2 輸出緩沖器 能驅(qū)動 4 個 ttl 邏輯電平。對 p3 端口寫“1”時,內(nèi)部上拉電阻把端口拉高, 此時可以作為輸入口使用。作為輸入口使用時,被外部拉低的引腳由于內(nèi)部電 阻的原因,將輸出電流。 p3 口亦作為 at89s52 特殊功能(第二功能)使用,如下所示。 在 flash 編程和校驗時,p3 口也接收一些控制信號。 p3.0 rxd(串行輸入口) p3.1 txd(串行輸出口) p3.2 into(外中斷 0) p3.3 int1(外中斷 1) p3
23、.4 to(定時/計數(shù)器 0) p3.5 t1(定時/計數(shù)器 1) p3.6 wr(外部數(shù)據(jù)存儲器寫選通) p3.7 rd(外部數(shù)據(jù)存儲器讀選通) 此外,p3 口還接收一些用于 flash 閃存編程和程序校驗的控制信號。 rst復位輸入。當振蕩器工作時,rst 引腳出現(xiàn)兩個機器周期以上高電 平將使單片機復位,其上電復位硬件原理如圖 2-4 所示。 圖 2-4 上電復位硬件原理 ale/prog當訪問外部程序存儲器或數(shù)據(jù)存儲器時,ale(地址鎖存允 許)輸出脈沖用于鎖存地址的低 8 位字節(jié)。一般情況下,ale 仍以時鐘振蕩頻 率的 1/6 輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。
24、要注 意的是:每當訪問外部數(shù)據(jù)存儲器時將跳過一個 ale 脈沖。 at 89s52 p1.0 1 p1.1 2 p1.2 3 p1.3 4 p1.4 5 p1.5 6 p1.6 7 p1.7 8 rst 9 p3.0 10 p3.1 11 p3.2 12 p3.3 13 p3.4 14 p3.5 15 p3.6 16 p3.7 17 xtal2 18 xtal1 19 gnd 20 vcc 40 p0.0 39 p0.1 38 p0.2 37 p0.3 36 p0.4 35 p0.5 34 p0.6 33 p0.7 32 ea 31 ale 30 psen 29 p2.7 28 p2.6 27
25、 p2.5 26 p2.4 25 p2.3 24 p2.2 23 p2.1 22 p2.0 21 三三三 at89s52 1k r5 22uf c1 30uf c3 30uf c2 +5 +5 12m hz 對 flash 存儲器編程期間,該引腳還用于輸入編程脈沖(prog) 。如有必 要,可通過對特殊功能寄存器(sfr)區(qū)中的 8eh 單元的 d0 位置位禁止 ale 操 作。該位置位后,只有一條 movx 和 movc 指令才能將 ale 激活。此外,該引腳 會被微弱拉高,單片機執(zhí)行外部程序時,應設(shè)置 ale 禁止位無效。 psen程序存儲器允許(psen)輸出,是外部程序存儲器的讀選通信
26、號, 當 at89s52 由外部程序存儲器取指令(或數(shù)據(jù))時,每個機器周期兩次 psen 有效,即輸出兩個脈沖,在此期間,當訪問外部數(shù)據(jù)存儲器,將跳過兩次 psen 信號。 ea/vpp外部訪問允許,欲使 cpu 僅訪問外部程序存儲器(地址為 0000h-ffffh) ,ea 端必須保持低電平(接地) 。需注意的是:如果加密位 lb1 被編程,復位時內(nèi)部會鎖存 ea 端狀態(tài)。 如 ea 端為高電平(接 vcc 端) ,cpu 則執(zhí)行內(nèi)部程序存儲器的指令。flash 存儲器編程時,該引腳加上+12v 的編程允許電源 vpp,當然這必須是該器件是 使用 12v 編程電壓 vpp。該系統(tǒng)主控制電路硬
27、件原理如圖 2-5 所示。 ds18b20 1 2 3 gndi/ovdd 圖 2-5 系統(tǒng)主控制電路硬件原理 2.3 溫度測量環(huán)節(jié)設(shè)計 如今,溫度傳感器的總類可謂五花八門,各溫度傳感器的精度和控制方式 都有所不同,價格也相差很大。如何選擇滿足該系統(tǒng)測量室溫的精度要求,并 且價格低廉的溫度傳感器,是一個重要問題。 dallas 半導體公司的數(shù)字化溫度傳感器 ds18b20 是一線總線接口的溫度傳 感器,一線總線具有獨特而經(jīng)濟的特點,性能價格比非常出色。該系統(tǒng)需要測 量室溫,精度要求不是太高,所以,該系統(tǒng)選用 ds18b20 作為溫度傳感器,其 管腳排列如圖 2-6 所示。 圖 2-6 ds18
28、b20 管腳 微控制器控制 ds18b20 完成溫度轉(zhuǎn)換必須經(jīng)過三個步驟:每一次讀寫之前 要對 ds18b20 進行復位,復位成功后發(fā)送一條 rom 指令,最后發(fā)送 ram 指令, 這樣才能對 ds18b20 進行預定的操作。復位要求微控制器將數(shù)據(jù)線下拉 500 微 秒,然后釋放,ds18b20 收到信號后等待 1660 微秒左右,然后發(fā)出 60240 微秒的存在低脈沖,微控制器收到此信號表示復位成功,如果沒有收到復位成 功信號,則表示 ds18b20 出現(xiàn)問題,可以用來作為系統(tǒng)設(shè)計時的故障提示、判 斷信號。 ds18b20 的單總線數(shù)據(jù)傳輸特點,決定了它嚴格的控制時序。微控制器寫 1 時,數(shù)
29、據(jù)線必須先被拉至低電平,然后就被釋放,使數(shù)據(jù)線在寫時間片開始 之后的 15 微秒之內(nèi)拉至高電平。微控制器寫 0 時,數(shù)據(jù)線必須先被拉至低電 平且至少保持邏輯低電平 60 微秒。微控制器把數(shù)據(jù)線從高電平拉至低電平時, 產(chǎn)生讀時間片,數(shù)據(jù)線必須保持在邏輯低電平至少 1 微秒;來自 ds18b20 的輸 +5 gnd 1 dq 2 vdd 3 ds18b20 ds18b 20 三三三三三 讀數(shù)據(jù) 寫 0 60 微秒 15 微秒 45 微秒 15 微秒 45 微秒15 微秒 ds18b20 寫時間間隙 ds18b20 讀時間間隙 寫 1 出數(shù)據(jù)在讀時間片下降沿之后 15 微秒有效。因此,為了讀取從時間
30、片開始算 起 15 微秒的數(shù)據(jù)線狀態(tài),微控制器必須停止把數(shù)據(jù)線驅(qū)動至低電平。在讀時 間片結(jié)束時,數(shù)據(jù)線經(jīng)過外部的上拉電阻拉回至高電平。所有讀時間片的最短 持續(xù)期限為 60 微秒,各個讀時間片之間必須有最短為 1 微秒的恢復時間。其 讀寫時序如圖 2-7 所示。 圖 2-7 ds18b20 讀寫時間間隙 該系統(tǒng)對 ds18b20 進行操作用到的指令為:跳過 rom 匹配,命令字為 0cch;溫度轉(zhuǎn)換指令,命令字為 44h;讀溫度指令,命令字為 0beh。系統(tǒng)溫度 檢測部分硬件原理如圖 2-8 所示。 圖 2-8 系統(tǒng)溫度檢測部分硬件電路 2.4 時鐘芯片環(huán)節(jié) ds1302 是美國 dallas
31、公司推出的一種高性能、低功耗、帶 ram 的實時時 鐘電路,它可以對年、月、日、周日、時、分、秒進行計時,具有閏年補償功 能,采用三線接口與 cpu 進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié) 的時鐘信號或 ram 數(shù)據(jù)。ds1302 內(nèi)部有一個 318 的用于臨時存放數(shù)據(jù)的 ram 寄存器。ds1302 采用主電源/后備電源雙電源引腳,同時提供了對后備電源進 行涓細電流充電的能力。ds1302 電路的接口簡單、價格低廉、工作電壓為 2.5v5.5v,使用方便,被廣泛地采用,所以,該系統(tǒng)選用 ds1302。 圖 2-9 ds1302 管腳 圖 2-9 所示為 ds1302 的引腳排列,其中
32、 vcc1為后備電源,vcc2為主電源, 在主電源關(guān)閉的情況下,也能保持時鐘的連續(xù)運行。ds1302 由 vcc1或 vcc2兩 者中的較大者供電。當 vcc2大于 vcc10.2v 時,vcc2給 ds1302 供電。當 vcc2小于 vcc1時,ds1302 由 vcc1供電。x1 和 x2 是振蕩源,外接 32.768khz 晶振。rst 是復位/片選線,通過把 rst 輸入驅(qū)動至高電平來啟動所有的數(shù)據(jù)傳 送。rst 輸入有兩種功能:首先,rst 接通控制邏輯,允許地址/命令序列送入 移位寄存器;其次,rst 提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當 rst 為 高電平時,所有的數(shù)據(jù)傳送
33、被初始化,允許對 ds1302 進行操作。如果在傳送 過程中 rst 置為低電平,則會終止此次數(shù)據(jù)傳送。 i/o 引腳變?yōu)楦咦钁B(tài)。上電運行時,在 vcc2.5v 之前,rst 必須保持低 電平,只有在 sclk 為低電平時,才能將 rst 置為高電平。i/o 為串行數(shù)據(jù)輸入 輸出端(雙向),sclk 始終是輸入端。 在對 ds1302 進行讀寫操作時,要首先了解它的控制字。ds1302 的控制字 如圖 2-10 所示??刂谱止?jié)的最高有效位(位 7)必須是邏輯 1,如果它為 0,則 不能把數(shù)據(jù)寫入 ds1302 中,位 6 如果為 0,則表示存取日歷時鐘數(shù)據(jù),為 1 表 示存取 ram 數(shù)據(jù);位
34、 5 至位 1 表示操作單元的地址;最低有效位(位 0)如為 0 表示要進行寫操作,為 1 表示進行讀操作,控制字節(jié)總是從最低位開始輸出。 在控制指令字輸入后的下一個 sclk 時鐘的上升沿,數(shù)據(jù)被寫入 ds1302,數(shù)據(jù) 輸入從低位即位 0 開始。同樣,在緊跟 8 位控制指令字后的下一個 sclk 脈沖 的下降沿讀出 ds1302 的數(shù)據(jù),讀出數(shù)據(jù)時從低位 0 到高位 7。 1ram ck a4a3a2a1a0 ram k 圖 2-10 ds1302 控制字 該系統(tǒng)需要對時間進行讀取和設(shè)定,所以,在掌握控制字之后,還必須熟 悉 ds1302 內(nèi)部各寄存器的地址和特殊狀態(tài)位,其內(nèi)部各寄存器的地
35、址和特殊 狀態(tài)位如表 2-1 所示。 表 2-1 日歷、時間寄存器及其控制字 命令字各位內(nèi)容名 寫讀 取值范圍 76543210 秒80h81h00-59ch10secsec 分82h83h00-59010minmin 時84h85h01-12 或 00-2312/24010hrhr 日86h87h01- 28、29、30、31 0010datedate 月88h89h01-1200010mmonth 周8ah8bh01-0700000day 年8ch8dh00-9910yearyear 3v vcc2 1 x1 2 x2 3 gnd 4 vcc1 8 sclk 7 i/o 6 rst 5 d
36、s1302 ds1302 三三三三 +5 32.768khz 系統(tǒng)時鐘芯片部分硬件原理如圖 2-11 所示。 圖 2-11 系統(tǒng)時鐘芯片部分硬件原理 2.5 顯示電路設(shè)計 現(xiàn)在,大多數(shù)字萬年歷都采用 led 顯示數(shù)據(jù),但是,led 只能顯示數(shù)字, 不能顯示漢字。要想實現(xiàn)更好的人機界面,用液晶顯示器顯示數(shù)據(jù)是最佳選擇。 ym12864r 點陣帶字庫液晶顯示模塊可顯示漢字及圖形,內(nèi)置 8192 個中文漢字 (1616 點陣) 、128 個字符(816 點陣),其引腳功能如表 2-2 所示。 該系統(tǒng)中,微控制芯片采用 8 位并口的方式對 ym12864r 進行控制,所以 psb 引腳接固定高電平。在
37、對 ym12864r 進行控制時,要清楚它的讀寫時序,在 本設(shè)計中,主要是對 ym12864r 進行寫操作,所以,下面介紹 ym12864r 的寫控 制時序,其寫控制時序如圖 2-12 所示。 r/w rs e 延時 有效 低電平“寫” 命令、數(shù)據(jù)選擇 db0-db7db0-db7 表 2-2 ym12864r 引腳功能說明 引腳號引腳名稱方向功能說明 1vss- 模塊的電源地 2vdd- 模塊的電源正端 3vo- lcd 驅(qū)動電壓輸入端 4rs(cs)h/l 并行的指令/數(shù)據(jù)選擇信號:串行的片選信號 5r/w(sid)h/l 并行的讀寫選擇信號:串行的數(shù)據(jù)口 6e(clk)h/l 并行的使能
38、信號:串行的同步時鐘 7db0h/l 數(shù)據(jù) 0 8db1h/l 數(shù)據(jù) 1 9db2h/l 數(shù)據(jù) 2 10db3h/l 數(shù)據(jù) 3 11db4h/l 數(shù)據(jù) 4 12db5h/l 數(shù)據(jù) 5 13db6h/l 數(shù)據(jù) 6 14db7h/l 數(shù)據(jù) 7 15psbh/l 并/串行接口選擇:h-并行:l-串行 16nc 空腳 17/reth/l 復位 低電平有效 18nc 空腳 19led_a- 背光電源正極(led+5v) 20led_k- 背光電源負極(led-0v) 圖 2-12 ym12864 寫時序 圖 2-12 給出 ym12864r 的寫控制時序,對 ym12864r 寫控制時,在使能信 號 e
39、 下降沿有效。在使能信號 e 下降沿后,為了保證數(shù)據(jù)或指令可靠寫入,需 要在使能信號 e 下降沿后有一段延時,使 ym12864r 完成內(nèi)部動作。ym12864r 的指令集分為基本指令集和擴充指令集,擴充指令集提供繪圖功能,可以顯示 圖片;在本設(shè)計當中,僅需要基本指令集以顯示漢字、數(shù)字和字母,表 2-3 給 出 ym12864r 的基本指令集。清除顯示指令將 ddram 填滿“20h” ,并且設(shè)定 ddram 的地址計數(shù)器(ac)為“00h” 。 地址歸位指令設(shè)定 ddram 的地址計數(shù)器 (ac)為“00h” ,并且將游標移到開頭原點位置,這個指令并不改變 ddram 的 內(nèi)容。在顯示狀態(tài)開
40、/關(guān)指令中,d=1,整體顯示 on,c=1,游標 on,b=1,游 標位置 on。在功能設(shè)定指令中 dl=1(必須為 1),re=1,擴充指令集動作,re=0,基 本指令集動作。 表 2-3 ym12864r 基本指令 指令碼指令 rsrwdb7db6db5db4db3db2db1db0 設(shè)定 ddram 地址 001ac6ac5ac4ac3ac2ac1ac0 寫資料到 ram 10d7d6d5d4d3d2d1d0 清除顯示 0000000001 地址歸位 000000001x 顯示狀態(tài)開/關(guān) 0000001dcb 游標或顯示移位控制 000001s/cr/lxx 功能設(shè)定 00001dlxr
41、exx 對 ym12864 操作時需要注意的問題: 1:對 ym12864r 操作前,要初始化,本設(shè)計在初始化時主要是進行 ddram +5 +5 三三三 10k 三三: 2009-05-22 三三: 2009-04-28 13:51:20 三三三 三三三三: 25三 rs 4 r/w 5 e 6 db0 7 db1 8 db2 9 db3 10 db4 11 db5 12 db6 13 db7 14 psb 15 nc 16 /rst 17 nc 18 led 19 led 20 vss 1 vdd 2 vo 3 三三三三12864 +5 三三三pnp +5 buzzer + 1 - 2 三
42、三三 地址設(shè)定,基本指令集選擇,顯示狀態(tài)開,游標顯示開等。 2:在對 ym12864r 寫控制時,必須保證在使能信號 e 的下降沿后有一段的 延時才能寫入有效的數(shù)據(jù)或指令。 3:在顯示中文字型時,將兩字節(jié)編碼連續(xù)寫入 ddram 中,范圍為 a140h- f7ffh(gb 碼)或 a140h-d75fh(big5 碼)。顯示半寬字形時將一字節(jié)編碼寫入 ddram 中,范圍為 02h-7fh,系統(tǒng)顯示部分硬件電路原理如圖 2-13 所示。 圖 2-13 系統(tǒng)顯示部分硬件電路 2.6 定時鬧鈴、按鍵電路設(shè)計 該系統(tǒng)具有定時鬧鈴功能,當定時到的時候,微控制器由 p1.7 發(fā)出控制 信號,控制三極管導
43、通關(guān)斷,從而控制蜂鳴器發(fā)出時長一分鐘的鬧鈴聲。蜂鳴 器采用+5v 供電,所以需要三極管驅(qū)動,其驅(qū)動控制電路如圖 2-14 所示。 三三三三三三三三 10k r 4 10k r 3 10k r 2 10k r 1 +5 圖 2-14 系統(tǒng)鬧鈴部分硬件電路 在該系統(tǒng)中,用戶可以通過按鍵對日期、時間、定時時間進行修改。系統(tǒng) 提供四個按鍵,分別為:設(shè)定、選擇、調(diào)節(jié)、確定。四個按鍵分別接到微控制 器 p3.0、p3.1、p3.2、p3.3 引腳,在按鍵沒有被按下時,引腳為邏輯低電平, 按下則為邏輯高電平,系統(tǒng)按鍵部分硬件原理如圖 2-15 所示。 圖 2-15 系統(tǒng)按鍵部分硬件電路 3 3 數(shù)字萬年歷軟
44、件設(shè)計數(shù)字萬年歷軟件設(shè)計 一個系統(tǒng),硬件的設(shè)計往往只是其中的一部分,或者說一小部分。尤其隨 著微電子技術(shù)、大規(guī)模集成電路制作技術(shù)的發(fā)展,很多我們所需要的元件都可 以在市場上找到。集成芯片系統(tǒng)的硬件電路往往非常簡單,因為它們都采用總 線和微控制器對話。硬件電路設(shè)計完成后,要讓系統(tǒng)按照我們設(shè)計的要求工作, 就需要軟件來控制微控制器和外圍芯片對話,軟件是該系統(tǒng)的靈魂! 3.1 軟件總體設(shè)計 該系統(tǒng)軟件采用匯編語言設(shè)計,模塊化的設(shè)計方法使得該系統(tǒng)以后的升級 改動更為靈活。系統(tǒng)軟件流程為:上電顯示制作者開機界面、送開始轉(zhuǎn)換溫度 指令、讀取溫度值到緩沖區(qū)、讀取全部時鐘日歷數(shù)據(jù)到緩沖區(qū)、顯示陽歷日期 和時間
45、、陽歷農(nóng)歷轉(zhuǎn)換、顯示農(nóng)歷日期、顯示溫度、定時判斷、判斷是否有按 鍵被按下、返回到開始。本系統(tǒng)采用四個按鍵和微處理器對話,可以修改時間, 設(shè)定定時時間。微處理器采用查詢方式掃描按鍵狀態(tài)。主程序執(zhí)行流程如圖 3- 1 所示。 顯示開機界面 轉(zhuǎn)換溫度并讀取溫度 讀取全部時鐘數(shù)據(jù) 顯示陽歷日期、時間、星期 調(diào)用陽歷農(nóng)歷轉(zhuǎn)換 顯示農(nóng)歷日期、環(huán)境溫度 定時到了嗎? 蜂鳴器控制信號取反 y n 開始 按鍵掃描并處理 圖 3-1 主程序流程 3.2 按鍵掃描并處理程序流程 要設(shè)定鬧鈴時間,就要求外界和微處理器對話,以告知微處理器人們的意 愿。按鍵輸入方便、簡單,應用廣泛,例如電腦鍵盤。 ,按鍵掃描并處理程序
46、流程如圖 3-2 所示。 設(shè)定按下? 加一按下? n 轉(zhuǎn)換溫度并讀取溫度 選擇按下? 修改游標地址 刷新屏幕 y 相應數(shù)據(jù)加一 刷新屏幕 y 確認按下? n n y n 寫入修改后 數(shù)據(jù) 轉(zhuǎn)換溫度并 讀取溫度 y 圖 3-2 按鍵掃描并處理程序流程 3.3 相應數(shù)據(jù)加一程序流程 根據(jù)數(shù)據(jù)指針值加一相應數(shù)據(jù) 判斷數(shù)據(jù)指針 數(shù)據(jù)超過范圍? n 刷新屏幕 數(shù)據(jù)清零 y 刷新屏幕 圖 3-3 相應數(shù)據(jù)加一程序流程 相應數(shù)據(jù)加一程序流程如圖 3-3 所示,在對數(shù)據(jù)加一處理程序中,需要對 各數(shù)據(jù)范圍進行判斷,年的最大值為 99,即該系統(tǒng)最長可顯示到 2099 年的日 期、時間。月的最大值為 12,時的最大
47、值為 23,分的最大值為 59,秒的最大 值為 59。該系統(tǒng)能夠?qū)γ吭碌奶鞌?shù)進行自動判斷,陽歷的月份信息為: 1、3、5、7、8、10、12 月,每月 31 天;4、6、9、11 月,每月 30 天;二月 最為特殊,非閏年為 28 天,閏年為 29 天,所以,要想實現(xiàn)日期加一,除了要 判斷月份值外,還需要判斷年份是否為閏年。日期加一的程序流程如圖 3-4 所 示。 月份為 2 嗎? 日期最大? 日期值清零 日期加一 y n n y 是閏年? 日期為 29? y 日期為 28? n 日期清 零 y 日期加一 n y 日期清零 n 日期加一 圖 3-4 日期加一程序流程 3.4 游標顯示控制程序流
48、程 該數(shù)字萬年歷可以對時間進行修改、鬧鈴設(shè)定。當需要修改時間和鬧鈴設(shè) 定時,系統(tǒng)以游標閃爍的方式提示用戶當前修改的數(shù)據(jù)。游標指針是連續(xù)加一 的,要能正確顯示游標的位置,需要對其進行變換,得到 ym12864r 的實際游 標閃爍地址,游標閃爍控制程序流程如圖 3-6 所示。 復位 ds18b20 跳過 rom 匹配 送溫度轉(zhuǎn)換指令 延時等待溫度轉(zhuǎn)換結(jié)束 復位 ds18b20 跳過 rom 匹配 送讀溫度指令 接收并保存溫度數(shù)據(jù) 3.5 溫度測量元件控制程序流程 室內(nèi)環(huán)境溫度和人們的生活息息相關(guān),隨著人們生活水平的提高,人們對 和氣候相關(guān)的數(shù)據(jù)越來越關(guān)心。本系統(tǒng)具有室內(nèi)溫度測量功能,并且通過液晶
49、顯示器顯示出來,界面直觀,可以讓人們很方便的了解當前的環(huán)境溫度。該系 統(tǒng)采用 ds18b20 作為溫度傳感器,一個微控制器引腳可以掛接多個 ds18b20, 在微控制器發(fā)送指令時,究竟哪一個 ds18b20 接收指令,由 rom 匹配環(huán)節(jié)確定。 本設(shè)計只用到一片 ds18b20,所以不需要 rom 匹配,直接發(fā)送跳過 rom 匹配指 令即可。溫度傳感器 ds18b20 控制程序流程如圖 3-5 所示。 圖 3-5 ds18b20 控制程序流程 3.6 時鐘芯片讀寫程序流程 移位寄存器寫保護關(guān)閉 發(fā)送多字節(jié)方式讀取指令 接收所有時鐘日歷數(shù)據(jù)并保存到緩沖區(qū) 圖 3-7 ds1302 多字節(jié)讀取數(shù)據(jù)
50、程序流程 移位寄存器寫保護關(guān)閉 發(fā)送多字節(jié)寫入指令 送數(shù)據(jù)到 i/o 口 圖 3-8 ds1302 多字節(jié)寫入程序流 程圖 ym12864r 地址歸位 判斷游標指針值 判斷游標需要右移的次數(shù) 游標右移 在該系統(tǒng)中,微控制器所做的主要工作就是不斷的讀取時鐘芯片內(nèi)部的日歷 寄存器數(shù)據(jù)并將其顯示在液晶屏幕上。ds1302 采用三總線與微控制器對話,微 控制器讀寫時鐘芯片內(nèi)日歷寄存器數(shù)據(jù)的程序流程如圖 3-7、3-8 所示。 圖 3-6 游標閃爍控制程序流程 4 系統(tǒng)調(diào)試 一個完整的系統(tǒng)在開始著手設(shè)計的時候往往要考慮很多的環(huán)節(jié),該系統(tǒng)在 設(shè)計的時候就要考慮溫度檢測、時鐘準確走時、數(shù)據(jù)顯示、鬧鈴、按鍵識
51、別與 處理等很多環(huán)節(jié)。假如我們直接把所有硬件焊接起來,倘若系統(tǒng)不能正常工作, 那么檢查起來將非常麻煩,所以,該系統(tǒng)在進行調(diào)試的時候,采用模塊化,分 步驟進行的方式,把一塊一塊的功能實現(xiàn)了,再組裝起來進行聯(lián)合調(diào)試,可以 取得事半功倍的效果。 4.1 系統(tǒng)硬件調(diào)試 硬件是系統(tǒng)的載體,沒有硬件,系統(tǒng)根本無法實現(xiàn)。在硬件焊接的過程中, 難免會出現(xiàn)一些問題,在微控制器控制系統(tǒng)中,對硬件每一部分的細節(jié)都要求 很高,任何一個環(huán)節(jié)出現(xiàn)很小的問題都將導致系統(tǒng)不能正常工作,系統(tǒng)功能無 法實現(xiàn)。 4.1.1 微控制器硬件調(diào)試 在本系統(tǒng)硬件調(diào)試過程中,首先確定微控制器各引腳能夠正常輸出邏輯高 低電平。在微控制器硬件電
52、路焊接完畢之后,裝入簡單測試程序,讓微控制器 所有管腳輸出邏輯高電平,然后,用萬用表測量各管腳是否為高電平;再裝入 測試程序,讓所有微控制器管腳輸出邏輯低電平,用萬用表測量各管腳是否為 低電平。這種裝入簡單測試程序以測量部分硬件電路是否工作正常的方式在該 系統(tǒng)的調(diào)試過程中顯得非常有用。 4.1.2 時鐘芯片硬件調(diào)試 時鐘芯片在該系統(tǒng)中有著非常重要的地位。在時鐘芯片硬件電路焊接好 之后,裝入測試程序,發(fā)現(xiàn)不能正常工作,如果拿金屬物接觸 ds1302 數(shù)據(jù)管 腳,就能正常工作,這種現(xiàn)象很少見,因為只拿金屬物接觸時鐘芯片數(shù)據(jù)管腳, 并沒有構(gòu)成任何回路,所以這個問題非常隱蔽。 開始猜測這種現(xiàn)象是由于杜
53、邦線插頭接觸不良造成,所以用手接觸所有杜 邦線,發(fā)現(xiàn)畫面閃爍,有時時鐘芯片可以正常工作,有時又不能正常工作。經(jīng) 過多次觸摸杜邦線試驗,發(fā)現(xiàn)接觸時鐘芯片數(shù)據(jù)線之后,畫面閃爍最為厲害。 由于時鐘芯片的三根杜邦線是一排線,并沒有拆開,所以試著把這三根杜邦線 拆開,結(jié)果發(fā)現(xiàn)畫面穩(wěn)定,說明時鐘芯片工作正常。由此看來,杜邦線的距離 非常近,相互干擾是結(jié)果不正常的原因,這將是一個寶貴的經(jīng)驗。 時鐘芯片 ds1302 沒有掉電保護功能,為了在系統(tǒng)主電源斷開后系統(tǒng)仍能 保持正常走時,需要對 ds1302 加后備電源。該系統(tǒng)采用兩節(jié) 1.5v 電池作為時 鐘芯片 ds1302 的后備電源。對后備電源調(diào)試的時候,是
54、先切斷主電源,等一 段時間再接通主電源,觀察時間是否仍然正確。開始,在切斷主電源的時候, 發(fā)現(xiàn)有的時候時鐘芯片能夠正常走時,有的時候不能正常走時。當按下電源開 關(guān)速度比較快的時候,能夠正常走時;當按下電源開關(guān)速度比較慢的時候不能 正常走時,時鐘數(shù)據(jù)混亂。開始猜測是由于電壓突變,時鐘芯片不能正確切換 到備用電源造成的,所以,考慮在時鐘芯片電源管腳加電容,但是仍不能滿足 要求。最后經(jīng)過多次閱讀時鐘芯片說明書,發(fā)現(xiàn)主電源和備用電源焊顛倒了, 這說明我們在焊接硬件電路的時候一定要準確了解各個管腳的功能。 4.1.3 蜂鳴器硬件電路調(diào)試 定時鬧鈴在萬年歷中屬于基本功能,本系統(tǒng)在鬧鈴環(huán)節(jié)采用 5v 有源蜂
55、鳴 器發(fā)出鬧鈴信號。在對蜂鳴器環(huán)節(jié)初次試驗時,直接接到單片機引腳,發(fā)現(xiàn)無 聲響,直接接到電源端,發(fā)出聲響,可見需要驅(qū)動電路。在本系統(tǒng)中,蜂鳴器 采用一個 pnp 三極管驅(qū)動,微控制器發(fā)出低電平控制信號有效。 4.2 系統(tǒng)軟件調(diào)試 在本系統(tǒng)中,硬件電路看上去非常簡單,全部采用集成芯片設(shè)計。每一個 集成芯片都有相應的控制方法,即工作時序。我們在應用一個集成芯片的時候, 首先要認真閱讀其讀寫時序,再了解它的初始化流程及指令集。該系統(tǒng)除含有 單總線溫度傳感器芯片外,還含有液晶顯示模塊,其控制方式都非常麻煩,對 軟件的設(shè)計要求很嚴格,尤其是溫度傳感器芯片,在對其讀寫過程中,要求有 r/w rs e 延時
56、 有效 低電平“寫” 命令、數(shù)據(jù)選擇 db0-db7db0-db7 嚴格的延時。 4.2.1 時鐘芯片軟件調(diào)試 在開始的時鐘芯片讀寫過程中,發(fā)現(xiàn)不能正確讀出時鐘芯片數(shù)據(jù),讀出的 時鐘芯片數(shù)據(jù)全部為 0ffh。經(jīng)仔細閱讀資料發(fā)現(xiàn)時鐘芯片 ds1302 內(nèi)部含有寫 保護寄存器,當其最高位為 0 時,可以寫入移位寄存器,反之則不能寫入,而 在開始初始化 ds1302 時,并沒有包含寫保護寄存器最高位清零的環(huán)節(jié),所以 程序中的所有寫入、讀出語句全部無效,不能被 ds1302 所接收。在程序設(shè)計 的開始加入關(guān)閉寫保護語句,可以正確寫入、讀出時鐘芯片日歷寄存器數(shù)據(jù)。 4.2.2 顯示部分軟件調(diào)試 為了使系
57、統(tǒng)具有良好的人機交互界面,該系統(tǒng)采用液晶顯示器顯示所有數(shù) 據(jù),但是,液晶顯示模塊的控制要比 led 數(shù)碼管復雜得多。不同的液晶顯示模 塊可能采用不同的控制器,在選用液晶模塊的時候,要對其進行控制,首先要 學習它的控制器,該系統(tǒng)所選液晶模塊采用 st7920 控制器。 液晶模塊采用 8 位并口和微控制器對話,在時鐘下降沿有效。在開始的顯 示部分軟件調(diào)試過程中,液晶顯示模塊白屏,即所送指令和數(shù)據(jù)根本沒有被液 晶模塊所接收。 圖 4-1 液晶顯示模塊寫時序 閱讀液晶模塊寫入時序,如圖 4-1 所示,發(fā)現(xiàn)在 e 下降沿后,要保持數(shù)據(jù) 一段時間,以等待液晶模塊完成內(nèi)部動作。在每一個 e 下降沿之后加一段
58、延時 程序,發(fā)現(xiàn)顯示部分工作正常。 4.2.3 按鍵部分軟件調(diào)試 在本系統(tǒng)中,用戶可以使用鍵盤修改時間、設(shè)定鬧鈴時間。以前學習過讀 取微控制器引腳狀態(tài)的基本語句。按照理論設(shè)計程序,并觀察按鍵按下之后顯 示界面是否按照理論設(shè)計的結(jié)果變化,發(fā)現(xiàn)在按下一次“選擇”鍵之后,游標 不是移動一位,而是移動很多位,這說明硬件有抖動。本設(shè)計在最后按鍵部分 軟件設(shè)計過程中,采用軟件消抖和按鍵釋放判斷,很好的解決了這個問題。 5 總結(jié) 在該系統(tǒng)設(shè)計、調(diào)試完成之后,對最后的成功進行分析,同時結(jié)合在調(diào)試 過程中出現(xiàn)的錯誤進行綜合分析,總結(jié)在實際系統(tǒng)設(shè)計和調(diào)試過程中的寶貴經(jīng) 驗。 在系統(tǒng)硬件設(shè)計之前,要結(jié)合當前系統(tǒng)的發(fā)
59、展趨勢和現(xiàn)狀對系統(tǒng)功能進行 定位,使系統(tǒng)在實際應用中具有競爭力。該系統(tǒng)最大的特點就是界面友好,走 時準確,和現(xiàn)在使用 led 顯示數(shù)據(jù)的萬年歷相比,體積更小,可以作為轎車車 載顯示裝置。系統(tǒng)采用液晶顯示器,可以使該系統(tǒng)應用到更加現(xiàn)代化的地方。 該系統(tǒng)采用模塊化程序設(shè)計方法,同時保留了很多的微控制器 i/o 口,擴展十 分方便。以往的采用 led 顯示數(shù)據(jù)的萬年歷要想實現(xiàn)功能擴展,除需要對系統(tǒng) 程序進行修改外,還必須增加或刪減 led 數(shù)碼管,同時要對 led 圖片界面進行 更換,硬件改動較大;該系統(tǒng)的顯示部分除可以顯示數(shù)據(jù)外,還可以顯示圖片, 所以說,其界面改動非常靈活,僅僅改動程序就能實現(xiàn)界
60、面的修改,用戶還可 以選擇自己喜歡的界面,這是以 led 作為顯示裝置的數(shù)字萬年歷所不能實現(xiàn)的。 系統(tǒng)具有溫度檢測功能,可以作為工業(yè)溫度檢測裝置,我們只要坐在辦公 室,就可以從液晶顯示器上觀察到機器設(shè)備的溫度值,同時可提供溫度報警。 系統(tǒng)的按鍵輸入功能,可以讀取決策,我們可以通過按鍵發(fā)送指令,控制工業(yè) 現(xiàn)場機器的動作,實現(xiàn)遠程控制。 可見,該系統(tǒng)本身不僅具有很大的靈活性、友好的界面、方便的可擴展性, 同時,在其基礎(chǔ)上的系統(tǒng)的市場需求也很可觀。工業(yè)控制的很多場合對時間要 求比較嚴格,在實際應用系統(tǒng)中,系統(tǒng)各裝置需要按照預定的時間動作,比如 我們要在春節(jié)零晨向廣大客戶發(fā)送祝福短信,就要判斷時間;我
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 倉庫機械租賃合同范本
- 凍肉投放合同范本
- 加工制作合同范本門窗
- 產(chǎn)品推廣居間合同范本
- 加盟合同范本奶茶
- 健身收購合同范本
- 出租黃色圍擋合同范例
- 中國國家展覽中心合同范例
- 住宅租賃房屋合同范例
- 2024年溫州鹿城農(nóng)商銀行招聘筆試真題
- 列車運行阻力
- TCADERM 5015-2023 救護直升機院際患者轉(zhuǎn)運規(guī)范
- 部編版-九年級下冊語文第一單元測試卷-含答案
- 疾病診斷相關(guān)分組概念
- 水庫清淤工程可行性研究報告
- Python深度學習實戰(zhàn)-基于Pytorch全書電子講義完整版ppt整套教學課件最全教學教程
- 2023年黑龍江建筑職業(yè)技術(shù)學院高職單招(語文)試題庫含答案解析
- GB/T 13298-1991金屬顯微組織檢驗方法
- 十八項醫(yī)療核心制度考試題及答案
- 《地史學》第01章-緒論
- 《高級計量經(jīng)濟學》-上課講義課件
評論
0/150
提交評論