電子萬年歷設(shè)計基于AT89C51單片機和DS1302時鐘芯_第1頁
電子萬年歷設(shè)計基于AT89C51單片機和DS1302時鐘芯_第2頁
電子萬年歷設(shè)計基于AT89C51單片機和DS1302時鐘芯_第3頁
電子萬年歷設(shè)計基于AT89C51單片機和DS1302時鐘芯_第4頁
電子萬年歷設(shè)計基于AT89C51單片機和DS1302時鐘芯_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、. 隨著人們生活水平的提高和生活節(jié)奏的加快,對時間的要求越來越高,精準(zhǔn)數(shù)字計時的消費需求也是越來越多。二十一世紀(jì)的今天,最具代表性的計時產(chǎn)品就是電子萬年歷,它是近代世界鐘表業(yè)界的第三次革命。第一次是擺和擺輪游絲的發(fā)明,相對穩(wěn)定的機械振蕩頻率源使鐘表的走時差從分級縮小到秒級,代表性的產(chǎn)品就是帶有擺或擺輪游絲的機械鐘或表。第二次革命是石英晶體振蕩器的應(yīng)用,發(fā)明了走時精度更高的石英電子鐘表,使鐘表的走時月差從分級縮小到秒級。第三次革命就是單片機數(shù)碼計時技術(shù)的應(yīng)用(電子萬年歷),使計時產(chǎn)品的走時日差從分級縮小到1/600萬秒,從原有傳統(tǒng)指針計時的方式發(fā)展為人們?nèi)粘8鼮槭煜さ囊构鈹?shù)字顯示方式,直觀明了,

2、并增加了全自動日期、星期、溫度以及其他日常附屬信息的顯示功能,它更符合消費者的生活需求!因此,電子萬年歷的出現(xiàn)帶來了鐘表計時業(yè)界跨躍性的進(jìn)步我國生產(chǎn)的電子萬年歷有很多種,總體上來說以研究多功能電子萬年歷為主,使萬年歷除了原有的顯示時間,日期等基本功能外,還具有鬧鈴,報警等功能。商家生產(chǎn)的電子萬年歷更從質(zhì)量,價格,實用上考慮,不斷的改進(jìn)電子萬年歷的設(shè)計,使其更加的具有市場。本設(shè)計為軟件,硬件相結(jié)合的一組設(shè)計。在軟件設(shè)計過程中,應(yīng)對硬件部分有相關(guān)了解,這樣有助于對設(shè)計題目的更深了解,有助于軟件設(shè)計?;镜囊私庖恍┲饕骷幕竟δ芎妥饔?。除了采用集成化的時鐘芯片外,還有采用MCU的方案,利用AT

3、89系列單片微機制成萬年歷電路,采用軟件和硬件結(jié)合的方法,控制LED數(shù)碼管輸出,分別用來顯示年、月、日、時、分、秒,其最大特點是:硬件電路簡單,安裝方便易于實現(xiàn),軟件設(shè)計獨特,可靠。AT89C51是由ATMEL公司推出的一種小型單片機。95年出現(xiàn)在中國市場。其主要特點為采用Flash存貯器技術(shù),降低了制造成本,其軟件、硬件與MCS-51完全兼容,可以很快被中國廣大用戶接受。 本文介紹了基于AT89C51單片機設(shè)計的電子萬年歷。首先我們在緒論中簡單介紹了單片機的發(fā)展與其在中低端領(lǐng)域中的優(yōu)勢以及課題的開發(fā)意義;接著介紹了AT89C51單片機的硬件結(jié)構(gòu)和本畢業(yè)設(shè)計所要外擴的LED顯示及其驅(qū)動方法,并

4、在此基礎(chǔ)上實現(xiàn)了萬年歷基本電路的設(shè)計;然后使用單片機匯編語言進(jìn)行萬年歷程序的設(shè)計,程序采用模塊化結(jié)構(gòu),使得邏輯關(guān)系簡單明了,維護(hù)方便。 一 設(shè)計要求與方案論證隨著電子技術(shù)的發(fā)展,人類不斷研究,不斷創(chuàng)新紀(jì)錄。萬年歷目前已經(jīng)不再局限于以書本形式出現(xiàn)。以電腦軟件或者電子產(chǎn)品形式出現(xiàn)的萬年歷被稱為電子萬年歷。與傳統(tǒng)書本形式的萬年歷相比,電子萬年歷得到了越來越廣泛的應(yīng)用,采用電子時鐘作為時間顯示已經(jīng)成為一種時尚。目前市場上各式各樣的電子時鐘數(shù)不勝數(shù),但多數(shù)是只針對時間顯示,功能單一不能滿足人們?nèi)粘I钚枨蟆?本文提出了一種基于AT89C51單片機的萬年歷設(shè)計方案,本方案以AT89C51單片機作為主控核心

