基于單片機的電子萬年歷_第1頁
基于單片機的電子萬年歷_第2頁
基于單片機的電子萬年歷_第3頁
基于單片機的電子萬年歷_第4頁
基于單片機的電子萬年歷_第5頁
已閱讀5頁,還剩24頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、論文題目 基于單片機的電子萬年歷 (英 文) Design of Electronic Calendar based on single Chip Microcomputer摘 要現(xiàn)今信息技術(shù)飛速發(fā)展,時間和每一個人都有非常密切的相互聯(lián)系,時間對任何人都有著非常重要的影響。隨著科技的快速發(fā)展,流逝的時間,我們從根據(jù)太陽來判斷時間,發(fā)展到了用鐘擺看時間,到現(xiàn)在又有了各種電子表等。當(dāng)各類電子表在我們生活中廣泛應(yīng)用的時候,電子萬年歷的的出現(xiàn)又把我們引入到一個全新的時代。電子萬年歷是一種使用非常廣泛的日常計時工具,對現(xiàn)代社會越來越流行。它可以對年、月、日、周日、時、分、秒進行計時,還具有閏年補償?shù)榷喾N

2、功能,還具有時間校準(zhǔn)等功能。本設(shè)計是基于51系列的單片機進行的電子萬年歷設(shè)計,主要由時鐘芯片DS1302采集數(shù)據(jù)到單片機進行處理再通過LCD1602顯示出來。電子萬年歷的軟件部分是使用c語言編寫,主要用到的硬件電路有時鐘芯片DS1302、液晶顯示LCD1602,主控制芯片AT89C51,還有按鍵。關(guān)鍵詞:單片機, LCD602, AT89C51 ,DS302AbstractNowadays information technology develops rapidly, and time and everyone have very close interconnections, and ti

3、me has a very important influence on anyone. With the rapid development of science and technology, the time elapsed, we judge the time according to the sun, develop to use the pendulum to watch the time, and now have all kinds of electronic watches and so on. When all kinds of electronic watches are

4、 widely used in our lives, the advent of electronic calendar brings us to a whole new era. Electronic calendar is a kind of widely used daily timing tool, which is becoming more and more popular in modern society. It can time the year, month, day, Sunday, hour, minute, second, also have leap year co

5、mpensation and so on many functions, still have time calibration and so on function.This design is based on the electronic calendar design of 51 series of single-chip microcomputer, mainly by the clock chip DS1302 collecting data to the single chip microcomputer for processing and then through LCD16

6、02. The software part of the electronic calendar is written in c language. The main hardware circuits used are clock chip DS1302, liquid crystal display LCD1602, master control chip AT89C51, and buttons.Key words: Microcontroller;LCD1602;AT89C51;DS1302目錄目錄3第1章 緒論41.1背景及目的41.1.1課題研究背景41.1.2選題的意義及目的41

7、.2 國內(nèi)外發(fā)展現(xiàn)狀及水平4第2章 系統(tǒng)的方案選擇及論證62.1 單片機芯片選擇62.2 時鐘芯片的選擇與論證62.3 顯示模塊的選擇與論證62.4 電路設(shè)計最終方案7第3章 系統(tǒng)的硬件設(shè)計與實現(xiàn)83.1 電路設(shè)計框圖83.2系統(tǒng)硬件概述83.3 系統(tǒng)的電路設(shè)計83.3.1 系統(tǒng)總體電路設(shè)計圖93.3.2單片機主控制模塊93.3.3 時鐘電路模塊123.3.4 顯示模塊16第4章 系統(tǒng)的軟件設(shè)計194.1 程序流程框圖:19第5章 Proteus軟件仿真與測試225.1 仿真軟件介紹225.2 Proteus 仿真效果22第6章 總結(jié)與體會24參考文獻(xiàn)25附錄1:程序26第1章 緒論1.1背景

