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

下載本文檔

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

文檔簡介

1、鶴壁職業(yè)技術學院畢業(yè)設計論文論文題目:電子時鐘學 院:機電工程學院專業(yè):電氣自動化班級:2009級01班學生姓名:賈貫可學號:0902511005指導教師:司新生2011年10月18 日摘要 TOC o 1-5 h z 緒論. 5 HYPERLINK l bookmark13 o Current Document 第1章 設計要求與方案論證 7 HYPERLINK l bookmark15 o Current Document 引言 7 HYPERLINK l bookmark17 o Current Document 功能要求. 7 HYPERLINK l bookmark19 o Curr

2、ent Document 方案論證 7 HYPERLINK l bookmark21 o Current Document 第2章 系統(tǒng)硬件電路設計 11電路設計 11 HYPERLINK l bookmark23 o Current Document 系統(tǒng)硬件概述 15 HYPERLINK l bookmark25 o Current Document 主要單元電路的設計 15第3章系統(tǒng)的軟件設計 22程序設計 22程序設計流程圖 22第4章 結束語. 24附錄一(電路原理圖) 附錄二(程序清單) 27訂閱方法:長按右側指紋2,在菜單中選擇識別二維碼單片機,趣味電子仆憾、.DIY,機器人,技

3、術創(chuàng)業(yè)洸燃法 從“單片機”進入智能世界摘要隨著社會、科技的發(fā)展,人類得知時間,從觀太陽、擺鐘到現(xiàn)在電子 鐘,不斷研究、創(chuàng)新。為了在觀測時間,能夠了解與人類密切相關的信息, 比如星期、日期等,電子時鐘誕生了,它集時間、日期、星期等功能于一 身,具有讀取方便、顯示直觀、功能多樣、電路簡潔等諸多優(yōu)點,符合電 子儀器儀表的發(fā)展趨勢,具有廣闊的市場前景。該電子時鐘主要采用 STC89C52RC單片機作為主控核心,由 DS1302 時鐘芯片提供時鐘、LED動態(tài)掃描顯示屏顯示。STC89C52RC單片機是由 Atmel公司推出的,功耗小,電壓可選用46V電壓供電;DS1302時鐘芯 片是美國DALLAS公司

4、推出的具有涓細電流充電功能的低功耗實時時鐘 芯片,它可以對年、月、日、星期、時、分、秒進行計時,還具有閏年補 償?shù)榷喾N功能,而且 DS1302的使用壽命長,誤差小;數(shù)字顯示是采用的 LED顯示屏來顯示,可以同時顯示年、月、日、星期、時、分、秒和溫度 等信息。此外,該電子時鐘還具有時間校準等功能。關鍵詞:時鐘電路; 時鐘芯片DS1302; LED動態(tài)掃描; 單片機STC89C52RC;緒論隨著人們生活水平的提高和生活節(jié)奏的加快, 對時間的要求越來越高, 精準數(shù)字計時的消費需求也是越來越多。二十一世紀的今天,最具代表性的計時產(chǎn)品就是電子時鐘,它是近代 世界鐘表業(yè)界的第三次革命。第一次是擺和擺輪游絲

5、的發(fā)明,相對穩(wěn)定的 機械振蕩頻率源使鐘表的走時差從分級縮小到秒級,代表性的產(chǎn)品就是帶 有擺或擺輪游絲的機械鐘或表。第二次革命是石英晶體振蕩器的應用,發(fā) 明了走時精度更高的石英電子鐘表,使鐘表的走時月差從分級縮小到秒級。 第三次革命就是單片機數(shù)碼計時技術的應用,使計時產(chǎn)品的走時日差從分 級縮小到1/600萬秒,從原有傳統(tǒng)指針計時的方式發(fā)展為人們?nèi)粘8鼮槭?悉的夜光數(shù)字顯示方式,直觀明了,并增加了全自動日期、星期的顯示功 能,它更符合消費者的生活需求!因此,電子時鐘的出現(xiàn)帶來了鐘表計時 業(yè)界跨躍性的進步我國生產(chǎn)的電子時鐘有很多種,總體上來說以研究多功能電子時鐘為 主,使萬年歷除了原有的顯示時間,日

