1927_基于單片機(jī)的萬(wàn)年歷設(shè)計(jì)
1927_基于單片機(jī)的萬(wàn)年歷設(shè)計(jì),基于,單片機(jī),萬(wàn)年歷,設(shè)計(jì)
黃河科技學(xué)院本 科 畢 業(yè) 設(shè) 計(jì) (論文) 任 務(wù) 書工 學(xué)院 機(jī)械 系 機(jī)械設(shè)計(jì)制造及其自動(dòng)化 專業(yè) 08 級(jí) 1 班學(xué) 號(hào) 080105038 學(xué)生 趙子雨 指 導(dǎo) 教 師 蔡 超 峰 畢業(yè)設(shè)計(jì)(論文)題目基于單片機(jī)的萬(wàn)年歷設(shè)計(jì) 畢業(yè)設(shè)計(jì)(論文)工作內(nèi)容與基本要求(目標(biāo)、任務(wù)、途徑、方法,應(yīng)掌握的原始資料(數(shù)據(jù)) 、參考資料(文獻(xiàn))以及設(shè)計(jì)技術(shù)要求、注意事項(xiàng)等) (紙張不夠可加頁(yè))一、設(shè)計(jì)技術(shù)要求、原始資料(數(shù)據(jù)) 、參考資料(文獻(xiàn))萬(wàn)年歷是一種應(yīng)用非常廣泛的計(jì)時(shí)工具,數(shù)字顯示的日歷時(shí)鐘因其一目了然的特點(diǎn)已經(jīng)越來(lái)越流行,特別是適合在家庭居室、辦公室、大廳、會(huì)議室、車站和廣場(chǎng)等使用,為人們提供實(shí)時(shí)信息。本課題要求基于單片機(jī)設(shè)計(jì)硬件電路,實(shí)現(xiàn)日期(包含公歷和農(nóng)歷)的顯示、調(diào)整和查詢。該課題可以使學(xué)生運(yùn)用所學(xué)知識(shí)進(jìn)行綜合強(qiáng)化訓(xùn)練,為其走向工作崗位奠定良好基礎(chǔ)。本課題需要掌握基于單片機(jī)的軟、硬件電路設(shè)計(jì)能力,并了解時(shí)鐘芯片 DS 1302 的使用方法。二、設(shè)計(jì)目標(biāo)與任務(wù)1. 查閱文獻(xiàn)資料 12 種以上,外文資料不少于兩種。寫出 3000 字以上文獻(xiàn)綜述,單獨(dú)裝訂成冊(cè);2. 翻譯外文科技資料,不少于 3000 漢字,單獨(dú)裝訂成冊(cè);3. 完成開題報(bào)告,填寫開題報(bào)告表;4. 完成系統(tǒng)的軟、硬件電路設(shè)計(jì),功能正常;5. 編寫摘要,英中文完全對(duì)照,中文不少于 300 字;6. 編寫設(shè)計(jì)說(shuō)明書,不少于 8000 字符。三、時(shí)間安排第 1 周第 3 周:完成文獻(xiàn)綜述、開題報(bào)告及英文資料翻譯;第 4 周第 9 周:完成系統(tǒng)的軟、硬件電路設(shè)計(jì),功能正常;第 10 周第 11 周: 編寫設(shè)計(jì)說(shuō)明書,進(jìn)一步修改完善畢業(yè)設(shè)計(jì),準(zhǔn)備并完成畢業(yè)答辯稿;第 12 周:畢業(yè)答辯。畢業(yè)設(shè)計(jì)(論文)時(shí)間: 2012 年 02 月 13 日至 2012 年 05 月 15 日計(jì) 劃 答 辯 時(shí) 間: 2012 年 05 月 19 日專業(yè)(教研室)審批意見:審批人簽名:黃河科技學(xué)院畢業(yè)設(shè)計(jì)(論文)開題報(bào)告表課題名稱 基于單片機(jī)的萬(wàn)年歷設(shè)計(jì)課題來(lái)源 教師擬訂 課題類型 AX 指導(dǎo)教師 蔡超峰學(xué)生姓名 趙子雨 專 業(yè) 機(jī)械設(shè)計(jì)制造及其自動(dòng)化 學(xué) 號(hào) 080105038開題報(bào)告內(nèi)容:(調(diào)研資料的準(zhǔn)備,設(shè)計(jì)的目的、要求、思路與預(yù)期成果;任務(wù)完成的階段內(nèi)容及時(shí)間安排;完成設(shè)計(jì)(論文)所具備的條件因素等。 )調(diào)研資料的準(zhǔn)備:1、初步了解萬(wàn)年歷的組成和工作原理;2、查閱并參閱萬(wàn)年歷設(shè)計(jì)手冊(cè)等各種書籍、資料;3、通過實(shí)習(xí)、查閱和收集資料,具備了設(shè)計(jì)基于單片機(jī)的萬(wàn)年歷設(shè)計(jì)的思路。設(shè)計(jì)目的、要求、思路與預(yù)期成果:電子萬(wàn)年歷是一種非常廣泛日常計(jì)時(shí)工具,對(duì)現(xiàn)代社會(huì)越來(lái)越流行。它可以對(duì)年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),還具有閏年補(bǔ)償?shù)榷喾N功能,而且時(shí)鐘芯片 DS1302 的使用壽命長(zhǎng),誤差小。本次設(shè)計(jì)主控模塊用 STC12C5A60S2、時(shí)鐘電路用時(shí)鐘芯片 DS1302、顯示模塊用 12864 液晶顯示、溫度檢測(cè)采用 DS18B20 溫度傳感器、鍵盤接口電路使用普通按鍵加上拉電阻完成;軟件利用 KEIL C51 語(yǔ)言編程實(shí)現(xiàn)單片機(jī)程序控制。單片機(jī)通過讀取時(shí)鐘芯片 DS1302 獲取時(shí)間數(shù)據(jù)和讀取 DS18B20 采集的溫度信號(hào)獲取溫度信息,然后再把時(shí)間數(shù)據(jù)和溫度數(shù)據(jù)進(jìn)行處理后送給 12864液晶模塊,顯示陽(yáng)歷年、月、日、時(shí)、秒、鬧鐘、星期、溫度等。預(yù)期結(jié)果為萬(wàn)年歷。任務(wù)完成的階段內(nèi)容及時(shí)間安排:第 1 周第 2 周:了解相關(guān)原理和數(shù)據(jù)手冊(cè),完成開題報(bào)告;第 3 周第 4 周:完成文獻(xiàn)翻譯,文獻(xiàn)綜述,初步擬定總體設(shè)計(jì)方案;第 5 周第 9 周:設(shè)計(jì)硬件原理圖電路圖,編寫軟件流程圖和程序代碼; 第 10 周第 11 周:調(diào)試系統(tǒng),撰寫設(shè)計(jì)說(shuō)明書;第 12 周:撰寫論文,準(zhǔn)備答辯。完成論文所具備的條件因素:擁有電路元器件、計(jì)算機(jī)、單片機(jī)開發(fā)裝置及相關(guān)的文獻(xiàn)資料。指導(dǎo)教師簽名: 日期: (可加頁(yè))課題類型:(1)A工程設(shè)計(jì);B技術(shù)開發(fā);C軟件工程;D理論研究;(2)X真實(shí)課題;Y模擬課題;Z虛擬課題要求(1) 、 (2)均要填,如 AY、BX 等。黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書 第 I 頁(yè)基于單片機(jī)的萬(wàn)年歷設(shè)計(jì)摘 要電子萬(wàn)年歷是一種用萬(wàn)年歷時(shí)鐘芯片實(shí)現(xiàn)年、月、日、時(shí)、分、秒計(jì)時(shí),并通過單片機(jī)處理后送給顯示芯片顯示的裝置,與機(jī)械式時(shí)鐘相比具有更高的準(zhǔn)確性和直觀性,且具有更長(zhǎng)的使用壽命。本課題是設(shè)計(jì)一個(gè)基于單片機(jī)和時(shí)鐘芯片的電子萬(wàn)年歷,由硬件電路和軟件組成。硬件由主控電路、時(shí)鐘電路、溫度采集電路、顯示電路、鍵盤接口 5 個(gè)模塊組成。主控電路采用單片機(jī)芯片 STC12C5A60S2、時(shí)鐘電路采用時(shí)鐘芯片 DS1302、顯示電路采用 KNY12864 液晶顯示、溫度采集電路采用 DS18B20 溫度傳感器、鍵盤接口電路使用普通按鍵加上拉電阻完成;軟件利用 KEIL C51 語(yǔ)言編程實(shí)現(xiàn)單片機(jī)程序控制。單片機(jī)通過讀取時(shí)鐘芯片 DS1302 獲取時(shí)間數(shù)據(jù)和讀取 DS18B20采集的溫度信號(hào)獲取溫度信息,然后再把時(shí)間數(shù)據(jù)和溫度數(shù)據(jù)進(jìn)行處理后送給 12864液晶模塊,顯示陽(yáng)歷年、月、日、時(shí)、分、秒、鬧鐘、星期、溫度等。關(guān)鍵詞:?jiǎn)纹瑱C(jī),DS1302,液晶顯示黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書 第 II 頁(yè)Author:Zhao ZiyuTutor:Cai ChaofengBased on SCM calendar designAbstractE-calendar clock is a device which can be calendar year, month, day, hour, minute, seconds for time, and sent to the graphics chip shown through microcontroller. Compared with the mechanical clock, e-calendar clock has a higher accuracy and Intuitive, and has a longer life. Digital Calendar is an application of SCM system, made of compatible hardware and software. Hardware has five modules including the control circuit, clock circuit, the temperature acquisition circuit, display circuit, keyboard interface. Main control module has STC12C5A60S2 microcontroller, the clock circuit with clock chip DS1302, LCD display module with 12864, the temperature detected by DS18B20 temperature sensor, the keyboard interface circuit using the common keys with pull-up resistor; software uses programming language KEIL C51 to achieve MCU process control. MCU get time by reading the data from DS1302 clock chip and read the temperature signal for DS18B20 collected temperature information, and then provide time data and temperature data to the 12,864 LCD module, displaying the Gregorian year, month, day, hour, seconds , Alarm clock, week, temperature and so on. Key words:MCU,DS1302,LCD Display黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書 第 III 頁(yè)目 錄1 緒論 .12 系統(tǒng)設(shè)計(jì)方案 .22.1 方案選擇和論證 .22.1.1 單片機(jī)芯片的選擇方案和論證 .22.1.2 時(shí)鐘芯片的選擇方案和論證 .22.1.3 顯示模塊的選擇方案和論證 .22.1.4 溫度傳感器的選擇方案和論證 .32.2 系統(tǒng)最終方案 .33 系統(tǒng)的硬件和軟件設(shè)計(jì) .43.1 系統(tǒng)的硬件設(shè)計(jì) .43.1.1 系統(tǒng)設(shè)計(jì)框圖 .43.1.2 硬件概述 .43.1.3 單元電路的設(shè)計(jì) .53.1.3.1 單片機(jī)主控模塊設(shè)計(jì) .53.1.3.2 時(shí)鐘電路模塊設(shè)計(jì) .63.1.3.3 顯示電路模塊設(shè)計(jì) .73.1.3.4 溫度采集模塊設(shè)計(jì) .83.1.3.5 雙電源供電電路設(shè)計(jì) .93.1.3.6 RS-232 電路設(shè)計(jì) .93.1.4 電路原理及說(shuō)明 .103.2 系統(tǒng)軟件設(shè)計(jì) .124 仿真與調(diào)試 .134.1 調(diào)試儀器 .134.2 硬件測(cè)試 .134.3 軟件測(cè)試 .144.4 測(cè)試結(jié)果分析 .14黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書 第 IV 頁(yè)結(jié)論 .15致謝 .16參考文獻(xiàn) .17附錄 A 原理圖 .18附錄 B 程序清單 .19黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) ( 文 獻(xiàn) 綜 述 ) 第 1 頁(yè)文獻(xiàn)綜述1、課題研究背景萬(wàn)年歷就是記錄一定時(shí)間范圍內(nèi)的具體陽(yáng)歷與陰歷的日期的年歷,方便有需要的人查詢使用。隨著人們生活水平的提高和生活節(jié)奏的加快,對(duì)時(shí)間的要求越來(lái)越高,精準(zhǔn)數(shù)字計(jì)時(shí)的消費(fèi)需求也是越來(lái)越多。二十一世紀(jì)的今天,最具代表性的計(jì)時(shí)產(chǎn)品就是電子萬(wàn)年歷,它是近代世界鐘表業(yè)界的第三次革命。電子萬(wàn)年歷的出現(xiàn)帶來(lái)了鐘表計(jì)時(shí)業(yè)界跨躍性的進(jìn)步。近年來(lái),電子鐘已成為人們?nèi)粘I钪斜夭豢缮俚奈锲罚瑥V泛用于個(gè)人家庭以及車站、碼頭、劇院、辦公室等公共場(chǎng)所,給人們的生活、學(xué)習(xí)、工作、娛樂帶來(lái)了極大的方便。隨著技術(shù)的發(fā)展,人們已不再滿足于鐘表原先簡(jiǎn)單的計(jì)時(shí)功能,希望出現(xiàn)一些新的功能,諸如日歷的顯示、鬧鐘的應(yīng)用等,以帶來(lái)更大的方便,而所有這些,又都是以數(shù)字化的電子時(shí)鐘為基礎(chǔ)的。因此,研究實(shí)用電子時(shí)鐘及其擴(kuò)展應(yīng)用,有著非?,F(xiàn)實(shí)的意義,具有很大的實(shí)用價(jià)值。由于數(shù)字集成電路技術(shù)的發(fā)展和采用了先進(jìn)的石英技術(shù),現(xiàn)代電子鐘具有走時(shí)準(zhǔn)確、性能穩(wěn)定、制作簡(jiǎn)單等優(yōu)點(diǎn),彌補(bǔ)了傳統(tǒng)鐘表的許多不足之處。我們利用單片機(jī)技術(shù)設(shè)計(jì)制作的電子萬(wàn)年歷,可以很方便的由軟件編程進(jìn)行功能的調(diào)整和改進(jìn),使其在能夠準(zhǔn)確顯示年、月、日、時(shí)間、星期的同時(shí),還能具有其他的功能。如設(shè)定鬧鐘、語(yǔ)單報(bào)時(shí)、陰陽(yáng)歷的轉(zhuǎn)換、二十四節(jié)氣的顯示等,有一定的新穎性和實(shí)用性,同時(shí)體積小,攜帶方便,使用也更為方便,具有技術(shù)更新周期短、成本低、開放靈活等優(yōu)點(diǎn),具備一定的市場(chǎng)前景。以基于單片機(jī)的萬(wàn)年歷作為設(shè)計(jì)課題,因?yàn)樗哂泻芎玫拈_放性和可發(fā)揮性,要求比較高,不僅考察了對(duì)單片機(jī)的掌握能力而且強(qiáng)調(diào)了對(duì)單片機(jī)的擴(kuò)展的應(yīng)用。另外液晶顯示的萬(wàn)年歷已經(jīng)越來(lái)越流行,具有顯示清晰直觀、走時(shí)準(zhǔn)確、可以進(jìn)行夜視等功能,并且還可以擴(kuò)展出其它多鐘功能。所以,電子萬(wàn)年歷作設(shè)計(jì)課題很有價(jià)值。單片機(jī)從 20 世紀(jì) 70 年代末出現(xiàn)后,以其卓越的性能,得到了廣泛的應(yīng)用,已經(jīng)深入到各個(gè)領(lǐng)域。單片機(jī)芯片本身是按工業(yè)測(cè)控環(huán)境要求設(shè)計(jì)的,分為民用、工業(yè)品、軍品,其中工業(yè)品和軍品具有較強(qiáng)的適合惡劣環(huán)境的能力。由于單片機(jī)本身就是一個(gè)計(jì)算機(jī)系統(tǒng),因此,只要在單片機(jī)的外圍適當(dāng)加一些必要的擴(kuò)展電路及通黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) ( 文 獻(xiàn) 綜 述 ) 第 2 頁(yè)道接口,就可以構(gòu)成各種應(yīng)用系統(tǒng),如控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、自動(dòng)控制系統(tǒng)、檢測(cè)監(jiān)視系統(tǒng)、智能儀表、功能模塊等。單片機(jī)的應(yīng)用領(lǐng)域十分廣泛,自 20 世紀(jì)80 年代以來(lái),單片機(jī)的應(yīng)用已經(jīng)深入到工業(yè),農(nóng)業(yè)、國(guó)防、科研、機(jī)關(guān)、教育、商業(yè)以及家電、生活、娛樂、玩具等各個(gè)領(lǐng)域中。單片機(jī)應(yīng)該在檢測(cè)、控制領(lǐng)域中,具有以下特點(diǎn):(1)小巧靈活、成本化、易于產(chǎn)品化。 (2)可靠性好,適用范圍廣。由于數(shù)字集成電路技術(shù)的發(fā)展和采用了先進(jìn)的石英技術(shù),現(xiàn)代電子鐘具有走時(shí)準(zhǔn)確、性能穩(wěn)定、制作簡(jiǎn)單等優(yōu)點(diǎn),彌補(bǔ)了傳統(tǒng)鐘表的許多不足之處。我們利用單片機(jī)技術(shù)設(shè)計(jì)制作的電子萬(wàn)年歷,可以很方便的由軟件編程進(jìn)行功能的調(diào)整和改進(jìn),使其在能夠準(zhǔn)確顯示年、月、日、時(shí)間、星期的同時(shí),還能具有其他的功能。如設(shè)定鬧鐘、語(yǔ)單報(bào)時(shí)、陰陽(yáng)歷的轉(zhuǎn)換、二十四節(jié)氣的顯示等,有一定的新穎性和實(shí)用性,同時(shí)體積小,攜帶方便,使用也更為方便,具有技術(shù)更新周期短、成本低、開放靈活等優(yōu)點(diǎn),具備一定的市場(chǎng)前景。這里要介紹的就是一款可滿足使用者特殊要求,輸出方式靈活、計(jì)時(shí)準(zhǔn)確、性能穩(wěn)定、維護(hù)方便的實(shí)用電子萬(wàn)年歷。2 本課題研究目的及引入2.1 課題研究目的當(dāng)今社會(huì)電子技術(shù)迅速的發(fā)展,特別是隨大規(guī)模集成電路的出現(xiàn),給人類生活帶來(lái)了根本性的改變。尤其是單片機(jī)技術(shù)的應(yīng)用產(chǎn)品已經(jīng)走進(jìn)了千家萬(wàn)戶。電子萬(wàn)年歷的出現(xiàn)給人們的生活帶來(lái)了諸多方便。電子鐘是一種利用數(shù)字電路來(lái)顯示秒、分、時(shí)的計(jì)時(shí)裝置,與傳統(tǒng)的機(jī)械鐘相比,它具有走時(shí)準(zhǔn)確、顯示直觀、無(wú)機(jī)械傳動(dòng)裝置等優(yōu)點(diǎn),因而得到了廣泛應(yīng)用。隨著人們生活環(huán)境的不斷改善和美化,在許多場(chǎng)合可以看到數(shù)字電子鐘。在城市的主要營(yíng)業(yè)場(chǎng)所、車站、碼頭等公共場(chǎng)所使用 LCD 數(shù)字電子鐘已經(jīng)成為一種時(shí)尚。但目前市場(chǎng)上各式各樣的 LCD 數(shù)字電子鐘大多數(shù)使用全硬件電路實(shí)現(xiàn),電路結(jié)構(gòu)復(fù)雜,功率損耗大等缺點(diǎn)。因此有必要對(duì)數(shù)字電子鐘進(jìn)行改進(jìn)。2.2 本課題的引入本設(shè)計(jì)是能對(duì)時(shí)、分、秒以數(shù)字顯示精確計(jì)時(shí)的裝置,能廣泛應(yīng)用于個(gè)人家庭、車站、碼頭、辦公室等公共場(chǎng)所。由于數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) ( 文 獻(xiàn) 綜 述 ) 第 3 頁(yè)泛應(yīng)用,使得數(shù)字鐘的精度,遠(yuǎn)遠(yuǎn)超過老式鐘表,鐘數(shù)字化給人們生活帶來(lái)了極大的方便,而且大大地?cái)U(kuò)展了鐘表原先的報(bào)時(shí)功能。諸如定時(shí)自動(dòng)報(bào)警、按時(shí)自動(dòng)打鈴、時(shí)間程序自動(dòng)控制、定時(shí)廣播、自動(dòng)啟閉路燈、定時(shí)開關(guān)烘箱、通斷動(dòng)力設(shè)備、甚至各種定時(shí)電氣的自動(dòng)啟用等,但是所有這些,都是以鐘表數(shù)字化為基礎(chǔ)。因此,研究萬(wàn)年歷及擴(kuò)大其應(yīng)用,有著非常現(xiàn)實(shí)的意義。3 本課題國(guó)內(nèi)外研究現(xiàn)狀目前國(guó)內(nèi)外面臨的單片機(jī)應(yīng)用技術(shù),如同 60 年代面臨晶體管技術(shù),70 年代面臨數(shù)字集成電路一樣。單片機(jī)和可編程門陣列相結(jié)合,構(gòu)成新一代電子應(yīng)用技術(shù)是不可能回避的一項(xiàng)新型的工程應(yīng)用技術(shù)。單片機(jī)滲透到我們生活的各個(gè)領(lǐng)域,幾乎很難找到哪個(gè)領(lǐng)域沒有單片機(jī)的蹤跡。導(dǎo)彈的導(dǎo)航裝置,飛機(jī)上各種儀表的控制,計(jì)算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,工業(yè)自動(dòng)化過程的實(shí)時(shí)控制和數(shù)據(jù)處理,廣泛使用的各種智能 IC 卡,錄像機(jī),攝像機(jī),以及程控玩具、電子寵物等等,這些都離不開單片機(jī)。更不用說(shuō)自動(dòng)控制領(lǐng)域的機(jī)器人、智能儀表、醫(yī)療器械了。因此,單片機(jī)的學(xué)習(xí)、開發(fā)與應(yīng)用將造就一批計(jì)算機(jī)應(yīng)用與智能化控制的科學(xué)家、工程師??萍荚桨l(fā)達(dá),智能化的東西就越多。學(xué)習(xí)單片機(jī)是社會(huì)發(fā)展的必然需求,也是大學(xué)期間的必修課。國(guó)內(nèi)超大規(guī)模集成電路的出現(xiàn),微處理器及其外圍芯片有了迅速的發(fā)展。集成技術(shù)的最新發(fā)展之一是將 CPU 和外圍芯片,如程序存儲(chǔ)器、數(shù)據(jù)存儲(chǔ)器、并行 I/O口、串行 I/O、定時(shí)/計(jì)數(shù)器、中斷控制器及其他控制部件集成在一個(gè)芯片之中,制成單片計(jì)算機(jī)(Single-Chip Microcomputer) 。而近年來(lái)推出的一些高檔單片機(jī)還包括有許多特殊功能單元,如 A/D、D/A 轉(zhuǎn)換器、調(diào)制解調(diào)器、通信控制器、鎖相環(huán)、DMA、浮點(diǎn)運(yùn)算單元、PWM 控制輸出單元、PWM 輸出時(shí)的死區(qū)可編程控制功能等。我國(guó)生產(chǎn)的電子萬(wàn)年歷有很多種,總體上來(lái)說(shuō)以研究多功能電子萬(wàn)年歷為主,使萬(wàn)年歷除了原有的顯示時(shí)間,日期等基本功能外,還具有鬧鈴,報(bào)警等功能。商家生生產(chǎn)的電子萬(wàn)年歷更從質(zhì)量,價(jià)格,實(shí)用上考慮,不斷的改進(jìn)電子萬(wàn)年歷的設(shè)計(jì),使其更加的具有市場(chǎng)。隨著科技的快速發(fā)展,時(shí)間的流逝,自從觀太陽(yáng),鐘擺到電子鐘,人類不斷的創(chuàng)新記錄。美國(guó) DALLAS 公司推出的具有涓細(xì)電流充電能的低功耗實(shí)時(shí)時(shí)鐘電路黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) ( 文 獻(xiàn) 綜 述 ) 第 4 頁(yè)DS1302 的使用壽命長(zhǎng),誤差小,可以對(duì)于數(shù)字電子萬(wàn)年歷采用直觀的數(shù)值表示。4 本課題研究?jī)?nèi)容本次設(shè)計(jì)是基于單片機(jī)和時(shí)鐘芯片的電子萬(wàn)年歷,由硬件和軟件組成。本次設(shè)計(jì)基于時(shí)鐘芯片讀取時(shí)間和日期,單片機(jī)獲取時(shí)間后送給液晶顯示,具有設(shè)計(jì)合理,功能完備,運(yùn)行穩(wěn)定、可靠的性能,且實(shí)現(xiàn)后具有讀取方便、顯示直觀、功能多樣、電路簡(jiǎn)潔等諸多優(yōu)點(diǎn)。該設(shè)計(jì)的硬件部分由主控電路、時(shí)鐘電路、溫度采集電路、顯示電路、鍵盤接口 5 個(gè)模塊組成。主控模塊采用 STC12C5A60S2 單片機(jī)作為核心,具有在線編程技術(shù)和大容量存儲(chǔ)空間,方便下載和調(diào)試;時(shí)鐘電路采用時(shí)鐘芯片 DS1302,可自動(dòng)計(jì)數(shù)且精度更高;顯示模塊采用 KNY12864 液晶顯示,顯示功能強(qiáng)大,外觀優(yōu)美;溫度采集電路采用 DS18B20 溫度傳感器,僅需要一條數(shù)據(jù)線進(jìn)行數(shù)據(jù)傳輸,易于與單片機(jī)連接,可以去除 A/D 模塊,簡(jiǎn)化系統(tǒng)電路,且精度高; 鍵盤接口電路使用普通按鍵加上拉電阻完成。系統(tǒng)的軟件部分利用 KEIL C51 語(yǔ)言編程實(shí)現(xiàn)單片機(jī)程序控制,可以線編譯檢查錯(cuò)誤。單片機(jī)通過讀取時(shí)鐘芯片 DS1302 獲取時(shí)間數(shù)據(jù)和讀取DS18B20 采集的溫度信號(hào)獲取溫度信息,然后再把時(shí)間數(shù)據(jù)和溫度數(shù)據(jù)進(jìn)行處理后送給 12864 液晶模塊,顯示陽(yáng)歷年、月、日、時(shí)、分、秒、鬧鐘、星期、溫度等。黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) ( 文 獻(xiàn) 綜 述 ) 第 5 頁(yè)參考文獻(xiàn)1 王法能 單片機(jī)原理及應(yīng)用 科學(xué)出版社 20042 張毅剛 單片機(jī)原理及應(yīng)用 高等教育出版社 20063 李宗吾.中國(guó)萬(wàn)年歷.北京:中國(guó)科學(xué)技術(shù)出版社.2006:115-1914 夏墨英.中國(guó)天文年歷.北京:科學(xué)出版社.1984:1256-25815 周慈航.單片機(jī)應(yīng)用程序設(shè)計(jì)技術(shù)H.北京:北京航空航天大學(xué)出版社,19926 Anastasios Alexiadis,Ioannis Refanidis.Defining a Tasks Temporal Domain for Intelligent Calendar Applications7 余永權(quán).ATMEL89 系列單片機(jī)原理及應(yīng)用M.西安:電子工業(yè)出版社,1999.8 王毅平. MCS-51 單片機(jī)原理及應(yīng)用H.北京:人民郵電出版社,19999 陳堅(jiān),李昕,黃櫻 .CHEN Jian.LI Xin.HUAN Ying 51 單片機(jī)最小化應(yīng)用系統(tǒng)的Proteus 仿真-電腦知識(shí)與技術(shù).2008,2(18)10 陳正振 電子電路設(shè)計(jì)與制作 廣西交通職業(yè)技術(shù)學(xué)院信息工程系 200711 竇振中 單片機(jī)外圍器件實(shí)用手冊(cè)存儲(chǔ)器分冊(cè) 北京航空航天大學(xué)出版社 200612 Joe Tullio,Elizabeth D.Mynatt.Use and Implications of a Shared,Forecasting Calendar.13 王威,劉佳,張志雄等.基于 Proteus 和 Keil 的單片機(jī)虛擬仿真平臺(tái)的設(shè)計(jì)-上海電力學(xué)院學(xué)報(bào).2009,25(6).14 閆小坤編 數(shù)字電路 吉林大學(xué)出版社 200415 朱定華,戴汝平.單片機(jī)微機(jī)原理與應(yīng)用M.北京:北京交通大學(xué)出版社,2003.16 Ashraf Khalil,Kay Connelly.Improving Cell Phone Awareness by Using Calendar Information.17 51 單片機(jī) C 語(yǔ)言應(yīng)用開發(fā)技術(shù)大全 龍脈工作室 劉坤 寧戈 趙紅波 張憲棟 人民郵電出版社 2008 年 9 月黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) ( 文 獻(xiàn) 綜 述 ) 第 6 頁(yè) 畢業(yè)設(shè)計(jì)文獻(xiàn)綜述院 ( 系 ) 名 稱 工 學(xué) 院 機(jī) 械 系專 業(yè) 名 稱 機(jī) 械 設(shè) 計(jì) 制 造 及 其 自 動(dòng) 化學(xué) 生 姓 名 趙 子 雨指 導(dǎo) 教 師 蔡 超 峰2012 年 03 月 08 日黃河科技學(xué)院畢業(yè)設(shè)計(jì)(文獻(xiàn)翻譯)1特性 實(shí)時(shí)時(shí)鐘計(jì)算年、月、日、時(shí)、分、秒、星 期,直到 2100 年,并有閏年調(diào)節(jié)功能 31 x 8位通用暫存 RAM 串行輸入輸出使管腳數(shù)最少 2.0V 至 5.5V 寬電壓范圍操作 在 2.0V 時(shí)工作電流小于 300nA 讀寫時(shí)鐘或 RAM 數(shù)據(jù)時(shí)有單字節(jié)或多字節(jié)(脈沖串模式)數(shù)據(jù)傳送方式 8管腳 DIP 封裝或可選的 8 管腳表面安裝 SO 封裝 簡(jiǎn)單的 3 線接口 與 TTL 兼容 (V CC = 5V) 可選的工業(yè)溫度范圍:-40C 至 +85C 與 DS1202 兼容 美國(guó)保險(xiǎn)商試驗(yàn)室(UL ) 認(rèn)證 管腳定義黃河科技學(xué)院畢業(yè)設(shè)計(jì)(文獻(xiàn)翻譯)2訂貨信息型號(hào) 溫度范圍 管腳封裝 頂端標(biāo)志+ 表示無(wú)鉛/符合 RoHS 標(biāo)準(zhǔn)的封裝。 *頂端標(biāo)識(shí)上的 N 表示工業(yè)溫度范圍器件,A 表示無(wú)鉛器件。 UL 是美國(guó)保險(xiǎn)商試驗(yàn)室的注冊(cè)商標(biāo)。詳細(xì)描述 DS1302 涓流充電計(jì)時(shí)芯片包含一個(gè)實(shí)時(shí)時(shí)鐘/日歷和 31字節(jié)的靜態(tài)RAM。通過簡(jiǎn)單的串行接口與微處理器通訊。這個(gè)實(shí)時(shí)時(shí)鐘/日歷提供年月日,時(shí)分秒信息。對(duì)于少于 31天的月份月末會(huì)自動(dòng)調(diào)整,還有閏年校正。由于有一個(gè) AM/PM 指示器,時(shí)鐘可以工作在 12 小時(shí)制或者 24 小時(shí)制。 使用同步串行通訊簡(jiǎn)化了 DS1302 與微處理器的接口。與時(shí)鐘/RAM 通訊只需要三根線: CE, I/O ( 數(shù)據(jù)線), and SCLK ( 串行時(shí)鐘)。數(shù)據(jù)輸出輸入時(shí)鐘/RAM 一次 1 字節(jié)或者在脈沖串中多達(dá) 31字節(jié)。DS1302 被設(shè)計(jì)工作在非常低的電能下,在低于 1W 時(shí)還能保持?jǐn)?shù)據(jù)和時(shí)鐘信息。DS1302 是 DS1202 的后繼者。除了 DS1202 的基本計(jì)時(shí)功能以外,DS1302 有額外特點(diǎn)比如,雙管腳主電源和備用電源,可編程涓流充電器 VCC1,還附加 7 字節(jié)的暫存器。操作 圖 1 顯示了串行計(jì)時(shí)器的主要元素:移位寄存器,控制邏輯,振蕩器,實(shí)時(shí)時(shí)鐘,還有RAM。 典型工作電路黃河科技學(xué)院畢業(yè)設(shè)計(jì)(文獻(xiàn)翻譯)3圖 1 框圖:典型工作性能 (VCC = 3.3V, TA = +25C,除非另外聲明。) 黃河科技學(xué)院畢業(yè)設(shè)計(jì)(文獻(xiàn)翻譯)4管腳描述管腳 名稱 功能1 VCC2 雙供電配置中的主電源供應(yīng)管腳,V CC1 連接到備用電源,在主電源失效時(shí)保持時(shí)間和日期數(shù)據(jù)。DS1302 工作于 VCC1 和 VCC2 中較大者。當(dāng) VCC2 比 VCC1 高 0.2V 時(shí),VCC2 給 DS1302 供電.當(dāng) VCC1 比 V CC2 高時(shí), VCC1 給DS1302 供電。2 X13 X2與標(biāo)準(zhǔn)的 32.768kHz 石英晶體相連 . 內(nèi)部振蕩器被設(shè)計(jì)與指定的 6pF 裝載電容的晶體一起工作. 更多關(guān)于晶體選擇和布局注意事項(xiàng)的信息請(qǐng)參考應(yīng)用筆記 58 頁(yè):Dallas 實(shí)時(shí)時(shí)鐘晶振注意事項(xiàng). DS1302 也可以被外部的32.768kHz 振蕩器驅(qū)動(dòng). 這種配置下, X1 與外部震蕩信號(hào)連接,X2 懸浮.4 GND 電源地5 CE 輸入.CE 信號(hào)在讀寫時(shí)必須保持高電平 .此管腳內(nèi)部有一個(gè) 40k( 典型值)的下拉電阻連接到地. 注意:先前的數(shù)據(jù)手冊(cè)修正把 CE 當(dāng)作 RST. 管腳的功能沒有改變.黃河科技學(xué)院畢業(yè)設(shè)計(jì)(文獻(xiàn)翻譯)56 I/O 輸入/推挽輸出.I/O 管腳是三線接口的雙向數(shù)據(jù)管腳.此管腳內(nèi)部有一個(gè) 40k(典型值 )的下拉電阻連接到地.7 SCLK 輸入. SCLK 用來(lái)同步串行接口上的數(shù)據(jù)動(dòng)作.此管腳內(nèi)部有一個(gè) 40k(典型值)的下拉電阻連接到地.8 VCC1 低功率工作在單電源和電池工作系統(tǒng)和低功率備用電池.在使用涓流充電的系統(tǒng)中,這個(gè)管腳連接到可再充能量源. UL 認(rèn)證在使用鋰電池時(shí)確保避免反向充電電流 .振蕩電路 DS1302 使用一個(gè)外部 32.768kHz 晶體.振蕩電路工作時(shí)不需要任何外接的電阻或者電容表 1 詳細(xì)指明了幾個(gè)外部晶體的參數(shù)。圖 1 顯示了震蕩電路的功能簡(jiǎn)圖。如果使用指定規(guī)格的晶體,啟動(dòng)時(shí)間通常少于 1秒鐘。 時(shí)鐘精確度 時(shí)鐘的精確度取決于晶振的精確度,以及振蕩電路容性負(fù)載與晶振校正的容性負(fù)載之間匹配的精確度。另外溫度改變引起的晶振頻率漂移會(huì)使誤差增加。外圍電路噪音與震蕩電路耦合可能導(dǎo)致時(shí)鐘運(yùn)行加快。 圖 2 顯示了一個(gè)典型的隔離晶體與振蕩器噪音的印刷電路板布局詳細(xì)信息請(qǐng)參考應(yīng)用筆記 58頁(yè): Dallas 實(shí)時(shí)時(shí)鐘的晶振注意事項(xiàng)。表 1 晶振詳細(xì)說(shuō)明 *晶振,布線和晶振輸入管腳應(yīng)該與射頻產(chǎn)生信號(hào)隔離,更詳細(xì)請(qǐng)參考應(yīng)用筆記58頁(yè): Dallas 實(shí)時(shí)時(shí)鐘的晶振注意事項(xiàng)。 圖 2 典型晶振印刷電路板布局黃河科技學(xué)院畢業(yè)設(shè)計(jì)(文獻(xiàn)翻譯)6命令字 圖 3顯示的是命令字.命令字啟動(dòng)每一次數(shù)據(jù)傳輸。 MSB (位 7)必須是邏輯 1。 如果是 0, 則禁止對(duì) DS1302 寫入。 位 6 在邏輯 0時(shí)規(guī)定為時(shí)鐘/日歷數(shù)據(jù),邏輯 1時(shí)為 RAM 數(shù)據(jù)。 位 1 至 位 5 表示了輸入輸出的指定寄存器。LSB (位 0) 在邏輯 0時(shí)為寫操作(輸出),邏輯 1時(shí)為讀操作(輸入) 。命令字以 LSB (位 0)開始總是輸入。 圖 3. 地址/命令 字CE 與時(shí)鐘控制 所有數(shù)據(jù)傳輸開始驅(qū)動(dòng) CE 輸入高.CE 輸入實(shí)現(xiàn)兩個(gè)功能。第一 , CE 開啟允許對(duì)地址/ 命令序列的移位寄存器進(jìn)行讀寫的控制邏輯。 第二 CE 信號(hào)為單字節(jié)和多字節(jié) CE 數(shù)據(jù)傳輸提供了終止的方法。 一個(gè)時(shí)鐘周期是一系列的上升沿伴隨下降沿.要輸入數(shù)據(jù)在時(shí)鐘的上升沿?cái)?shù)據(jù)必須有效,而且在下降沿要輸出數(shù)據(jù)位。如果 CE 輸入為低電平,則所有數(shù)據(jù)傳輸終止, 并且 I/O 口成高阻抗?fàn)顟B(tài)。圖 4 顯示了數(shù)據(jù)傳輸。 在上電時(shí), CE 必須為邏輯 0 直到 VCC 大于 2.0V。同樣, SCLK 必須為邏輯 0 當(dāng) CE 變成邏輯 1狀態(tài)。 數(shù)據(jù)輸入 輸入寫命令字的 8個(gè) SCLK 周期后 ,接下來(lái)的 8個(gè) SCLK 周期的上升沿?cái)?shù)據(jù)字節(jié)被輸入,如不慎發(fā)生,多余的 SCLK 周期將被忽略,數(shù)據(jù)輸入以位 0黃河科技學(xué)院畢業(yè)設(shè)計(jì)(文獻(xiàn)翻譯)7開始。 數(shù)據(jù)輸出 輸入讀命令字的 8個(gè) SCLK 周期后, 隨后的 8個(gè) SCLK 周期的下降沿,一個(gè)數(shù)據(jù)字節(jié)被輸出。注意第一個(gè)數(shù)據(jù)位的傳送發(fā)生在命令字節(jié)被寫完后的第一個(gè)下降沿。只要 CE 保持高電平,若不慎發(fā)生,多余的 SCLK 周期會(huì)重新發(fā)送數(shù)據(jù)字節(jié)。 此操作允許連續(xù)不斷的脈沖串模式讀取能力。并且, I/O 管腳在 SCLK 的每個(gè)上升沿被置為三態(tài)。數(shù)據(jù)輸出從位 0開始。 脈沖串模式 通過尋址 31(十進(jìn)制)存儲(chǔ)單元(地址 /命令位 1到位 5為邏輯 1),脈沖串模式可以指定時(shí)鐘/ 日歷或者 RAM 寄存器.如前所述,位 6指定時(shí)鐘或者RAM,位 0指定讀寫。時(shí)鐘/日歷寄存器的存儲(chǔ)單元 9至 31和 RAM 寄存器的存儲(chǔ)單元 31無(wú)數(shù)據(jù)存儲(chǔ)能力。脈沖串模式下的讀寫從地址 0的位 0開始。 在脈沖串模式下寫時(shí)鐘寄存器時(shí),前 8個(gè)寄存器必須按順序?qū)懸l(fā)送的數(shù)據(jù)。然而, 在脈沖串模式下寫 RAM 時(shí),不必寫入要發(fā)送數(shù)據(jù)的所有 31個(gè)字節(jié)。不管是否所有 31個(gè)字節(jié)都被寫入,每個(gè)寫入字節(jié)都會(huì)被發(fā)送到 RAM。 時(shí)鐘/日歷 讀取適當(dāng)?shù)募拇嫫髯止?jié)可以得到時(shí)間和日歷信息。表 3 說(shuō)明了 RTC 寄存器。寫入適當(dāng)?shù)募拇嫫髯止?jié)可以設(shè)置或初始化時(shí)間和日歷。時(shí)間和日歷寄存器的內(nèi)容是二進(jìn)制編碼的十進(jìn)制(BCD )格式的。 周中的天寄存器在午夜 12點(diǎn)增加。周中的天相應(yīng)的值可以由用戶定義,但是必須是連續(xù)的( 例如,如果 1代表周日,那么 2代表周一,等等。).非法的時(shí)間和日期輸入導(dǎo)致未定義操作。 當(dāng)讀寫時(shí)鐘和日期寄存器時(shí),第二(用戶)緩存用來(lái)防止內(nèi)部寄存器更新時(shí)出錯(cuò)。讀時(shí)鐘和日期寄存器時(shí), 在 CE 上升沿用戶緩存與內(nèi)部寄存器同步 。 每當(dāng)秒寄存器被寫入,遞減計(jì)數(shù)電路被復(fù)位。 寫傳輸發(fā)生在 CE 的下降沿。為了避免翻轉(zhuǎn)問題, 一旦遞減計(jì)數(shù)電路復(fù)位, 剩下的時(shí)間和日期寄存器必須在一秒內(nèi)被寫入。 DS1302 可以工作在 12 小時(shí)制和 24 小時(shí)制兩種模式下。小時(shí)寄存器的位 7 定義為小時(shí)模式選擇位。為高時(shí)是 12 小時(shí)制,12 小時(shí)制模式下,位 5 是上午/下午黃河科技學(xué)院畢業(yè)設(shè)計(jì)(文獻(xiàn)翻譯)8位且高電平是下午。24 小時(shí)制模式下,位 5 是第二 10-小時(shí)位 (20 點(diǎn)23 點(diǎn))。一旦 12/24 改變,小時(shí)數(shù)據(jù)必須被重新初始化。 時(shí)鐘暫停標(biāo)志 秒寄存器的位 7 被定義為時(shí)鐘暫停標(biāo)志。 當(dāng)此為置 1 時(shí),時(shí)鐘振蕩器暫停,DS1302 進(jìn)入漏電流小于 100nA 的低功耗備用模式。 當(dāng)此為置 0 時(shí),時(shí)鐘開始.初始加電狀態(tài)未定義。 寫保護(hù)位 控制寄存器的位 7 是寫保護(hù)位,前 7 位(位 0 至位 6)被強(qiáng)制為 0 且讀取時(shí)總是讀 0。 在任何對(duì)時(shí)鐘或 RAM的寫操作以前,位 7 必須為 0.當(dāng)為高時(shí),寫保護(hù)位禁止任何寄存器的寫操作。 初始加電狀態(tài)未定義。 因此,在試圖寫器件之前應(yīng)該清除 WP 位。 涓流充電寄存器 此寄存器控制 DS1302 的涓流充電特性。圖 5的簡(jiǎn)化結(jié)構(gòu)圖顯示了涓流充電器的基本元件。 涓流充電選擇( TCS) 位(位 4 到 位 7)控制涓流充電器的選擇.為了防止意外使能 ,只有 1010 的模式才能使涓流充電器使能。 所有其他模式都會(huì)禁止涓流充電器。 DS1302 加電時(shí)涓流充電器是禁止的。 二極管選擇(DS)位 (位 2和位 3) 選擇 VCC2 和 VCC1之間連了一個(gè)還是兩個(gè)二極管。 如果 DS 是 01,一個(gè)二極管,10 就是 2個(gè)二極管。 如果 DS 是 00或者 11,不管 TCS,涓流充電器被禁止。RS 位(位 0 和位 1)選擇連在 VCC2 和 VCC1之間的電阻。 表 2顯示了 RS 和 DS 選擇電阻和二極管。表 2 涓流充電電阻和二極管選擇電阻和二極管的選擇是由用戶根據(jù)電池或超級(jí)電容充電所需的最大電流決定黃河科技學(xué)院畢業(yè)設(shè)計(jì)(文獻(xiàn)翻譯)9的。最大充電電流可以向下面的例子所示那樣計(jì)算出來(lái)。 假設(shè) 5V系統(tǒng)供電電源加在 VCC2 ,一個(gè)超級(jí)電容連在 VCC1。 同時(shí)假設(shè)涓流充電器被使能且 VCC2與 VCC有一個(gè)二極管和電阻 R1。最大電流 IMAX 如下式計(jì)算: IMAX= (5.0V 二極管壓降) / R1 (5.0V 0.7V) / 2k 2.2mA 超級(jí)電容充電時(shí),V CC2與 VCC1 之間壓降增加,因此充電電流增加。 時(shí)鐘/日歷脈沖串模式 時(shí)鐘/日歷命令字節(jié)指定脈沖串模式操作. 此模式下, 前八個(gè)時(shí)鐘/日歷寄存器必須從地址 0的位 0開始連續(xù)讀寫(見表 3) 如果當(dāng)指定為寫時(shí)鐘/日歷脈沖串模式是、時(shí)寫保護(hù)位置高, 八個(gè)時(shí)鐘/ 日歷寄存器(包括控制寄存器)都不會(huì)發(fā)生數(shù)據(jù)傳輸. 脈沖串模式下涓流充電器是不可讀寫的. 在時(shí)鐘脈沖串讀取的開始, 當(dāng)前時(shí)間被傳送至另外的存儲(chǔ)器集合. 當(dāng)時(shí)鐘繼續(xù)運(yùn)行時(shí),會(huì)從這些第二寄存器讀回時(shí)間信息.這就消除了萬(wàn)一讀取時(shí)主寄存器更新重新讀取寄存器的必要. RAM 靜態(tài) RAM 在 RAM 地址空間內(nèi)是以 31 x 8字節(jié)連續(xù)編址的. RAM 脈沖串模式 RAM 命令字節(jié)定義了脈沖串模式操作.此模式下 , 31RAM 寄存器可以從地址0的位 0開始連續(xù)讀寫(見表 3). 寄存器摘要 表 3顯示了寄存器數(shù)據(jù)格式摘要. 晶振選擇 一個(gè) 32.768kHz 晶振可以通過管腳 2和 3(X1 ,X2)直接連接到 DS1302. 選擇所使用的晶振需要一個(gè)指定的 6pF 負(fù)載電容. 關(guān)于晶振選擇和晶振布局注意事項(xiàng)的詳細(xì)信息請(qǐng)參考應(yīng)用筆記 58頁(yè): Dallas 實(shí)時(shí)時(shí)鐘的晶振注意事項(xiàng). 黃河科技學(xué)院畢業(yè)設(shè)計(jì)(文獻(xiàn)翻譯)10圖 4 數(shù)據(jù)傳輸摘要表 3 寄存器地址/定義RTC時(shí)鐘脈沖串黃河科技學(xué)院畢業(yè)設(shè)計(jì)(文獻(xiàn)翻譯)11RAMRAM 脈沖串圖 5 可編程涓流充電器絕對(duì)最大額定值 任何管腳與地之間的電壓范圍.-0.5V- +7.0V 工作溫度范圍,商用級(jí).0C - +70C 工作溫度范圍,工業(yè)級(jí)(IND) -40C - +85C 存儲(chǔ)溫度范圍-55C - +125C 焊接溫度(導(dǎo)線,10 秒鐘) .260C 焊接溫度(表面安裝)見 IPC/JEDEC J-STD-020 黃河科技學(xué)院畢業(yè)設(shè)計(jì)(文獻(xiàn)翻譯)12超出絕對(duì)最大額定值表中列出的應(yīng)力會(huì)使器件產(chǎn)生永久損壞.這些只是額定值,不包括處于或者超出說(shuō)明書的工作區(qū)間所指明的狀態(tài)的功能性操作. 長(zhǎng)期處于絕對(duì)最大額定值會(huì)影響器件的可靠性.推薦直流工作條件 (TA = 0C - +70C 或 TA = -40C - +85C.) (注 1)直流電氣特性 (TA = 0C - +70C 或 TA = -40C - +85C.) (注 1) 電容 (TA = +25C)黃河科技學(xué)院畢業(yè)設(shè)計(jì)(文獻(xiàn)翻譯)13交流電氣特性 (TA = 0C - +70C 或 TA = -40C -+85C.) (注 1) 注 1: -40C 的限制是設(shè)計(jì)所保證,并未進(jìn)行生產(chǎn)測(cè)試. 注 2: 所有電壓以地為參考點(diǎn) . 注 3: ICC1T 和 ICC2T 由 I/O 開, CE 和 SCLK 為 0 指定. 注 4: ICC1A 和 ICC2A 由 I/O 開, CE 高指定, SCLK = 2MHz 當(dāng) VCC = 5V; SCLK = 500kHz, VCC = 2.0V. 注 5: CE, SCLK, I/O 都有 40k 下拉電阻接到地. 注 6: VIH = 2.0V 或 VIL = 0.8V 時(shí)測(cè)定, 10ns 最大上升下降時(shí)間. 注 7: VOH = 2.4V 或 VOL = 0.4V 時(shí)測(cè)定. 注 8: 負(fù)載電容 = 50pF. 注 9: ICC1S 和 ICC2S 由 CE, I/O, SCLK 開指定 . 注 10: VCC = VCC2 ,當(dāng) VCC2 VCC1 + 0.2V; VCC = VCC1, 當(dāng) VCC1 VCC2. 注 11: VCC2 = 0V. 黃河科技學(xué)院畢業(yè)設(shè)計(jì)(文獻(xiàn)翻譯)14注 12: VCC1 = 0V. 注 13: 典型值為 +25C時(shí). 圖 6 時(shí)序圖:讀數(shù)據(jù)傳輸圖 7 時(shí)序圖:寫數(shù)據(jù)傳輸芯片信息 晶體管數(shù)量:11,500熱性能信息封裝信息修正歷史黃河科技學(xué)院畢業(yè)設(shè)計(jì)(文獻(xiàn)翻譯)15 畢業(yè)設(shè)計(jì)文獻(xiàn)翻譯院 ( 系 ) 名 稱 工 學(xué) 院 機(jī) 械 系專 業(yè) 名 稱 機(jī) 械 設(shè) 計(jì) 制 造 及 其 自 動(dòng) 化學(xué) 生 姓 名 趙 子 雨指 導(dǎo) 教 師 蔡 超 峰2012 年 03 月 08 日單位代碼 0 2 學(xué) 號(hào) 080105038 分 類 號(hào) TH6 密 級(jí) 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書基于單片機(jī)的萬(wàn)年歷設(shè)計(jì)院 ( 系 ) 名 稱 工 學(xué) 院 機(jī) 械 系專 業(yè) 名 稱 機(jī) 械 設(shè) 計(jì) 制 造 及 其 自 動(dòng) 化學(xué) 生 姓 名 趙 子 雨 指 導(dǎo) 教 師 蔡 超 峰2012 年 5 月 15 日 黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書 第 1 頁(yè)1 緒論萬(wàn)年歷就是記錄一定時(shí)間范圍內(nèi)的具體陽(yáng)歷與陰歷的日期的年歷,方便有需要的人查詢使用。隨著人們生活水平的提高和生活節(jié)奏的加快,對(duì)時(shí)間的要求越來(lái)越高,精準(zhǔn)數(shù)字計(jì)時(shí)的消費(fèi)需求也是越來(lái)越多。二十一世紀(jì)的今天,最具代表性的計(jì)時(shí)產(chǎn)品就是電子萬(wàn)年歷,它是近代世界鐘表業(yè)界的第三次革命。電子萬(wàn)年歷的出現(xiàn)帶來(lái)了鐘表計(jì)時(shí)業(yè)界跨躍性的進(jìn)步。近年來(lái),電子鐘已成為人們?nèi)粘I钪斜夭豢缮俚奈锲罚瑥V泛用于個(gè)人家庭以及車站、碼頭、劇院、辦公室等公共場(chǎng)所,給人們的生活、學(xué)習(xí)、工作、娛樂帶來(lái)了極大的方便。隨著技術(shù)的發(fā)展,人們已不再滿足于鐘表原先簡(jiǎn)單的計(jì)時(shí)功能,希望出現(xiàn)一些新的功能,諸如日歷的顯示、鬧鐘的應(yīng)用等,以帶來(lái)更大的方便,而所有這些,又都是以數(shù)字化的電子時(shí)鐘為基礎(chǔ)的。因此,研究實(shí)用電子時(shí)鐘及其擴(kuò)展應(yīng)用,有著非?,F(xiàn)實(shí)的意義,具有很大的實(shí)用價(jià)值。由于數(shù)字集成電路技術(shù)的發(fā)展和采用了先進(jìn)的石英技術(shù),現(xiàn)代電子鐘具有走時(shí)準(zhǔn)確、性能穩(wěn)定、制作簡(jiǎn)單等優(yōu)點(diǎn),彌補(bǔ)了傳統(tǒng)鐘表的許多不足之處。我們利用單片機(jī)技術(shù)設(shè)計(jì)制作的電子萬(wàn)年歷,可以很方便的由軟件編程進(jìn)行功能的調(diào)整和改進(jìn),使其在能夠準(zhǔn)確顯示年、月、日、時(shí)間、星期的同時(shí),還能具有其他的功能。如設(shè)定鬧鐘、語(yǔ)單報(bào)時(shí)、陰陽(yáng)歷的轉(zhuǎn)換、二十四節(jié)氣的顯示等,有一定的新穎性和實(shí)用性,同時(shí)體積小,攜帶方便,使用也更為方便,具有技術(shù)更新周期短、成本低、開放靈活等優(yōu)點(diǎn),具備一定的市場(chǎng)前景。以基于單片機(jī)的萬(wàn)年歷作為設(shè)計(jì)課題,因?yàn)樗哂泻芎玫拈_放性和可發(fā)揮性,要求比較高,不僅考察了對(duì)單片機(jī)的掌握能力而且強(qiáng)調(diào)了對(duì)單片機(jī)的擴(kuò)展的應(yīng)用。另外液晶顯示的萬(wàn)年歷已經(jīng)越來(lái)越流行,具有顯示清晰直觀、走時(shí)準(zhǔn)確、可以進(jìn)行夜視等功能,并且還可以擴(kuò)展出其它多鐘功能。所以,電子萬(wàn)年歷作設(shè)計(jì)課題很有價(jià)值。 黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書 第 2 頁(yè)2 系統(tǒng)設(shè)計(jì)方案2.1 方案選擇和論證2.1.1 單片機(jī)芯片的選擇方案和論證方案一: 采用 89C51 芯片作為硬件核心,采用 Flash ROM,內(nèi)部具有 4KB ROM 存儲(chǔ)空間,能于 3V 的超低壓工作,而且與 MCS-51 系列單片機(jī)完全兼容,但是運(yùn)用于電路設(shè)計(jì)中時(shí)由于不具備 ISP 在線編程技術(shù), 當(dāng)在對(duì)電路進(jìn)行調(diào)試時(shí),由于程序的錯(cuò)誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r(shí),對(duì)芯片的多次拔插會(huì)對(duì)芯片造成一定的損壞。方案三:采用 STC12C5A60S2 單片機(jī),定時(shí)器與傳統(tǒng) 8051 完全兼容,是標(biāo)準(zhǔn)的5V 工作電壓,內(nèi)部程序存儲(chǔ)器為 60K 存儲(chǔ)空間,不需要外擴(kuò)存儲(chǔ)器。同樣具有 89C51的功能,且具有在線編程可擦除技術(shù),當(dāng)在對(duì)電路進(jìn)行調(diào)試時(shí),由于程序的錯(cuò)誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r(shí),不需要對(duì)芯片多次拔插,所以不會(huì)對(duì)芯片造成損壞。STC12C5A60S2 的灌電流是 20mA,驅(qū)動(dòng)能力超強(qiáng),驅(qū)動(dòng)大電流時(shí)不容易燒壞。相比之下,STC12C5A60S2 單片機(jī)具有在線編程可擦除技術(shù)和大容量存儲(chǔ)空間,利于設(shè)計(jì)及調(diào)試,所以選擇采用 STC12C5A60S2 單片機(jī)作為主控制系統(tǒng)。2.1.2 時(shí)鐘芯片的選擇方案和論證方案一:直接采用單片機(jī)定時(shí)計(jì)數(shù)器提供秒信號(hào),使用程序?qū)崿F(xiàn)年、月、日、星期、時(shí)、分、秒計(jì)數(shù)。采用此種方案雖然減少芯片的使用,節(jié)約成本,但是,實(shí)現(xiàn)的時(shí)間誤差較大。所以不采用此方案。方案二:采用 DS1302 時(shí)鐘芯片來(lái)實(shí)現(xiàn)時(shí)鐘,DS1302 芯片是一種高性能的時(shí)鐘芯片,可自動(dòng)對(duì)秒、分、時(shí)、日、周、月、年以及閏年補(bǔ)償?shù)哪赀M(jìn)行計(jì)數(shù),而且精度高,位的 RAM 做為數(shù)據(jù)暫存區(qū),工作電壓 2.5V5.5V 范圍內(nèi),2.5V 時(shí)耗電小于 300nA.相比單片機(jī)定時(shí)計(jì)數(shù)器,DS1302 芯片可自動(dòng)計(jì)數(shù)且精度更高,所以選擇采用 DS1302作為時(shí)鐘芯片。2.1.3 顯示模塊的選擇方案和論證方案一:采用 LED 數(shù)碼管動(dòng)態(tài)掃描 ,LED 數(shù)碼管價(jià)格適中 ,對(duì)于顯示數(shù)字最合適。 黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書 第 3 頁(yè)采用動(dòng)態(tài)掃描法與單片機(jī)連接時(shí),雖然占用的單片機(jī)口線少,但電路中的線路相對(duì)多,電路過于龐大。方案二:采用點(diǎn)陣式數(shù)碼管顯示,點(diǎn)陣式數(shù)碼管是由八行八列的發(fā)光二極管組成,對(duì)于顯示文字比較適合,如采用在顯示數(shù)字顯得太浪費(fèi),且價(jià)格也相對(duì)較高,所以也不用此種作為顯示。方案三:采用 LCD 液晶顯示屏,液晶顯示屏的顯示功能強(qiáng)大,可顯示大量文字、圖形,顯示多樣,清晰可見, 雖然價(jià)格貴,但卻免了一些線路的麻煩,外觀優(yōu)美,且可以顯示內(nèi)容多。相比方案一和方案二,方案三可顯示大量?jī)?nèi)容,且線路簡(jiǎn)單,所以采用了 LCD液晶顯示屏作為顯示。2.1.4 溫度傳感器的選擇方案和論證方案一:使用熱敏電阻作為傳感器,用熱敏電阻與一個(gè)相應(yīng)阻值電阻相串聯(lián)分壓,利用熱敏電阻阻值隨溫度變化而變化的特性,采集這兩個(gè)電阻變化的分壓值,并進(jìn)行A/D 轉(zhuǎn)換。 。此設(shè)計(jì)方案需用 A/D 轉(zhuǎn)換電路,增加硬件成本而且熱敏電阻的感溫特性曲線并不是嚴(yán)格線性的,會(huì)產(chǎn)生較大的測(cè)量誤差。方案二:采用數(shù)字式溫度傳感器 DS18B20,此類傳感器為數(shù)字式傳感器而且僅需要一條數(shù)據(jù)線進(jìn)行數(shù)據(jù)傳輸,易于與單片機(jī)連接,可以去除 A/D 模塊,降低硬件成本,簡(jiǎn)化系統(tǒng)電路。另外,數(shù)字式溫度傳感器還具有測(cè)量精度高、測(cè)量范圍廣等優(yōu)點(diǎn)。相比方案一,方案二不需要 A/D,可簡(jiǎn)化電路,精度更高,所以采用了 DS18B20作為溫度傳感器。2.2 系統(tǒng)最終方案綜上各方案所述,對(duì)此次設(shè)計(jì)的方案選定: 采用 STC12C5A60S2 單片機(jī)作為主控制系統(tǒng); DS1302 提供時(shí)鐘;采用數(shù)字式溫度傳感器 DS18B20;LCD 液晶顯示屏動(dòng)態(tài)掃描作為顯示。 黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書 第 4 頁(yè)3 系統(tǒng)的硬件和軟件設(shè)計(jì)3.1 系統(tǒng)的硬件設(shè)計(jì)3.1.1 系統(tǒng)設(shè)計(jì)框圖S T C 1 2 C 5 A 6 0 S 2主 主 主 主 主L E D 主 主 主 主 主 主 主 主主 主 主 主 主D S 1 3 0 2 主 主 主 主主 主 主 主主 主 主 主 主 主圖 3-1 系統(tǒng)框圖3.1.2 硬件概述本電路是由 STC12C5A60S52 單片機(jī)為控制核心,具有在線編程功能,低功耗,能在 3V 超低壓工作;時(shí)鐘電路由 DS1302 提供,它是一種高性能、低功耗、帶 RAM 的實(shí)時(shí)時(shí)鐘電路,它可以對(duì)年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能,工作電壓為 2.5V5.5V。采用三線接口與 CPU 進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)或 RAM 數(shù)據(jù)。DS1302 內(nèi)部有一個(gè) 31*8 的用于臨時(shí)性存放數(shù)據(jù)的 RAM 寄存器。可產(chǎn)生年、月、日、周日、時(shí)、分、秒,具有使用壽命長(zhǎng),精度高和低功耗等特點(diǎn),同時(shí)具有掉電自動(dòng)保存功能;溫度的采集由 DS18B20 構(gòu)成;顯示部份由 LCD 液晶顯示屏顯示。 黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書 第 5 頁(yè)3.1.3 單元電路的設(shè)計(jì)3.1.3.1 單片機(jī)主控模塊設(shè)計(jì)單片機(jī)控制系統(tǒng)及其外圍電路設(shè)計(jì)采用由 STC12C5A60S2 單片機(jī)為控制核心。STC12C5A60S2 單片機(jī)是宏晶科技生產(chǎn)的單時(shí)鐘單片機(jī),是高速、低功耗、超強(qiáng)抗干擾的新一代 8051 單片機(jī),具有 60K 的可編程 Flash 存儲(chǔ)器,指令代碼完全兼容傳統(tǒng)8051,但速度快 8-12 倍。片上 Flash 允許程序存儲(chǔ)器在線編程,亦適于常規(guī)編程器。STC12C5A60S2 具有以下標(biāo)準(zhǔn)功能: 60K 字節(jié) Flash,1280 字節(jié) RAM,36/40/44 個(gè) I/O口線,看門狗定時(shí)器,4 個(gè) 16 位定時(shí)器,片內(nèi)晶振及時(shí)鐘電路。(1)單片機(jī)控制系統(tǒng)復(fù)位電路如圖 1 所示。SR20KC6uFV圖 3-2 復(fù)位電路設(shè)計(jì)(2)本次設(shè)計(jì)單片機(jī)采用 DIP 封裝,晶振為 12MHZ。其中 P3.0-P3.1 為 ISP 下載程序使用,其最小系統(tǒng)電路如圖 3-3 所示。18 引腳和 19 引腳接時(shí)鐘電路,XTAL1 接外部晶振和微調(diào)電容的一端,在片內(nèi)它是振蕩器倒相放大器的輸入,XTAL2 接外部晶振和微調(diào)電容的另一端,在片內(nèi)它是振蕩器倒相放大器的輸出.第 9 引腳為復(fù)位輸入端,接上電容,電阻及開關(guān)后形成電復(fù)位電路,20 引腳為接地端,40 引腳為電源端。 黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書 第 6 頁(yè)CRY21MHzP0.735489VALENX_D/OSIKTWGUF圖 3-3 單片機(jī)主控模塊3.1.3.2 時(shí)鐘電路模塊設(shè)計(jì)時(shí)鐘芯片采用 DS1302,晶振使用 32.768KHZ。DS1302 是 DALLAS 公司推出的涓流充電時(shí)鐘芯片 內(nèi)含有一個(gè)實(shí)時(shí)時(shí)鐘 /日歷和 31 字節(jié)靜態(tài) RAM 通過簡(jiǎn)單的串行接口與單片機(jī)進(jìn)行通信 實(shí)時(shí)時(shí)鐘/日歷電路提供年、月、日、時(shí)、分、秒、星期的信息,每月的天數(shù)和閏年的天數(shù)可自動(dòng)調(diào)整,時(shí)鐘操作可通過 AM/PM 指示決定采用 24 或12 小時(shí)格式。DS1302 與單片機(jī)之間能簡(jiǎn)單地采用同步串行的方式進(jìn)行通信,僅需用到三個(gè)口線: RES 復(fù)位、 I/O 數(shù)據(jù)線和 SCLK 串行時(shí)鐘。時(shí)鐘 RAM 的讀寫數(shù)據(jù)以一個(gè)字節(jié)或多達(dá) 31 個(gè)字節(jié)的字符組方式通信。DS1302 工作時(shí)功耗很低,保持?jǐn)?shù)據(jù)和 黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書 第 7 頁(yè)時(shí)鐘信息時(shí)功率小于 1mW。圖 3-4 顯示出 DS1302 的引腳排列,其中 Vcc1 為后備電源,Vcc2 為主電源。在主電源關(guān)閉的情況下,也能保持時(shí)鐘的連續(xù)運(yùn)行。DS1302 由 Vcc1或 Vcc2 兩者中的較大者供電。當(dāng) Vcc2 大于 Vcc1+0.2V 時(shí),Vcc2 給 DS1302 供電。當(dāng)Vcc2 小于 Vcc1 時(shí),DS1302 由 Vcc1 供電。X1 和 X2 是振蕩源,外接 32.768 KHz 晶振。RST 是復(fù)位/片選線,通過把 RST 輸入驅(qū)動(dòng)置高電平來(lái)啟動(dòng)所有的數(shù)據(jù)傳送。上電動(dòng)行時(shí),在 Vcc 大于等于 2.5V 之前,RST 必須保持低電平。在 SCLK 為低電平時(shí),才能將 RST 置為高電平。 I/O 為串行數(shù)據(jù)輸入端(雙向) 。SCLK 始終是輸入端。VC12Y3.68KHZBTXGND4RS5IOLU0圖 3-4 時(shí)鐘電路模塊3.1.3.3 顯示電路模塊設(shè)計(jì)KNY12864M 是一種圖形點(diǎn)陣液晶顯示器,它主要由行驅(qū)動(dòng)器、列驅(qū)動(dòng)器及12864 全點(diǎn)陣液晶顯示器組成。可完成圖形顯示,也可以顯示 84 個(gè)(1616 點(diǎn)陣)漢字。與外部 CPU 接口可采用串行或并行方式控制。其顯示分辨率為 12864,內(nèi)置8192 個(gè)中文漢字(1616 點(diǎn)陣) 、128 個(gè)字符(168 點(diǎn)陣)及 64X256 點(diǎn)陣顯示RAM(GDRAM) 。利用該模塊靈活的接口方式和簡(jiǎn)單、方便的操作指令,可構(gòu)成全中文人機(jī)交互圖形界面。其與單片機(jī)的接口電路如圖 3-5 所示。 黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書 第 8 頁(yè)VS1C2O3R4/W5E(LK)6DB079PNTUA圖 3-5 顯示電路模塊3.1.3.4 溫度采集模塊設(shè)計(jì)溫度采集采用 Dallas 半導(dǎo)體公司的數(shù)字化溫度傳感器 DS18B20,DS18B20 是單總線器件,線路簡(jiǎn)單,體積小的特點(diǎn),具有 9-12 為可編程分辨率,精度為0.5。聲音功能采用 5V 蜂鳴器作為聲音報(bào)警器件,通過三極管進(jìn)行放大輸出特定聲音。 QGI.圖 3-6 溫度采集模塊 黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書 第 9 頁(yè)3.1.3.5 雙電源供電電路設(shè)計(jì)系統(tǒng)采用雙電源,可以使用外接電源,也可直接使用 USB 5V 電源,由自鎖開關(guān)切換輸入。電源電路如圖 3-7 所示。 R61KL8+C0uF2PO5VGND4AT3USB-W圖 3-7 雙電源模塊3.1.3.6 RS-232 電路設(shè)計(jì)STC12C5A60S2 單片機(jī)具有在線編程可擦除技術(shù),連接串口,通過電腦端的 STC-ISP 軟件控制下載用戶程序到 STC 單片機(jī),即可實(shí)現(xiàn)程序的燒寫。如圖 3-8 所示即為RS-232 轉(zhuǎn)換電路。 7IMXf圖 3-8 RS-232 轉(zhuǎn)換電路 黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書 第 10 頁(yè)3.1.4 電路原理及說(shuō)明(1)時(shí)鐘芯片 DS1302 的工作原理DS1302 在每次進(jìn)行讀、寫程序前都必須初始化,先把 SCLK 端置 “0”,接著把RST 端置“1 ”,最后才給予 SCLK 脈沖;讀/寫時(shí)序如下圖 4 所示。圖 5 為 DS1302 的控制字,此控制字的位 7 必須置 1,若為 0 則不能把對(duì) DS1302 進(jìn)行讀寫數(shù)據(jù)。對(duì)于位6,若對(duì)程序進(jìn)行讀/寫時(shí) RAM=1,對(duì)時(shí)間進(jìn)行讀 /寫時(shí),CK=0 。位 1 至位 5 指操作單元的地址。位 0 是讀/寫操作位,進(jìn)行讀操作時(shí),該位為 1;該位為 0 則表示進(jìn)行的是寫操作??刂谱止?jié)總是從最低位開始輸入/輸出的。表 6 為 DS1302 的日歷、時(shí)間寄存器內(nèi)容:“CH”是時(shí)鐘暫停標(biāo)志位,當(dāng)該位為 1 時(shí),時(shí)鐘振蕩器停止,DS1302 處于低功耗狀態(tài);當(dāng)該位為 0 時(shí),時(shí)鐘開始運(yùn)行。 “WP”是寫保護(hù)位,在任何的對(duì)時(shí)鐘和RAM 的寫操作之前,WP 必須為 0。當(dāng)“WP”為 1 時(shí),寫保護(hù)位防止對(duì)任一寄存器的寫操作。(2)DS1302 的控制字節(jié)DS1302 的控制字如表-1 所示??刂谱止?jié)的高有效位(位 7)必須是邏輯 1,如果它為 0,則不能把數(shù)據(jù)寫入 DS1302 中,位 6 如果 0,則表示存取日歷時(shí)鐘數(shù)據(jù),為 1表示存取 RAM 數(shù)據(jù);位 5 至位 1 指示操作單元的地址;最低有效位(位 0)如為 0 表示要進(jìn)行寫操作,為 1 表示進(jìn)行讀操作,控制字節(jié)總是從最低位開始輸出。表 3-1 DS1302 的控制字格式RAM RD1 /CK A4 A3 A2 A1 A0 /WR(3)數(shù)據(jù)輸入輸出(I/O)在控制指令字輸入后的下一個(gè) SCLK 時(shí)鐘的上升沿時(shí),數(shù)據(jù)被寫入 DS1302,數(shù)據(jù)輸入從低位即位 0 開始。同樣,在緊跟 8 位的控制指令字后的下一個(gè) SCLK 脈沖的下降沿讀出 DS1302 的數(shù)據(jù),讀出數(shù)據(jù)時(shí)從低位 0 位到高位 7。如下圖 3-9 所示 黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書 第 11 頁(yè)圖S C L KI / OREST R/W A 0A 1A 2 A 3 A 4R/C 1D 0D 1D 2單字節(jié)讀S C L KI / OREST R/W A 0A 1A 2 A 3 A 4R/C 1D 0D 1D 2單字節(jié)寫3-9 DS1302 讀/寫時(shí)序圖(4)DS1302 的寄存器DS1302 有 12 個(gè)寄存器,其中有 7 個(gè)寄存器與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)位為BCD 碼形式, 其日歷、時(shí)間寄存器及其控制字見表 3-2。表 3-2 DS1302 的日歷、時(shí)間寄存器寫寄存器讀寄存器Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit080H 81H CH 10 秒 秒82H 83H 10 分 分1084H 85H 12/24 0AM/PM時(shí) 時(shí)86H 87H 0 0 10 日 日88H 89H 0 0 0 10 月 月8AH 8BH 0 0 0 0 0 星期8CH 8DH 10 年 年8EH 8FH WP 0 0 0 0 0 0 0此外,DS1302 還有年份寄存器、控制寄存器、充電寄存器、時(shí)鐘突發(fā)寄存器及與 RAM 相關(guān)的寄存器等。時(shí)鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器外的所有寄存器內(nèi)容。 DS1302 與 RAM 相關(guān)的寄存器分為兩類:一類是單個(gè) RAM 黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書 第 12 頁(yè)單元,共 31 個(gè),每個(gè)單元組態(tài)為一個(gè) 8 位的字節(jié),其命令控制字為 C0HFDH ,其中奇數(shù)為讀操作,偶數(shù)為寫操作;另一類為突發(fā)方式下的 RAM 寄存器,此方式下可一次性讀寫所有的 RAM 的 31 個(gè)字節(jié),命令控制字為 FEH(寫)、FFH( 讀)。 3.2 系統(tǒng)軟件設(shè)計(jì)程序開始時(shí)先對(duì)系統(tǒng)初始化,并設(shè)置好各種中斷。首先要給時(shí)鐘芯片設(shè)置初值,時(shí)鐘芯片便自行計(jì)數(shù)。此時(shí)檢測(cè)是否有按鍵按下,按鍵是為了調(diào)整時(shí)鐘。有按鍵按下則執(zhí)行按鍵處理程序,沒有按鍵按下則執(zhí)行下一步的操作,即取時(shí)鐘芯片中的時(shí)鐘值,然后送顯示。程序流程圖如下。系統(tǒng)初始化1 2 8 6 4 初始化顯示按鍵是否按下 按鍵處理程序取時(shí)鐘 、 溫度數(shù)據(jù)送 1 2 8 6 4 顯示圖 3-10 程序流程圖Yesno 黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書 第 13 頁(yè)4 仿真與調(diào)試4.1 調(diào)試儀器表 4-1 測(cè)試儀器表序 號(hào) 名 稱1 PC 機(jī)2 ISP 在線編程器3 V8 通用單片機(jī)仿真器4 數(shù)字萬(wàn)用表4.2 硬件測(cè)試電子萬(wàn)年歷的電路系統(tǒng)較大,對(duì)電路的要求比較高,尤其是焊接方面更是不可輕視,只要存在一處錯(cuò)誤,就會(huì)對(duì)檢測(cè)造成很大的不便,而且電路的交線較多,對(duì)于各種鋒利的引腳要注意處理,否則會(huì)對(duì)電路造成短路現(xiàn)象。在本次電子萬(wàn)年歷的設(shè)計(jì)調(diào)試中遇到了很多的問題。如果認(rèn)真小心,這些都是可以避免的,以下為主要的問題:(1)上電之后,溫度傳感器溫度立刻升高,原因在于沒有分清 DS18B20 的1、2、3 引腳,導(dǎo)致溫度傳感器短路,溫度迅速升高。解決:按正確的引腳接法重新焊接 DS18B20,即可正常。(2)電源電路中的 USB 接口采用的是 B 型 USB,但購(gòu)買元器件時(shí)采用的是 A 型USB,電路不可更改的情況下就變得不能正常供電。解決:采用重新打孔,將 B 型接口改裝成 A 型接口,并用導(dǎo)線將電源線調(diào)整。(3)串口方向在畫 PCB 過程中沒有注意到方向,使得不能正常使用串口下載。解決:首先嘗試用排針外接跳線連接到串口線上,方便簡(jiǎn)單,但是在使用過程中總是出現(xiàn)斷線問題,使得下載變得很麻煩,后來(lái)改用打孔,用跳線將串口方向改過來(lái),焊接在萬(wàn)年歷板上,即可 黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書 第 14 頁(yè)正常下載和調(diào)試。4.3 軟件測(cè)試電子成年歷是多功能的數(shù)字型萬(wàn)年歷,可查看當(dāng)前日期(陰、陽(yáng)歷) 、時(shí)間,還有溫度的儀器。因其功能很多,所以對(duì)于它的程序也較為復(fù)雜,所以在編寫程序和調(diào)試時(shí)出現(xiàn)了相對(duì)較多的問題。最后經(jīng)過多次的模塊子程序的修改,一步一步的完成,最終解決了軟件。在軟件的調(diào)試過程中主要遇到的問題如下:1燒入程序后,LCD 只亮不顯示字符。解決:首先只寫 LCD 程序,讓其顯示一個(gè)基本的靜態(tài)字符,如果正常顯示可顯示屏正常。其次將靜態(tài)量變?yōu)閯?dòng)態(tài)量,使其逐漸開始顯示字符,解決了只顯示空白的問題。2時(shí)間和溫度不能自動(dòng)對(duì)應(yīng)。解決:把不相關(guān)的程序暫時(shí)屏蔽,地農(nóng)歷的子程序獨(dú)立調(diào)試,發(fā)現(xiàn)在調(diào)用農(nóng)歷自動(dòng)更新時(shí),對(duì)十進(jìn)制和十六進(jìn)制處理不好,所以會(huì)造成錯(cuò)亂。最后把相應(yīng)的十進(jìn)制進(jìn)行修改,使得可以與十六進(jìn)制對(duì)應(yīng),最后解決了此問題.3加入農(nóng)歷的程序后,按鍵不能正常使用。解決:由于 DS18B20 是串行通信數(shù)據(jù),只用一個(gè)口線傳輸,在處理采集的模擬信號(hào)時(shí)需要一定的時(shí)間,當(dāng)把萬(wàn)年歷的程序相接入時(shí),會(huì)對(duì)延時(shí)有很大的影響。所以在調(diào)用溫度子程序時(shí),先關(guān)閉定時(shí)器 1 中斷允許,在溫度子程序反回時(shí)再打開定時(shí)器 1中斷允許。最終解決了此問題。4.4 測(cè)試結(jié)果分析經(jīng)過多次的反復(fù)測(cè)試與分析,加強(qiáng)對(duì)電路的原理及功能的熟悉感,同時(shí)提高了設(shè)計(jì)能力與及對(duì)電路的分析能力。同時(shí)在軟件的編程方面得到更大的提高,編程能力得到加強(qiáng),當(dāng)然,對(duì)所學(xué)的知識(shí)得到很大的提高與鞏固。 黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書 第 15 頁(yè)結(jié)論至此,關(guān)于畢業(yè)設(shè)計(jì)的所有內(nèi)容就介紹完了,進(jìn)行這次畢業(yè)設(shè)計(jì)一切都是從頭開始,從最簡(jiǎn)單的查資料、了解各個(gè)元件的功能起步,再確定設(shè)計(jì)方案、畫流程圖,編寫程序到最后進(jìn)行調(diào)試,在我的個(gè)人角度下,這次畢業(yè)設(shè)計(jì)可以說(shuō)是成功完成。系統(tǒng)的硬件、軟件設(shè)計(jì)合理,功能完備,運(yùn)行穩(wěn)定、可靠。實(shí)驗(yàn)結(jié)果表明此萬(wàn)年歷實(shí)現(xiàn)后具有讀取方便、顯示直觀、功能多樣、電路簡(jiǎn)潔等諸多優(yōu)點(diǎn)。在整個(gè)設(shè)計(jì)過程中,充分發(fā)揮了主觀能動(dòng)性,自主學(xué)習(xí),學(xué)到了許多沒學(xué)到的知識(shí)。程序編寫中,由于思路不清晰,開始時(shí)遇到了許多問題,經(jīng)過靜下心來(lái)思考,并請(qǐng)教了同學(xué),理清了思路,才完成了對(duì)程序的編寫。但是由于時(shí)間和個(gè)人能力的原因,整個(gè)系統(tǒng)看起來(lái)還是顯得非常的簡(jiǎn)單,只實(shí)現(xiàn)了一些基本的功能,還有許多不足之處和可以擴(kuò)展的地方,例如實(shí)現(xiàn)鬧鐘報(bào)時(shí)等,這些有待以后來(lái)彌補(bǔ),還望各位老師予以指正和修改。 黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書 第 16 頁(yè)致謝經(jīng)過這么長(zhǎng)時(shí)間的設(shè)計(jì),從選題、設(shè)計(jì)到現(xiàn)在的終稿完成;由于所設(shè)計(jì)的課題涉及到專業(yè)領(lǐng)域較廣,要用到很多陌生的知識(shí),在整個(gè)過程中,得到許多老師和同學(xué)們的幫助。在這兩個(gè)月來(lái)的設(shè)計(jì)過程中我請(qǐng)教了系中的老師,特別是我的導(dǎo)師蔡超峰老師,他對(duì)我的畢業(yè)設(shè)計(jì)提供了很多條件,同時(shí)也有許多同學(xué)幫我收集了大量的資料,在設(shè)計(jì)上給予我很大的幫助,尤其是軟件上?,F(xiàn)在設(shè)計(jì)已結(jié)束,在這里一并向這些老師和同學(xué)們表示感謝。同時(shí)感謝關(guān)心我的和我關(guān)心的人。再次,我要感謝一直陪我走完大學(xué)四年求學(xué)之路的同宿舍的姐妹位,和其他在我學(xué)習(xí)和生活中幫助過我的人,謝謝他們平時(shí)對(duì)我無(wú)微不致的照顧和關(guān)心。我很興能生活在這樣一個(gè)充滿活力的集體中,從他們的身上我學(xué)到了很多,看到了自己的不足,在不斷的發(fā)現(xiàn)和改正錯(cuò)誤中成長(zhǎng),同時(shí)他們給我的大學(xué)生活留下了許多美好的回憶,讓我受益終生。鑒于本人水平有限,難免存在一些錯(cuò)誤和漏洞,望各位老師、同學(xué)不吝賜教,在此再次向大家表示衷心的感謝。 黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書 第 17 頁(yè)參考文獻(xiàn)1 王法能 單片機(jī)原理及應(yīng)用 科學(xué)出版社 20042 張毅剛 單片機(jī)原理及應(yīng)用 高等教育出版社 20063 李宗吾.中國(guó)萬(wàn)年歷 .北京:中國(guó)科學(xué)技術(shù)出版社.2006:115-1914 夏墨英.中國(guó)天文年歷.北京:科學(xué)出版社.1984:1256-25815 周慈航.單片機(jī)應(yīng)用程序設(shè)計(jì)技術(shù)H. 北京:北京航空航天大學(xué)出版社,19926 Anastasios Alexiadis,Ioannis Refanidis.Defining a Tasks Temporal Domain for Intelligent Calendar Applications7 余永權(quán).ATMEL89 系列單片機(jī)原理及應(yīng)用M. 西安:電子工業(yè)出版社,1999.8 王毅平. MCS-51 單片機(jī)原理及應(yīng)用H.北京:人民郵電出版社, 19999 陳堅(jiān),李昕,黃櫻.CHEN Jian.LI Xin.HUAN Ying 51 單片機(jī)最小化應(yīng)用系統(tǒng)的Proteus 仿真-電腦知識(shí)與技術(shù).2008,2(18)10 陳正振 電子電路設(shè)計(jì)與制作 廣西交通職業(yè)技術(shù)學(xué)院信息工程系 200711 竇振中 單片機(jī)外圍器件實(shí)用手冊(cè)存儲(chǔ)器分冊(cè) 北京航空航天大學(xué)出版社 200612 Joe Tullio,Elizabeth D.Mynatt.Use and Implications of a Shared,Forecasting Calendar.13 王威,劉佳,張志雄等.基于 Proteus 和 Keil 的單片機(jī)虛擬仿真平臺(tái)的設(shè)計(jì)-上海電力學(xué)院學(xué)報(bào).2009,25(6).14 閆小坤編 數(shù)字電路 吉林大學(xué)出版社 200415 朱定華,戴汝平 .單片機(jī)微機(jī)原理與應(yīng)用M.北京:北京交通大學(xué)出版社,2003.16 Ashraf Khalil,Kay Connelly.Improving Cell Phone Awareness by Using Calendar Information.17 51 單片機(jī) C 語(yǔ)言應(yīng)用開發(fā)技術(shù)大全 龍脈工作室 劉坤 寧戈 趙紅波 張憲棟 人民郵電出版社 2008 年 9 月 黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書 第 18 頁(yè)附錄 A 原理圖P0.732654189VCLE/ROGSNMIKTXDWUYHzF位uZBQ+-()f 黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書 第 19 頁(yè)附錄 B 程序清單#include #include #include #define uchar unsigned char#define uint unsigned intbit w = 0; /調(diào)時(shí)標(biāo)志位 sbit ACC0 = ACC0;sbit ACC7 = ACC7;unsigned char YEAR,MONTH,DATE,WEEK,HR,MIN,SEC,SEC100;/DS1302 子程序sbit DS1302_CLK = P35; sbit DS1302_IO = P36; sbit DS1302_RST = P37; void DS1302InputByte(uchar d) uchar i;ACC = d;for(i=8; i0; i-)DS1302_IO = ACC0; DS1302_CLK = 1;DS1302_CLK = 0;ACC = ACC 1; uchar DS1302OutputByte(void) 黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書 第 20 頁(yè)uchar i;for(i=8; i0; i-)ACC = ACC 1; ACC7 = DS1302_IO;DS1302_CLK = 1;DS1302_CLK = 0; return(ACC); void Write1302(uchar ucAddr, uchar ucDa)DS1302_RST = 0;DS1302_CLK = 0;DS1302_RST = 1;DS1302InputByte(ucAddr); / 地址,命令 DS1302InputByte(ucDa);/ 寫 1Byte 數(shù)據(jù)DS1302_CLK = 1;DS1302_RST = 0; uchar Read1302(uchar ucAddr)/讀取某地址的數(shù)據(jù)uchar ucData;DS1302_RST = 0;DS1302_CLK = 0;DS1302_RST = 1;DS1302InputByte(ucAddr); ucData = DS1302OutputByte(); DS1302_CLK = 1; 黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書 第 21 頁(yè)DS1302_RST = 0;return(ucData);void init1302(void) /設(shè)置 1302 的初始時(shí)間 uchar cctt;cctt=Read1302(0x80);if(cctt&0x80)Write1302(0x8e,0x00);/允許寫操作Write1302(0x8c,0x0b);/年Write1302(0x8a,0x01);/星期Write1302(0x88,0x06);/月Write1302(0x86,0x06);/日Write1302(0x84,0x00);/小時(shí)Write1302(0x82,0x00);/分鐘Write1302(0x80,0x00);/秒Write1302(0x8e,0x80);/禁止寫操作/*溫度*/#define SKIP_ROM 0xF0#define CONVERT_T 0x44#define READ_SCRATCHPAD 0xBEsbit DQ = P24;/ds18B20 信號(hào)線定義uchar TPH;uchar TPL;void DelayT(int num)/延時(shí)函數(shù) 黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書 第 22 頁(yè)while(num-);unsigned Init_DS18B20(void)/初始化 ds1820uint answer_flag; DQ = 0; /單片機(jī)將 DQ 拉低DelayT(480); DQ = 1; DelayT(15);answer_flag=DQ; DelayT(240);DelayT(180);return(answer_flag);uchar ReadBit(void)bit s;DQ=1;_nop_();DQ=0;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();DQ=1;s=DQ;DelayT(60);return(s); 黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書 第 23 頁(yè)uchar ReadByte(void)/讀一個(gè)字節(jié)uchar i,j;uchar dat = 0;for (i=1;i1);return(dat);void WriteByte(uchar dat)/寫一個(gè)字節(jié)uint i;bit n;for (i=1; i1;if(n)/寫 1DQ=0;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); 黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書 第 24 頁(yè)DQ=1;DelayT(60);else/寫 0DQ=0;DelayT(90);DQ=1;_nop_();_nop_();_nop_();_nop_();void convert(void)/溫度轉(zhuǎn)換Init_DS18B20();if(Init_DS18B20()DelayT(100);WriteByte(SKIP_ROM);WriteByte(CONVERT_T);uint ReadTemp(void)/讀取溫度uint t=0;float tt=0;convert(); 黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書 第 25 頁(yè)DelayT(100000);Init_DS18B20();if(Init_DS18B20()DelayT(100);WriteByte(0xcc);WriteByte(0xbe);TPL=ReadByte();TPH=ReadByte();t=TPH;t= 0x04 & HR = 0x06 & HR = 0x08 & HR = 0x13 & HR = 0x18 & HR = 0x22 & HR = 0x00 & HR 0x2)&(year%0x4=0)temp4+=1;if (temp4=temp3)temp4-=temp3;MONTHnth=0x1;MONTHnth_p=0x1; flag2=get_MONTHon_day(MONTHnth_p,table_aDATEr); flag_y=0; 黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書 第 42 頁(yè)if(flag2=0)temp1=0x1d; else temp1=0x1e; temp2=year_codetable_aDATEr&0xf0;temp2=_cror_(temp2,4); while(temp4=temp1)temp4-=temp1;MONTHnth_p+=1;if(MONTHnth=temp2)flag_y=flag_y;if(flag_y=0)MONTHnth+=1;else MONTHnth+=1;flag2=get_MONTHon_day(MONTHnth_p,table_aDATEr);if(flag2=0)temp1=0x1d;else temp1=0x1e;day=temp4+1;else temp3-=temp4;if (year=0x0)year=0x63;c=1;else year-=1;table_aDATEr-=0x3;MONTHnth=0xc;temp2=year_codetable_aDATEr&0xf0;temp2=_cror_(temp2,4);if (temp2=0)MONTHnth_p=0xc; else MONTHnth_p=0xd; / 黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書 第 43 頁(yè)flag_y=0;flag2=get_MONTHon_day(MONTHnth_p,table_aDATEr);if(flag2=0)temp1=0x1d;else temp1=0x1e;while(temp3temp1)temp3-=temp1;MONTHnth_p-=1;if(flag_y=0)MONTHnth-=1;if(MONTHnth=temp2)flag_y=flag_y;flag2=get_MONTHon_day(MONTHnth_p,table_aDATEr);if(flag2=0)temp1=0x1d;else temp1=0x1e;day=temp1-temp3+1;c_MONTHon=c; temp1=year/10;temp1=_crol_(temp1,4);temp2=year%10;year_MONTHon=temp1|temp2;temp1=MONTHnth/10;temp1=_crol_(temp1,4);temp2=MONTHnth%10;MONTHnth_MONTHon=temp1|temp2;temp1=day/10;temp1=_crol_(temp1,4);temp2=day%10;day_MONTHon=temp1|temp2; 黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書 第 44 頁(yè)void nl()unsigned char yy1,yy2;Conversion(0,YEAR,MONTH,DATE);writecom(0x90);writestring(20);writedat(year_MONTHon/16+0);writedat(year_MONTHon%16+0);writedat(/);writedat(MONTHnth_MONTHon/16+0);writedat(MONTHnth_MONTHon%16+0);writedat(/);writedat(day_MONTHon/16+0);writedat(day_MONTHon%16+0);yy1=(year_MONTHon/16)*10+year_MONTHon%16;yy2=yy1%12;switch(yy2)case 0: writecom(0x87);writestring(龍);break;case 1: writecom(0x87);writestring(蛇);break;case 2: writecom(0x87);writestring(馬);break;case 3: writecom(0x87);writestring(羊);break;case 4: writecom(0x87);writestring(猴); 黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書 第 45 頁(yè)break;case 5: writecom(0x87);writestring(雞);break;case 6: writecom(0x87);writestring(狗);break;case 7: writecom(0x87);writestring(豬);break;case 8: writecom(0x87);writestring(鼠);break;case 9: writecom(0x87);writestring(牛);break;case 10: writecom(0x87);writestring(虎);break;case 11: writecom(0x87);writestring(兔);break;/向 LCD 中填寫 年 數(shù)據(jù)void writeyear(void)YEAR= Read1302(0x8d);writecom(0x80);writestring(20);writecom(0x81);writedat(YEAR/16)+0x30);writedat(YEAR%16+0x30);writecom(0x82);writestring(年); 黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書 第 46 頁(yè)nl(); /向 LCD 中填寫 月 數(shù)據(jù)void writemonth(void)MONTH = Read1302(0x89);writecom(0x83);if(MONTH/16 != 0)writedat(MONTH/16)+0x30); /十位消隱elsewritedat(0x20);/同上writedat(MONTH%16+0x30);writecom(0x84);writestring(月);nl();/星期處理并送入 LCM 的指定區(qū)域void writeweek(void)uchar sel;WEEK = Read1302(0x8b);sel = (Read1302(0x8b)%16; writecom(0x97);if(sel=7) writestring(日); /if(sel=6) writestring(六); /if(sel=5) writestring(五); /if(sel=4) writestring(四); /if(sel=3) writestring(三);/writedat(0xc8);LCM_WriteDatOrCom(1,0xfd); /此指令等于LCM_WriteString(三); 因?yàn)?三的內(nèi)碼失效。 黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書 第 47 頁(yè)if(sel=2) writestring(二); /if(sel=1) writestring(一); /星期一writecom(0x95);writestring(星期);/向 LCM 中填寫 日 數(shù)據(jù)void writedate(void)DATE = Read1302(0x87);writecom(0x85);if(DATE/16 != 0)writedat(DATE/16)+0x30); /十位消隱elsewritedat(0x20);/同上writedat(DATE%16+0x30);writecom(0x86);writestring(日);nl();/向 LCM 中填寫 小時(shí) 數(shù)據(jù)void writehr(void)if(Read1302(0x85)!= HR)HR = Read1302(0x85);if (HR 0x07 & HR max) item=mini;if(item= 6 )e = 0;Set_time(e);/調(diào)整if(KEY_4 = 0 & w = 0) clrlcd();/清屏w=1; /進(jìn)入調(diào)時(shí)while(KEY_4 = 0);/等待鍵松開 else if (KEY_1 = 0) DelayM(20);if(KEY_1 = 0 & w = 1)w = 0; e = 0;if(KEY_1 = 0 & w = 0)clrlcd();/清屏display(dis_char);while(KEY_1 = 0); clrlcd();/清屏days(); /節(jié)日顯示 黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書 第 53 頁(yè)updata (); /刷新數(shù)據(jù)writemin();/刷新 分nl();while(KEY_1 = 0);/等待鍵松開 else if (KEY_2 = 0 & w = 1)/ 加減調(diào)整 DelayM(20);if(KEY_2 = 0 & w = 1)Set_time(e);/調(diào)整while(KEY_2 = 0);/等待鍵松開else if (KEY_3 = 0 & w = 1)/ 加減調(diào)整 DelayM(20);if(KEY_3 = 0 & w = 1)Set_time(e);/調(diào)整while(KEY_3 = 0);/等待鍵松開main() uchar e=0;KEY_1 = 10;KEY_2 = 0;KEY_3 = 0;KEY_4 = 0;/初始鍵盤YEAR=0xff;MONTH=0xff;DATE=0xff;WEEK=0xff;HR=0xff;MIN=0xff;SEC=0xff; /各數(shù)據(jù)刷新beep = 0; 黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書 第 54 頁(yè)DelayM(900);beep = 1;initlcd();/初始化液晶顯示器clrlcd();/清屏display(dis_char);/顯示歡迎字DelayM(8000); /顯示等留 3 秒clrlcd();/清屏 init1302();Init_DS18B20();while(1)Keydone();(程序不在論文里給出來(lái),太長(zhǎng)了!)
收藏