5、,與時鐘芯片DS1302、按鍵、LED顯示等模塊組成硬件系統(tǒng)。在硬件系統(tǒng)中設(shè)有獨立按鍵和LED顯示器,能顯示豐富的信息,根據(jù)使用者的需要可以隨時對時間進(jìn)行校準(zhǔn)、選擇時間等,綜上所述此萬年歷具有讀取方便、顯示直觀、功能多樣、電路簡潔、成本低廉等諸多優(yōu)點,符合電子儀器儀表的發(fā)展趨勢,具有廣闊的市場前景。(一)功能要求本電子萬年歷能動態(tài)顯示年、月、日、星期、小時、分鐘、秒2.方案論證3. 技術(shù)可行性 隨著國內(nèi)超大規(guī)模集成電路的出現(xiàn),微處理器及其外圍芯片有了迅速的發(fā)展。集成技術(shù)的最新發(fā)展之一是將CPU和外圍芯片,如程序存儲器、數(shù)據(jù)存儲器、并行I/O口、串行I/O口、定時/計數(shù)器、中斷控制器及其他控制部

6、件集成在一個芯片之中,制成單片計算機(Single-Chip Microcomputer)。而近年來推出的一些高檔單片機還包括有許多特殊功能單元,如A/D、D/A轉(zhuǎn)換器、調(diào)制解調(diào)器、通信控制器、鎖相環(huán)、DMA、浮點運算單元、PWM控制輸出單元、PWM輸出時的死區(qū)可編程控制功能等。因此,只要外加一些擴展電路及必要的通道接口就可以構(gòu)成各種計算機應(yīng)用系統(tǒng),如工業(yè)流水線控制系統(tǒng)、作為家用電器的主控制器、分布式控制系統(tǒng)的終端節(jié)點或作為其主控制節(jié)點起中繼的作用、數(shù)據(jù)采集系統(tǒng)、自動測試系統(tǒng)等。單片機的出現(xiàn),并在各技術(shù)領(lǐng)域中得到如此迅猛的發(fā)展,與單片機構(gòu)成計算機應(yīng)用系統(tǒng)所形成的下述特點有關(guān): 1、單片機構(gòu)成的

7、應(yīng)用系統(tǒng)有較大的可靠性。這些可靠性的獲得除了依靠單片機芯片本身的高可靠性以及應(yīng)用有最少的聯(lián)接外,還可以方便地采用軟、硬件技術(shù)。2、系統(tǒng)擴展、系統(tǒng)配置較典型、規(guī)范,容易構(gòu)成各種規(guī)模的應(yīng)用系統(tǒng),應(yīng)用系統(tǒng)有較高的軟、硬件利用系數(shù)。 3、由于構(gòu)成的應(yīng)用系統(tǒng)是一個計算機系統(tǒng),相當(dāng)多的測、控功能由軟件實現(xiàn),故具有柔性特征,不須改變硬件系統(tǒng)就能適當(dāng)?shù)馗淖兿到y(tǒng)功能。4、有優(yōu)異的性能、價格比。(二) 單片機的選擇方案一:采用傳統(tǒng)的AT89C51作為電機的控制核心。單片機算術(shù)運算功能強,軟件編程靈活、自由度大,可用軟件編程實現(xiàn)各種算法和邏輯控制,并且由于其功耗低、體積小、技術(shù)成熟和成本低等優(yōu)點,使其在各個領(lǐng)域應(yīng)用