6、期等基本功能外,還具有鬧鈴,報 警等功能。商家生產(chǎn)的電子萬年歷史從質(zhì)量,價格,實用上考慮,不斷的 改進電子時鐘的設計,使其更加的具有市場。本設計為軟件,硬件相結合的一組設計。在軟件設計過程中,應對硬 件部分有相關了解,這樣有助于對設計題目的更深了解, 有助于軟件設計。 基本的要了解一些主要器件的基本功能和作用。除了采用集成化的時鐘芯片外,還有采用 MCU的方案,利用STC89 系列單片微機制成電子電路,采用軟件和硬件結合的方法,控制LED數(shù)碼 管輸出,分別用來顯示年、月、日、時、分、秒,其最大特點是:硬件電路簡單,安裝方便易于實現(xiàn),軟件設計獨特,可靠。STC89C52RC是由ATMEL 公司推

7、出的一種小型單片機。95年出現(xiàn)在中國市場。其主要特點為采用 Flash存貯器技術,降低了制造成本,具軟件、硬件與 MCS-51完全兼容, 可以很快被中國廣大用戶接受。本文介紹了基于STC89C52RC單片機設計的電子時鐘。首先我們在緒論中簡單介紹了單片機的發(fā)展與其在中低端領域中的優(yōu)勢以及課題的開發(fā)意義;接著介紹了 STC89C52RC單片機的硬件結構和本 畢業(yè)設計所要外擴的LED顯示及其驅(qū)動方法,并在此基礎上實現(xiàn)了時鐘基 本電路的設計;然后使用單片機 C語言進行時鐘程序的設計,程序采用模 塊化結構,使得邏輯關系簡單明了,維護方便。第1章設計要求與方案論證引言本文提出了一種基于STC89C52R

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

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

10、中得到如此迅猛的發(fā)展,與單片機構 成計算機應用系統(tǒng)所形成的下述特點有關:1、單片機構成的應用系統(tǒng)有較大的可靠性。這些可靠性的獲得除了依 靠單片機芯片本身的高可靠性以及應用有最少的聯(lián)接外,還可以方便地采 用軟、硬件技術。2、系統(tǒng)擴展、系統(tǒng)配置較典型、規(guī)范,容易構成各種規(guī)模的應用系統(tǒng), 應用系統(tǒng)有較高的軟、硬件利用系數(shù)。3、由于構成的應用系統(tǒng)是一個計算機系統(tǒng),相當多的測、控功能由軟件實現(xiàn),故具有柔性特征,不須改變硬件系統(tǒng)就能適當?shù)馗淖兿到y(tǒng)功能。4、有優(yōu)異的性能、價格比。單片機的選擇方案一:采用傳統(tǒng)的 STC89C52RC作為電機的控制核心。單片機算 術運算功能強,軟件編程靈活、自由度大,可用軟件編

11、程實現(xiàn)各種算法和 邏輯控制,并且由于其功耗低、體積小、技術成熟和成本低等優(yōu)點,使其 在各個領域應用廣泛。方案二:采用FTC10F04單片機,還帶有非易失性Flash程序存儲器。 它是一種高性能、低功耗的8位CMOS微處理芯片,市場應用最多。其主 要特點如下:8KB Flash ROM ,可以擦除1000次以上,數(shù)據(jù)保存10年。由于本系統(tǒng)對CPU運算速度要求很高,需要執(zhí)行很復雜的運算,方 案一成本比較低,適合做設計,方案二運算速度高,性能好,所以兩種方 案都有可取之處。選用方案一作為主方案,方案二作為備用方案。顯示模塊的選擇方案一:使用液晶顯示屏顯示時間數(shù)字。液晶顯示屏(LCD)具有輕薄短小、低

12、耗電量、無輻射危險,平面直角顯示以及影象穩(wěn)定不閃爍等 優(yōu)勢,可視面積大,畫面效果好,分辨率高,抗干擾能力強等特點。但由 于液晶是以點陣的模式顯示各種符號,需要利用控制芯片創(chuàng)建字符庫,編 程工作量大,控制器的資源占用較多,其成本也偏高。在使用時,不能有 靜電干擾,否則易燒壞液晶的顯示芯片,不易維護。方案二:使用傳統(tǒng)的LED數(shù)碼管顯示。數(shù)碼管具有:低能耗、低損 耗、低壓、壽命長、耐老化、防曬、防潮、防火、防高(低)溫,對外界 環(huán)境要求低,易于維護,同時其精度比較高,稱重輕,精確可靠,操作簡 單。數(shù)碼管采用BCD編碼顯示數(shù)字,程序編譯容易,資源占用較少。根據(jù)以上的論述,采用方案二。在本系統(tǒng)中,我們采