8、及目的1.1.1課題研究背景 在當(dāng)代繁忙的工作與生活中,時間與我們每一個人都有非常密切的關(guān)系,每個人都受到時間的影響,隨著社會、科技的發(fā)展,人類得知時間,從觀太陽、擺鐘到現(xiàn)在電子鐘,不斷研究、創(chuàng)新。為了在觀測時間的同時,能夠了解其它與人類密切相關(guān)的信息,比如溫度、星期、日期等,電子萬年歷誕生了,它集時間、日期、星期和溫度功能于一身,具有讀取方便、顯示直觀、功能多樣、電路簡潔等諸多優(yōu)點,符合電子儀器儀表的發(fā)展趨勢。伴隨著電子技術(shù)的迅速發(fā)展,特別是隨大規(guī)模集成電路出現(xiàn),給人類生活帶來了根本性的改變。由其是單片機技術(shù)的應(yīng)用產(chǎn)品已經(jīng)走進了千家萬戶。電子萬年歷的出現(xiàn)給人們的生活帶來的諸多方便,作為一種附

9、加功能,現(xiàn)在越來越廣泛的被應(yīng)用于各種電子產(chǎn)品中,具有廣闊的市場前景。1.1.2選題的意義及目的LCD 液晶顯示的日歷鐘顯示清晰直觀、走時準(zhǔn)確、可以進行夜視并且還可以擴展出多種功能。功能也越來越齊全。由于單片機的性能好,可靠性強,低功耗,抗干擾和使用輕便快捷等優(yōu)點,且最近幾年發(fā)展迅速,單片機已經(jīng)應(yīng)用于眾多行業(yè)。所以單片機技術(shù)為核心,軟硬件結(jié)合,設(shè)計出了功能多樣、電路簡潔,操作簡單,功耗低,成本小等多項優(yōu)點的萬年歷系統(tǒng)。適合批量生產(chǎn),符合電子儀器儀表的未來發(fā)展趨勢,具有廣闊的市場前景。1.2 國內(nèi)外發(fā)展現(xiàn)狀及水平隨著社會、科技的發(fā)展,集直觀性,精度高,壽命長,功能全等為一體的記錄方式更為人們所需求

10、。在電子產(chǎn)業(yè)高速發(fā)展這一時代背景下,大規(guī)模集成電路大量出現(xiàn),電子萬年歷也因讀取方便、顯示直觀、功能多樣、電路簡潔等諸多優(yōu)點隨之誕生,它的出現(xiàn)極大地影響了人們的生活,我們的時間記錄更為全面和科學(xué)。因此,對萬年歷的研究與探索是具有相當(dāng)重要的現(xiàn)實意義和實用價值。萬年歷具有讀取方便、顯示直觀、功能多樣、電路簡潔、成本低廉等諸多優(yōu)點,符合電子儀器儀表的發(fā)展趨勢,具有廣闊的市場前景。近些年我國也開始重視對電子萬年歷的開發(fā)與設(shè)計,讓更多的電子萬年歷能夠走進人民生活,跟多人能夠應(yīng)用到功能強大,精度高的電子萬年歷。第2章 系統(tǒng)的方案選擇及論證2.1 單片機芯片選擇本設(shè)計采用AT89C51芯片作為硬件核心,該芯片

11、采用Flash ROM,內(nèi)部具有4KB ROM存儲空間,能于3V的超低壓工作,而且與MCS-51系列單片機完全兼容,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容,相對于本設(shè)計而言程序空間完全夠用。2.2 時鐘芯片的選擇與論證方案一:直接使用單片機定時器提供秒信號,計數(shù)的脈沖由外部提供,定時的脈沖由外部晶振提供,定時時間與初值和晶振頻率有關(guān)。使用程序?qū)崿F(xiàn)年、月、日、星期、時、分、秒計數(shù)。采用此種方案雖然減少芯片的使用,節(jié)約成本,但程序復(fù)雜度較高,計時不精準(zhǔn)。方案二:采用DS1302時鐘芯片,該芯片是由美國DALLAS公司推出的。該芯片是一種高性能、功耗低、帶有RAM的實時時鐘電路,采用32.7