8、廣泛。方案二:采用FTC10F04單片機,還帶有非易失性Flash程序存儲器。它是一種高性能、低功耗的8位CMOS微處理芯片,市場應(yīng)用最多。其主要特點如下:8KB Flash ROM,可以擦除1000次以上,數(shù)據(jù)保存10年。由于本系統(tǒng)對CPU運算速度要求很高,需要執(zhí)行很復(fù)雜的運算,方案一成本比較低,適合做設(shè)計,方案二運算速度高,性能好,所以兩種方案都有可取之處。選用方案一作為主方案,方案二作為備用方案。1 顯示模塊的選擇 使用液晶顯示屏顯示時間數(shù)字。 液晶顯示屏(LCD)具有輕薄短小、低耗電量、無輻射危險,平面直角顯示以及影象穩(wěn)定不閃爍等優(yōu)勢,可視面積大,畫面效果好,分辨率高,抗干擾能力強等特

9、點。但由于液晶是以點陣的模式顯示各種符號,需要利用控制芯片創(chuàng)建字符庫,編程工作量大,控制器的資源占用較多,其成本也偏高。在使用時,不能有靜電干擾,否則易燒壞液晶的顯示芯片。主控芯片使用51系列AT89C51單片機,時鐘芯片使用美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實時時鐘DS1302。采用DS1302作為計時芯片,可以做到計時準(zhǔn)確。更重要的是,DS1302可以在很小電流的后備電源(2.55.5V電源,再2.5V時耗電小于300nA),而且DS1302可以編程選擇多種充電電流來隊后備電源進(jìn)圖電子萬年歷電路系統(tǒng)構(gòu)成框圖行慢速充電,可以保證后備電源基本不耗電。顯示驅(qū)動采用MAX72

10、19,MAX7219 是微處理器和共陰極八段八位LED 數(shù)碼管顯示、圖條/柱圖顯示或64 點陣顯示接口的小型串行輸入/輸出芯片。片內(nèi)包括BCD 譯碼器、多路掃描控制器、字和位驅(qū)動器和88 靜態(tài)RAM。外部只需要一個電阻設(shè)置所有LED 顯示器字段電流。MAX7219 和微處理器只需三根導(dǎo)線連接,每位顯示數(shù)字有一個地址由微處理器寫入。允許使用者選擇每位是BCD 譯碼或不譯碼。使用者還可選擇停機模式、數(shù)字亮度控制、從18 選擇掃描位數(shù)和對所有LED 顯示器的測試模式。顯示模塊采用普通的共陰極四位一體八段LED數(shù)碼管。二 系統(tǒng)硬件電路的設(shè)計(一)電路設(shè)計圖示為電子萬年歷電路設(shè)計原理圖,系統(tǒng)由主控制器A

11、T89C51、時鐘電路DS1302、顯示驅(qū)動MAX7219電路,顯示電路及鍵掃描電路組成。圖 電子萬年歷電路原理圖(二)系統(tǒng)硬件概述1. 主控制器AT89C51ATMEL公司生產(chǎn)的AT89C51單片機采用高性能的靜態(tài)80C51設(shè)計,并采用先進(jìn)工藝制造,還帶有非易失性Flash程序存儲器。它是一種高性能、低功耗的8位CMOS微處理芯片,市場應(yīng)用最多。其主要特點如下:8KB Flash ROM,可以擦除1000次以上,數(shù)據(jù)保存10年。 256字節(jié)內(nèi)部RAM; 電源控制模式; 時鐘可停止和恢復(fù); 空閑模式; 掉電模式; 6個中斷源; 4個中斷優(yōu)先級; 4個8位I/O口; 全雙工增強型TUAR; 3個

12、16位定時/計數(shù)器:T0、T1(標(biāo)準(zhǔn)80C51)和增加的T2(捕獲和比較) 全靜態(tài)工作方式:024MHZ2.時鐘電路DS1302 DS1302的性能特性: 實時時鐘,可對秒、分、時、日、周、月以及帶閏年補償?shù)哪赀M(jìn)行比較; 用于高速數(shù)據(jù)暫存的31*8位RAM; 最少引腳的串行I/O; 2.55.5V電壓工作范圍; 2.5V時耗小于300nA; 用于時鐘或RAM數(shù)據(jù)讀/寫的單字節(jié)或多字節(jié)(脈沖方式)數(shù)據(jù)傳送方式; 簡單的三線接口; 可選的慢速充電(至Vcc1)的能力。DS1302在任何數(shù)據(jù)傳送時必須先初始化,把RST腳置為高電平,然后把8位地址和命令字裝入移位寄存器,數(shù)據(jù)在SCLK的上升沿被訪問到