13、用了八段四位 一體數(shù)碼管用口的動態(tài)顯示。鍵盤模塊的選擇在對日期和時間進行切換,對日期和時間進行調(diào)節(jié)校準過程中,系 統(tǒng)需要產(chǎn)生激勵電流,因此需要用按鍵。方案一:使用獨立式鍵盤。獨立式鍵盤是指直接用I/O 口線構成的單 個按鍵電路。獨立式按鍵電路配置靈活,軟件結構簡單。方案二:使用矩陣式鍵盤。矩陣式鍵盤是由行線和列線組成,按鍵 位于行、列的交叉點上,行線、列線分別連接到按鍵開關的兩端。具特點 是簡單且不增加成本,這種鍵盤適合按鍵數(shù)量較多的場合。根據(jù)以上的論述,因本系統(tǒng)需要的按鍵不多,日期加 1鍵,月數(shù)加1 鍵,年數(shù)加1鍵,分數(shù)加1鍵,時數(shù)加1鍵,時間/日期切換鍵,要求簡 單。所以采用方案一獨立式鍵

14、盤??傮w方案論證與選擇按照系統(tǒng)設計功能的要求,初步確定系統(tǒng)由主控模塊、時控模塊、及 顯示模塊和鍵盤接口模塊共4個模塊組成。主控芯片使用51系列STC89C52RC單片機,時鐘芯片使用美國 DALLAS公司推出的一種高性 能、低功耗、帶 RAM的實時時鐘DS1302。采用DS1302作為計時芯片, 可以做到計時準確。更重要的是,DS1302可以在很小電流的后備電源(2.55.5V電源,再2.5V時耗電小于300nA),而且除1302可以編程 選擇多種充電電流來為后備電源進行慢速充電,可以保證后備電源基本不耗電。顯示模塊采用普通的共陽極四位一體八段LED數(shù)碼管。第二章系統(tǒng)硬件電路設計2.2系統(tǒng)硬件

15、概述主控制器 STC89C52RCSTC89C52RC單片機是宏晶科技推出的新一代高速、低功耗、超強 抗干擾的單片機,指令代碼完全兼容傳統(tǒng) 8051單片機,12時鐘、機器周 期和6時鐘、機器周期可以任意選擇。主要特性如下:增強型8051單片機,6時鐘、機器周期和12時鐘、機器周期可 以任意選擇,指令代碼完全兼容傳統(tǒng) 8051單片機。工作電壓:5.5V3.3V工作頻率范圍:044MHz。用戶應用程序空間為8K字節(jié)片上集成512字節(jié)RAM通用I/O 口 32個,復位后為:P1/P2/P3/P4是準雙向口/弱上位, P0 口是漏極開路輸出,作為總線擴展用時,不用加上拉電阻,作 為I/O 口用時,需加

16、上拉電阻。ISP(在系統(tǒng)可編程)/IAP (再應用可編程),無需專用編程器,無需 專用仿真器,可通過用口( RXD/P3.0,TXD/P3.1 )直接下載用戶 程序,數(shù)秒即可完成一片。具有EEPROM功能具有看門狗功能共3個16位定時器/計數(shù)器。及定時器T0、T1、T2外部中斷4路,下降沿中斷或低電平觸發(fā)電路,Power Down模式 可由外部中斷低電平觸發(fā)中斷方式喚醒通用異步用行口( UART),還可用定時器實現(xiàn)多個 UART工作溫度范圍:-40+85度(工業(yè)級)/075度(商業(yè)級) PDIP封裝2.2.2時鐘電路DS1302DS1302的性能特性:實時時鐘,可對秒、分、時、日、周、月以及帶