12、68Khz晶振,可對年、月、日、星期、時、分、秒進行計時,具有閏年補償功能。工作電壓為2.55.5V,可為掉電保護電源提供可編程的涓流電流充電功能;采用接口與CPU進行串行數(shù)據(jù)傳輸,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。經(jīng)過多方面比較,最終選擇方案二。2.3 顯示模塊的選擇與論證 方案一:采用LED數(shù)碼管顯示,數(shù)碼管顯示雖然經(jīng)濟實惠,但是不能顯示文字,只能顯示數(shù)字而且在動態(tài)掃描過程中需要用到移位寄存器,在調(diào)試過程中會略顯繁瑣。方案二:采用LCD液晶顯示,使用LCD1602顯示效果明顯,操作方便顯示功能強大,顯示多樣化。對于本設(shè)計一個1602就夠了,且價格適中接口多方便調(diào)試。綜

13、上本設(shè)計采用方案二LCD顯示。2.4 電路設(shè)計最終方案綜合上面各種方案,最終本設(shè)計:采用AT89C51芯片作為主控制系統(tǒng),采用DS1302提供時鐘信號,最后使用LCD1602液晶屏幕進行顯示。第3章 系統(tǒng)的硬件設(shè)計與實現(xiàn)3.1 電路設(shè)計框圖AT89C51主控致模塊LCD602顯示模塊DS1302時鐘鍵盤控制模塊圖3-1 系統(tǒng)主要框圖3.2系統(tǒng)硬件概述本電路是由AT89C51單片機為控制核心,具有在線編程功能,低功耗,能在3V超低壓工作;時鐘電路由DS1302提供,它是一種高性能、低功耗、帶RAM的實時時鐘電路,它可以對年、月、日、周日、時、分、秒進行計時,具有閏年補償功能,工作電壓為2.5V5

14、.5V。采用三線接口與CPU進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。DS1302內(nèi)部有一個用于臨時性存放數(shù)據(jù)的RAM寄存器。可產(chǎn)生年、月、日、周日、時、分、秒,具有使用壽命長,精度高和低功耗等特點,同時具有掉電自動保存功能;顯示部份由LCD液晶顯示屏顯示。3.3 系統(tǒng)的電路設(shè)計3.3.1 系統(tǒng)總體電路設(shè)計圖 圖3.3.1 系統(tǒng)總體設(shè)計圖按鍵K0接P2.7口,按下按鍵后(鎖定)進入修改狀態(tài),光標(biāo)閃爍;按鍵K1接P2.5口,按下按鍵后,選擇修改的值,按照年份,星期,月,日,時,分,秒的順序選擇。按鍵K2接P2.3口,按下按鍵,相對應(yīng)的值加1。按鍵K3接P2.1口,按下

15、按鍵,相對應(yīng)的值減1。3.3.2單片機主控制模塊AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。1.芯片引腳圖 圖3.3.2-1 AT89C51引腳圖2主要特性:與MCS-51 兼

16、容 4K字節(jié)可編程閃爍存儲器 壽命:1000寫/擦循環(huán)數(shù)據(jù)保留時間:10年全靜態(tài)工作:0Hz-24Hz三級程序存儲器鎖定128*8位內(nèi)部RAM32可編程I/O線兩個16位定時器/計數(shù)器5個中斷源 可編程串行通道低功耗的閑置和掉電模式片內(nèi)振蕩器和時鐘電路3管腳說明:VCC:供電電壓。GND:接地。P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當(dāng)FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。P1口:P1口是

17、一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。 P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)

18、勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,如下表所示:表3.3.2-1 P3口特殊功能口端口管腳備選功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2/INT0(外部中斷0)P3.3/INT1(外部中斷1)P3.4T0(記時

19、器0外部輸入)P3.5T1(記時器1外部輸入)P3.6/WR(外部數(shù)據(jù)存儲器寫選通)P3.7/D(外數(shù)據(jù)存儲器讀控制信號)RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機器周期的高電平時間。ALE/PROG:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MO

20、VC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。/EA/VPP:當(dāng)/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。XTAL2:

21、來自反向振蕩器的輸出。4振蕩器特性: XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。5芯片擦除: 整個PEROM陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持ALE管腳處于低電平10ms 來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。此外,AT89C51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩

22、種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時器,計數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個硬件復(fù)位為止。3.3.3 時鐘電路模塊DS1302時鐘芯片,該芯片是由美國DALLAS公司推出的。該芯片是一種高性能、功耗低、帶有RAM的實時時鐘電路,采用32.768Khz晶振,可對年、月、日、星期、時、分、秒進行計時,具有閏年補償功能。工作電壓為2.55.5V,可為掉電保護電源提供可編程的涓流電流充電功能;采用接口與CPU進行串行數(shù)據(jù)傳輸,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。(1)引腳功能DS

23、1302芯片引腳圖如圖3.3-1所示。 圖3.3-1 DS1302芯片引腳圖圖3.3-2 DS1302內(nèi)部結(jié)構(gòu)圖 X1、X2:外接32768Hz晶振。 SCLK:串行時鐘脈沖輸入端。 I/O:串行數(shù)據(jù)輸入/輸出端。 :復(fù)位/片選端。=0,DS1302復(fù)位;=1,允許對DS1302讀寫操作。 Vcc1和Vcc2為主電源,接+5V電源;Vcc1為備用電源,可外接3.6V鋰電池。 GND:接地端。(2)操作控制字操作控制字實際上是一個地址有著固定的結(jié)構(gòu),其中包含了操作對象和操作命令,如表3.3所示。表3.3 DS1302操作控制字 D7:操作使能位。1有效,允許操作;0無效,禁止操作。 D6: 操作

24、數(shù)據(jù)區(qū)選擇位。1選擇操作RAM,0選擇操作時鐘。 D5D1:被操作單元A4A0位地址,與其余各位共同組成操作單元8位地址信號,即操作控制字。 D0:讀寫選擇位。1表示進行讀操作,0表示寫操作。因此,讀操作單元地址(控制字)均為奇數(shù),寫操作單元地址(控制字)均為偶數(shù)。 讀寫DS1302首先要寫入操作控制字。(3)讀寫時序圖3.4為DS1302讀寫時序,其串行數(shù)據(jù)傳輸?shù)捻樞蚺c80C51串行口相同,無論輸入輸出,均從低位到高位??刂谱肿畹臀籖D/最先串出,待最后操作使能位1串出后,緊接著下一個SCLK脈沖就是數(shù)據(jù)讀寫。寫DS1302是上升沿觸發(fā),讀DS1302是下降沿觸發(fā)。圖3.4 DS1302讀寫

25、時序(4)片內(nèi)寄存器DS1302內(nèi)部共有12個寄存器,具有時鐘讀寫、RAM讀寫、充電和寫保護等功能,如表3-5所示. 表3-5 DS1302寄存器1. 時鐘。有年、星期、月、日、時、分、秒等日歷時鐘單元。寄存器讀單元地址與寫單元地址分開,讀時用單數(shù)(81H8DH),寫時用雙數(shù)(80H8CH)。需要注意的是,DS1302在第一次加電后,必須進行初始化操作。初始化后就可以按正常的方法調(diào)整時間,數(shù)據(jù)格式為BCD碼。其中:a. 秒單元(80H/81H)中的bit7功能特殊,定義為時鐘暫停標(biāo)志CH。CH=1,時鐘振蕩器停,DS1302處于低功耗狀態(tài);CH=0,時鐘振蕩器運行。b.小時單元(84H/85H

26、)可有12小時模式或者24小時模式,由bit7確定:bit7=0,24小時模式,此時bit5為20小時標(biāo)志位;bit7=1,12小時模式,此時bit5處于AM/PM模式:bit5=0,AM(上午);bit5=1,PM(下午)。c.星期單元(8BH/8AH)中bit3的數(shù)據(jù)1對應(yīng)星期日,27對應(yīng)星期一星期六。周數(shù)據(jù)與我國習(xí)慣用的星期序數(shù)不一樣,所以顯示程序中做了修改。2. 寫保護。寫保護單元(8EH/8FH)中,bit7為寫保護位WP,當(dāng)WP=1且其余各位均為0時禁止寫DS1302,保護各寄存器數(shù)據(jù)不被改寫,防止誤操作。WP=0,允許寫DS1302。3. RAM。DS1302內(nèi)部有31字節(jié)8位R

