基于單片機(jī)的電子萬年歷設(shè)計(jì)和實(shí)現(xiàn)電子信息工程專業(yè)
《基于單片機(jī)的電子萬年歷設(shè)計(jì)和實(shí)現(xiàn)電子信息工程專業(yè)》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于單片機(jī)的電子萬年歷設(shè)計(jì)和實(shí)現(xiàn)電子信息工程專業(yè)(28頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、 論文題目 基于單片機(jī)的電子萬年歷 (英 文) Design of Electronic Calendar based on single Chip Microcomputer 摘 要 現(xiàn)今信息技術(shù)飛速發(fā)展,時(shí)間和每一個(gè)人都有非常密切的相互聯(lián)系,時(shí)間對任何人都有著非常重要的影響。隨著科技的快速發(fā)展,流逝的時(shí)間,我們從根據(jù)太陽來判斷時(shí)間,發(fā)展到了用鐘擺看時(shí)間,到現(xiàn)在又有了各種電子表等。當(dāng)各類電子表在我們生活中廣泛應(yīng)用的時(shí)候,電子萬年歷的的出現(xiàn)又把我們引入到一個(gè)全新的時(shí)代。電子萬年歷是一種使用非常廣泛的日常計(jì)時(shí)工具,對現(xiàn)代社會(huì)越來越流行。它可以對年、月、日、周日
2、、時(shí)、分、秒進(jìn)行計(jì)時(shí),還具有閏年補(bǔ)償?shù)榷喾N功能,還具有時(shí)間校準(zhǔn)等功能。 本設(shè)計(jì)是基于51系列的單片機(jī)進(jìn)行的電子萬年歷設(shè)計(jì),主要由時(shí)鐘芯片DS1302采集數(shù)據(jù)到單片機(jī)進(jìn)行處理再通過LCD1602顯示出來。電子萬年歷的軟件部分是使用c語言編寫,主要用到的硬件電路有時(shí)鐘芯片DS1302、液晶顯示LCD1602,主控制芯片AT89C51,還有按鍵。 關(guān)鍵詞:單片機(jī), LCD602, AT89C51 ,DS302 Abstract Nowadays information technology develops rapidly, and time and everyon
3、e have very close interconnections, and time 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
4、. When all kinds of electronic watches are 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, ho
5、ur, minute, second, also have leap year compensation 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 microco
6、mputer for processing and then through LCD1602. 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
7、 目錄 目錄 3 第1章 緒論 4 1.1背景及目的 4 1.1.1課題研究背景 4 1.1.2選題的意義及目的 4 1.2 國內(nèi)外發(fā)展現(xiàn)狀及水平 4 第2章 系統(tǒng)的方案選擇及論證 6 2.1 單片機(jī)芯片選擇 6 2.2 時(shí)鐘芯片的選擇與論證 6 2.3 顯示模塊的選擇與論證 6 2.4 電路設(shè)計(jì)最終方案 7 第3章 系統(tǒng)的硬件設(shè)計(jì)與實(shí)現(xiàn) 8 3.1 電路設(shè)計(jì)框圖 8 3.2系統(tǒng)硬件概述 8 3.3 系統(tǒng)的電路設(shè)計(jì) 8 3.3.1 系統(tǒng)總體電路設(shè)計(jì)圖 9 3.3.2單片機(jī)主控制模塊 9 3.3.3 時(shí)鐘電路模塊 12
8、 3.3.4 顯示模塊 16 第4章 系統(tǒng)的軟件設(shè)計(jì) 19 4.1 程序流程框圖: 19 第5章 Proteus軟件仿真與測試 22 5.1 仿真軟件介紹 22 5.2 Proteus 仿真效果 22 第6章 總結(jié)與體會(huì) 24 參考文獻(xiàn) 25 附錄1:程序 26 第1章 緒論 1.1背景及目的 1.1.1課題研究背景 在當(dāng)代繁忙的工作與生活中,時(shí)間與我們每一個(gè)人都有非常密切的關(guān)系,每個(gè)人都受到時(shí)間的影響,隨著社會(huì)、科技的發(fā)展,人類得知時(shí)間,從觀太陽、擺鐘到現(xiàn)在電子鐘,不斷研究、創(chuàng)新。為了在觀測時(shí)間的同時(shí),能夠了解其它與人類密切相關(guān)的信息,比如溫度、星期、日期等,
9、電子萬年歷誕生了,它集時(shí)間、日期、星期和溫度功能于一身,具有讀取方便、顯示直觀、功能多樣、電路簡潔等諸多優(yōu)點(diǎn),符合電子儀器儀表的發(fā)展趨勢。伴隨著電子技術(shù)的迅速發(fā)展,特別是隨大規(guī)模集成電路出現(xiàn),給人類生活帶來了根本性的改變。由其是單片機(jī)技術(shù)的應(yīng)用產(chǎn)品已經(jīng)走進(jìn)了千家萬戶。電子萬年歷的出現(xiàn)給人們的生活帶來的諸多方便,作為一種附加功能,現(xiàn)在越來越廣泛的被應(yīng)用于各種電子產(chǎn)品中,具有廣闊的市場前景。 1.1.2選題的意義及目的 LCD 液晶顯示的日歷鐘顯示清晰直觀、走時(shí)準(zhǔn)確、可以進(jìn)行夜視并且還可以擴(kuò)展出多種功能。功能也越來越齊全。由于單片機(jī)的性能好,可靠性強(qiáng),低功耗,抗干擾和使用輕便快捷等優(yōu)點(diǎn),且最近
10、幾年發(fā)展迅速,單片機(jī)已經(jīng)應(yīng)用于眾多行業(yè)。所以單片機(jī)技術(shù)為核心,軟硬件結(jié)合,設(shè)計(jì)出了功能多樣、電路簡潔,操作簡單,功耗低,成本小等多項(xiàng)優(yōu)點(diǎn)的萬年歷系統(tǒng)。適合批量生產(chǎn),符合電子儀器儀表的未來發(fā)展趨勢,具有廣闊的市場前景。 1.2 國內(nèi)外發(fā)展現(xiàn)狀及水平 隨著社會(huì)、科技的發(fā)展,集直觀性,精度高,壽命長,功能全等為一體的記錄方式更為人們所需求。在電子產(chǎn)業(yè)高速發(fā)展這一時(shí)代背景下,大規(guī)模集成電路大量出現(xiàn),電子萬年歷也因讀取方便、顯示直觀、功能多樣、電路簡潔等諸多優(yōu)點(diǎn)隨之誕生,它的出現(xiàn)極大地影響了人們的生活,我們的時(shí)間記錄更為全面和科學(xué)。因此,對萬年歷的研究與探索是具有相當(dāng)重要的現(xiàn)實(shí)意義和實(shí)用價(jià)值。萬年歷
11、具有讀取方便、顯示直觀、功能多樣、電路簡潔、成本低廉等諸多優(yōu)點(diǎn),符合電子儀器儀表的發(fā)展趨勢,具有廣闊的市場前景。近些年我國也開始重視對電子萬年歷的開發(fā)與設(shè)計(jì),讓更多的電子萬年歷能夠走進(jìn)人民生活,跟多人能夠應(yīng)用到功能強(qiáng)大,精度高的電子萬年歷。 第2章 系統(tǒng)的方案選擇及論證 2.1 單片機(jī)芯片選擇 本設(shè)計(jì)采用AT89C51芯片作為硬件核心,該芯片采用Flash ROM,內(nèi)部具有4KB ROM存儲(chǔ)空間,能于3V的超低壓工作,而且與MCS-51系列單片機(jī)完全兼容,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容,相對于本設(shè)計(jì)而言程序空間完全夠用。 2.2 時(shí)鐘芯片的選擇與論證 方案一:
12、 直接使用單片機(jī)定時(shí)器提供秒信號,計(jì)數(shù)的脈沖由外部提供,定時(shí)的脈沖由外部晶振提供,定時(shí)時(shí)間與初值和晶振頻率有關(guān)。使用程序?qū)崿F(xiàn)年、月、日、星期、時(shí)、分、秒計(jì)數(shù)。采用此種方案雖然減少芯片的使用,節(jié)約成本,但程序復(fù)雜度較高,計(jì)時(shí)不精準(zhǔn)。 方案二: 采用DS1302時(shí)鐘芯片,該芯片是由美國DALLAS公司推出的。該芯片是一種高性能、功耗低、帶有RAM的實(shí)時(shí)時(shí)鐘電路,采用32.768Khz晶振,可對年、月、日、星期、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能。工作電壓為2.5~5.5V,可為掉電保護(hù)電源提供可編程的涓流電流充電功能;采用接口與CPU進(jìn)行串行數(shù)據(jù)傳輸,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信
13、號或RAM數(shù)據(jù)。 經(jīng)過多方面比較,最終選擇方案二。 2.3 顯示模塊的選擇與論證 方案一: 采用LED數(shù)碼管顯示,數(shù)碼管顯示雖然經(jīng)濟(jì)實(shí)惠,但是不能顯示文字,只能顯示數(shù)字而且在動(dòng)態(tài)掃描過程中需要用到移位寄存器,在調(diào)試過程中會(huì)略顯繁瑣。 方案二: 采用LCD液晶顯示,使用LCD1602顯示效果明顯,操作方便顯示功能強(qiáng)大,顯示多樣化。對于本設(shè)計(jì)一個(gè)1602就夠了,且價(jià)格適中接口多方便調(diào)試。 綜上本設(shè)計(jì)采用方案二LCD顯示。 2.4 電路設(shè)計(jì)最終方案 綜合上面各種方案,最終本設(shè)計(jì):采用AT89C51芯片作為主控制系統(tǒng),采用DS1302提供時(shí)鐘信號,最后使用LCD1602液晶屏幕
14、進(jìn)行顯示。 第3章 系統(tǒng)的硬件設(shè)計(jì)與實(shí)現(xiàn) 3.1 電路設(shè)計(jì)框圖 AT89C51 主 控 致 模 塊 LCD602顯示模塊 DS1302時(shí)鐘 鍵盤控制模塊 圖3-1 系統(tǒng)主要框圖 3.2系統(tǒng)硬件概述 本電路是由AT89C51單片機(jī)為控制核心,具有在線編程功能,低功耗,能在3V超低壓工作;時(shí)鐘電路由DS1302提供,它是一種高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘電路,它可以對年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能,工作電壓為2.5V~5.5V。采用三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送
15、多個(gè)字節(jié)的時(shí)鐘信號或RAM數(shù)據(jù)。DS1302內(nèi)部有一個(gè)用于臨時(shí)性存放數(shù)據(jù)的RAM寄存器??僧a(chǎn)生年、月、日、周日、時(shí)、分、秒,具有使用壽命長,精度高和低功耗等特點(diǎn),同時(shí)具有掉電自動(dòng)保存功能;顯示部份由LCD液晶顯示屏顯示。 3.3 系統(tǒng)的電路設(shè)計(jì) 3.3.1 系統(tǒng)總體電路設(shè)計(jì)圖 圖3.3.1 系統(tǒng)總體設(shè)計(jì)圖 按鍵K0接P2.7口,按下按鍵后(鎖定)進(jìn)入修改狀態(tài),光標(biāo)閃爍; 按鍵K1接P2.5口,按下按鍵后,選擇修改的值,按照年份,星期,月,日,時(shí),分,秒的順序選擇。 按鍵K2接P2.3口,按下按鍵,相對應(yīng)的值加1。 按鍵K3接P2.1口,按
16、下按鍵,相對應(yīng)的值減1。 3.3.2單片機(jī)主控制模塊 AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。 1.芯片引腳圖
17、 圖3.3.2-1 AT89C51引腳圖 2.主要特性: ·與MCS-51 兼容 ·4K字節(jié)可編程閃爍存儲(chǔ)器 壽命:1000寫/擦循環(huán) 數(shù)據(jù)保留時(shí)間:10年 ·全靜態(tài)工作:0Hz-24Hz ·三級程序存儲(chǔ)器鎖定 ·128*8位內(nèi)部RAM ·32可編程I/O線 ·兩個(gè)16位定時(shí)器/計(jì)數(shù)器 ·5個(gè)中斷源 ·可編程串行通道 ·低功耗的閑置和掉電模式 ·片內(nèi)振蕩器和時(shí)鐘電路 3.管腳說明: VCC:供電電壓。 GND:接地。 P0口:P0口為一個(gè)8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳一次寫1時(shí),被定義為
18、高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。 P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。 P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸
19、入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號和控制信號。 P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特
20、殊功能口,如下表所示: 表3.3.2-1 P3口特殊功能口 端口管腳 備選功能 P3.0 RXD(串行輸入口) P3.1 TXD(串行輸出口) P3.2 /INT0(外部中斷0) P3.3 /INT1(外部中斷1) P3.4 T0(記時(shí)器0外部輸入) P3.5 T1(記時(shí)器1外部輸入) P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫選通) P3.7 /D(外數(shù)據(jù)存儲(chǔ)器讀控制信號) RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。 ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,
21、此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。 /PSEN:外部程序存儲(chǔ)器的選通信號。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號將不出現(xiàn)。 /EA/VPP:當(dāng)/EA保持低電平時(shí),則
22、在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。 XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。 XTAL2:來自反向振蕩器的輸出。 4.振蕩器特性: XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號要通過一個(gè)二分頻觸發(fā)器,因此對外部時(shí)鐘信號的脈寬無任何
23、要求,但必須保證脈沖的高低電平要求的寬度。 5.芯片擦除: 整個(gè)PEROM陣列和三個(gè)鎖定位的電擦除可通過正確的控制信號組合,并保持ALE管腳處于低電平10ms 來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲(chǔ)字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。 此外,AT89C51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時(shí)器,計(jì)數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個(gè)硬件復(fù)位為止。 3.3.3 時(shí)鐘電路模塊 DS1302時(shí)鐘芯片,該
24、芯片是由美國DALLAS公司推出的。該芯片是一種高性能、功耗低、帶有RAM的實(shí)時(shí)時(shí)鐘電路,采用32.768Khz晶振,可對年、月、日、星期、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能。工作電壓為2.5~5.5V,可為掉電保護(hù)電源提供可編程的涓流電流充電功能;采用接口與CPU進(jìn)行串行數(shù)據(jù)傳輸,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號或RAM數(shù)據(jù)。 (1)引腳功能 DS1302芯片引腳圖如圖3.3-1所示。 圖3.3-1 DS1302芯片引腳圖 圖3.3-2 DS130
25、2內(nèi)部結(jié)構(gòu)圖 ① X1、X2:外接32768Hz晶振。 ② SCLK:串行時(shí)鐘脈沖輸入端。 ③ I/O:串行數(shù)據(jù)輸入/輸出端。 ④ :復(fù)位/片選端。=0,DS1302復(fù)位;=1,允許對DS1302讀寫操作。 ⑤ Vcc1和Vcc2為主電源,接+5V電源;Vcc1為備用電源,可外接3.6V鋰電池。 ⑥ GND:接地端。 (2)操作控制字 操作控制字實(shí)際上是一個(gè)地址有著固定的結(jié)構(gòu),其中包含了操作對象和操作命令,如表3.3所示。 表3.3 DS1302操作控制字 ① D7:操作使能位。1有效,允許操作;0無效,禁止操作。 ② D6: 操作數(shù)據(jù)區(qū)選擇位。1選擇操作R
26、AM,0選擇操作時(shí)鐘。 ③ D5~D1:被操作單元A4~A0位地址,與其余各位共同組成操作單元8位地址信號,即操作控制字。 ④ D0:讀寫選擇位。1表示進(jìn)行讀操作,0表示寫操作。因此,讀操作單元地址(控制字)均為奇數(shù),寫操作單元地址(控制字)均為偶數(shù)。 ⑤ 讀寫DS1302首先要寫入操作控制字。 (3)讀寫時(shí)序 圖3.4為DS1302讀寫時(shí)序,其串行數(shù)據(jù)傳輸?shù)捻樞蚺c80C51串行口相同,無論輸入輸出,均從低位到高位??刂谱肿畹臀籖D/最先串出,待最后操作使能位1串出后,緊接著下一個(gè)SCLK脈沖就是數(shù)據(jù)讀寫。寫DS1302是上升沿觸發(fā),讀DS1302是下降沿觸發(fā)。
27、 圖3.4 DS1302讀寫時(shí)序 (4)片內(nèi)寄存器 DS1302內(nèi)部共有12個(gè)寄存器,具有時(shí)鐘讀寫、RAM讀寫、充電和寫保護(hù)等功能,如表3-5所示. 表3-5 DS1302寄存器 1. 時(shí)鐘。有年、星期、月、日、時(shí)、分、秒等日歷時(shí)鐘單元。寄存器讀單元地址與寫單元地址分開,讀時(shí)用單數(shù)(81H~8DH),寫時(shí)用雙數(shù)(80H~8CH)。 需要注意的是,DS1302在第一次加電后,必須進(jìn)行初始化操作。初始化后就可以按正常的方法調(diào)整時(shí)間,數(shù)據(jù)格式為BCD碼。其中: a. 秒單元(80H/81H)中的bit7功能特殊,定義為時(shí)
28、鐘暫停標(biāo)志CH。CH=1,時(shí)鐘振蕩器停,DS1302處于低功耗狀態(tài);CH=0,時(shí)鐘振蕩器運(yùn)行。 b.小時(shí)單元(84H/85H)可有12小時(shí)模式或者24小時(shí)模式,由bit7確定:bit7=0,24小時(shí)模式,此時(shí)bit5為20小時(shí)標(biāo)志位;bit7=1,12小時(shí)模式,此時(shí)bit5處于AM/PM模式:bit5=0,AM(上午);bit5=1,PM(下午)。 c.星期單元(8BH/8AH)中bit3的數(shù)據(jù)1對應(yīng)星期日,2~7對應(yīng)星期一~星期六。周數(shù)據(jù)與我國習(xí)慣用的星期序數(shù)不一樣,所以顯示程序中做了修改。 2. 寫保護(hù)。寫保護(hù)單元(8EH/8FH)中,bit7為寫保護(hù)位WP,當(dāng)WP=1且其余各位均為
29、0時(shí)禁止寫DS1302,保護(hù)各寄存器數(shù)據(jù)不被改寫,防止誤操作。WP=0,允許寫DS1302。 3. RAM。DS1302內(nèi)部有31字節(jié)8位RAM,因其有備用電源,供電連續(xù)有保障,因此可將一些需要保護(hù)的數(shù)據(jù)存入其中。RAM地址范圍為C0H~FDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作。 4. 突發(fā)操作。DS1302每次讀寫一個(gè)字節(jié),均要先寫入操作控制字比較繁瑣。突發(fā)操作用于連續(xù)讀寫,分為時(shí)鐘突發(fā)和RAM突發(fā),可一次性順序讀寫多字節(jié)時(shí)鐘數(shù)據(jù)或RAM數(shù)據(jù)。時(shí)鐘突發(fā)控制字為BEH(寫)/BFH(讀),RAM突發(fā)控制字為FEH(寫)/FFH(讀)。需要注意的是,突發(fā)寫時(shí)鐘必須一次性寫滿8字節(jié)時(shí)鐘數(shù)據(jù)(包括
30、寫保護(hù)寄存器),若少寫一個(gè)字節(jié),將出錯(cuò)。但是突發(fā)讀時(shí)鐘可只讀7字節(jié)時(shí)鐘數(shù)據(jù)。 3.3.4 顯示模塊 LCD1602液晶顯示器由液晶顯示屏和驅(qū)動(dòng)控制集成電路(HD44780)組成,分析其功能實(shí)際上主要是分析驅(qū)動(dòng)電路HD44780的功能。LCD1602的外形和引腳結(jié)構(gòu)圖3.4所示。 圖3.4 LCD1602的外形和結(jié)構(gòu)引腳 (1)引腳功能 LCD1602共有16個(gè)引腳,其名稱和功能如下。 1. Vss:電源地端。 2. VDD:電源正級。4.5~5.5V通常接+5V。 3. Vo:LCD對比度調(diào)節(jié)端。調(diào)節(jié)范圍為0~+5V,接正電源時(shí)對比度最弱接地時(shí)對比度
31、最高;一般將其調(diào)節(jié)到0.3~0.4V時(shí)對比度效果最好。 4. RS:寄存器選擇端。RS=1,讀寫數(shù)據(jù)寄存器;RS=0,讀寫指令寄存器。 5. R/:讀寫控制端。R/=1,讀出數(shù)據(jù);R/=0,寫入數(shù)據(jù)。 6. E:使能端。E=1,允許讀寫操作,下降沿觸發(fā);E=0,禁止讀寫操作。 7. D0~D7: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、地址計(jì)數(shù)器AC、數(shù)據(jù)顯示存儲(chǔ)器DDRAM、字符發(fā)生存儲(chǔ)器CGROM、自定義字符存儲(chǔ)器CGRAM
32、、光標(biāo)控制寄存器、輸入/輸出緩沖器和忙標(biāo)志位BF等。其中與編程應(yīng)用有關(guān)的寄存器簡介如下: 1. 數(shù)據(jù)顯示存儲(chǔ)器DDRAM(Data Display ROM)。DDRAM存放LCD顯示的點(diǎn)陣字符代碼,共有80字節(jié)。LCD1602是2x16位,即可顯示2行,每行16個(gè)字符。其對應(yīng)的存儲(chǔ)器地址分別為:00H~0FH(第一行)和40H~4FH(第二行),其余存儲(chǔ)單元可作一般RAM使用。 2. 字符發(fā)生存儲(chǔ)器CGROM內(nèi)部固化了192個(gè)點(diǎn)陣字符(160個(gè)5x7點(diǎn)陣字符和32個(gè)5x10點(diǎn)陣字符)。其中,標(biāo)點(diǎn)符號、阿拉伯?dāng)?shù)字和英文大小寫字母等字符為ASCII碼。 3. 自定義字符存儲(chǔ)器CGRAM。有6
33、4字節(jié)RAM,可自定義8個(gè)5x8點(diǎn)陣字符或4個(gè)5x11點(diǎn)陣字符。 4. 地址計(jì)數(shù)器AC。作為DDRAM或CGRAM的地址指針,具有自動(dòng)加1和自動(dòng)減1功能。當(dāng)數(shù)據(jù)從DR送到DDRAM/CGRAM時(shí),AC自動(dòng)加1;當(dāng)數(shù)據(jù)從DDRAM/CGRAM送到DR時(shí),AC自動(dòng)減1。當(dāng)RS=0、R/=1時(shí),在使能端E=1激勵(lì)下,AC的內(nèi)容送到D7~D0。 5. 忙標(biāo)志BF。BF=1時(shí),忙;BF=0時(shí),空閑。在RS=0、R/=1時(shí),令E=1,BF信號輸出到D7上,CPU可對其讀出判別。 與LED比較,LCD是一種慢響應(yīng)器件,從地址建立、保持到數(shù)據(jù)建立、保持均需要時(shí)間(ms級),在其內(nèi)部操作未完成前對其讀寫,
34、將出錯(cuò)。因此,LCD1602編程應(yīng)用時(shí),需要充分考慮延時(shí)操作也可以對其“忙”狀態(tài)查詢,在確認(rèn)LCD1602“空閑”條件下,才能對其進(jìn)行讀寫操作。 (3)控制指令 LCD1602讀寫控制由寄存器RS、讀/寫控制端R/和使能端E確定。如下表所示。 表3.3.4 LCD1602讀寫控制 在RS=0、R/=0并E=1的條件下,寫入LCD1602的操作指令如表3.3.5所示。 表3.3.5 寫入LCD1602的操作指令 第4章 系統(tǒng)的軟件設(shè)計(jì) 4.1 程序流程框圖: 開始 初始化DS1302
35、 鍵盤掃描 是否有按鍵按下 時(shí)鐘停止 Y 功能調(diào)節(jié) N 時(shí)鐘顯示 f=1 N Y 結(jié)束 圖4.1主程序流程圖 主程序流程圖如上圖4.1所示。 由于在硬件電路方面上設(shè)計(jì)了時(shí)間調(diào)整按鍵和開關(guān),因此應(yīng)有對應(yīng)的時(shí)間調(diào)整程序。時(shí)間調(diào)整程序的流程圖如圖4.2所示。 圖4.2 時(shí)間調(diào)整程序流程圖 K0鍵為開始,按下K0鍵后光標(biāo)閃爍,首先年閃爍,等待修改,按下K1鍵選擇需要修改的值,按照年,星期,月份,日,小時(shí),分鐘的順序循環(huán)選
36、擇。第一次修改年份,按下K2鍵(加按鍵)有效,年份的值加1,按下K3鍵(減按鍵)有效,年份數(shù)值減1。 年份值修改完畢后,按下K1鍵進(jìn)入修改星期值,對應(yīng)光標(biāo)閃爍,按下K2鍵(加按鍵)有效,星期的值加1,按下K3鍵(減按鍵)有效,星期的數(shù)值減1。 星期值修改完畢后,按下K1鍵進(jìn)入月調(diào)整程序,修改月份值,對應(yīng)光標(biāo)閃爍,按下K2鍵(加按鍵)有效,月份的值加1,按下K3鍵(減按鍵)有效,月份的數(shù)值減1。 月份的值修改完畢后,按下K1鍵進(jìn)入日調(diào)整程序,修改日值,對應(yīng)光標(biāo)閃爍,按下K2鍵(加按鍵)有效,日的值加1,按下K3鍵(減按鍵)有效,日的數(shù)值減1。 日的值修改完畢后,按下K1鍵進(jìn)入小時(shí)調(diào)整程序
37、,修改小時(shí)的值,對應(yīng)光標(biāo)閃爍,按下K2鍵(加按鍵)有效,小時(shí)的值加1,按下K3鍵(減按鍵)有效,小時(shí)的數(shù)值減1。 小時(shí)的值修改完畢后,按下K1鍵進(jìn)入分鐘調(diào)整程序,修改分鐘的值,對應(yīng)光標(biāo)閃爍,按下K2鍵(加按鍵)有效,分鐘的值加1,按下K3鍵(減按鍵)有效,分鐘的數(shù)值減1。 所有值修改完畢后釋放K0鍵,跳出循環(huán),進(jìn)入自動(dòng)計(jì)時(shí)狀態(tài)。 第5章 Proteus軟件仿真與測試 5.1 仿真軟件介紹 Proteus軟件是由英國Lab Center Electronices公司推出,采用虛擬仿真技術(shù),可在無單片機(jī)實(shí)際硬件的條件下,利用PC實(shí)現(xiàn)單片機(jī)軟件和
38、硬件的同步仿真。仿真結(jié)果可直接用于真實(shí)設(shè)計(jì),極大地提高了單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)效率,并使學(xué)習(xí)單片機(jī)應(yīng)用開發(fā)的過程變得直觀和簡單。 5.2 Proteus 仿真效果 電路畫好后,裝入Keil調(diào)試后自動(dòng)生成的HEX文件即可開始仿真測試。畫出Proteus仿真電路圖如圖5.2所示。 圖5.2 Prouteus 仿真電路圖 點(diǎn)擊開始運(yùn)行后,LCD1602顯示實(shí)時(shí)時(shí)鐘,初始值為程序中設(shè)置的2018年1月1日12時(shí)0分0秒,周六,并隨后不斷的更新實(shí)時(shí)運(yùn)行數(shù)值。下圖為仿真開始時(shí)顯示。 圖5.3 仿真開始界面 時(shí)間修正。按下K0(鎖定),進(jìn)入時(shí)
39、間修正。這里使用的按鍵有兩種運(yùn)行功能:有鎖和無鎖運(yùn)行。作有鎖運(yùn)行時(shí),單擊按鍵圖形中小紅圓點(diǎn),單機(jī)一次閉鎖,第二次開鎖。作無鎖運(yùn)行時(shí),單擊圖中按鍵,單擊一次,按鍵閉合后彈開一次,不閉鎖。 1. 進(jìn)入時(shí)間修正后,首先年數(shù)據(jù)快速閃爍,表示年數(shù)據(jù)允許修正。此時(shí)每按一次K2鍵,年數(shù)據(jù)顯示數(shù)加1,每按一次K3鍵,年數(shù)據(jù)顯示減1,但不超過年最大值2099,超過時(shí)復(fù)位2000。 2.按K1鍵,依次進(jìn)行調(diào)整周、月、日、時(shí)、分、秒,最后跳到年,這樣一直循環(huán)。釋放K0鍵,退出時(shí)鐘修正。 第6章 總結(jié)與體會(huì) 在整個(gè)設(shè)計(jì)過程中學(xué)到了很多東西,雖然工作量大,但還是堅(jiān)持了下去。知道了凡是不能心急,要一步步來
40、。編程過程中,一開始由于思路不清晰,遇到了許多麻煩,后來靜下心仔細(xì)思考,把每步規(guī)劃好,反而做起來更得心應(yīng)手,效率也變高了。在此次設(shè)計(jì)中,知道了做事要有耐心,做什么事都要有個(gè)計(jì)劃,不能沒頭沒腦的就開始,也不能想著走捷徑,要腳踏實(shí)地,一步步來。雖然這次的設(shè)計(jì)還存在著許多小問題,但是在這過程中提高了自己的能力,也有了很多心得體會(huì),這才是最重要的。 參考文獻(xiàn) [1]李廣弟,朱月秀,冷祖祁. 《單片機(jī)基礎(chǔ)》. 北京:北京航空航天大學(xué)出版社,2007. [2] 胡花. 《單片機(jī)原理及應(yīng)用技術(shù)》. 南昌:江西高校出版,2009. [3] 何立民.《單片機(jī)應(yīng)用文集》.北京:北京航空航天大學(xué)出版社
41、,1991. [4] 沈克永,羅中華. 《單片機(jī)原理與應(yīng)用》. 北京:人民郵電出版社,2007. [5] 何立明.《單片機(jī)高級教程——應(yīng)用與設(shè)計(jì)》.北京:北京航天航空大學(xué)出版社,2000.4 [6] 陳立剛.《一種車用智能電子鐘的設(shè)計(jì)與實(shí)現(xiàn)》.《科技創(chuàng)新導(dǎo)報(bào)》2008/13期. [7] 張勇于.《制作基于DS1302的電子時(shí)鐘的難點(diǎn)分析》.《濟(jì)南職業(yè)學(xué)院學(xué)報(bào)》2006/06第三期. [8] 《DS1302涓流充電時(shí)保持芯片的原理和應(yīng)用》廣州周立功單片機(jī)發(fā)展有限公司內(nèi)部資料的論文 [9] 劉利.《液晶顯示原理》.上海:電子工業(yè)出版社,2002.5. [10] 李宏,張家田.《液晶顯
42、示器件應(yīng)用技術(shù)》.北京:機(jī)械工業(yè)出版社,2004. [11] 周向紅, 范偉. DS12887實(shí)時(shí)時(shí)鐘芯片及應(yīng)用研究.《企業(yè)技術(shù)開發(fā)》. 2006年2期 [12] 郭天祥.《新概念51單片機(jī)C語言教程:入門、提高、開發(fā)、拓展》.出版社:電子工業(yè)出版社,2009年,開本: 16 [13] 譚浩強(qiáng).《C程序設(shè)計(jì)》第三版 .北京:清華大學(xué)出版社,2005. [14]Philips. 80C51-based 8-Bit Microcontrollers[M].Tsinghua University Press,1994 [15]Adel S. Sedra, Kenneth C.Smith. Microelectronics Circuits[J].Holt Rinehart Winston(3rd Edition),1991 28 附錄1:程序
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識(shí)競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識(shí)測試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測工種技術(shù)比武題庫含解析
- 1 礦山應(yīng)急救援安全知識(shí)競賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案