17、閏年補償?shù)哪赀M 行比較;用于高速數(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的上升沿被訪問到。 在開始8個時鐘周期,把命令字節(jié)裝入移位寄存器后,另外的時鐘周期在 讀操作時輸出數(shù)據(jù),在寫操作時寫入數(shù)據(jù)。時鐘脈沖的個數(shù)在單字節(jié)方式 下為8+8,在多字節(jié)方式下為8+字節(jié)數(shù),最大可達248字節(jié)數(shù)。如

18、果在傳 送過程中置RST腳為低電平,則會終止本次數(shù)據(jù)傳送,并且 I/O引腳變?yōu)?高阻態(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)指 示操作單元的地址。最低有效位(位 0)如果為0,則表示藥進行寫操作; 為1表示進行讀操作。控制字節(jié)總是從最低位開始輸入 /輸出。為了提高對32個地址尋址能力(地址/命令位15二邏輯1),可

19、以把時 鐘/日歷或RAM寄存器規(guī)定為多字節(jié)(burst)方式。位6規(guī)定時鐘或RAM, 而位0規(guī)定讀或?qū)?。在時鐘/日歷寄存器中的地址931或RAM寄存器中 的地址31不能存儲數(shù)據(jù)。在多字節(jié)方式下,讀或?qū)憦牡刂?0的位0開始。 必須按數(shù)據(jù)傳送的次序?qū)懽钕鹊?8個寄存器。但是,當以多字節(jié)方式寫 RAM時,為了傳送數(shù)據(jù)不必寫所有的31字節(jié),不管是否謝了全部31字節(jié), 所寫的每一字節(jié)都將傳送至RAM 。表2.1 DS1302控制字押存跆史命令字取值范33內(nèi)容考9件讀蜂作765 143士 0秒需存粹HOH81HCH10SEC害EG行寄存就K2Hoo-駟口lOMENMiN刊寄訂協(xié)R4H01 - 12 on

20、-2312/24010HRHR日得存as0128. 29b 30. 30o1。IJA lTzDATfc月寄有皆網(wǎng):101-1200010MMONTH叫奉?7瑞AHKSH01 -070o000DAYMHNDlHTOBOYliAHYKAR ;DS1302共有12個寄存器,其中有7個寄存器與日歷、時鐘相關,存放的 數(shù)據(jù)位為BCD碼形式。其日歷、時間寄存器及其控制字如上表所示,其中 奇數(shù)為讀操作,偶數(shù)為寫操作。時鐘暫停:秒寄存器的位7定義位時鐘暫停位。當它為1時,DS1302 停止振蕩,進入低功耗的備份方式,通常在對 DS1302進行寫操作時(如 進入時鐘調(diào)整程序),停止振蕩。當它為0時,時鐘將開始啟

21、動。AM-PM/12-24小時方式:小時寄存器的位7定義為12或24小時方式 選擇位。它為高電平時,選擇 12小時方式。在此方式下,位 5為第二個 10小時位(2023h)0DS1302的晶振選用32768Hz,電容推薦值為6pF。因為振蕩頻率較低, 也可以不接電容,對計時精度影響不大。2.3主要單元電路的設計顯示電路顯示部分采用普通的共陽數(shù)碼管顯示,采用動態(tài)掃描,以減少硬件電 路。年月日、時分秒、報警共需要24位數(shù)碼顯示,用8位數(shù)碼管以按鍵切換的方式來顯示。考慮到一次掃描24位數(shù)碼管顯示時會出現(xiàn)閃爍情況,故 采用動態(tài)掃描,可將數(shù)碼管數(shù)量減少至8位,顯示時采用串行口輸出段碼。鍵盤接口鍵盤在單片

22、機系統(tǒng)中是一個很重要的部件。為了輸入數(shù)據(jù)、查詢和控 制系統(tǒng)的工作狀態(tài),都要用到鍵盤,鍵盤是人工干預計算機的主要手段。鍵盤可分為編碼和非編碼鍵盤兩種。編碼鍵盤采用硬件線線路來實現(xiàn) 鍵盤編碼,每按下一個鍵,鍵盤能自動生成按鍵代碼,鍵數(shù)較多,而且還 具有去抖動功能。這種鍵盤使用方便, 但硬件較復雜,PC機所用的鍵盤就 屬于這種。非編碼鍵盤僅提供按鍵開關工作狀態(tài),其他工作由軟件完成, 這種鍵盤鍵數(shù)較少,硬件簡單,一般在單片機應用系統(tǒng)中廣泛使用。此處 主要介紹該類非編碼鍵盤及其與 MCS-51型單片機的接口。按鍵開關去抖動問題按鍵開關在電路中的連接如圖所示。按鍵未按下時,A點電位為高電平5V;按鍵按下時