27、AM,因其有備用電源,供電連續(xù)有保障,因此可將一些需要保護的數(shù)據(jù)存入其中。RAM地址范圍為C0HFDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作。4. 突發(fā)操作。DS1302每次讀寫一個字節(jié),均要先寫入操作控制字比較繁瑣。突發(fā)操作用于連續(xù)讀寫,分為時鐘突發(fā)和RAM突發(fā),可一次性順序讀寫多字節(jié)時鐘數(shù)據(jù)或RAM數(shù)據(jù)。時鐘突發(fā)控制字為BEH(寫)/BFH(讀),RAM突發(fā)控制字為FEH(寫)/FFH(讀)。需要注意的是,突發(fā)寫時鐘必須一次性寫滿8字節(jié)時鐘數(shù)據(jù)(包括寫保護寄存器),若少寫一個字節(jié),將出錯。但是突發(fā)讀時鐘可只讀7字節(jié)時鐘數(shù)據(jù)。3.3.4 顯示模塊LCD1602液晶顯示器由液晶顯示屏和驅(qū)動控制集成電

28、路(HD44780)組成,分析其功能實際上主要是分析驅(qū)動電路HD44780的功能。LCD1602的外形和引腳結(jié)構(gòu)圖3.4所示。圖3.4 LCD1602的外形和結(jié)構(gòu)引腳 (1)引腳功能LCD1602共有16個引腳,其名稱和功能如下。1. Vss:電源地端。2. VDD:電源正級。4.55.5V通常接+5V。3. Vo:LCD對比度調(diào)節(jié)端。調(diào)節(jié)范圍為0+5V,接正電源時對比度最弱接地時對比度最高;一般將其調(diào)節(jié)到0.30.4V時對比度效果最好。4. RS:寄存器選擇端。RS=1,讀寫數(shù)據(jù)寄存器;RS=0,讀寫指令寄存器。5. R/:讀寫控制端。R/=1,讀出數(shù)據(jù);R/=0,寫入數(shù)據(jù)。6. E:使能端

29、。E=1,允許讀寫操作,下降沿觸發(fā);E=0,禁止讀寫操作。7. D0D7:8位數(shù)據(jù)線,三態(tài)雙向,也可采用4位數(shù)據(jù)傳送方式。8. BLA:LCD背光源正極。9. BLK:LCD背光源負(fù)極。(2)內(nèi)部寄存器LCD1602內(nèi)部寄存器有指令寄存器IR、數(shù)據(jù)寄存器DR、地址計數(shù)器AC、數(shù)據(jù)顯示存儲器DDRAM、字符發(fā)生存儲器CGROM、自定義字符存儲器CGRAM、光標(biāo)控制寄存器、輸入/輸出緩沖器和忙標(biāo)志位BF等。其中與編程應(yīng)用有關(guān)的寄存器簡介如下:1. 數(shù)據(jù)顯示存儲器DDRAM(Data Display ROM)。DDRAM存放LCD顯示的點陣字符代碼,共有80字節(jié)。LCD1602是2x16位,即可顯示

30、2行,每行16個字符。其對應(yīng)的存儲器地址分別為:00H0FH(第一行)和40H4FH(第二行),其余存儲單元可作一般RAM使用。2. 字符發(fā)生存儲器CGROM內(nèi)部固化了192個點陣字符(160個5x7點陣字符和32個5x10點陣字符)。其中,標(biāo)點符號、阿拉伯?dāng)?shù)字和英文大小寫字母等字符為ASCII碼。3. 自定義字符存儲器CGRAM。有64字節(jié)RAM,可自定義8個5x8點陣字符或4個5x11點陣字符。4. 地址計數(shù)器AC。作為DDRAM或CGRAM的地址指針,具有自動加1和自動減1功能。當(dāng)數(shù)據(jù)從DR送到DDRAM/CGRAM時,AC自動加1;當(dāng)數(shù)據(jù)從DDRAM/CGRAM送到DR時,AC自動減1

