萬年歷語音報時時鐘_第1頁
萬年歷語音報時時鐘_第2頁
萬年歷語音報時時鐘_第3頁
萬年歷語音報時時鐘_第4頁
萬年歷語音報時時鐘_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)專心-專注-專業(yè)精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)Xxxxxxxx畢業(yè)設(shè)計題 目 基于MCS51單片機(jī)的語音萬年歷設(shè)計專 業(yè) 班 級 姓 名 指導(dǎo)教師姓名 職稱 起止日期 摘 要本設(shè)計是基于51系列的單片機(jī)的電子萬年歷及語音報時設(shè)計,萬年歷可以顯示年、月、日、時、分、秒、星期等,具有日期和時間校準(zhǔn)、閏年補(bǔ)償、溫度顯示、鬧鐘、光控開關(guān),秒表等多種功能。在設(shè)計的同時對單片機(jī)、語音芯片和外圍擴(kuò)展知識進(jìn)行了比較全面準(zhǔn)備。本設(shè)計由萬年歷控制模塊,顯示模塊,發(fā)聲模塊四個部分組成??刂颇K由單片機(jī)89C52,按鍵模塊,DS1302時

2、鐘模塊,溫度感應(yīng)模塊等組成,其中89C52單片機(jī)作為核心,功耗小,電壓可選用35V電壓供電。顯示模塊由12864液晶模塊組成。發(fā)聲模塊由喇叭和三極管組成。利用單片機(jī)可以大大減小硬件的復(fù)雜程度。綜合以上各優(yōu)點(diǎn)可知道該設(shè)備的確是一款經(jīng)濟(jì)、適用、多功能的萬年歷。關(guān)鍵字: 51單片機(jī) lcd12864液晶顯示器 語音報時 目 錄TOC o 1-3 h u 1 電子萬年歷概述 1.1 問題的提出和研究背景 在當(dāng)代繁忙的工作與生活中時間與我們每一個人都有非常密切的關(guān)系每個人都受到時間的影響。為了更好的利用我們自己的時間,我們必須對時間有一個度量因此產(chǎn)生了鐘表。鐘表的發(fā)展是非常迅速的從剛開始的機(jī)械式鐘表到現(xiàn)

3、在普遍用到的數(shù)字式鐘表即使現(xiàn)在鐘表千奇百怪。但是它們都只是完成一種功能計時功能,只是工作原理不同而已,在人們的使用過程中逐漸發(fā)現(xiàn)了鐘表的功能太單一,沒有最大程度上的滿足人們的需求。因此在這里能不能把一些輔助功能加入鐘表中。在此設(shè)計中所設(shè)計的鐘表不但具有普通鐘表的功能它還能實現(xiàn)額外的功能。隨著電子技術(shù)的迅速發(fā)展,特別是隨著大規(guī)模集成電路產(chǎn)生而出現(xiàn)的微型計算機(jī)給人類生活帶來了極大的方便。走入家庭從洗衣機(jī)、微波爐到音響、汽車到處都可以見到單片機(jī)應(yīng)用的蹤影。如果說微型計算機(jī)技術(shù)的出現(xiàn)使現(xiàn)代科學(xué)研究得到了質(zhì)的飛躍那么也可以毫不夸張的說“單片機(jī)技術(shù)的出現(xiàn)則是給現(xiàn)代工業(yè)測控領(lǐng)域帶來了一次新工業(yè)革命”。一塊單

4、片機(jī)芯片就是一臺微型計算機(jī)。由于單片機(jī)以其集成度高、體積小、可靠性高、控制功能強(qiáng)、低電壓、低功耗等特點(diǎn)使它應(yīng)用于智能儀器儀表、機(jī)電一體化、實時程控、人類生活中。目前單片機(jī)以其可靠性高和智能性等特點(diǎn)被廣泛應(yīng)用到工業(yè)控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、智能化儀器儀表、辦公自動化等領(lǐng)域中,并已經(jīng)進(jìn)入家庭。因此,單片機(jī)技術(shù)的開發(fā)和應(yīng)用水平已經(jīng)逐步成為一個國家自動化發(fā)展水平的標(biāo)志之一。萬年歷是采用數(shù)字電路實現(xiàn)對時,分,秒.數(shù)字顯示的計時裝置, 隨著科技的快速發(fā)展時間的流逝,至從觀太陽、擺鐘到現(xiàn)在電子鐘,人類不斷研究不斷創(chuàng)新紀(jì)錄。美國DALLAS公司推出的具有涓細(xì)電流充電能的低功耗實時時鐘電路DS1302。它可以對年

5、、月、日、周日、時、分、秒進(jìn)行計時還具有閏年補(bǔ)償?shù)榷喾N功能而且DS1302的使用壽命長誤差小。對于數(shù)字電子萬年歷采用直觀的數(shù)字顯示可以同時顯示年、月、日、周日、時、分、秒和溫度等信息還有時間校準(zhǔn)等功能。電子萬年歷廣泛用于個人家庭,車站, 碼頭辦公室等公共場所,成為人們常生活中不可少的必需品,由于數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得數(shù)字鐘的精度,遠(yuǎn)遠(yuǎn)超過老式鐘表, 鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便而且大大地擴(kuò)展了鐘表原先的報時功能。諸如定時自動報警、按時自動打鈴、時間程序自動控制、定時廣播、自動起閉路燈、定時開關(guān)烘箱、通斷動力設(shè)備、甚至各種定時電氣的自動啟用等但是所有這些

6、都是以鐘表數(shù)字化為基礎(chǔ)的。因此研究萬年歷及擴(kuò)大其應(yīng)用有著非?,F(xiàn)實的意義。 1.2 國內(nèi)外研究現(xiàn)狀及發(fā)展趨勢 鐘表功能的單一沒有更大程度的滿足人們的需求近年來隨著電子技術(shù)的迅速發(fā)展,特別是隨著大規(guī)模集成電路產(chǎn)生鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便。實時時鐘集成電路是一種高密度集成的專用時鐘集成電路適合于一切需要微功耗及準(zhǔn)確計時的場合,如:手機(jī)電視機(jī) 付費(fèi)電表高精度時鐘可編程時間控制器數(shù)碼相機(jī)等等。早期RTC產(chǎn)品實質(zhì)是一個帶有計算機(jī)通訊口的分頻器。它通過對晶振所產(chǎn)生的振蕩頻率分頻和累加得到年、月、日、時、分、秒等時間信息并通過計算機(jī)通訊口送入處理器處理。這一時期RTC的特征如下在控制口線上為