13、。在開始8個時鐘周期,把命令字節(jié)裝入移位寄存器后,另外的時鐘周期在讀操作時輸出數(shù)據(jù),在寫操作時寫入數(shù)據(jù)。時鐘脈沖的個數(shù)在單字節(jié)方式下為8+8,在多字節(jié)方式下為8+字節(jié)數(shù),最大可達(dá)248字節(jié)數(shù)。如果在傳送過程中置RST腳為低電平,則會終止本次數(shù)據(jù)傳送,并且I/O引腳變?yōu)楦咦钁B(tài)。上電運行時,在Vcc2.5V之前,RST腳必須保持低電平。只有在SCLK為低電平時,才能將RST置為高電平。DS1302的控制字如表所示??刂谱止?jié)的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入到DS1302中。位6如果為0,則表示存取日歷時鐘數(shù)據(jù);為1則表示存取RAM數(shù)據(jù)。位51(A4A0)指示操作單元的地

14、址。最低有效位(位0)如果為0,則表示藥進(jìn)行寫操作;為1表示進(jìn)行讀操作。控制字節(jié)總是從最低位開始輸入/輸出。為了提高對32個地址尋址能力(地址/命令位15=邏輯1),可以把時鐘/日歷或RAM寄存器規(guī)定為多字節(jié)(burst)方式。位6規(guī)定時鐘或RAM,而位0規(guī)定讀或?qū)?。在時鐘/日歷寄存器中的地址931或RAM寄存器中的地址31不能存儲數(shù)據(jù)。在多字節(jié)方式下,讀或?qū)憦牡刂?的位0開始。必須按數(shù)據(jù)傳送的次序?qū)懽钕鹊?個寄存器。但是,當(dāng)以多字節(jié)方式寫RAM時,為了傳送數(shù)據(jù)不必寫所有的31字節(jié),不管是否謝了全部31字節(jié),所寫的每一字節(jié)都將傳送至RAM。表 DS1302控制字 DS1302共有12個寄存器,

15、其中有7個寄存器與日歷、時鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式。其日歷、時間寄存器及其控制字如上表所示,其中奇數(shù)為讀操作,偶數(shù)為寫操作。時鐘暫停:秒寄存器的位7定義位時鐘暫停位。當(dāng)它為1時,DS1302停止振蕩,進(jìn)入低功耗的備份方式,通常在對DS1302進(jìn)行寫操作時(如進(jìn)入時鐘調(diào)整程序),停止振蕩。當(dāng)它為0時,時鐘將開始啟動。 AM-PM/12-24小時方式:小時寄存器的位7定義為12或24小時方式選擇位。它為高電平時,選擇12小時方式。在此方式下,位5為第二個10小時位(2023h)。 DS1302的晶振選用32768Hz,電容推薦值為6pF。因為振蕩頻率較低,也可以不接電容,對計時精度影響不

16、大。3. 顯示驅(qū)動MAX7219 MAX7219 和單片計算機連接有三條引線(DIN、CLK、LOAD),采用16 位數(shù)據(jù)串行移位接收方式 八位LED 顯示、圖條/柱圖顯示或64 點陣顯示 包括BCD 譯碼器、多路掃描控制器、字和位驅(qū)動器和88 靜態(tài)RAM 可選擇停機模式、數(shù)字亮度控制、從18 選擇掃描位數(shù)和對所有LED 顯示器的測試模式 最多能驅(qū)動8 位LED 顯示器 內(nèi)部RAM 地址0108H 分別對應(yīng)于DIG0DIG7。 掃描界限寄存器(地址0BH):該寄存器中D0D3 位數(shù)據(jù)設(shè)定值為07H,設(shè)定值表示顯示器動態(tài)掃描個數(shù)位18。 停機寄存器(地址0CH):當(dāng)D0=0 時,MAX721 處