23、,A點電位為低電平。A點電位就用于向CPU傳遞按 鍵的開關狀態(tài)。但是由于按鍵的結構為機械彈性開關,在按鍵按下和斷開 時,觸點在閉合和斷開瞬間還會接觸不穩(wěn)定,引起A點電平不穩(wěn)定,如圖b)更抖動rri作和鍵抖動2-11b所示,鍵盤的抖動時間一般為 510ms,抖動現(xiàn)象會引起CPU對一 次鍵操作進行多次處理,從而可能產(chǎn)生錯誤。因此必須設法消除抖動的不 良后果。+5V R圖2.3鍵操消除抖動的不良后果的方法有硬、軟件兩種。為了節(jié)省硬件,通常在單片機系統(tǒng)中,一般不采用硬件方法消除鍵的 抖動,而是用軟件消除抖動的方法。根據(jù)抖動特性,在第一次檢測到按鍵 按下后,執(zhí)行一段延時510ms讓前延抖動消失后再一次檢

24、測鍵的狀態(tài), 如果仍保持閉合狀態(tài)電平,則確認真正有鍵按下。當檢測到按鍵釋放后, 也要給510ms的延時,待后延抖動消失后才轉(zhuǎn)入該鍵處理程序。查詢式按鍵及其接口按照鍵盤與CPU的連接方式可以分為查詢按鍵和矩陣式鍵盤。查詢式 按鍵是各按鍵相互獨立,每個按鍵占用一根I/O 口線,每根I/O 口線上的按鍵工作狀態(tài)不會影響其他I/O 口線上按鍵的工作狀態(tài)。查詢式按鍵電路 配置靈活,軟件結構簡單,但每個按鍵必須占用一根I/O 口線,在按鍵數(shù)量較多時,I/O 口線浪費較大,且電路結構顯得繁雜。故這種形式適用于按 鍵數(shù)量較少的場合。矩陣式鍵盤及其接口矩陣式鍵盤又稱行列式鍵盤,有 n個行線和m個列線,經(jīng)限流電阻

25、接 +5V電源上,按鍵跨接在行線和列線上,nm行列結構可構成mn個按鍵, 組成一個鍵盤。與獨立式按鍵相比, mn個按鍵只占用m+n根I/O 口線, 因此適用于按鍵較多的場合。當無鍵閉合時,相應的I/O之間開路。當有鍵閉合時,與閉合鍵相連 接的兩條I/O 線之間短路。判斷有無鍵按下的方法是:第一步,置列線 相關I/O 口為輸入態(tài),從行線相對應的I/O 口輸出低電平,讀入列線數(shù)據(jù), 若某一列線為低電平,則該列線上有鍵閉合。第二步,置行線相關I/O 口輸出低電平,讀入列線數(shù)據(jù),若某一列線為低電平,則該列線上有鍵閉合。 綜合一二兩步的結果,可確定按鍵編號。但是鍵閉合一次只能進行一次鍵 功能操作,因此須

26、等待近按鍵釋放后,再進行鍵功能操作,否則按一次鍵, 有可能會連續(xù)多次進行同樣的鍵操作。鍵盤掃描控制方式在單片機應用系統(tǒng)中,對鍵盤的處理工作僅是CPU工作內(nèi)容的一部分,CPU還要進行數(shù)據(jù)處理、顯示和其他輸入輸出操作,因此鍵盤處理工 作既不能占用CPU太多時間,又需要CPU對鍵盤操作及時作出響應。CPU 對鍵盤處理控制的工作方式有以下幾種:.程序控制掃描方式程序控制掃描方式是在CPU工作空余,調(diào)用鍵盤掃描子程序,響應鍵 輸入信號要求。.定時控制掃描方式定時控制掃描方式是利用定時/計數(shù)器每隔一段時間產(chǎn)生定時中斷, CPU響應中斷后對鍵盤進行掃描,并在有鍵閉合時轉(zhuǎn)入該鍵的功能子程序。 3.中斷控制掃描