31、。當(dāng)RS=0、R/=1時,在使能端E=1激勵下,AC的內(nèi)容送到D7D0。5. 忙標(biāo)志BF。BF=1時,忙;BF=0時,空閑。在RS=0、R/=1時,令E=1,BF信號輸出到D7上,CPU可對其讀出判別。與LED比較,LCD是一種慢響應(yīng)器件,從地址建立、保持到數(shù)據(jù)建立、保持均需要時間(ms級),在其內(nèi)部操作未完成前對其讀寫,將出錯。因此,LCD1602編程應(yīng)用時,需要充分考慮延時操作也可以對其“忙”狀態(tài)查詢,在確認(rèn)LCD1602“空閑”條件下,才能對其進行讀寫操作。(3)控制指令LCD1602讀寫控制由寄存器RS、讀/寫控制端R/和使能端E確定。如下表所示。表3.3.4 LCD1602讀寫控制在

32、RS=0、R/=0并E=1的條件下,寫入LCD1602的操作指令如表3.3.5所示。表3.3.5 寫入LCD1602的操作指令第4章 系統(tǒng)的軟件設(shè)計4.1 程序流程框圖:開始初始化DS1302鍵盤掃描是否有按鍵按下時鐘停止 Y功能調(diào)節(jié)N時鐘顯示f=1NY結(jié)束圖4.1主程序流程圖主程序流程圖如上圖4.1所示。由于在硬件電路方面上設(shè)計了時間調(diào)整按鍵和開關(guān),因此應(yīng)有對應(yīng)的時間調(diào)整程序。時間調(diào)整程序的流程圖如圖4.2所示。圖4.2 時間調(diào)整程序流程圖K0鍵為開始,按下K0鍵后光標(biāo)閃爍,首先年閃爍,等待修改,按下K1鍵選擇需要修改的值,按照年,星期,月份,日,小時,分鐘的順序循環(huán)選擇。第一次修改年份,按

33、下K2鍵(加按鍵)有效,年份的值加1,按下K3鍵(減按鍵)有效,年份數(shù)值減1。年份值修改完畢后,按下K1鍵進入修改星期值,對應(yīng)光標(biāo)閃爍,按下K2鍵(加按鍵)有效,星期的值加1,按下K3鍵(減按鍵)有效,星期的數(shù)值減1。星期值修改完畢后,按下K1鍵進入月調(diào)整程序,修改月份值,對應(yīng)光標(biāo)閃爍,按下K2鍵(加按鍵)有效,月份的值加1,按下K3鍵(減按鍵)有效,月份的數(shù)值減1。月份的值修改完畢后,按下K1鍵進入日調(diào)整程序,修改日值,對應(yīng)光標(biāo)閃爍,按下K2鍵(加按鍵)有效,日的值加1,按下K3鍵(減按鍵)有效,日的數(shù)值減1。日的值修改完畢后,按下K1鍵進入小時調(diào)整程序,修改小時的值,對應(yīng)光標(biāo)閃爍,按下K2

34、鍵(加按鍵)有效,小時的值加1,按下K3鍵(減按鍵)有效,小時的數(shù)值減1。小時的值修改完畢后,按下K1鍵進入分鐘調(diào)整程序,修改分鐘的值,對應(yīng)光標(biāo)閃爍,按下K2鍵(加按鍵)有效,分鐘的值加1,按下K3鍵(減按鍵)有效,分鐘的數(shù)值減1。所有值修改完畢后釋放K0鍵,跳出循環(huán),進入自動計時狀態(tài)。第5章 Proteus軟件仿真與測試5.1 仿真軟件介紹Proteus軟件是由英國Lab Center Electronices公司推出,采用虛擬仿真技術(shù),可在無單片機實際硬件的條件下,利用PC實現(xiàn)單片機軟件和硬件的同步仿真。仿真結(jié)果可直接用于真實設(shè)計,極大地提高了單片機應(yīng)用系統(tǒng)的設(shè)計效率,并使學(xué)習(xí)單片機應(yīng)用開發(fā)的過程變得直觀和簡單。5.2 Proteus 仿真效果電路畫好后,裝入Keil調(diào)試后自動生成的HEX文件即可開始仿真測試。畫出Proteus仿真電路圖如圖5.2所示。圖5.2 Prouteus 仿真電路圖點擊開始運行后,LCD1602顯示實時時鐘,初始值為程序中設(shè)置的2018年1月1日12時0分0秒,周六,并隨后不斷的更新實時運行數(shù)值。下圖為仿真開始時顯示。圖5.3 仿真開始界面時間修正。按下

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論