7、并行口功耗較大采用普通CMOS工藝封裝為雙列直插式芯片普遍沒有現(xiàn)代RTC所具有的萬年歷及閏年月自動切換功能也無法處理2000年問題。現(xiàn)在已經(jīng)被淘汰。在90年代中期出現(xiàn)了新一代RTC它采用特殊CMOS工藝功耗大為降低典型值約0.5A以下供電電壓僅為1.4V以下和計算機(jī)通訊口也變?yōu)榇蟹绞匠霈F(xiàn)了諸如三線SIO/四線SPI部分產(chǎn)品采用2線I2C總線包封上采用SOP/SSOP封裝體積大為縮小功能上片內(nèi)智能化程度大幅提高、具有萬年歷功能輸出控制也變得靈活多樣。其中日本RICOH推出的RTC甚至已經(jīng)出現(xiàn)時基軟件調(diào)校功能TTF及振蕩器停振自動檢測功能而且芯片的價格極為低廉。TTF是RTC發(fā)展史上具有里程碑意

8、義的技術(shù)從此以晶振為基準(zhǔn)的電子鐘表也可以具備類似傳統(tǒng)鐘表控制擺長以調(diào)節(jié)精度的功能。TTF是利用吞吐脈沖技術(shù)來補(bǔ)償晶體振蕩器的固有偏差而實現(xiàn)高精度時鐘輸出。利用一套特殊的數(shù)電路增加或減去相當(dāng)于晶振振蕩誤差的脈沖而不改變晶振本身的振蕩。在一定的調(diào)節(jié)時基中如20S內(nèi)調(diào)節(jié)電路在最后一秒發(fā)生作用校準(zhǔn)整個時基。這一校正過程完全是數(shù)字化過程故不會影響晶體負(fù)載電容匹配不影響晶體振蕩電阻。最新一代RTC產(chǎn)品中除了包含第二代產(chǎn)品所具有的全部功能更加入了復(fù)合功能如低電壓檢測主備用電池切換功能抗印制板漏電功能且本身封裝更小。 電子萬年歷的設(shè)計是由單片機(jī)驅(qū)動時鐘芯片進(jìn)行顯示的目前單片機(jī)正朝著高性能和多品種方向發(fā)展趨勢將

9、是進(jìn)一步向著CMOS化、低功耗、小體積、大容量、高性能、低價格和外圍電路內(nèi)裝化等幾個方面發(fā)展。CMOS化近年由于CHMOS技術(shù)的進(jìn)小大大地促進(jìn)了單片機(jī)的CMOS化。CMOS芯片除了低功耗特性之外還具有功耗的可控性使單片機(jī)可以工作在功耗精細(xì)管理狀態(tài)。低功耗化 單片機(jī)的功耗已從mA級甚至1uA以下使用電壓在3-6V之間完全適應(yīng)電池工作。低功耗化的效應(yīng)不僅是功耗低而且?guī)砹水a(chǎn)品的高可靠性、高抗干擾能力以及品的便攜化。低電壓化 幾乎所有的單片機(jī)都有WAIT、STOP等省電運(yùn)行方式。允許使用的電壓范圍越來越寬一般在3-6V范圍內(nèi)工作3。低電壓供電的單片機(jī)電源下限已可達(dá)1-2V。目前0.8V供電的單片機(jī)已

10、經(jīng)問世。進(jìn)入21世紀(jì)后,智能溫度傳感器正朝著高精度、多功能、總線標(biāo)準(zhǔn)化、高可靠性及安全性、開發(fā)虛擬傳感器和網(wǎng)絡(luò)傳感器、研制單片測溫系統(tǒng)等高科技的方向迅速發(fā)展。高性能化 主要是指進(jìn)一步改進(jìn)CPU的性能加快指令運(yùn)算的速度和提高系統(tǒng)控制的可靠性。采用精簡指令集RISC結(jié)構(gòu)和流水線技術(shù)可以大幅度提高運(yùn)行速度。外圍電路內(nèi)裝化 這也是單片機(jī)發(fā)展的主要方向。在時鐘集成電路方面充分利用TTF功能做到每一個RTC系統(tǒng)的高精度以RICOH 的TTF技術(shù)為代表的新一代RTC已經(jīng)采用全新的思維特殊的技術(shù)以幾乎不增加成本的方式將普通晶振的RTC計時精度提高到一個很高的水平。目前這一新型的RTC已在國內(nèi)許多行業(yè)中迅速應(yīng)用

11、起來。綜上所述此萬年歷具有讀取方便、顯示直觀、功能多樣、電路簡潔、成本低廉等諸多優(yōu)點(diǎn)符合電子儀器儀表的發(fā)展趨勢具有廣闊的市場前景。1.3 本設(shè)計的任務(wù)和要求 本論文主要研究基于單片機(jī)的電子萬年歷設(shè)計,所設(shè)計的電子萬年歷具備如下功能 1.能顯示年、月、日、星期、時、分、秒。 2.以12h小時計時方式。 3.使用按鍵開關(guān)可實現(xiàn)時分調(diào)整時間與陰、陽歷能夠自動關(guān)聯(lián)。 4.具備年、月、日、星期、時、分、秒校準(zhǔn)功能。5.具備溫度顯示功能。6.具備語音播報當(dāng)前時間溫度溫度 。所做的主要工作如下: 系統(tǒng)硬件電路的設(shè)計 1 單片機(jī)最小應(yīng)用電路的設(shè)計。 2 DS1302時鐘模塊電路的設(shè)計。 3 針對電子萬年歷所設(shè)

12、計的LCD顯示電路。 4 針對電子萬年歷所設(shè)計按鍵電路。 5 DS18B20溫度檢測電路6 語音播報控制電路及播報電路 系統(tǒng)軟件程序的設(shè)計 1 主程序的設(shè)計。2 DS1302時間顯示程序設(shè)計3 DS18B20溫度顯示程序設(shè)計4 語音播報程序設(shè)計1.4 章節(jié)內(nèi)容安排本設(shè)計是以atmel公司的at89S52單片機(jī)為基礎(chǔ),系統(tǒng)的設(shè)計基于單片機(jī)的語音電子鐘。本設(shè)計綜合合了DS1302高精度時鐘芯片,DS18B20數(shù)字溫度檢測芯片,ISD1420語音錄放芯片,設(shè)計出多功能、高精度的語音電子鐘。本設(shè)計的安排如下:1.簡明扼要的闡述本設(shè)計的目的和要求。介紹單片機(jī)的發(fā)展、特點(diǎn)以及目前在國內(nèi)外的應(yīng)用和前景。同時