27、方式中斷控制掃描方式是利用外部中斷源,響應輸入信號。當無按鍵按下 時,CPU執(zhí)行正常工作程序。當有按鍵按下時,CPU立即產(chǎn)生中斷。在中 斷服務子程序中掃描鍵盤,判斷是哪一個鍵被按下,然后執(zhí)行該鍵的功能 子程序。這種控制方式克服了前兩種控制方式可能產(chǎn)生的空掃描和不能及 時響應鍵輸入的缺點,既能及時處理鍵輸入,又能提高CPU運行效率,但I5Z要占用一個寶貴的中斷資源。圖即工作于中斷方式的矩陣式鍵盤接口電路。 在初始化時P1.4P1.7置輸出0, P1.0P1.3置為輸入態(tài),P1.0P1.3分另I接 至與門各輸入端。當有鍵閉合時INTO =0, CPU中斷后,在中斷服務子程 序中,再完成鍵識別和鍵功

28、能處理。INTOPl.工Pl,2F13Fl.5Pl.7圖2.4工作于中斷方式的矩陣式鍵盤接口電路.3.3時鐘電路2.3.3.1 DS1302工作方式簡介及數(shù)據(jù)操作原理DS1302可以對年、月、日、星期、時、分、秒進行計時 ,且具有閏年 補償功能,工作電壓寬達2.55.5V。采用三線接口與CPU進行同步通信,并 可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或 RAM數(shù)據(jù)。DS1302內(nèi)部有 一個33x8的用于臨時性存放數(shù)據(jù)的RAM寄存器。DS1302是的DS1202升級 產(chǎn)品,與DS1202兼容,但增加了主電源/后背電源雙電源引腳,同時提供了 對后背電源進行涓細電流充電的能力。DS1302時鐘芯片包

29、括實時時鐘/日歷和31字節(jié)的靜態(tài)RAM。它經(jīng)過 一個簡單的串行接口與微處理器通信。 實時時鐘/日歷提供秒、分、時、日、 周、月和年等信息。對于小于31天的月和月末的日期自動進行調(diào)整, 還包 括閏年校正的功能。時鐘的運行可以采用 24時或帶AM/PM的12小 時格式。采用三線接口與CPU進行同步通信,并可采用突發(fā)方式一次傳送 多字節(jié)的時鐘信號或RAM數(shù)據(jù)。DS1302有主電源/后備電源雙電源引腳:Vcc1在單電源與電池供電的 系統(tǒng)中提供低電源,并提供低功率的電磁備份;Vcc1在雙電池系統(tǒng)中提供 主電源。在這種運行方式中,Vcc1里連接到后備電源,以便在沒有主電源 的情況下能保存時間信息以及數(shù)據(jù)。

30、DS1302由Vcc1或Vcc2中較打大者供電。當 Vcc2 (Vcc1+0.2V)時,Vcc2 給 DS1302供電;當 Vcc22.5V之前,RST腳必須保持低電平。只有 在SCLK為低電平時,才能將RST置為高電平。DS1302的控制字如圖所示??刂谱止?jié)的最高有效位(位 7)必須是邏 輯1,如果它為0,則不能把數(shù)據(jù)寫入到DS1302中。位6如果為0,則表 示存取日歷時鐘數(shù)據(jù);為1則表示存取RAM數(shù)據(jù)。位51 (A4A0)指 示操作單元的地址。最低有效位(位 0)如果為0,則表示藥進行寫操作; 為1表示進行讀操作??刂谱止?jié)總是從最低位開始輸入 /輸出。為了提高對32個地址尋址能力(地址/命

31、令位15二邏輯1),可以把時 鐘/日歷或RAM寄存器規(guī)定為多字節(jié)(burst)方式。位6規(guī)定時鐘或RAM, 而位0規(guī)定讀或?qū)?。在時鐘/日歷寄存器中的地址931或RAM寄存器中 的地址31不能存儲數(shù)據(jù)。在多字節(jié)方式下,讀或?qū)憦牡刂?的位0開始。必須按數(shù)據(jù)傳送的次序?qū)懽钕鹊?個寄存器。但是,當以多字節(jié)方式寫RAM時,為了傳送數(shù)據(jù)不必寫所有的31字節(jié),不管是否謝了全部31字節(jié), 所寫的每一字節(jié)都將傳送至RAM。DS1302共有12個寄存器,其中有7個寄存器與日歷、時鐘相關,存 放的數(shù)據(jù)位為BCD碼形式。其日歷、時間寄存器及其控制字如下表所示, 其中奇數(shù)為讀操作,偶數(shù)為寫操作。表2.3 DS1302控