17、于停機狀態(tài);當(dāng)D0=1 時,處于正常工作狀態(tài)。 顯示測試寄存器(地址0FH):當(dāng)D0=0時,MAX7219 按設(shè)定模式正常工作;當(dāng)D0=1 時,處于測試狀態(tài)。在該狀態(tài)下,不管MAX7219 處于什么模式,全部LED 將按最大亮度顯示。 亮度寄存器(地址0AH):亮度可以用硬件和軟件兩種方法調(diào)節(jié)亮度寄存器中的D0D3位可以控制LED 顯示。LED 顯示寄存器由內(nèi)部8 8 靜態(tài)RAM 構(gòu)成,操作者可直接對位寄存器進(jìn)行個別尋址, 以刷新和保持?jǐn)?shù)據(jù), 只要V 超過2 V(一般為 5V)。 控制寄存器包括: 譯碼模式, 顯示亮度調(diào)節(jié), 掃描限制(選擇掃描位數(shù)),關(guān)斷和顯示測試寄存器。MAX7219 的驅(qū)

18、動程序首先必須對5 個控制寄存器初始設(shè)置即初始化, 各控制寄存器設(shè)置含義如下:譯碼模式選擇寄存器(地址 F9H);MAX7219 有兩種譯碼方式:B 譯碼方式和不譯碼方式。當(dāng)選擇不譯碼時, 8 個數(shù)據(jù)為分別一一對應(yīng)7 個段和小數(shù)點位;B 譯碼方式是BCD 譯碼,直接送數(shù)據(jù)就可以顯示。實際應(yīng)用中可以按位設(shè)置選擇B 譯碼或是不譯碼方式。掃描限制寄存器: 地址 FBH;用于設(shè)置顯示的LED 個數(shù)( 1 8 ) , 比如當(dāng)設(shè)置為0xX4 時,LED 05 顯示。亮度調(diào)節(jié)寄存器: 地址 FAH;共有16 級選擇,用于LED 顯示亮度的強弱設(shè)置。關(guān)斷模式寄存器:地址 FCH;有兩種模式選擇:一種是關(guān)斷狀態(tài)

19、模式(D0 0);一種是正常操作狀態(tài)(D0 1),通常選擇正常操作狀態(tài)。顯示測試寄存器:地址 FFH;有兩種選擇用于設(shè)置LED 是測試狀態(tài)還是正常操作狀態(tài):當(dāng)在測試狀態(tài)時(D0 1)各位全應(yīng)亮,一般選擇正常操作狀態(tài)(D0 0)。4.主要單元電路的設(shè)計表 MAX7219引腳功能(1)顯示電路顯示部分采用普通的共陰數(shù)碼管顯示,采用動態(tài)掃描,以減少硬件路。年月日時分秒星期共需要17位數(shù)碼顯示,考慮到一次掃描17位數(shù)碼管顯示時會出現(xiàn)閃爍情況,故采用動態(tài)掃描,可將數(shù)碼管數(shù)量減少至9位,也就是兩個四位一體八段LED顯示數(shù)碼管和一個一位LED數(shù)碼管設(shè)計時數(shù)碼管同時掃描,顯示時采用串行口輸出段碼,用MAX72

20、19驅(qū)動數(shù)碼管。 圖 MAX7219主要引腳5.鍵盤接口鍵盤在單片機系統(tǒng)中是一個很重要的部件。為了輸入數(shù)據(jù)、查詢和控制系統(tǒng)的工作狀態(tài),都要用到鍵盤,鍵盤是人工干預(yù)計算機的主要手段。鍵盤可分為編碼和非編碼鍵盤兩種。編碼鍵盤采用硬件線線路來實現(xiàn)鍵盤編碼,每按下一個鍵,鍵盤能自動生成按鍵代碼,鍵數(shù)較多,而且還具有去抖動功能。這種鍵盤使用方便,但硬件較復(fù)雜,PC機所用的鍵盤就屬于這種。非編碼鍵盤僅提供按鍵開關(guān)工作狀態(tài),其他工作由軟件完成,這種鍵盤鍵數(shù)較少,硬件簡單,一般在單片機應(yīng)用系統(tǒng)中廣泛使用。此處主要介紹該類非編碼鍵盤及其與MCS51型單片機的接口。6.時鐘電路(1). DS1302工作方式簡介及