13、對本設(shè)計的結(jié)構(gòu)進(jìn)行了安排。2.根據(jù)設(shè)計要求結(jié)合單片機(jī)原理提出設(shè)計原理和方案。3.按照設(shè)計方案詳細(xì)規(guī)劃語音電子鐘的硬件設(shè)計,利用繪制各個模塊的電路原理圖。4.在硬件設(shè)計的基礎(chǔ)上,通過深入研究語音電子鐘的功能。畫出各個部分的程序流程圖,然后根據(jù)流程圖編寫源程序。5.進(jìn)行硬件的測試和軟件的調(diào)試。通過集成開發(fā)環(huán)境IDE對編寫的源程序進(jìn)行調(diào)試。6.對全文進(jìn)行總結(jié),并寫出設(shè)計的體會和本設(shè)計的不足。簡單的敘述對本設(shè)計的前景和展望。2 系統(tǒng)功能與元器件選擇 2.1 系統(tǒng)的主要功能 2.1.1時鐘顯示功能 對于時鐘顯示功能需要在液晶上顯示小時、分鐘和秒鐘,以及日期,星期。2.1.2 顯示功能對于本設(shè)計需要顯示時

14、間,日期,溫度,星期,鬧鐘這些內(nèi)容2.1.3 溫度檢測功能檢測時鐘所在空間的環(huán)境溫度2.1.4 報時功能按下報時按鍵后進(jìn)行語音報時2.2 元器件選擇 2.2.1單片機(jī)芯片的選擇 選擇一: 采用89C51芯片作為硬件核心采用Flash ROM內(nèi)部具有4KB ROM 存儲空間,能于3V的超低壓工作,而且與MCS-51系列單片機(jī)完全兼容,但是運(yùn)用于電路設(shè)計中時由于不具ISP在線編程技術(shù), 當(dāng)在對電路進(jìn)行調(diào)試時由于程序的錯誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r對芯片的多次拔插會對芯片造成一定的損壞1。 選擇二: 采用AT89S52,片內(nèi)ROM全都采用Flash ROM能以3V的超底壓工作同時也與MCS

15、-51系列單片機(jī)完全該芯片內(nèi)部存儲器為8KB ROM 存儲空間同樣具有89C51的功能且具有在線編程可擦除技術(shù)當(dāng)在對電路進(jìn)行調(diào)試時由于程序的錯誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r不需要對芯片多次拔插所以不會對芯片造成損壞。 本次設(shè)計由于需要寫入單片機(jī)里的程序比較大,需要更大的ROM 空間,并且需要對程序不斷的修改和寫入。所以選擇采用AT89S52作為主控制系統(tǒng)。2.2.2顯示模塊選擇 選擇一 采用LCD液晶顯示屏,液晶顯示屏的顯示功能強(qiáng)大,可顯示大量文字,圖形,顯示多樣,清晰可見. 選擇二 采用點(diǎn)陣式數(shù)碼管顯示。點(diǎn)陣式數(shù)碼管是由八行八列的發(fā)光二極管組成對于顯示文字比較適合,如采用在顯示數(shù)字顯

16、得太浪費(fèi),且價格也相對較高,所以也不用此種作為顯示. 選擇三 采用LED數(shù)碼管動態(tài)掃描,LED數(shù)碼管價格適中,對于顯示數(shù)字最合適,而且采用動態(tài)掃描法與單片機(jī)連接時,占用的單片機(jī)口線少。 本次電子萬年歷設(shè)計需要顯示的參數(shù)多,數(shù)碼管需要的數(shù)量較多綜合性價比所以采用了LCD液晶顯示屏作為顯示 2.2.3時鐘芯片的選擇 選擇一 直接采用單片機(jī)定時計數(shù)器提供秒信號使用程序?qū)崿F(xiàn)年、月、日、星期、時、分、秒計數(shù)。采用此種方案雖然減少芯片的使用節(jié)約成本,但是實現(xiàn)的時間誤差較大。所以不采用此方案。 選擇二 采用DS1302時鐘芯片實現(xiàn)時鐘。DS1302芯片是一種高性能的時鐘芯片可自動對秒、分、時、日、周、月、年

17、以及閏年補(bǔ)償?shù)哪赀M(jìn)行計數(shù),而且精度高,位的RAM作為數(shù)據(jù)暫存區(qū)工作電壓2.5V5.5V范圍內(nèi)2.5V時耗電小于300nA2。 本次設(shè)計在時間顯示方面需要盡可能的減少誤差與現(xiàn)實時間同步所以在時鐘方面選用了DS1302芯片。2.2.4 溫度檢測功能選擇一 采用帶編碼的數(shù)字時鐘檢測芯片,通過編碼產(chǎn)生數(shù)字信號傳到給單片機(jī),再進(jìn)行顯示。測量精確,穩(wěn)定度高,硬件電路簡單,價格便宜但不適合于極端的共同做環(huán)境。選擇二 用模擬溫度溫度測試原件,個體較大,硬件電路復(fù)雜,價格昂貴,但適合于極端環(huán)境下的使用。本次使用的環(huán)境為一般的生活環(huán)境,在這樣的環(huán)境下數(shù)字測溫芯片就能達(dá)到要求,系統(tǒng)選擇采用DS18B20溫度檢測電路

18、。2.2.5 語音播報功能選擇一 采用現(xiàn)成的語音芯片,進(jìn)行播報設(shè)置,鬧鈴設(shè)置,價格便宜,但個性化差。選擇二 利用錄放芯片,自己進(jìn)行錄制,價格較高,能夠進(jìn)行個性化設(shè)置。由于大多說人喜歡個性化,且價格差別并不是太多,因此選擇語音錄放芯片ISD1402.2.2.6元器件最終確定 綜上各方案所述,對此次作品的方案選定: 采用AT89S52作為主控制系統(tǒng); DS1302提供時鐘;128B20提供溫度;ISD1402提供語音;LCD12864液晶顯示屏作為顯示。3 系統(tǒng)的硬件結(jié)構(gòu)設(shè)計 3.1 總體設(shè)計 電子萬年歷的設(shè)計主要是在硬件電路中顯示時鐘日期文字方面的信息在設(shè)計方面需要用單片機(jī)內(nèi)外部中斷來控制時鐘芯