32、制字寄行施耗命令字取限范圍各位內(nèi)容% 3隆作讀操作76543Io 1秒寄存器陽H00-59CHIQSbCSEC分器柞器孫00-59DI0MINMIN時有存器R5HOt-I2 SflO 2334010HRHR門寄書器87 H01-2S. 29, JO. 310IODATEDATt月寄件骷01-1200010MMONTH周寄存器芯AHRHH0100000DAY年:寄存器00-啊ID YEARYEAR時鐘暫停:秒寄存器的位7定義位時鐘暫停位。當它為1時,DS1302 停止振蕩,進入低功耗的備份方式,通常在對DS1302進行寫操作時(如進入時鐘調(diào)整程序),停止振蕩。當它為0時,時鐘將開始啟動。AM-P

33、M/12-24小時方式:小時寄存器的位7定義為12或24小時方式 選擇位。它為高電平時,選擇 12小時方式。在此方式下,位 5為第二個 10小時位(2023h)0DS1302的晶振選用32768Hz,電容推薦值為6pF。因為振蕩頻率較低, 也可以不接電容,對計時精度影響不大。第3章 系統(tǒng)的軟件設計(3.1程序設計)電子時鐘的程序主要包括3個方面的內(nèi)容:一是DS1302A單片機中讀 取數(shù)據(jù)進行計數(shù),二是利用按鍵進行時間的調(diào)整,三是單片機中讀取 DS1302中的數(shù)據(jù)驅(qū)動 LED數(shù)碼管顯示時間。STC89C52RCL片機主要I/O 口的分配:P10、P11、P12分別接時鐘芯片的 SCLK I/O、

34、RST弓唧,P13、 P14 P15 P16接四個獨立按鍵。開始K加1程序K等于0顯示時間K等于1顯示日期K等于2顯示報警時間報警程序按鍵程序返回主程序流程圖時間調(diào)整程序流程圖第4章結束語2010年3月,我開始了我的畢業(yè)論文工作,時至今日,論文基本完成。 從最初的茫然,到慢慢的進入狀態(tài),再到對思路逐漸的清晰,整個寫作過 程難以用語言來表達。歷經(jīng)了一個多月的奮戰(zhàn),緊張而又充實的畢業(yè)設計 終于落下了帷幕。回想這段日子的經(jīng)歷和感受,我感慨萬千,在這次畢業(yè) 設計的過程中,我擁有了無數(shù)難忘的回憶和收獲。當我終于完成了所有打 字、繪圖、排版、校對的任務后整個人都很累,但同時看著電腦熒屏上的 畢業(yè)設計稿件我

35、的心里是甜的,我覺得這一切都值了。這次畢業(yè)論文的制 作過程是我的一次再學習,再提高的過程。在論文中我充分地運用了大學 期間所學到的知識。我不會忘記這難忘的幾個月的時間。畢業(yè)論文的制作給了我難忘的回 憶。在我徜徉書海查找資料的日子里,面對無數(shù)書本的羅列,最難忘的是 每次找到資料時的激動和興奮;親手用 protel 99設計電路圖的時間里,記 憶最深的是每一步小小思路實現(xiàn)時那幸福的心情;為了論文我曾趕稿到深 夜,但看著親手打出的一字一句,心里滿滿的只有喜悅毫無疲憊。這段旅 程看似荊棘密布,實則蘊藏著無盡的寶藏。我從資料的收集中,掌握了很 多單片機及其接口應用的知識,讓我對我所學過的知識有所鞏固和提

36、高, 并且讓我對當今單片機的最新發(fā)展技術有所了解。在整個過程中,我學到 了新知識,增長了見識。在今后的日子里,我仍然要不斷地充實自己,爭 取在所學領域有所作為。腳踏實地,認真嚴謹,實事求是的學習態(tài)度,不怕困難、堅持不懈、吃 苦耐勞的精神是我在這次設計中最大的收益。我想這是一次意志的磨練, 是對我實際能力的一次提升,也會對我未來的學習和工作有很大的幫助。 在這次畢業(yè)設計中也使我們的同學關系更進一步了,同學之間互相幫助, 有什么不懂的大家在一起商量,聽聽不同的看法對我們更好的理解知識, 所以在這里非常感謝幫助我的同學。在此更要感謝我的指導老師和專業(yè)老師, 是你們的細心指導和關懷,使 我能夠順利的完