21、數(shù)據(jù)操作原理DS1302可以對年、月、日、星期、時、分、秒進(jìn)行計時, 且具有閏年補償功能, 工作電壓寬達(dá)2.55.5V。采用三線接口與CPU進(jìn)行同步通信, 并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。DS1302內(nèi)部有一個33x8的用于臨時性存放數(shù)據(jù)的RAM寄存器。DS1302是的DS1202升級產(chǎn)品, 與DS1202兼容, 但增加了主電源/后背電源雙電源引腳, 同時提供了對后背電源進(jìn)行涓細(xì)電流充電的能力。DS1302時鐘芯片包括實時時鐘/日歷和31字節(jié)的靜態(tài)RAM。它經(jīng)過一個簡單的串行接口與微處理器通信。實時時鐘/日歷提供秒、分、時、日、周、月和年等信息。對于小于31天的月和月末

22、的日期自動進(jìn)行調(diào)整,還包括閏年校正的功能。時鐘的運行可以采用24時或帶AM/PM的12小時格式。采用三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多字節(jié)的時鐘信號或RAM數(shù)據(jù)。DS1302有主電源/后備電源雙電源引腳:Vcc1在單電源與電池供電的系統(tǒng)中提供低電源,并提供低功率的電磁備份;Vcc1在雙電池系統(tǒng)中提供主電源。在這種運行方式中,Vcc1里連接到后備電源,以便在沒有主電源的情況下能保存時間信息以及數(shù)據(jù)。DS1302由Vcc1或Vcc2中較打大者供電。當(dāng)Vcc2(Vcc1+0.2V)時,Vcc2給DS1302供電;當(dāng)Vcc2Vcc1時,DS1302由Vcc1供電。 圖S1302D

23、S1302在任何數(shù)據(jù)傳送時必須先初始化,把RST腳置為高電平,然后把8位地址和命令字裝入移位寄存器,數(shù)據(jù)在SCLK的上升沿被訪問到。在開始8個時鐘周期,把命令字節(jié)裝入移位寄存器后,另外的時鐘周期在讀操作時輸出數(shù)據(jù),在寫操作時寫入數(shù)據(jù)。時鐘脈沖的個數(shù)在單字節(jié)方式下為8+8,在多字節(jié)方式下為8+字節(jié)數(shù),最大可達(dá)248字節(jié)數(shù)。如果在傳送過程中置RST腳為低電平,則會終止本次數(shù)據(jù)傳送,并且I/O引腳變?yōu)楦咦钁B(tài)。上電運行時,在Vcc2.5V之前,RST腳必須保持低電平。只有在SCLK為低電平時,才能將RST置為高電平。DS1302的控制字如圖所示。控制字節(jié)的最高有效位(位7)必須是邏輯1,如果它為0,則

24、不能把數(shù)據(jù)寫入到DS1302中。位6如果為0,則表示存取日歷時鐘數(shù)據(jù);為1則表示存取RAM數(shù)據(jù)。位51(A4A0)指示操作單元的地址。最低有效位(位0)如果為0,則表示藥進(jìn)行寫操作;為1表示進(jìn)行讀操作??刂谱止?jié)總是從最低位開始輸入/輸出。為了提高對32個地址尋址能力(地址/命令位15=邏輯1),可以把時鐘/日歷或RAM寄存器規(guī)定為多字節(jié)(burst)方式。位6規(guī)定時鐘或RAM,而位0規(guī)定讀或?qū)?。在時鐘/日歷寄存器中的地址931或RAM寄存器中的地址31不能存儲數(shù)據(jù)。在多字節(jié)方式下,讀或?qū)憦牡刂?的位0開始。必須按數(shù)據(jù)傳送的次序?qū)懽钕鹊?個寄存器。但是,當(dāng)以多字節(jié)方式寫RAM時,為了傳送數(shù)據(jù)不必

25、寫所有的31字節(jié),不管是否謝了全部31字節(jié),所寫的每一字節(jié)都將傳送至RAM。DS1302共有12個寄存器,其中有7個寄存器與日歷、時鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式。其日歷、時間寄存器及其控制字如下表所示,其中奇數(shù)為讀操作,偶數(shù)為寫操作。表 DS1302控制字 時鐘暫停:秒寄存器的位7定義位時鐘暫停位。當(dāng)它為1時,DS1302停止振蕩,進(jìn)入低功耗的備份方式,通常在對DS1302進(jìn)行寫操作時(如進(jìn)入時鐘調(diào)整程序),停止振蕩。當(dāng)它為0時,時鐘將開始啟動。 AM-PM/12-24小時方式:小時寄存器的位7定義為12或24小時方式選擇位。它為高電平時,選擇12小時方式。在此方式下,位5為第二個10小