19、片、液晶顯示芯片。為了能更直觀的顯示、調(diào)節(jié)在本次設(shè)計中加入了5個按鍵,以便能對時間日期進(jìn)行更好的調(diào)整,及報時控制。 硬件電路框圖的設(shè)計主要包括單片機(jī)最小應(yīng)用系統(tǒng)及顯示電路、按鍵電路、DS1302時鐘電路,ISP1402語音電路。單片機(jī)采用AT89S52或其兼容系列。采用12MHz高精度的晶振以獲得較穩(wěn)定時鐘頻率減小測量誤差。時鐘電路是以DS1302作為主控芯片、報時電路用ISP1402作為主控芯片、顯示部分用LCD1602進(jìn)行顯示。 圖3.1 總體設(shè)計框圖 3.2 系統(tǒng)的模塊電路設(shè)計 3.2.1單片機(jī)最小應(yīng)用系統(tǒng)電路 AT89S52是一種低功耗、高性能CMOS 8位微控制器具有8K在系統(tǒng)可編程

20、Flash 存儲器。使用Atmel公司高密度非易失性存儲器技術(shù)制造與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程亦適于常規(guī)編程器。在單片機(jī)芯片上擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。單片機(jī)最小應(yīng)用系統(tǒng)電路包括以下的兩個部分時鐘電路和復(fù)位電路3。 3.3.1.1、 時鐘電路 單片機(jī)的時鐘信號用來提供單片機(jī)片內(nèi)各種微操作的時間基準(zhǔn)時鐘信號通常用兩種電路形式得到:內(nèi)部振蕩和外部振蕩。MCS-51單片機(jī)內(nèi)部有一個用于構(gòu)成振蕩器的高增益反向放大器引腳XTAL1和XTAL2分別是此放大電器

21、的輸入端和輸出端由于采用內(nèi)部方式時電路簡單,所得的時鐘信號比較穩(wěn)定實際使用中常采用這種方式。 圖3.2 單片機(jī)時鐘電路3.2.1.2、 復(fù)位電路 為了初始化單片機(jī)內(nèi)部的某些特殊功能寄存器必須采用復(fù)位的方式。復(fù)位后可使CPU及系統(tǒng)各部件處于確定的初始狀態(tài)并從初始狀態(tài)開始正常工作。單片機(jī)的復(fù)位是靠外電路來實現(xiàn)的。在正常運(yùn)行情況下只要RST引腳上出現(xiàn)兩個機(jī)器周期時間以上的高電平,即可引起系統(tǒng)復(fù)位但如果RST引腳上持續(xù)為高電平。單片機(jī)就處于循環(huán)復(fù)位狀態(tài)。復(fù)位后系統(tǒng)將輸入/輸出(1/0)端口寄存器置為FFH,堆棧指針SP置為07H, SBUF內(nèi)置為不定值,其余的寄存器全部清0,內(nèi)部RAM的狀態(tài)不受復(fù)位的

22、影響,在系統(tǒng)上電時RAM的內(nèi)容是不定的。復(fù)位操作有兩種情況,即上電復(fù)位和手動(開關(guān))復(fù)位。本系統(tǒng)采用手動復(fù)位方式。 圖3.3 單片機(jī)復(fù)位電路 3.2.2 DS1302時鐘模塊設(shè)計 DS1302在每次進(jìn)行讀、寫程序前都必須初始化,先把SCLK端置 “0”、接著把RST端置“1”、最后才給予SCLK脈沖讀/寫時序。對于DS1302的控制字,此控制字的位7必須置1,若為0則不能把對DS1302進(jìn)行讀寫數(shù)據(jù)。對于位6若對程序進(jìn)行讀/寫時RAM=1,對時間進(jìn)行讀/寫時CK=0。位1至位5指操作單元的地址。位0是讀/寫操作位,進(jìn)行讀操作時該位為1,該位為0則表示進(jìn)行的是寫操作??刂谱止?jié)總是從最低位開始輸入

23、/輸出的。對于DS1302的日歷、時間寄存器內(nèi)容“CH”是時鐘暫停標(biāo)志位,當(dāng)該位為1時時鐘振蕩器停止DS1302處于低功耗狀態(tài)當(dāng)該位為0時,時鐘開始運(yùn)行?!癢P”是寫保護(hù)位在任何的對時鐘和RAM的寫操作之前,WP必須為0。當(dāng)“WP”為1時寫保護(hù)位防止對任一寄存器的寫操作。 DS1302的引腳排列其中1腳為后備電源、8腳為主電源。在主電源關(guān)閉的情況下也能保持時鐘的連續(xù)運(yùn)行。DS1302由后備電源或主電源兩者中的較大者供電。當(dāng)主電源大于后備電源0.2V時主電源給DS1302供電。當(dāng)主電源小于后備電源時DS1302由后備電源供電。2腳和3腳是振蕩源外接32.768KHz晶振。5腳是復(fù)位/片選線通過把

24、5腳輸入驅(qū)動置高電平來啟動所有的數(shù)據(jù)傳送。5腳輸入有兩種功能:首先,5腳接通控制邏輯允許地址/命令序列送入移位寄存器;其次5腳提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)5腳為高電平時所有的數(shù)據(jù)傳送被初始化允許對DS1302進(jìn)行操作。如果在傳送過程中5腳置為低電平則會終止此次數(shù)據(jù)傳送6引腳變?yōu)楦咦钁B(tài)。上電動行時在主電源大于等于2.5V之前5腳必須保持低電平。中有在7腳為低電平時才能將5腳置為高電平6腳為串行數(shù)據(jù)輸入端雙向。7腳始終是輸入端。 圖3.4 DS1302時鐘模塊電路 3.2.3 LCD顯示電路 LCD1602最佳工作電壓是在5V左右,有數(shù)據(jù)位8個:接電源端、接地端、數(shù)據(jù)讀寫端、數(shù)據(jù)命令選