37、成畢業(yè)論文。在此我要向司老師致以最衷心的感謝和敬意。程序/main.c/#include#define uint unsigned int#includeds1302.h#includekey.h#includebell.hsbit k4=P1A3;char k=0;char shi,fen,miao,nian,yue,ri;charbaojingshi=0 x00,baojingfen=0 x06,baojingmiao=0 x00;void sjdisplay();void rqdisplay();void baojingdisplay();void delay(uint ms);void

38、 display(char shu,char wei);char table=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90,0 x88,0 x83,0 xc6,0 xa1,0 x86,0 x8e;void main()ds1302_write(0 x80,0 x55);ds1302_write(0 x82,0 x45);ds1302_write(0 x84,0 x00);ds1302_write(0 x8c,0 x11);ds1302_write(0 x88,0 x10);ds1302_write(0 x86,0 x07

39、);while(1)if(k4=0) delay(5);if(k4=0)(while(k4=0);k+;if(k=3)(k=0;)if(k=0)sjdisplay();if(k=1) rqdisplay();if(k=2)baojingdisplay();if(shi=baojingshi)&(fen=baojingfen)&(miao=b aojingmiao)(didi(10);)key();)void sjdisplay()(shi=ds1302_read(0 x85);hourfen=ds1302_read(0 x83);minitesmiao=ds1302_read(0 x81);/

40、seconddisplay(shi4)&0 x07,0);display(shi&0 x0f,1);display(fen4)&0 x07,3);display(fen&0 x0f,4);display(miao4)&0 x07,6); display(miao&0 x0f,7);void rqdisplay()nian=ds1302_read(0 x8d);/nian yue=ds1302_read(0 x89);/yue ri=ds1302_read(0 x87);/ri display(nian4)&0 x07,0);display(nian&0 x0f,1);display(yue4)

41、&0 x07,3);display(yue&0 x0f,4);display(ri4)&0 x07,6);/0000 0111display(ri&0 x0f,7);void baojingdisplay()display(baojingshi4)&0 x07,0);display(baojingshi&0 x0f,1);display(baojingfen4)&0 x07,3);display(baojingfen&0 x0f,4);display(baojingmiao4)&0 x07,6);display(baojingmiao&0 x0f,7);void delay(uint ms)u

42、int i,j;for(i=ms;i0;i-) for(j=124;j0;j-);)void display(char shu,char wei)(P0=tableshu;P2=(1wei);delay(3);P2=0 xff;main.c/ Ds1302.c/#include#define uchar unsigned char#define uint unsigned intsbit rst=P1A2;sbit dat=P1A1;sbit clk=P1A0;void ds1302_write(char comm,char dat1)(char temp,t;rst=0;clk=0;rst=

43、1;temp=comm;for(t=0;t1);clk=0;)temp=dat1;for(t=0;t1;clk=0;rst=0;)uchar ds1302_read(char comm)(char temp,t;rst=0;clk=0;rst=1;temp=comm;for(t=0;t1;clk=0;temp=0;/00000000for(t=0;t1;if(dat=1)temp=temp|0 x80;else temp=temp&0 x7f;clk=1;clk=0;rst=0;return temp;Ds1302.c/Key.c/#include#define char signed cha

44、r#define uint unsigned intsbit mode=P1A4;sbit add=P1A5;sbit sub=P1A6;char mod=0;extern void delay(uint ms);extern char shi,fen,nian,yue,ri;extern char baojingshi,baojingfen;extern char ds1302_read(char);extern void ds1302_write(char,char);void key()(shi=ds1302_read(0 x85);fen=ds1302_read(0 x83);if(m

45、ode=0)(delay(5);if(mode=0)(while(mode=0);mod+;if(mod=8)(mod=0;if(add=0)(delay(5);if(add=0)while(add=0);if(mod=1)(shi=(shi4)&0 x03)*10+(shi&0 x0f)+1;if(shi=24)(shi=0;ds1302_write(0 x84,(shi/10)4)&0 x07)*10+(fen&0 x0f)+1;if(fen=60)(fen=0;)ds1302_write(0 x82,(fen/10)4)&0 x0f)*10+(nian&0 x0f)+1;if(nian=99)(nian=1;ds1302_write(0 x8c,(nian/10)4)&0 x01)*10+(yue

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論