26、時位(2023h)。 DS1302的晶振選用32768Hz,電容推薦值為6pF。因為振蕩頻率較低,也可以不接電容,對計時精度影響不大。三 系統(tǒng)的軟件設(shè)計一 程序設(shè)計電子萬年歷的程序主要包括3個方面的內(nèi)容:一是DS1302從單片機中讀取數(shù)據(jù)進(jìn)行計數(shù),二是利用按鍵進(jìn)行時間的調(diào)整,三是MAX7219從單片機中讀取數(shù)據(jù)驅(qū)動LED數(shù)碼管顯示時間。AT89C51單片機主要I/O口的分配,P2.0-P2.2分別接MAX7219的DIN,LOAD,CLK三個功能端,P3接查詢式按鍵,P1.0-P1.2分別接DS1302的CLK,IO,RST端。1時間控制流程圖DS1302時控流程圖四 結(jié)束語2010年3月,我

27、開始了我的畢業(yè)論文工作,時至今日,論文基本完成。從最初的茫然,到慢慢的進(jìn)入狀態(tài),再到對思路逐漸的清晰,整個寫作過程難以用語言來表達(dá)。歷經(jīng)了一個多月的奮戰(zhàn),緊張而又充實的畢業(yè)設(shè)計終于落下了帷幕?;叵脒@段日子的經(jīng)歷和感受,我感慨萬千,在這次畢業(yè)設(shè)計的過程中,我擁有了無數(shù)難忘的回憶和收獲。3月初,在與畢業(yè)設(shè)計指導(dǎo)老師徐老師的交流討論中我的題目定了下來,是:電子萬年歷的設(shè)計。當(dāng)選題報告,開題報告定下來的時候,我當(dāng)時便立刻著手資料的收集工作中,當(dāng)時面對浩瀚的書海真是有些茫然,不知如何下手。在導(dǎo)師細(xì)心的指導(dǎo)下,終于使我對自己的工作方向和方法有了掌握。在搜集資料的過程中,我認(rèn)真準(zhǔn)備了一個筆記本。我在學(xué)校圖書

28、館,電子閱覽室搜集資料,將這些寶貴的資料全部記在筆記本上,盡量使我的資料完整、精確、數(shù)量多,這有利于論文的撰寫。然后我將收集到的資料仔細(xì)整理分類,及時拿給導(dǎo)師進(jìn)行溝通。4月初,資料已經(jīng)查找完畢了,我開始著手論文的寫作。在寫作過程中遇到困難我就及時和導(dǎo)師聯(lián)系,并和同學(xué)互相交流,請教專業(yè)課老師。在大家的幫助下,困難一個一個解決掉,論文也慢慢成型。4月底,論文的文字?jǐn)⑹鲆呀?jīng)完成。5月開始進(jìn)行相關(guān)圖形的繪制工作和電路的設(shè)計工作。為了畫出自己滿意的電路圖,流程圖等。在設(shè)計電路初期,由于沒有設(shè)計經(jīng)驗,覺得無從下手,空有很多設(shè)計思想,卻不知道應(yīng)該選哪個,經(jīng)過導(dǎo)師的指導(dǎo),我的設(shè)計漸漸有了頭緒,通過查閱資料,逐

29、漸確立系統(tǒng)方案。方案中LED顯示屏驅(qū)動電路的設(shè)計是個比較頭疼的問題,在反復(fù)推敲,對比的過程中,最終定下了驅(qū)動電路采用MAX7219驅(qū)動芯片。當(dāng)我終于完成了所有打字、繪圖、排版、校對的任務(wù)后整個人都很累,但同時看著電腦熒屏上的畢業(yè)設(shè)計稿件我的心里是甜的,我覺得這一切都值了。這次畢業(yè)論文的制作過程是我的一次再學(xué)習(xí),再提高的過程。在論文中我充分地運用了大學(xué)期間所學(xué)到的知識。我不會忘記這難忘的幾個月的時間。畢業(yè)論文的制作給了我難忘的回憶。在我徜徉書海查找資料的日子里,面對無數(shù)書本的羅列,最難忘的是每次找到資料時的激動和興奮;親手用protel 99設(shè)計電路圖的時間里,記憶最深的是每一步小小思路實現(xiàn)時那