25、擇端。在本次設(shè)計中,數(shù)據(jù)端D0-D7是和單片機(jī)的P2口連接?;静僮鲿r序是1.在讀數(shù)據(jù)狀態(tài)時輸入RS=L,RW=H,E=H,寫數(shù)據(jù)時輸入RS=H,RW=L。同時在與單片機(jī)連接運(yùn)行過程中要進(jìn)行上電保護(hù)對其進(jìn)行初始化4。 圖3.5 液晶顯示電路 3.2.4 按鍵電路 在本次設(shè)計中為了能更好的調(diào)整時間日期,在總電路中加入了按鍵電路。主要是用來控制液晶顯示上的時間日期一次完整的按鍵過程包含以下5個階段: 1. 等待階段 此時按鍵尚未按下處于空閑階段。2. 前沿閉合抖動階段此時按鍵剛剛按下,但按鍵信號還處于抖動狀態(tài),這個時間一般為520ms。為了確保按鍵操作不會誤動作此時必須有個前沿消抖動延時。3. 鍵

26、穩(wěn)定階段此時抖動已經(jīng)結(jié)束,一個有效的按鍵動作已經(jīng)產(chǎn)生。系統(tǒng)應(yīng)該在此時執(zhí)行按鍵功能或?qū)存I所對應(yīng)的鍵值記錄下來待按鍵釋放時再執(zhí)行。4. 后沿釋放抖動階段一般來說考究一點(diǎn)的程序應(yīng)該在這里再做一次消抖延時,以防誤動作。但是如果前面“前沿抖動階段”的消抖延時時間取值合適的話可以忽略此階段。5. 按鍵釋放階段此時后沿抖動已經(jīng)結(jié)束按鍵已經(jīng)處于完全釋放狀態(tài)如果按鍵是采用釋放后再執(zhí)行功能則可以在這個階段進(jìn)行按鍵操作的相關(guān)處理。按鍵開關(guān)與單片機(jī)的P3口進(jìn)行連接通過產(chǎn)生外部中斷信號來調(diào)整液晶顯示屏上的日期5。 圖3.6按鍵電路 3.2.5 語音電路 ISD1110/ISD1420系列單片錄放時間8至20秒,音質(zhì)好

27、。芯片采用CMOS技術(shù),內(nèi)含震蕩器、話筒前置放大、自動增益控制、防混淆濾波器、平滑濾波器、揚(yáng)聲器驅(qū)動及EEPROM陣列。最小的錄放系統(tǒng)僅需麥克風(fēng)、喇叭、兩個按鈕、電源及少數(shù)電阻電容。在錄放操作結(jié)束后,芯片自動進(jìn)入低功耗節(jié)電模式、功耗僅0.5uA。 ISD1420有唯一的錄音控制和邊緣電平觸發(fā)兩種放音控制。不分段時外圍線路最簡,也可按最小段長為單位任意組合分。該芯片操作模式為:ISD1110/ISD1420系列內(nèi)置了若了干操作模式,可用最少的外圍器件實現(xiàn)最多的勸能。操作模式也由地址端控制;當(dāng)A7和A6都為1時,其它地址端置高就選擇某個(或某幾個)模式。因為操作模式和直接尋址互相排斥。操作模式可由

28、微控制器,也可由硬件實現(xiàn)。使用操作模式有兩點(diǎn)注意: 圖3.7 語音電路所有操作最初都是從0地址,即存儲空間的起始端開始。后續(xù)操作根據(jù)所選用的模式可從其它的地址開始。此外,A4模式中,當(dāng)電路由錄轉(zhuǎn)為放時地址計數(shù)器復(fù)位為0,而由放轉(zhuǎn)為錄則不復(fù)位。(2)當(dāng)控制信號(/PLAYL、/PLAYE或/REC)變低,同時A6和A7為高時,執(zhí)行操作模式。這種操作模式一直有效,除非控制信號再次由高變低,芯片重新鎖存當(dāng)前的地址模式端電平,然后執(zhí)行相應(yīng)操作。 3.3 電子萬年歷的硬件電路設(shè)計 本系統(tǒng)的特點(diǎn)是利用單片機(jī)控制DS1302的電子萬年歷的設(shè)計單片機(jī)選用AT89s52經(jīng)濟(jì)易用且片內(nèi)有8K的ROM便于編程。 硬

29、件系統(tǒng)電路主要由單片機(jī)系統(tǒng)及DS1302時鐘模塊電路組成。采用AT89S52來實現(xiàn)對DS1302時鐘芯片模塊的控制。電路原理圖如圖所示6。 圖3.6 電子萬年歷電路原理圖 4 系統(tǒng)軟件的設(shè)計 由于本設(shè)計的功能要求,運(yùn)用的模塊較多,程序設(shè)計較為復(fù)雜,因此在這里只進(jìn)行對程序的說明,具體程序添加在附錄1中。4.1 主程序流程圖 有于本電路中需要實現(xiàn)的功能比較多,必須進(jìn)行模塊化的程序編寫。因而主程序中主要是對各種子程序的初始化操作,以及對各種子程序功能的調(diào)用操作。主程序?qū)崿F(xiàn)的具體功能與實現(xiàn)方式見下圖,具體程序在附錄1中。 4.2 時鐘電路流程圖本設(shè)計運(yùn)用了DS1302時鐘芯片,因此不需要再再單片機(jī)程序

30、中編寫時鐘程序了,只需對DS1302進(jìn)行一定的初始化,及對其產(chǎn)生的時間進(jìn)行讀取,及有時需要的調(diào)整即可。 圖4.2 DS18B20子流程圖4.3 語音電路子程序語音電路主要用于當(dāng)按鍵按下時,輸出所錄制好的報時與溫度語音。 4.3 語音電路程序流圖4.4 按鍵電路子程序按鍵主要用于人機(jī)界面的輸入,按鍵子程序主要用于按鍵的檢測。由于綜合考慮按鍵硬件去抖動成本要比軟件去抖動成本高很多。因此電路采用軟件去抖。其過程為:掃描按鍵,去抖延時,再檢測,執(zhí)行對應(yīng)程序。 4.5 溫度檢測電路DS18B20的工作流程是,初始化ROM操作指令存儲器操作指令數(shù)據(jù)傳輸。其工作時序包括:初始化時序、寫時序和讀時序。開始DS

31、18B20初始化讀字節(jié)寫字節(jié)DS18B20初始化讀取溫度 圖3.3 DS18B20子流程圖4.6 顯示電路子程序LCD液晶顯示程序分為液晶初始化、讀忙、寫指令和寫數(shù)據(jù)操作,液晶顯示器是一塊慢器件,所以在執(zhí)行每條指令之前必須確定模塊忙標(biāo)志為低電平(不忙),否側(cè)此指令無效。LCD初始化LCD是否為忙?YN單片機(jī)向LCD寫命令單片機(jī)向LCD寫數(shù)據(jù)顯示數(shù)據(jù)結(jié)束圖3.4 LCD顯示程序流程圖5 軟硬件調(diào)試 5.1 軟件調(diào)試 5.1.1、調(diào)試主程序 主程序運(yùn)行后在無任何按鍵輸入時觀察有無顯示液晶顯示屏是否工作其時、分、秒顯示的變化過程是否正確。若運(yùn)行結(jié)果不正確首先應(yīng)根據(jù)程序運(yùn)行的實際現(xiàn)象分析判斷哪些因素可

32、引起相關(guān)故障再通過調(diào)試方法逐一認(rèn)證和排除。例如若定時/計數(shù)器的初始化出錯,則時鐘將不能工作若顯示程序出錯則將不能正確顯示時鐘單元內(nèi)容若定時/計數(shù)器中斷服務(wù)子程序出錯則其顯示數(shù)據(jù)的變化規(guī)律將不正常10。 5.1.2、調(diào)試子程序 在調(diào)試主程序時必然要調(diào)用相關(guān)的功能子程序。因此首先應(yīng)明確子程序的具體功能通過對子程序的分析確定子程序的入口、出口參數(shù)及相關(guān)標(biāo)識位的狀態(tài)然后在滿足入口條件的狀態(tài)下設(shè)法檢查從主程序進(jìn)入子程序,再由子程序返回到主程序的運(yùn)行過程??刹捎酶欉\(yùn)行或運(yùn)行至光標(biāo)處的方法檢查從主程序進(jìn)入子程序內(nèi)部的運(yùn)行過程,再通過單步運(yùn)行等方法檢查子程序內(nèi)部的運(yùn)行情況和返回主程序的過程11。 5.2 硬

33、件調(diào)試 檢查電路連接是否正確特別是電源的正負(fù)極、按鍵開關(guān)電路、LCD1602顯示電路、芯片程序是否燒寫入芯片等等。硬件仿真如如圖5.1所示。通過反復(fù)調(diào)試發(fā)現(xiàn)并排除軟件與硬件存在的各類問題以滿足系統(tǒng)設(shè)計的預(yù)期目的12。 6.總結(jié)與展望本設(shè)計是基于單機(jī)控制的電子萬年歷系統(tǒng)的成本較低但實用價值很高而且采用的技術(shù)較為穩(wěn)定而且成熟,從而可以保證系統(tǒng)的穩(wěn)定性另外系統(tǒng)應(yīng)用要求不是很高環(huán)境的適應(yīng)能力強(qiáng)。本應(yīng)用系統(tǒng)設(shè)計的目的是通過在“單片機(jī)原理及應(yīng)用”課堂上學(xué)習(xí)的知識以及查閱資料培養(yǎng)一種自學(xué)的能力。并且引導(dǎo)一種創(chuàng)新的思維把學(xué)到的知識應(yīng)用到日常生活當(dāng)中。在設(shè)計的過程中不斷的學(xué)習(xí)思考和同學(xué)間的相互討論運(yùn)用科學(xué)的分析

34、問題的方法解決遇到的困難掌握單片機(jī)系統(tǒng)一般的開發(fā)流程學(xué)會對常見問題的處理方法,積累設(shè)計系統(tǒng)的經(jīng)驗充分發(fā)揮教學(xué)與實踐的結(jié)合。全能提高個人系統(tǒng)開發(fā)的綜合能力、開拓了思維。為今后能在相應(yīng)工作崗位上的工作打下了堅實的基礎(chǔ)。 經(jīng)過一個學(xué)期的學(xué)習(xí)和研究本人對這個課題有了比較全面的了解對自動控制系統(tǒng)及單片機(jī)軟件有較深入的認(rèn)識,但由于時間和個人知識背景所限系統(tǒng)仍然存在不足之處有待改進(jìn)。 參考文獻(xiàn) 1 張鑫,華臻,陳書謙.單片機(jī)原理及應(yīng)用M.電子工業(yè)出版社,2005.8第1次印刷 2 邢慶翠,王式龍,張乾.多功能數(shù)字時鐘R.曲阜師范大學(xué),2004 3 陳國平.MCS-51系列單片機(jī)系統(tǒng)原理與設(shè)計電子技術(shù)應(yīng)用M.

35、冶金工業(yè)出版社2003.6 4 吳金戌.液晶顯示器的原理與應(yīng)用M.清華大學(xué)出版社,2002 5 夏路易,石宗義.電路原理圖與電路板設(shè)計教程M.北京希望電子工業(yè)出版社,2002 6 何希才.集成電路及其應(yīng)用實例M.科學(xué)出版社,1998.2 7 馬忠梅,張凱.單片機(jī)的C語言應(yīng)用程序設(shè)計M.北京:航空航天大學(xué)出版社,2007.1 8 劉文濤.基于C51語言編程的MCS-51單片機(jī)實用教程M.原子能出版社,2004.9 9 基于匯編語言的單片機(jī)的設(shè)計(簡易電子鐘設(shè)計)C.2007.6.26 10 付家才.單片機(jī)控制工程實踐技術(shù)M.北京:化學(xué)工業(yè)出版社,2004.3 11 李光才,樓然笛.單片機(jī)課程設(shè)計

36、 實例指導(dǎo)M.北京:北京航空航天大學(xué)出版社,2004 12 朱定華.單片機(jī)原理及接口技術(shù)實驗M.北京:北方交通大學(xué)出版社,2003 附 錄 附錄1 源程序 1.主程序#include#define uchar unsigned char#define uint unsigned intuchar num=0;uchar shi,fen,miao,nian,yue,ri,week;uchar shi1,fen1,miao1,naozhong;uchar code table=:-.= ;uchar code table1=年月日溫度鬧鈴開關(guān);uchar dispbuf9=0,0,0,0,0;/