30、幸福的心情;為了論文我曾趕稿到深夜,但看著親手打出的一字一句,心里滿滿的只有喜悅毫無疲憊。這段旅程看似荊棘密布,實則蘊藏著無盡的寶藏。我從資料的收集中,掌握了很多單片機及其接口應(yīng)用的知識,讓我對我所學(xué)過的知識有所鞏固和提高,并且讓我對當(dāng)今單片機的最新發(fā)展技術(shù)有所了解。在整個過程中,我學(xué)到了新知識,增長了見識。在今后的日子里,我仍然要不斷地充實自己,爭取在所學(xué)領(lǐng)域有所作為。腳踏實地,認(rèn)真嚴(yán)謹(jǐn),實事求是的學(xué)習(xí)態(tài)度,不怕困難、堅持不懈、吃苦耐勞的精神是我在這次設(shè)計中最大的收益。我想這是一次意志的磨練,是對我實際能力的一次提升,也會對我未來的學(xué)習(xí)和工作有很大的幫助。在這次畢業(yè)設(shè)計中也使我們的同學(xué)關(guān)系更

31、進(jìn)一步了,同學(xué)之間互相幫助,有什么不懂的大家在一起商量,聽聽不同的看法對我們更好的理解知識,所以在這里非常感謝幫助我的同學(xué)。在此更要感謝我的指導(dǎo)老師和專業(yè)老師,是你們的細(xì)心指導(dǎo)和關(guān)懷,使我能夠順利的完成畢業(yè)論文。在此我要向徐老師師致以最衷心的感謝和深深的敬意。附錄 電子萬年歷程序SUB_WNL入口:SJ DATA 30H ; 世紀(jì) BCD 00 TO 99 NH DATA 31H ; 年號 BCD 00 TO 99 0000 TO 9999 年 YF DATA 32H ; 月份 BCD 01 TO 12 出口 ACC - 本月天數(shù) BCD 28 to 31 B - 本月1日的星期數(shù) 1 to

32、6 = 星期1 to 星期6 ; 0 - 星期日 ; 使用: ACC, B, R5, R6 ; STACK: 3 bytes (不包括調(diào)用) ORG 50HSUB_WNL: PUSH PSW MOV A, SJ ACALL BCD2BIN_MOD4 ; x 400年: (大周期) ; =146097天 = 7 * 20871 + 0 天 ; x 100年: ; 000年 = 7 * 0 + 0 + 1 - 1 1 = 0 * 2 + 1 * ; 100年 = 7 * 5217 + 7 + 1 - 2 2 = 1 * 2 ; 200年 = 7 * 10435 + 7 + 1 - 4 4 = 2

33、* 2 ; 300年 = 7 * 15653 + 7 + 1 - 6 6 = 3 * 2 ; 1,2,4,6 MOV A, R6 ; A=R6= SJ_BIN MOD 4 RLC A ; A=A*2+C A = 1,2,4,6 * XRL A, #10000111B ; A = 87H - A ; 邊界調(diào)整 MOV R5, A ; A = 86H, 85H, 83H, 81H ; R5: 星期 MOV A, NH JZ WNL_1 ACALL BCD2BIN_MOD4 XCH A, R5 SUBB A, R5 ; 0 年 ; 0 = 0 + 0 + 1 + (-1) * MOV R5, AWN

34、L_1: MOV A, YF ADD A, #(WNL_TAB-$-4) MOVC A, A+PC MOV R6, A SWAP A ACALL WNL_F0; 大年對=3月調(diào)整準(zhǔn)備 ADDC A, R5 ; 月調(diào)整 MOV B, #7 DIV AB ; B = A MOD 7 MOV A, R6 ACALL WNL_F0; 大年調(diào)整準(zhǔn)備 ADDC A, #28 POP PSW RETWNL_TAB: DB 3*2 + 5 * 32+0 ;1 BIT 0 : 2月 標(biāo)志 DB 0*2+1+1 * 32+0 ;2 * BIT 1.2: 月大小 DB 3*2 + 1 * 32+16 ;3 00:28 天 DB 2*2 + 4 * 32+16 ;4 01:- D

溫馨提示

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

評論

0/150

提交評論