37、顯示數(shù)據(jù)暫存uchar code voice_add=0 x00,0 x04,0 x08,0 x0c,0 x10,0 x14,0 x18,0 x1c,0 x20,0 x24,0 x28,0 x2c,0 x30,0 x34,0 x38,0 x40,0 x4c,0 x6c;/地址數(shù)組 09十,點(diǎn),整,溫度,攝氏度,現(xiàn)在時刻,公雞叫uchar code xingqi1= 星期一;uchar code xingqi2= 星期二;uchar code xingqi3= 星期叁;uchar code xingqi4= 星期四;uchar code xingqi5= 星期五;uchar code xingq

38、i6= 星期六;uchar code xingqi7= 星期日; uchar code TIME_SET= 時鐘設(shè)置;uchar code ALARM_SET= 鬧鐘設(shè)置;/*標(biāo)示位定義*/uchar KEY_DIS_Change_Flog=0; /切換顯示標(biāo)示位uchar KEY_SET_Flog=0; /設(shè)置標(biāo)示位uchar Dis_Timer_num=0; /設(shè)置時顯示計數(shù)bit Set_Dis_Flog=0; /設(shè)置顯示標(biāo)示位bit ALARM_Flog=0; /鬧鈴開關(guān)標(biāo)示位bit VOICE_Flog=0; /語音播報標(biāo)示位/*延時子程序*/void Delay_1ms(unsig

39、ned int xms)unsigned int i,j;for(i=xms;i0;i-)for(j=122;j0;j-);#includeDS1302.H#includeDS18B20.H#include12864.h#includekey.h#includedisplay.hvoid VOICE_Delay(unsigned char xms)unsigned char i;for(i=xms;i0;i-)display();Read_18B20_Temperature();#includeVOICE.Hvoid ALARM_CLOCK()if(naozhong)if(shi=shi1&f

40、en=fen1)P1=voice_add16; /公雞叫PLAYEN=0;Delay_1ms(3);PLAYEN=1;VOICE_Delay(2);/*主程序*/main()INIT_DS1302();Read_18B20_Temperature();Delay_1ms(10);TMOD=0 x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=0;LCD_init(); /液晶初始化 init_12864(); while(1) display(); keyscan(); Read_18B20_Temperature()

41、; voice(); ALARM_CLOCK(); void T0_time() interrupt 1TH0=(65536-50000)/256;TL0=(65536-50000)%256;Dis_Timer_num+;語音播放子程序sbit PLAYEN=P30;void voice()if(VOICE_Flog)VOICE_Flog=0;P1=voice_add15;/現(xiàn)在時刻PLAYEN=0;Delay_1ms(3);PLAYEN=1;VOICE_Delay(2);if(shi/10=2)P1=voice_add2; /2PLAYEN=0;Delay_1ms(3);PLAYEN=1;V

42、OICE_Delay(1);P1=voice_add10; /十PLAYEN=0;Delay_1ms(3);PLAYEN=1;VOICE_Delay(1);if(shi/10=1)P1=voice_add10; /十PLAYEN=0;Delay_1ms(3);PLAYEN=1;VOICE_Delay(1);if(shi%100) P1=voice_addshi%10; PLAYEN=0;Delay_1ms(3);PLAYEN=1;VOICE_Delay(1);P1=voice_add11; /點(diǎn)PLAYEN=0;Delay_1ms(3);PLAYEN=1;VOICE_Delay(1);if(f

43、en=0)P1=voice_add12; /整PLAYEN=0;Delay_1ms(3);PLAYEN=1;VOICE_Delay(1);elseif(fen/101) P1=voice_addfen/10; PLAYEN=0;Delay_1ms(3);PLAYEN=1;VOICE_Delay(1);P1=voice_add10; /十PLAYEN=0;Delay_1ms(3);PLAYEN=1;VOICE_Delay(1);if(fen/10=1)P1=voice_add10; /十PLAYEN=0;Delay_1ms(3);PLAYEN=1;VOICE_Delay(1);if(fen/10

44、=0)P1=voice_add0; /零PLAYEN=0;Delay_1ms(3);PLAYEN=1;VOICE_Delay(1);if(fen%100)P1=voice_addfen%10; PLAYEN=0;Delay_1ms(3);PLAYEN=1;VOICE_Delay(1);P1=voice_add13; /溫度PLAYEN=0;Delay_1ms(3);PLAYEN=1;VOICE_Delay(2);if(dispbuf21)P1=voice_adddispbuf2; /PLAYEN=0;Delay_1ms(3);PLAYEN=1;VOICE_Delay(1);if(dispbuf

45、20)P1=voice_add10; / 十PLAYEN=0;Delay_1ms(3);PLAYEN=1;VOICE_Delay(1);P1=voice_adddispbuf1; /PLAYEN=0;Delay_1ms(3);PLAYEN=1;VOICE_Delay(1);P1=voice_add11; /點(diǎn)PLAYEN=0;Delay_1ms(3);PLAYEN=1;VOICE_Delay(1);P1=voice_adddispbuf0; /PLAYEN=0;Delay_1ms(3);PLAYEN=1;VOICE_Delay(1);P1=voice_add14; /攝氏度PLAYEN=0;D

46、elay_1ms(3);PLAYEN=1;VOICE_Delay(2);DS18B20溫度讀取程序#define uchar unsigned char#define uint unsigned intsbit DS18B20_DQ=P20;uchar data DS18B20_Temp_data4=0 x00,0 x00,0 x00,0 x00; /儲存溫度值得數(shù)組uchar code DS18B20_TEM_Deccode16=0 x00,0 x01,0 x01,0 x02,0 x03,0 x03,0 x04,0 x04,/溫度小數(shù)位查表數(shù)組 0 x05,0 x06,0 x06,0 x07

47、,0 x08,0 x08,0 x09,0 x09;uint DS18B20_Change_Time=0;/不同溫度傳感器采集溫度的切換時間bit DS18B20_Presence;/18b20復(fù)位成功標(biāo)示位 =0 成功 =1 失敗void Delay_6us(uchar xus)/6*xus+11us的延時時間(經(jīng)仿真得到的) while(xus-);void DS18B20_RESET() /復(fù)位 DS18B20_DQ=1;Delay_6us(2);DS18B20_DQ=0;Delay_6us(80); /至少480us的低電平信號DS18B20_DQ=1; /拉高等待接收18b20的存在脈

48、沖信號Delay_6us(10);DS18B20_Presence=DS18B20_DQ;Delay_6us(40);DS18B20_DQ=1; /拉高使總線在空閑狀態(tài)void Write_DS18B20_OneChar(uchar dat) /寫一個字節(jié)uchar i=0;for(i=8;i0;i-)DS18B20_DQ=0;DS18B20_DQ=dat&0 x01;Delay_6us(5);DS18B20_DQ=1;dat=1;uchar Read_DS18B20_OneChar()/讀一個字節(jié)uchar dat=0;uchar i=0;for(i=8;i0;i-)DS18B20_DQ=0

49、;dat=1;DS18B20_DQ=1;if(DS18B20_DQ)dat|=0 x80;Delay_6us(4);return dat;void Read_18B20_Temperature()DS18B20_RESET();/復(fù)位18B20if(!DS18B20_Presence)/復(fù)位成功Write_DS18B20_OneChar(0XCC);/跳過讀序列號Write_DS18B20_OneChar(0X44);/啟動溫度轉(zhuǎn)換Delay_6us(82);/等待溫度轉(zhuǎn)換時間500us左右DS18B20_RESET();/復(fù)位18B20Write_DS18B20_OneChar(0XCC);

50、/跳過讀序列號Write_DS18B20_OneChar(0XBE);DS18B20_Temp_data0=Read_DS18B20_OneChar(); /Temperature LSBDS18B20_Temp_data1=Read_DS18B20_OneChar(); /Temperature MSB顯示子程序#define uchar unsigned char#define uint unsigned intvoid display1() /顯示1 顯示日期、時間、溫度、鬧鈴開關(guān)uchar i;dispbuf0=DS18B20_TEM_DeccodeDS18B20_Temp_data0

51、&0 x0f;/小數(shù)位dispbuf4=(DS18B20_Temp_data1&0 x0f)4);/取出溫度值得整數(shù)位dispbuf3=dispbuf4/100;dispbuf2=dispbuf4%100/10;dispbuf1=dispbuf4%10; /*第一行年月日顯示*/LCD_pos(0,1);write_dat(table2);write_dat(table0);LCD_pos(0,2);write_dat(tablenian/10);write_dat(tablenian%10);LCD_pos(0,3); /年write_dat(table10);write_dat(table

52、11);LCD_pos(0,4);write_dat(tableyue/10);write_dat(tableyue%10);LCD_pos(0,5); /月write_dat(table12);write_dat(table13);LCD_pos(0,6);write_dat(tableri/10);write_dat(tableri%10); LCD_pos(0,7); /日write_dat(table14);write_dat(table15);/*第二行時分秒顯示*/LCD_pos(1,2);write_dat(tableshi/10);write_dat(tableshi%10);

53、LCD_pos(1,3);write_dat(table10);write_dat(tablefen/10);LCD_pos(1,4);write_dat(tablefen%10);write_dat(table10);LCD_pos(1,5);write_dat(tablemiao/10);write_dat(tablemiao%10);/*第三行星期顯示*/LCD_pos(2,0); switch(week) case 1:LCD_pos(2,0); i=0; while(xingqi1i!=0) write_dat(xingqi1i);/顯示字符i+; break; case 2:LCD

54、_pos(2,0);i=0; while(xingqi2i!=0) write_dat(xingqi2i);/顯示字符 i+; break; case 3:LCD_pos(2,0);i=0;while(xingqi3i!=0) write_dat(xingqi3i);/顯示字符 i+; break; case 4:LCD_pos(2,0);i=0;while(xingqi4i!=0) write_dat(xingqi4i);/顯示字符 i+; break; case 5:LCD_pos(2,0);i=0;while(xingqi5i!=0) write_dat(xingqi5i);/顯示字符

55、i+; break; case 6:LCD_pos(2,0);i=0;while(xingqi6i!=0) write_dat(xingqi6i);/顯示字符 i+; break; case 7:LCD_pos(2,0);i=0;while(xingqi7i!=0) write_dat(xingqi7i);/顯示字符 i+; break; default: break; /*第四行星期顯示*/LCD_pos(3,0); /溫write_dat(table16);write_dat(table17);LCD_pos(3,1); /度write_dat(table18);write_dat(tab

56、le19);LCD_pos(3,2); write_dat(tabledispbuf2);write_dat(tabledispbuf1);LCD_pos(3,3); write_dat(table12); /.write_dat(tabledispbuf0);LCD_pos(3,4); write_dat(table118);/write_dat(table119);LCD_pos(3,5); write_dat(table110);/鬧write_dat(table111);LCD_pos(3,6); write_dat(table112);/鬧write_dat(table113);LC

57、D_pos(3,7);if(naozhong)write_dat(table114);write_dat(table115);/開 elsewrite_dat(table116);write_dat(table117);/關(guān)void display2() /顯示2 時鐘設(shè)置uchar i; /*第一行時鐘設(shè)置*/LCD_pos(0,0);i=0;while(TIME_SETi!=0)write_dat(TIME_SETi);/顯示字符鬧鐘設(shè)置i+;/*第二行年月日設(shè)置*/LCD_pos(1,1);write_dat(table2);write_dat(table0);LCD_pos(1,2);

58、if(Set_Dis_Flog&KEY_SET_Flog=0)write_dat(table14);write_dat(table14);elsewrite_dat(tablenian/10);write_dat(tablenian%10);LCD_pos(1,3); /年write_dat(table10);write_dat(table11);LCD_pos(1,4);if(Set_Dis_Flog&KEY_SET_Flog=1)write_dat(table14);write_dat(table14);elsewrite_dat(tableyue/10);write_dat(tabley

59、ue%10);LCD_pos(1,5); /月write_dat(table12);write_dat(table13);LCD_pos(1,6);if(Set_Dis_Flog&KEY_SET_Flog=2)write_dat(table14);write_dat(table14);elsewrite_dat(tableri/10);write_dat(tableri%10); LCD_pos(1,7); /日write_dat(table14);write_dat(table15);/*第三行時間設(shè)置*/LCD_pos(2,2);if(Set_Dis_Flog&KEY_SET_Flog=3

60、)write_dat(table14);write_dat(table14);elsewrite_dat(tableshi/10);write_dat(tableshi%10);LCD_pos(2,3);write_dat(table10);if(Set_Dis_Flog&KEY_SET_Flog=4)write_dat(table14);elsewrite_dat(tablefen/10);LCD_pos(2,4);if(Set_Dis_Flog&KEY_SET_Flog=4)write_dat(table14);elsewrite_dat(tablefen%10);write_dat(ta

溫馨提示

  • 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

提交評論