基于單片機(jī)的數(shù)字時(shí)鐘_第1頁(yè)
基于單片機(jī)的數(shù)字時(shí)鐘_第2頁(yè)
基于單片機(jī)的數(shù)字時(shí)鐘_第3頁(yè)
基于單片機(jī)的數(shù)字時(shí)鐘_第4頁(yè)
基于單片機(jī)的數(shù)字時(shí)鐘_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

目錄引言 引言1.課題的背景與意義近年來(lái),隨著電子產(chǎn)品的發(fā)展,隨著社會(huì)競(jìng)爭(zhēng)的激烈,人們對(duì)數(shù)字時(shí)鐘的要求越來(lái)越高。時(shí)間對(duì)人們來(lái)說(shuō)總是那么寶貴,工作的忙碌性和繁雜性容易使人忘記當(dāng)前的時(shí)間,忘記了要做的事情,當(dāng)事情不是很重要的時(shí)候,這種遺忘無(wú)傷大雅。但是,一旦重要事情,一時(shí)的耽誤可能釀成大禍。因此從人們的日常生活到工廠的自動(dòng)控制,從民用時(shí)鐘到科學(xué)發(fā)展所需的時(shí)鐘,現(xiàn)代人對(duì)時(shí)間的精度和觀察時(shí)間的方便有了越來(lái)越多的需求。人們要求隨時(shí)隨地都能快速準(zhǔn)確的知道時(shí)間,并且要求時(shí)鐘能夠更直觀、更可靠、價(jià)格更便宜。這種要求催生了新型時(shí)鐘的產(chǎn)生。除此之外,由于對(duì)社會(huì)責(zé)任的更多承擔(dān),人們要求所設(shè)計(jì)的產(chǎn)品能夠產(chǎn)生盡量少的垃圾、能夠消耗盡量少的能量。因此人們對(duì)時(shí)鐘的又有了體積小、功耗低的要求。傳統(tǒng)的機(jī)械表由于做工的高精細(xì)要求,造價(jià)的昂貴,材料的限制,時(shí)間指示精度的限制,使用壽命方面,以及其它方面的限制,已不能滿足人們的需求。另外,近些年隨著科技的發(fā)展和社會(huì)的進(jìn)步,人們對(duì)時(shí)鐘的要求也越來(lái)越高,而使得新型電子鐘表成了大勢(shì)所趨。20世紀(jì)末,電子技術(shù)獲得了飛速的發(fā)展,在其推動(dòng)下微機(jī)開(kāi)始向社會(huì)各個(gè)領(lǐng)域滲透同時(shí)大規(guī)模集成電路獲得了高速發(fā)展,單片機(jī)的應(yīng)用正在不斷地走向深入,由于它具有功能強(qiáng),體積小,功耗低,價(jià)格便宜,工作可靠,使用方便等特點(diǎn),因此特別適合于與控制有關(guān)的系統(tǒng),越來(lái)越廣泛地應(yīng)用于自動(dòng)控制,智能化儀器,儀表,數(shù)據(jù)采集,軍工產(chǎn)品以及家用電器等各個(gè)領(lǐng)域,單片機(jī)往往是作為一個(gè)核心部件來(lái)使用,在根據(jù)具體硬件結(jié)構(gòu),以及針對(duì)具體應(yīng)用對(duì)象特點(diǎn)的軟件結(jié)合,以作完善。另外單片機(jī)應(yīng)用的重要意義還在于,它從根本上改變了傳統(tǒng)的控制系統(tǒng)設(shè)計(jì)思想和設(shè)計(jì)方法。從前必須由模擬電路或數(shù)字電路實(shí)現(xiàn)的大部分功能,現(xiàn)在已能用單片機(jī)通過(guò)軟件方法來(lái)實(shí)現(xiàn)了。這種軟件代替硬件的控制技術(shù)也稱為微控制技術(shù),是傳統(tǒng)控制技術(shù)的一次革命。單片機(jī)模塊中最常見(jiàn)的是數(shù)字鐘,數(shù)字鐘是一種用數(shù)字電路技術(shù)實(shí)現(xiàn)時(shí)、分、秒計(jì)時(shí)的裝置,與機(jī)械式時(shí)鐘相比具有更高的準(zhǔn)確性和直觀性,且無(wú)機(jī)械裝置,具有更更長(zhǎng)的使用壽命,因此得到了廣泛的使用。這正符合了現(xiàn)代時(shí)鐘的設(shè)計(jì)要求。另一方面,電子技術(shù)的告訴發(fā)展,有力地推動(dòng)了社會(huì)生產(chǎn)力的發(fā)展和社會(huì)信息化程度的提高,這些使時(shí)間顯得更加寶貴,從時(shí)間就是生命,時(shí)間就是效率這些名言警句中就能看出。數(shù)字鐘是采用數(shù)字電路實(shí)現(xiàn)對(duì).時(shí),分,秒.數(shù)字顯示的計(jì)時(shí)裝置,廣泛用于個(gè)人家庭,車站,碼頭辦公室等公共場(chǎng)所,成為人們?nèi)粘I钪胁豢缮俚谋匦杵?由于數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得數(shù)字鐘的精度,遠(yuǎn)遠(yuǎn)超過(guò)老式鐘表,鐘表的數(shù)字化給人們生產(chǎn)生活帶來(lái)了極大的方便,而且大大地?cái)U(kuò)展了鐘表原先的報(bào)時(shí)功能。諸如定時(shí)自動(dòng)報(bào)警、按時(shí)自動(dòng)打鈴、時(shí)間程序自動(dòng)控制、定時(shí)廣播、自動(dòng)起閉路燈、定時(shí)開(kāi)關(guān)烘箱、通斷動(dòng)力設(shè)備、甚至各種定時(shí)電氣的自動(dòng)啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此,研究數(shù)字時(shí)鐘及擴(kuò)大其應(yīng)用,有著非?,F(xiàn)實(shí)的意義。因此本論文所做的數(shù)字時(shí)鐘采用了以單片機(jī)(STC89C51)為核心,結(jié)合相關(guān)的外圍元器件例如液晶顯示、按鍵電路、復(fù)位電路、報(bào)警電路,再配以相應(yīng)的軟件,達(dá)到制作簡(jiǎn)易數(shù)字鐘的目的,能實(shí)現(xiàn)實(shí)時(shí)時(shí)鐘顯示的功能,能進(jìn)行年、月、日、時(shí)、分、秒和實(shí)時(shí)溫度的顯示,并且有遠(yuǎn)程通信功能。其硬件部分難點(diǎn)在于元器件的選擇、布局及焊接。2.課題任務(wù)與設(shè)計(jì)思路時(shí)間是兩時(shí)刻之間的時(shí)刻間隔,是一種最基本的環(huán)境參數(shù),人門(mén)的生活與時(shí)間息息相關(guān),在工業(yè)生產(chǎn)過(guò)程中需要實(shí)時(shí)地觀察時(shí)間,設(shè)定時(shí)間,因此研究時(shí)間的測(cè)量方法和設(shè)計(jì)測(cè)量裝置具有重要的意義。鑒于時(shí)間使用的普遍性和重要性,本課題選用時(shí)間作為實(shí)時(shí)監(jiān)測(cè)的參量。本課題設(shè)計(jì)單片機(jī)與時(shí)鐘芯片相結(jié)合的電路,實(shí)現(xiàn)實(shí)時(shí)顯示時(shí)間,并能夠進(jìn)行遠(yuǎn)程通信,實(shí)現(xiàn)數(shù)據(jù)與電腦的交換。按照課題的要求,初步確定設(shè)計(jì)系統(tǒng)由主控模塊、時(shí)鐘模塊、顯示模塊、鍵掃描電路模塊共4個(gè)模塊組成。設(shè)計(jì)采STC89系列單片機(jī),以匯編語(yǔ)言為程序設(shè)計(jì)的基礎(chǔ),設(shè)計(jì)出用液晶顯示年、月、日、周、時(shí)、分、秒的時(shí)鐘。第1章時(shí)間計(jì)時(shí)原理單片機(jī)的接口信號(hào)是數(shù)字信號(hào)。要想用單片機(jī)獲取時(shí)間這類非電信號(hào)的信息,必須使用時(shí)間芯片,將時(shí)間信息轉(zhuǎn)換為電流或電壓輸出。如果轉(zhuǎn)換后的電流或電壓輸出是模擬信號(hào),還必須進(jìn)行A/D轉(zhuǎn)換,以滿足單片機(jī)接口的需要。如果是數(shù)字信號(hào)就可以直接送往單片機(jī)進(jìn)行數(shù)據(jù)處理。1.1時(shí)鐘計(jì)時(shí)的方案選擇方案一:比較傳統(tǒng)的基于單片機(jī)的時(shí)鐘設(shè)計(jì)可以采用單片機(jī)內(nèi)部的晶振來(lái)產(chǎn)生脈沖,然后通過(guò)單片機(jī)內(nèi)部的計(jì)時(shí)器經(jīng)過(guò)分頻產(chǎn)生秒脈沖,然后通過(guò)軟件編程來(lái)實(shí)現(xiàn)時(shí)鐘的顯示,這種設(shè)計(jì)方案的優(yōu)點(diǎn)是外圍器件少,電路簡(jiǎn)單清晰,電路焊接容易,出問(wèn)題的故障幾率小。但是這種方案需由軟件編程來(lái)實(shí)現(xiàn)秒脈沖的產(chǎn)生,編程相對(duì)來(lái)說(shuō)比較復(fù)雜,而且也不利于排故。另外由單片機(jī)內(nèi)部時(shí)鐘產(chǎn)生的秒脈沖由于受到溫漂的影響和程序執(zhí)行時(shí)的延時(shí)的影響,而使的計(jì)時(shí)會(huì)產(chǎn)生不定的誤差,即使設(shè)計(jì)時(shí)間誤差補(bǔ)償程序也很難實(shí)現(xiàn)提供準(zhǔn)確時(shí)間的功能。另外,這種電路設(shè)計(jì)方案的另外一個(gè)設(shè)計(jì)要求就是晶振的選擇要求晶振的振蕩頻率必須通過(guò)分頻得到秒脈沖。這種設(shè)計(jì)還有一個(gè)非常大的缺點(diǎn)就是如果單片機(jī)斷電,時(shí)間計(jì)時(shí)就停止,再次上電時(shí)又從初始設(shè)定重新計(jì)時(shí),這樣就需要在每次上電都調(diào)整時(shí)間,比較麻煩。方案二:在傳統(tǒng)的基于單片機(jī)的數(shù)字時(shí)鐘設(shè)計(jì)的基礎(chǔ)上經(jīng)過(guò)一些改進(jìn),引入12887時(shí)間芯片,將電路的控制部分和計(jì)時(shí)部分分開(kāi),電路的控制部分為單片機(jī),計(jì)時(shí)部分為12887時(shí)間芯片。12887芯片是獨(dú)立計(jì)時(shí),并且具有掉電保護(hù)功能,內(nèi)部自帶鋰電池,能夠在斷電的情況下繼續(xù)計(jì)時(shí),主電路恢復(fù)供電之后能夠不必調(diào)整時(shí)間,為時(shí)鐘的日常操作省去了很大的麻煩,而且這種設(shè)計(jì)更節(jié)能,在需要觀察時(shí)間的時(shí)候比如白天就可以給主電路通電。而在夜晚不需要觀察時(shí)鐘的時(shí)候就可以給主電路斷電,這樣可以節(jié)約大量能量。時(shí)間芯片12887采用了內(nèi)部集成晶振的電路,并且具有內(nèi)部溫漂補(bǔ)償電路設(shè)計(jì)。能夠準(zhǔn)確計(jì)時(shí),提供精確的時(shí)間,這樣就簡(jiǎn)化了電路的器件選擇,另外也使程序的設(shè)計(jì)更加簡(jiǎn)潔。在硬件設(shè)計(jì)方面,由于只增加了一個(gè)12887時(shí)間芯片,因此并不是特別復(fù)雜,而且這種獨(dú)立計(jì)時(shí)的設(shè)計(jì)使得產(chǎn)品排故更加方便。比較上述兩種方案可以看出,第二種方案計(jì)時(shí)更加準(zhǔn)確而且電路硬件設(shè)計(jì)先對(duì)來(lái)說(shuō)并不復(fù)雜,軟件設(shè)計(jì)更加簡(jiǎn)潔,因此采用第二種方案。1.2時(shí)鐘顯示的方案選擇方案一:時(shí)鐘的顯示可以用多位七段LED數(shù)碼管顯示,七段LED數(shù)碼管顯示耗能多,而且顯示位數(shù)有限,每增加一位都要在程序設(shè)計(jì)和硬件設(shè)計(jì)方面增加很多的工作量,不利于電路的擴(kuò)展,而且無(wú)法顯示年、月、日、星期這些漢字,使得顯示不夠直觀,靈活。但是這種設(shè)計(jì)方案在顯示位數(shù)比較少時(shí)性價(jià)比比較高,價(jià)格便宜,方案二:采用點(diǎn)陣式數(shù)碼管顯示。點(diǎn)陣式數(shù)碼管是由八行八列的發(fā)光二極管組成,對(duì)于顯示文字比較適合,而在本課題設(shè)計(jì)中的顯示數(shù)字較多字符較少,而且此種方案耗能多,不符合現(xiàn)代的節(jié)能理念,所以不用此種作為顯示。方案三:采用LCD液晶顯示器顯示。而LCD液晶顯示則耗能少,能夠顯示年、月、日、星期等漢字,在顯示方面更加靈活,而且改變顯示時(shí)只要改變軟件設(shè)計(jì)就可以,不用改變硬件電路的設(shè)計(jì),易于電路的功能擴(kuò)展。電路的軟件設(shè)計(jì)也很簡(jiǎn)單。另外,這種設(shè)計(jì)硬件更加簡(jiǎn)潔。采用LCD液晶顯示方案的缺點(diǎn)是在顯示位數(shù)比較少時(shí),價(jià)格略顯昂貴。比較上述兩種方案可以看出方案二耗能少,顯示靈活,易于電路擴(kuò)展而且不管是軟件設(shè)計(jì)還是硬件設(shè)計(jì)都比較簡(jiǎn)單,因此采用第二種設(shè)計(jì)方案。綜上所述,本設(shè)計(jì)采用獨(dú)立計(jì)時(shí),引入時(shí)鐘日歷芯片12887的設(shè)計(jì)方案,顯示使用LCD液晶顯示。第2章系統(tǒng)的硬件設(shè)計(jì)根據(jù)實(shí)時(shí)時(shí)鐘的功能要求,基于單片機(jī)的設(shè)計(jì)方案要運(yùn)用集成時(shí)鐘芯片,實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)記錄,實(shí)現(xiàn)數(shù)據(jù)與出現(xiàn)該數(shù)據(jù)的時(shí)間同時(shí)記錄。實(shí)時(shí)時(shí)鐘的要求:(1)基本要求具有年、月、日、星期、時(shí)、分、秒等功能;具備年、月、日、星期、時(shí)、分、秒校準(zhǔn)功能;具有遠(yuǎn)程通信功能(2)創(chuàng)新要求要求能夠?qū)r(shí)鐘進(jìn)行實(shí)時(shí)控制,并且可以通過(guò)遠(yuǎn)程電腦對(duì)時(shí)間進(jìn)行讀取、校正,對(duì)時(shí)間進(jìn)行設(shè)置,實(shí)現(xiàn)遠(yuǎn)程操控。2.1系統(tǒng)硬件的整體設(shè)計(jì)主控芯片使用51系列STC89C52單片機(jī),時(shí)鐘芯片使用美國(guó)DALLAS公司推出的一種高性能、低功耗、帶RAM和內(nèi)置電池的實(shí)時(shí)時(shí)鐘DS12887。采用DS12887作為主要計(jì)時(shí)芯片,可以做到計(jì)時(shí)準(zhǔn)確。更重要的是,DS12887可以在外部電源斷電的情況下繼續(xù)計(jì)時(shí),在沒(méi)有外部供電的情況下,DS12887可以連續(xù)計(jì)時(shí)10年以上。系統(tǒng)由主控制器STC89C52、時(shí)鐘芯片DS1302、LCD液晶顯示電路、鍵掃描電路和通信系統(tǒng)模塊電路組成。系統(tǒng)硬件設(shè)計(jì)框圖如圖2-1所示。圖2-1系統(tǒng)硬件設(shè)計(jì)框圖2.2主控制模塊的方案選擇與設(shè)計(jì)系統(tǒng)的設(shè)計(jì)可采用數(shù)字電路實(shí)現(xiàn),也可以采用單片機(jī)來(lái)完成。若用數(shù)字電路完成,所設(shè)計(jì)的電路相當(dāng)復(fù)雜,大概需要十幾片數(shù)字集成塊,其功能也主要依賴數(shù)字電路的各功能模塊的組合來(lái)實(shí)現(xiàn)[4]。若用單片機(jī)來(lái)設(shè)計(jì)完成,由于其功能的實(shí)現(xiàn)主要通過(guò)軟件編程來(lái)實(shí)現(xiàn)的,那么就降低了硬件電路的復(fù)雜性,所以在該設(shè)計(jì)中采用單片機(jī)作為主控模塊。另外這個(gè)課題設(shè)計(jì)的軟件程序比較簡(jiǎn)單,不需要很強(qiáng)大的單片機(jī),只要用簡(jiǎn)單的單片機(jī)就可以滿足要求,因此我選用了性價(jià)比比較高的低端STC89C52單片機(jī)。2.2.1單片機(jī)STC89C52簡(jiǎn)介STC89C52是低電壓,高性能CMOS8位單片機(jī),片內(nèi)含8kbytes的可反復(fù)擦寫(xiě)的Flash只讀程序存儲(chǔ)器和256bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),與標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及8052產(chǎn)品引腳兼容,片內(nèi)置通用8位中央處理器(CPU)和Flash存儲(chǔ)單元,功能強(qiáng)大STC89C52單片機(jī)適合于許多較為復(fù)雜控制應(yīng)用場(chǎng)合。STC89C52單片機(jī)為40引腳雙列直插芯片,有四個(gè)I/O口P0、P1、P2、P3,每一條I/O線都能獨(dú)立地作輸出或輸入。STC89C52PDIP管腳封裝,如圖2-2所示。圖2-2STC89C52PDIP管腳封裝STC89c52包含以下部分,其結(jié)構(gòu)圖如圖2-3所示(1)一個(gè)8位微處理器CPU(2)片內(nèi)數(shù)據(jù)存儲(chǔ)器RAM和特殊功能寄存器SFR(3)片內(nèi)程序存儲(chǔ)器ROM(4)兩個(gè)定時(shí)/計(jì)數(shù)器T0、T1,可用作定時(shí)器,也可用以對(duì)外部脈沖進(jìn)行計(jì)數(shù)(5)四個(gè)8位可編程的并行I/O端口,每個(gè)端口既可作輸入,也可作輸出(6)一個(gè)串行端口,用于數(shù)據(jù)的串行通信(7)中斷控制系統(tǒng)(8)內(nèi)部時(shí)鐘電路圖2-3STC89c52內(nèi)部結(jié)構(gòu)圖功能特性概述:STC89C52提供以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash閃速存儲(chǔ)器,256字節(jié)內(nèi)部RAM,32個(gè)I/O口線,3個(gè)16位定時(shí)/計(jì)數(shù)器,一個(gè)6向量?jī)杉?jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路。同時(shí),STC89C52可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時(shí)/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個(gè)硬件復(fù)位。2.2.2主控制模塊電路單片機(jī)STC89C52的P0口作為輸入口。P0與DS12887的AD相連,進(jìn)行時(shí)間數(shù)據(jù)的采集;P3.7(RD)與DS12887的17腳DS相連,P3.3與DS12887的19腳IRQ相連,P2.7與DS12887的13腳CS相連;30腳ALE與DS12887的14腳AS相連。單片機(jī)的第18引腳和19引腳接時(shí)鐘電路,XTAL1接外部晶振和微調(diào)電容的一端,XTAL2接外部晶振和微調(diào)電容的另一端。對(duì)外接電容的值雖然沒(méi)有嚴(yán)格的要求,但電容的大小會(huì)影響震蕩器頻率的高低、震蕩器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性。因此,此系統(tǒng)電路的晶體振蕩器的值為11.0592MHz,電容應(yīng)盡可能的選擇陶瓷電容,電容值約為22μF。第9引腳為復(fù)位輸入端,接上電容,電阻后構(gòu)成上電復(fù)位電路。20引腳為接地端,40引腳為電源端。/EA端(31引腳)接+5V電壓。由此就構(gòu)成了單片機(jī)主控模塊的最小系統(tǒng),如圖2-4所示。圖2-4主控電路及其最小系統(tǒng)電路圖2.3時(shí)鐘模塊的方案選擇與設(shè)計(jì)方案一:美國(guó)Dallas公司生產(chǎn)的串行時(shí)鐘DS1302芯片是一種高性能的時(shí)鐘芯片,可自動(dòng)地對(duì)秒、分、時(shí)、日、周、月、年進(jìn)行計(jì)數(shù),而且工作電壓2.5V~5.5V范圍內(nèi),2.5V時(shí)耗電小于300nA,可方便地與單片機(jī)接口,從而解決并行實(shí)時(shí)芯片使得電路結(jié)構(gòu)復(fù)雜的問(wèn)題,但是DS1302時(shí)鐘芯片沒(méi)有內(nèi)置電池,在電路掉電的情況下不能繼續(xù)計(jì)時(shí),在電路恢復(fù)供電之后需要校正時(shí)間比較麻煩。方案二:美國(guó)Dallas公司生產(chǎn)的串行時(shí)鐘DS12887芯片也是一種高性能的時(shí)鐘芯片,可自動(dòng)地對(duì)秒、分、時(shí)、日、周、月、年進(jìn)行計(jì)數(shù),可以方便地與單片機(jī)接口,從而解決并行實(shí)時(shí)芯片使得電路結(jié)構(gòu)復(fù)雜的問(wèn)題,而且DS12887時(shí)鐘芯片沒(méi)有內(nèi)置電池,在電路掉電的情況下能繼續(xù)計(jì)時(shí),在電路恢復(fù)供電之后不需要校正時(shí)間因此選用DS12887芯片。2.3.1DS12887時(shí)鐘芯片簡(jiǎn)介DS12887是美國(guó)DALLAS公司生產(chǎn)的時(shí)鐘日歷芯片,具有24個(gè)引腳。DS12887和MC146818B及DS1287管腳兼容。內(nèi)部自帶鋰電池,在沒(méi)有外部電源的情況下可工作十年。它有內(nèi)部集成晶振。可計(jì)算到2100年前的時(shí)、分、秒、星期、日、月、年七種日歷信息,并帶閏年補(bǔ)償。用2進(jìn)制或BCD碼代表日歷或鬧鐘信息??蛇x用夏令時(shí)模式??梢赃x用MOTOROLA和INTEL兩種總線模式。它采用數(shù)據(jù)地址總線復(fù)用模式。內(nèi)鍵128字節(jié)RAM,這128字節(jié)RAM中前14字節(jié)是時(shí)鐘控制寄存器。其余為通用RAM。它可以輸出可編程方波。它可以產(chǎn)生3種可編程中斷;一,時(shí)間中斷,可產(chǎn)生每秒一次直到每天一次中斷;二,周期性中斷,可產(chǎn)生122ms到500ms周期性中斷;三,時(shí)間更新結(jié)束中斷。DS12887有24個(gè)引腳,其引腳如圖2-5所示。圖2-5DS12887引腳圖MOT是總線類型選擇管腳,當(dāng)此腳接在VCC上時(shí)選擇MOTOROLA總線方式,如果此腳接在電源地上或者不接時(shí)選擇的是INTEL總線模式。AD0-AD7是數(shù)據(jù)復(fù)用總線。GND是電源地。CS是片選信號(hào)。AS是ALE信號(hào)管教。R/W在INTEL總線模式下是WR。DS在INTEL總線模式下是RD,當(dāng)它有效時(shí)表示DS12887正在往總線輸出數(shù)據(jù)。RD信號(hào)在貯存器芯片上被稱為OE信號(hào)線。RESET是復(fù)位信號(hào),復(fù)位信號(hào)對(duì)日歷、時(shí)間、RAM無(wú)效,系統(tǒng)上電時(shí),復(fù)位信號(hào)要保持200ms以上DS12887芯片才能正常工作。當(dāng)復(fù)位引腳電平為低并且VCC高于4.5V時(shí),以下情況發(fā)生。周期中斷允許位清零,鬧鐘中斷允許位清零,更新完成中斷標(biāo)志位清零,中斷請(qǐng)求狀態(tài)標(biāo)志位清零,周期中斷標(biāo)志位清零,DS12887不可以操作,鬧鐘中斷標(biāo)志位清零,IRQ呈高阻狀態(tài),方波輸出允許位清零,更新完成中斷允許位清零。IRQ是中斷請(qǐng)求輸出,當(dāng)中斷狀態(tài)位和中斷允許位有效時(shí),IRQ保持低電平。復(fù)位和讀C寄存器都可以清除中斷信號(hào)。沒(méi)有中斷時(shí)IRQ保持高阻狀態(tài),其它中斷源還可以接到中斷上。另外由于IRQ是漏極輸出,因此需要外接上拉電阻。SQW是方波輸出引腳,當(dāng)電源電壓低于4.25V時(shí)此腳沒(méi)有作用。VCC是電源引腳。NC是空引腳。DS12887內(nèi)部結(jié)構(gòu)框圖如圖2-6所示。DS12887由晶振,周期中斷/方波選擇器,方波輸出,寄存器ABCD,時(shí)鐘/日歷/鬧鐘RAM,114字節(jié)通用RAM,BCD/二進(jìn)制數(shù)碼累加器,時(shí)鐘/日歷更新,總線選擇,電源開(kāi)關(guān)和寫(xiě)保護(hù)這些部分組成。當(dāng)VCC高于4.25V200ms之后,芯片可以被外部程序操作。當(dāng)VCC低于4.25V時(shí),芯片處于寫(xiě)保護(hù)狀態(tài),所有的輸入均無(wú)效,同時(shí)所有輸出呈高阻狀態(tài),當(dāng)VCC低于3V時(shí),DS12887自動(dòng)將供電方式改為由內(nèi)部電池供電。圖2-6DS12887內(nèi)部結(jié)構(gòu)框圖DS12887地址分布框圖如圖2-7所示。所以地址包括114字節(jié)通用RAM,10字節(jié)用于記錄時(shí)間,日歷,鬧鐘信息的RAM和4字節(jié)的控制、狀態(tài)RAM.所有的字節(jié)都可以在除以下的情況下直接讀寫(xiě)。1,寄存器C、D為只讀,寄存器A的第七位為只讀,秒字節(jié)的高位為只讀。時(shí)間,日歷,鬧鐘的信息所在的寄存器的詳細(xì)分布圖如表2-1所示圖2-7DS12887地址分布圖表2-1,時(shí)間,日歷,鬧鐘寄存器地址分布表控制、狀態(tài)寄存器及其功能描述:寄存器AUIP:更新進(jìn)行標(biāo)志。DV2-DV0:為010時(shí)晶振工作,其他組合停止。RS3-RS0:頻率選擇。寄存器BSET:為1時(shí)禁止更新。為0時(shí)正常。PIE:為1時(shí)周期中斷允許。AIE:為1時(shí)警報(bào)中斷允許。UIE:為1時(shí)更新結(jié)束中斷允許。SQWE:為1時(shí)方波輸出允許。DM:為0時(shí)時(shí)間為BCD碼,為1時(shí)為二進(jìn)制。24/12:為1時(shí)是24小時(shí)進(jìn)制。為0時(shí)是12小時(shí)進(jìn)制。DSE:置0。寄存器CIRQF:中斷申請(qǐng)標(biāo)志。PF:周期中斷標(biāo)志。AF:警報(bào)中斷標(biāo)志。UF:更新結(jié)束中斷標(biāo)志。寄存器DVRT:為0時(shí)表示內(nèi)部鋰電池耗盡。2.3.2時(shí)鐘模塊電路時(shí)鐘模塊DS12887的AD口與單片機(jī)的P0口相連,進(jìn)行時(shí)間、日歷數(shù)據(jù)輸出。其它各功能端口的連接在主控電路中已有描述,不在贅述。另外DS12887的12腳與電源地相連,24腳與電源相連??偩€選擇端口MOT端與電源地相連。電路圖如圖2-8所示。圖2-8時(shí)鐘模塊電路2.4按鍵電路的設(shè)計(jì)根據(jù)設(shè)計(jì)要求,系統(tǒng)的按鍵電路用4個(gè)按鍵和一個(gè)撥碼開(kāi)關(guān)就可以進(jìn)行對(duì)時(shí)間的調(diào)整,按鍵就采用最簡(jiǎn)單的點(diǎn)動(dòng)式按鈕,由單片機(jī)的I/O進(jìn)行掃描,來(lái)實(shí)現(xiàn)掃描按鍵功能。其中,時(shí)間調(diào)整按鈕與單片機(jī)STC89C52的P3.5相連,其功能是當(dāng)按下此鍵時(shí),開(kāi)始調(diào)整年、月、日、星期、時(shí)、分、秒,沒(méi)按一次就改變一個(gè)相應(yīng)的要改變的位;鬧鐘調(diào)整按鈕與單片機(jī)STC89C52的P3.4相連,其功能是當(dāng)按下此鍵時(shí)開(kāi)始進(jìn)行鬧鐘調(diào)整,并且每按一次就改變一次要調(diào)整的位;加法按鈕與單片機(jī)STC89C52的P2.5連,其功能是每按一次此鍵就將相應(yīng)的要改變的位的數(shù)值加一;減法按鈕與單片機(jī)STC89C52的P2.6連,其功能是每按下一次此鍵就將要改變的位的數(shù)值減一;近遠(yuǎn)程選擇按鈕與STC89C52的P2.4相連。電路圖如圖2-9所示。圖2-9按鍵電路2.5顯示模塊的方案設(shè)計(jì)此設(shè)計(jì)方案采用了LCD液晶顯示,由于此設(shè)計(jì)不需要顯示太多內(nèi)容,因此選用了12232F圖形點(diǎn)陣液晶顯示器。2.5.1圖形點(diǎn)陣液晶顯示器12864簡(jiǎn)介點(diǎn)陣LCD的顯示原理:在數(shù)字電路中,所有的數(shù)據(jù)都是以0和1保存的,對(duì)LCD控制器進(jìn)行不同的數(shù)據(jù)操作,可以得到不同的結(jié)果。對(duì)于顯示英文操作,由于英文字母種類很少,只需要8位(一字節(jié))即可。而對(duì)于中文,常用卻有6000以上,于是我們的DOS前輩想了一個(gè)辦法,就是將ASCII表的高128個(gè)很少用到的數(shù)值以兩個(gè)為一組來(lái)表示漢字,即漢字的內(nèi)碼。而剩下的低128位則留給英文字符使用,即英文的內(nèi)碼[15]。那么,得到了漢字的內(nèi)碼后,還僅是一組數(shù)字,那又如何在屏幕上去顯示呢?這就涉及到文字的字模,字模雖然也是一組數(shù)字,但它的意義卻與數(shù)字的意義有了根本的變化,它是用數(shù)字的各位信息來(lái)記載英文或漢字的形狀。12864是一種圖形點(diǎn)陣液晶顯示器,它主要由行驅(qū)動(dòng)器/列驅(qū)動(dòng)器及128×64全點(diǎn)陣液晶顯示器組成。可完成圖形顯示,也可以顯示8×4個(gè)(16×16點(diǎn)陣)漢字。12864LCD的引腳說(shuō)明如表2-2所示。表2-2液晶模塊12864的管腳說(shuō)明管腳號(hào)管腳名稱LEVER管腳功能描述1VSS0電源地2VDD+5.0V電源電壓3V0-液晶顯示器驅(qū)動(dòng)電壓4D/I(RS)H/LD/I=“H”,表示DB7∽DB0為顯示數(shù)據(jù)D/I=“L”,表示DB7∽DB0為顯示指令數(shù)據(jù)5R/WH/LR/W=“H”,E=“H”數(shù)據(jù)被讀到DB7∽DB0R/W=“L”,E=“H→L”數(shù)據(jù)被寫(xiě)到IR或DR6EH/LR/W=“L”,E信號(hào)下降沿鎖存DB7∽DB0R/W=“H”,E=“H”DDRAM數(shù)據(jù)讀到DB7∽DB07DB0H/L數(shù)據(jù)線8DB1H/L數(shù)據(jù)線9DB2H/L數(shù)據(jù)線10DB3H/L數(shù)據(jù)線11DB4H/L數(shù)據(jù)線12DB5H/L數(shù)據(jù)線13DB6H/L數(shù)據(jù)線14DB7H/L數(shù)據(jù)線15CS1H/LH:選擇芯片(右半屏)信號(hào)16CS2H/LH:選擇芯片(左半屏)信號(hào)17RETH/L復(fù)位信號(hào),低電平復(fù)位18VOUT-10VLCD驅(qū)動(dòng)負(fù)電壓19LED+-LED背光板電源20LED--LED背光板電源液晶顯示模塊的特殊寄存器說(shuō)明:在使用12864LCD前先必須了解以下功能器件才能進(jìn)行編程。12864內(nèi)部功能器件及相關(guān)功能如下:指令寄存器(IR)

IR是用于寄存指令碼,與數(shù)據(jù)寄存器數(shù)據(jù)相對(duì)應(yīng)。當(dāng)D/I=0時(shí),在E信號(hào)下降沿的作用下,指令碼寫(xiě)入IR。2.?dāng)?shù)據(jù)寄存器(DR)DR是用于寄存數(shù)據(jù)的,與指令寄存器寄存指令相對(duì)應(yīng)。當(dāng)D/I=1時(shí),在下降沿作用下,圖形顯示數(shù)據(jù)寫(xiě)入DR,或在E信號(hào)高電平作用下由DR讀到DB7∽DB0數(shù)據(jù)總線。DR和DDRAM之間的數(shù)據(jù)傳輸是模塊內(nèi)部自動(dòng)執(zhí)行的。3.忙標(biāo)志:BFBF標(biāo)志提供內(nèi)部工作情況。BF=1表示模塊在內(nèi)部操作,此時(shí)模塊不接受外部指令和數(shù)據(jù)。BF=0時(shí),模塊為準(zhǔn)備狀態(tài),隨時(shí)可接受外部指令和數(shù)據(jù)。利用STATUSREAD指令,可以將BF讀到DB7總線,從檢驗(yàn)?zāi)K之工作狀態(tài)。4.顯示控制觸發(fā)器DFF此觸發(fā)器是用于模塊屏幕顯示開(kāi)和關(guān)的控制。DFF=1為開(kāi)顯示(DISPLAYOFF),DDRAM的內(nèi)容就顯示在屏幕上,DFF=0為關(guān)顯示(DISPLAYOFF)。DDF的狀態(tài)是指令DISPLAYON/OFF和RST信號(hào)控制的。5.XY地址計(jì)數(shù)器XY地址計(jì)數(shù)器是一個(gè)9位計(jì)數(shù)器。高3位是X地址計(jì)數(shù)器,低6位為Y地址計(jì)數(shù)器,XY地址計(jì)數(shù)器實(shí)際上是作為DDRAM的地址指針,X地址計(jì)數(shù)器為DDRAM的頁(yè)指針,Y地址計(jì)數(shù)器為DDRAM的Y地址指針。X地址計(jì)數(shù)器是沒(méi)有記數(shù)功能的,只能用指令設(shè)置。Y地址計(jì)數(shù)器具有循環(huán)記數(shù)功能,各顯示數(shù)據(jù)寫(xiě)入后,Y地址自動(dòng)加1,Y地址指針從0到63。6.顯示數(shù)據(jù)RAM(DDRAM)DDRAM是存儲(chǔ)圖形顯示數(shù)據(jù)的。數(shù)據(jù)為1表示顯示選擇,數(shù)據(jù)為0表示顯示非選擇。DDRAM與地址和顯示位置的關(guān)系見(jiàn)DDRAM地址表。7.Z地址計(jì)數(shù)器Z地址計(jì)數(shù)器是一個(gè)6位計(jì)數(shù)器,此計(jì)數(shù)器具備循環(huán)記數(shù)功能,它是用于顯示行掃描同步。當(dāng)一行掃描完成,此地址計(jì)數(shù)器自動(dòng)加1,指向下一行掃描數(shù)據(jù),RST復(fù)位后Z地址計(jì)數(shù)器為0。Z地址計(jì)數(shù)器可以用指令DISPLAYSTARTLINE預(yù)置。因此,顯示屏幕的起始行就由此指令控制,即DDRAM的數(shù)據(jù)從哪一行開(kāi)始顯示在屏幕的第一行。此模塊的DDRAM共64行,屏幕可以循環(huán)滾動(dòng)顯示64行。8.字符顯示FYD12864-0402B每屏可顯示4行8列共32個(gè)16×16點(diǎn)陣的漢字,每個(gè)顯示RAM可顯示1個(gè)中文字符或2個(gè)16×8點(diǎn)陣全高ASCII碼字符,即每屏最多可實(shí)現(xiàn)32個(gè)中文字符或64個(gè)ASCII碼字符的顯示。FYD12864-0402B內(nèi)部提供128×2字節(jié)的字符顯示RAM緩沖區(qū)(DDRAM)。字符顯示是通過(guò)將字符顯示編碼寫(xiě)入該字符顯示RAM實(shí)現(xiàn)的。根據(jù)寫(xiě)入內(nèi)容的不同,可分別在液晶屏上顯示CGROM(中文字庫(kù))、HCGROM(ASCII碼字庫(kù))及CGRAM(自定義字形)的內(nèi)容。三種不同字符/字型的選擇編碼范圍為:0000~0006H(其代碼分別是0000、0002、0004、0006共4個(gè))顯示自定義字型,02H~7FH顯示半寬ASCII碼字符,A1A0H~F7FFH顯示8192種GB2312中文字庫(kù)字形。字符顯示RAM在液晶模塊中的地址80H~9FH。字符顯示的RAM的地址與32個(gè)字符顯示區(qū)域有著一一對(duì)應(yīng)的關(guān)系,其對(duì)應(yīng)關(guān)系如表2-3所示。表2-3字符顯示RAM在液晶模塊中的地址表80H81H82H83H84H85H86H87H90H91H92H93H94H95H96H97H88H89H8AH8BH8CH8DH8EH8FH98H99H9AH9BH9CH9DH9EH9FH2.5.2顯示模塊電路顯示模塊電路如圖2-10所示,液晶模塊的1管腳接電源地,15管腳用于接電源地,19管腳用于接電源地。2管腳接電源給液晶顯示器供電,3管腳接電源用于提供液晶顯示器顯示驅(qū)動(dòng)電壓,17管腳接電源,20管腳接電源用與提供背景光。4管腳接單片機(jī)的P1.3用于接收數(shù)據(jù)或者指令,5管腳接單片機(jī)的P1.4選擇數(shù)據(jù)被讀寫(xiě)到什么位置,6管腳接單片機(jī)的P1.5用于提供鎖存信號(hào)。圖2-10顯示模塊2.6通信模塊電路方案選擇設(shè)計(jì)通信模塊電路方案選擇:RS-232、RS-422與RS-485都是串行數(shù)據(jù)接口標(biāo)準(zhǔn),最初都是由電子工業(yè)協(xié)會(huì)(EIA)制訂并發(fā)布,RS-2321962年發(fā)布,命名為EIA-232-E,作為工業(yè)標(biāo)準(zhǔn),以保證不同廠家產(chǎn)品之間兼容。但是RS-232通信有距離短、速率低的缺點(diǎn)。RS-485標(biāo)準(zhǔn),增加了多點(diǎn)、雙向通信能力,即允許多個(gè)發(fā)送器連接到同一條總線上,同時(shí)增加了發(fā)送器驅(qū)動(dòng)能力和沖突保護(hù)特性,擴(kuò)展了總線共模范圍,其最大傳輸距離約為1219米,最大傳輸速率為10Mb/s?;诂F(xiàn)代通信的遠(yuǎn)距離要求,因此本設(shè)計(jì)采用RS-485通信方案。2.6.1RS485通信簡(jiǎn)介RS-485采用平衡傳輸方式、需要在傳輸線上接終接電阻。RS-485可以采用二線與四線方式,二線制可實(shí)現(xiàn)真正的多點(diǎn)雙向通信。RS-485總線,在要求通信距離為幾十米到上千米時(shí),廣泛采用RS-485串行總線標(biāo)準(zhǔn)。RS-485采用平衡發(fā)送和差分接收,因此具有抑制共模干擾的能力。加上總線收發(fā)器具有高靈敏度,能檢測(cè)低至200mV的電壓,故傳輸信號(hào)能在千米以外得到恢復(fù)。RS-485采用半雙工工作方式,任何時(shí)候只能有一點(diǎn)處于發(fā)送狀態(tài),因此,發(fā)送電路須由使能信號(hào)加以控制。RS-485用于多點(diǎn)互連時(shí)非常方便,可以省掉許多信號(hào)線。應(yīng)用RS-485可以聯(lián)網(wǎng)構(gòu)成分布式系統(tǒng),其允許最多并聯(lián)32臺(tái)驅(qū)動(dòng)器和32臺(tái)接收器。RS-485是-7V至+12V之間,其最大傳輸距離約為1219米,最大傳輸速率為10Mbps。平衡雙絞線的長(zhǎng)度與傳輸速率成反比,在100Kbps速率以下,才可能使用規(guī)定最長(zhǎng)的電纜長(zhǎng)度。只有在很短的距離下才能獲得最高速率傳輸。一般100米長(zhǎng)雙絞線最大傳輸速率僅為1Mbps。2.6.2通信電路設(shè)計(jì)通信模塊電路采用RS-485通信,485芯片的1腳接單片機(jī)的10腳,485芯片的4腳接單片機(jī)的11腳,這樣就可以配合軟件實(shí)現(xiàn)遠(yuǎn)程通信功能。電路圖如圖2-11所示圖2-11通信電路

第3章系統(tǒng)軟件設(shè)計(jì)軟件是系統(tǒng)的主要組成部分,也是整個(gè)調(diào)試的重點(diǎn)和難點(diǎn)工作。本設(shè)計(jì)采用了匯編語(yǔ)言,因?yàn)閰R編語(yǔ)言更接近機(jī)器語(yǔ)言,可以直接存取寄存器和I/O,編寫(xiě)的代碼可以非常精確的被執(zhí)行,可以編寫(xiě)出比一般編譯系統(tǒng)高效的代碼,可以作為不同語(yǔ)言或不同標(biāo)準(zhǔn)的接口。因此,依據(jù)課題設(shè)計(jì)的要求,采用匯編語(yǔ)言進(jìn)行軟件編程,用模塊化程序設(shè)計(jì)思想,將軟件劃分成若干模塊單元;包括:DS12887時(shí)鐘顯示模塊、延時(shí)等模塊,鍵盤(pán)掃描子程序,按鍵處理子程序模塊,通信中斷子程序,3.1編程語(yǔ)言選擇匯編語(yǔ)言的實(shí)質(zhì)和機(jī)器語(yǔ)言是相同的,都是直接對(duì)硬件操作,只不過(guò)指令采用了英文縮寫(xiě)的標(biāo)識(shí)符,更容易識(shí)別和記憶。它同樣需要編程者將每一步具體的操作用命令的形式寫(xiě)出來(lái)。匯編程序通常由三部分組成:指令、偽指令和宏指令。匯編程序的每一句指令只能對(duì)應(yīng)實(shí)際操作過(guò)程中的一個(gè)很細(xì)微的動(dòng)作,例如移動(dòng)、自增,因此匯編源程序一般比較冗長(zhǎng)、復(fù)雜、容易出錯(cuò),而且使用匯編語(yǔ)言編程需要有更多的計(jì)算機(jī)專業(yè)知識(shí),但匯編語(yǔ)言的優(yōu)點(diǎn)也是顯而易見(jiàn)的,用匯編語(yǔ)言所能完成的操作不是一般高級(jí)語(yǔ)言所能實(shí)現(xiàn)的,而且源程序經(jīng)匯編生成的可執(zhí)行文件不僅比較小,而且執(zhí)行速度很快[16]。匯編語(yǔ)言程序歸納起來(lái)大概有以下幾個(gè)主要特性。1、與機(jī)器相關(guān)性2、執(zhí)行的高效率3、編寫(xiě)程序的復(fù)雜性4、調(diào)試的復(fù)雜性下面簡(jiǎn)單列舉幾個(gè)領(lǐng)域以示說(shuō)明,但不能把它們絕對(duì)化:適用的領(lǐng)域要求執(zhí)行效率高、反應(yīng)快的領(lǐng)域,如:操作系統(tǒng)內(nèi)核,工業(yè)控制,實(shí)時(shí)系統(tǒng)等;系統(tǒng)性能的瓶頸,或頻繁被使用子程序或程序段;與硬件資源密切相關(guān)的軟件開(kāi)發(fā),如:設(shè)備驅(qū)動(dòng)程序等;受存儲(chǔ)容量限制的應(yīng)用領(lǐng)域,如:家用電器的計(jì)算機(jī)控制功能等;沒(méi)有適當(dāng)?shù)母呒?jí)語(yǔ)言開(kāi)發(fā)環(huán)境。2、不宜使用的領(lǐng)域大型軟件的整體開(kāi)發(fā);沒(méi)有特殊要求的一般應(yīng)用系統(tǒng)的開(kāi)發(fā)等。綜上所說(shuō),匯編語(yǔ)言的特點(diǎn)明顯,其誘人的優(yōu)點(diǎn)直接導(dǎo)致其嚴(yán)重的缺點(diǎn),其“與機(jī)器相關(guān)”和“執(zhí)行的高效率”導(dǎo)致其可移植性差和調(diào)試難。所以,我們?cè)谶x用匯編語(yǔ)言時(shí)要根據(jù)實(shí)際的應(yīng)用環(huán)境,盡可能避免其缺點(diǎn)對(duì)整個(gè)應(yīng)用系統(tǒng)的影響。3.2系統(tǒng)主程序及流程圖主程序的主要功能是顯示日期時(shí)間信息。在主程序中,系統(tǒng)上電自動(dòng)復(fù)位以后首先進(jìn)行系統(tǒng)的液晶顯示、時(shí)鐘芯片DS12887初始化,然后讀寫(xiě)日期、時(shí)間等信息,待數(shù)據(jù)讀寫(xiě)結(jié)束后顯示時(shí)鐘。主程序流程如圖3-1所示。圖3-1主程序流程圖主程序說(shuō)明,當(dāng)主程序運(yùn)行時(shí),先將液晶顯示器清屏,然后將單片機(jī)和時(shí)鐘日歷芯片DS12887初始化,即將時(shí)鐘的初始時(shí)間設(shè)定為2005年月日3.3DS12887時(shí)鐘芯片的讀操作流程圖首先對(duì)時(shí)鐘芯片DS12887初始化,經(jīng)過(guò)對(duì)狀態(tài)寄存器判斷之后,對(duì)DS12887進(jìn)行讀操作,讀操作時(shí)利用時(shí)鐘日歷地址相鄰的特點(diǎn),直接使地址增加,隨后判斷數(shù)據(jù)是否讀完了。若讀完了,則返回主程序;若沒(méi)有讀完,則繼續(xù)增加地址,直到讀數(shù)據(jù)完成為止。如圖3-2所示。圖3-2DS12887時(shí)鐘芯片的讀操作流程圖3.4液晶模塊的寫(xiě)操作流程圖本設(shè)計(jì)用的液晶模塊是12864液晶模塊,這個(gè)模塊可以進(jìn)行串口通信也可以進(jìn)行并口通信,由于單片機(jī)口線限制,在這里采用了串口設(shè)計(jì)思路。本設(shè)計(jì)采用了分屏顯示的原理,在時(shí)間顯示時(shí)顯示屏一,在時(shí)間調(diào)整時(shí)顯示屏二,其流程圖分別如圖3-3、3-4所示。圖3-3時(shí)間顯示,屏一顯示流程圖在屏一顯示流程圖中,顯示設(shè)置液晶顯示設(shè)置為全屏顯示,顯示界面沒(méi)有光標(biāo)顯示,年月日的顯示從第二行第一個(gè)字符開(kāi)始,時(shí)分秒的顯示從第三行第一個(gè)字符開(kāi)始。圖3-4時(shí)間調(diào)整顯示,屏二顯示流程圖在顯示屏二時(shí)應(yīng)先判斷是否有調(diào)整時(shí)間的請(qǐng)求,如果有時(shí)間調(diào)整的要求即有按鍵按下則顯示此屏,顯示此屏?xí)r先進(jìn)行顯示設(shè)置,因?yàn)橐{(diào)整時(shí)間因此要用光標(biāo)表示出要調(diào)整的位,因此顯示設(shè)置中要調(diào)整出光標(biāo),調(diào)整時(shí)間時(shí)先調(diào)出當(dāng)前時(shí)間,從當(dāng)前時(shí)間開(kāi)始調(diào)整,然后判斷按鍵,根據(jù)按鍵來(lái)調(diào)整時(shí)間,調(diào)整完成之后再返回時(shí)間顯示即顯示屏一。3.5按鍵調(diào)整模塊流程圖按鍵調(diào)整程序模塊是用來(lái)調(diào)整時(shí)間的,當(dāng)P3.4按鍵按下時(shí)進(jìn)入時(shí)間調(diào)整界面,再按P3.4就會(huì)依次改變要調(diào)整的參量,依次調(diào)整的參量為年、月、日、時(shí)、分、秒。當(dāng)選擇好了要調(diào)整的位后再按P3.5就會(huì)實(shí)現(xiàn)相應(yīng)位的加一操作,按P2.6就會(huì)實(shí)現(xiàn)相應(yīng)位的減一操作。當(dāng)調(diào)整完畢之后,再按P3.4鍵就會(huì)返回時(shí)間顯示界面,從剛才調(diào)整好的時(shí)間開(kāi)始顯示、計(jì)時(shí)。其流程圖如圖3-5所示圖3-5按鍵調(diào)整模塊流程圖3.6通信模塊流程圖通信模塊的協(xié)議包括兩部分,一部分是主機(jī)程序,一部分是從機(jī)程序。這個(gè)子程序模塊的作用是通過(guò)電腦來(lái)讀寫(xiě)、調(diào)整單片機(jī)控制電路的時(shí)間。主機(jī)程序是在電腦上運(yùn)行,從遠(yuǎn)程控制時(shí)鐘,可以對(duì)時(shí)鐘的當(dāng)前時(shí)間進(jìn)行讀寫(xiě)、調(diào)整操作。從機(jī)程序則是在單片機(jī)上運(yùn)行,利用中斷接收來(lái)自電腦的操作指令,并且將時(shí)間傳送給電腦。其流程圖分別如圖3-6,3-7所示。圖3-5主機(jī)端通信子程序流程圖圖3-6從機(jī)端通信子程序流程圖第4章實(shí)驗(yàn)與調(diào)試驗(yàn)證理論的最好的方法是實(shí)踐,因此本設(shè)計(jì)通過(guò)實(shí)驗(yàn),用實(shí)物的調(diào)試來(lái)驗(yàn)證之上設(shè)計(jì)的可行性。雖然現(xiàn)在很多設(shè)計(jì)采用仿真來(lái)模擬結(jié)果,但是放著和實(shí)際還是有一定差距的,而且有些實(shí)際問(wèn)題是仿真所不能顯示的,為了更好的驗(yàn)證本設(shè)計(jì)方案,因此本設(shè)計(jì)采用實(shí)物來(lái)驗(yàn)證。4.1硬件測(cè)試本設(shè)計(jì)的硬件驗(yàn)證電路完全由按照上述理論進(jìn)行焊接。其電路焊接如圖4-1所示。由于電路比較簡(jiǎn)單在焊接中遇到的問(wèn)題不是很多。主要遇到的問(wèn)題有電路焊接時(shí)地線和電源線的排布,由于電路中的電源線和地線的連接點(diǎn)比較多,在實(shí)際的印刷電路板中,地線一般是環(huán)繞板子而且比較粗的銅線,鑒于這個(gè)思路,我將電源線和地線分別布置在電路板的兩個(gè)邊上,如圖4-2,4-3所示。另外,由于我們這是實(shí)驗(yàn)板,是驗(yàn)證理論用的板子,板子上的芯片經(jīng)常需要拆卸,因此我選擇了用雙列直插底座來(lái)安裝芯片,這樣可以保證在拆卸芯片時(shí)不需要再重新焊接芯片,省去了很多不必要的麻煩。圖4-1整體電路實(shí)物圖硬件焊接好后需要測(cè)試是否都連接好了,本設(shè)計(jì)采用的測(cè)試方法是用萬(wàn)用表來(lái)測(cè)量,用萬(wàn)用表的兩個(gè)表筆分別接連線的兩端,測(cè)試是否電阻為零,如果電阻為零說(shuō)明連接正確,如果有電阻說(shuō)明沒(méi)有連接好。由于實(shí)驗(yàn)板上的有些焊點(diǎn)離的比較近,在焊接時(shí)可能由于不小心將焊錫滴落在兩個(gè)焊點(diǎn)之間造成短路,短路是對(duì)電路板最大的危害之一,因此要細(xì)心的檢查每?jī)蓚€(gè)相鄰的焊點(diǎn)之間是否有短路發(fā)生。4.2軟件調(diào)試本設(shè)計(jì)采用偉福編譯軟件來(lái)編譯程序,是目前使用廣泛的單片機(jī)開(kāi)發(fā)軟件,它集成了源程序編輯和程序調(diào)試于一體,支持匯編語(yǔ)言編譯,另外它還支持第三方編譯器,可以編譯C語(yǔ)言和PL/M語(yǔ)言。源程序的編寫(xiě):首先從菜單的“文件”中“新建文件”,建立文件;然后為文件選擇好單片機(jī)型號(hào),語(yǔ)言設(shè)置項(xiàng)選擇偉福匯編器;確定后新的文件就算建立了。接下來(lái)進(jìn)行編輯、修改等操作。如圖4-2所示。圖4-2編譯程序編譯:加載好要編譯的文件,在工具欄的右上方找到編譯按鈕,按下編譯按鈕,開(kāi)始編譯,編譯后會(huì)提示編譯是否通過(guò),如果編譯通過(guò)就可以進(jìn)行程序下載,實(shí)驗(yàn);如果編譯沒(méi)有通過(guò)說(shuō)明程序存在錯(cuò)誤需要修改這時(shí)會(huì)在軟件下方提示哪里有錯(cuò)誤,是什么錯(cuò)誤類型,如圖4-3所示。雙擊下邊的錯(cuò)誤提示,軟件會(huì)將光標(biāo)自動(dòng)移到錯(cuò)誤處以便于修改。編譯通過(guò)后會(huì)顯示編譯成功提示,如圖4-4所示。圖4-3編譯錯(cuò)誤提示圖4-4編譯通過(guò)提示4.3實(shí)物調(diào)試由于實(shí)物調(diào)試中遇到的問(wèn)題可能是軟件的問(wèn)題也可能是硬件的問(wèn)題,因此需要采取好的調(diào)試過(guò)程,制定一個(gè)好的調(diào)試原則。本設(shè)計(jì)在調(diào)試時(shí)采用了遇到問(wèn)題先排查是否是硬件故障,然后再排查軟件故障的順序。在排查硬件故障時(shí)可以利用已有的設(shè)計(jì)成功的軟件來(lái)測(cè)試。例如在調(diào)試過(guò)程中,最先遇到的問(wèn)題是液晶顯示器不能顯示。我在排查故障時(shí)采用了一個(gè)原有的能夠正常運(yùn)行的程序來(lái)測(cè)試電路是否能夠顯示,結(jié)果是能夠顯示,如圖4-5所示。這說(shuō)明電路的硬件連接沒(méi)有問(wèn)題,然后再排查軟件問(wèn)題,結(jié)果發(fā)現(xiàn)是程序中查詢?nèi)諝v芯片時(shí)的地址賦錯(cuò)值了,在排除這個(gè)錯(cuò)誤之后再燒寫(xiě)程序測(cè)試就能夠正常顯示了,如圖4-6所示。圖4-5測(cè)試程序顯示結(jié)果圖4-6正確程序顯示結(jié)果程序能夠正常顯示時(shí)間之后是調(diào)試按鍵子程序,要測(cè)試是否能掃描到按鍵及按鍵功能是否正確。由于按鍵程序設(shè)計(jì)時(shí)跳轉(zhuǎn)比較麻煩因此出了些小錯(cuò)誤,在按鍵調(diào)整之后總是不能返回時(shí)間顯示界面。經(jīng)過(guò)細(xì)心檢查發(fā)現(xiàn)是在返回顯示程序的跳轉(zhuǎn)標(biāo)號(hào)寫(xiě)錯(cuò)了,經(jīng)過(guò)改進(jìn),終于成功了。按鍵調(diào)整圖如圖4-7所示。圖4-7按鍵調(diào)整顯示結(jié)論1、本文的主要工作和成果系統(tǒng)采用了以廣泛使用的單片機(jī)STC89C52為核心,配合時(shí)鐘芯片DS12887,并采用LCD顯示電路,鍵盤(pán)掃描電路所設(shè)計(jì)的一款可以進(jìn)行遠(yuǎn)程調(diào)控的時(shí)鐘電路。主要工作和成果如下:(1)介紹基于單片機(jī)的時(shí)鐘電路的設(shè)計(jì)方法,并對(duì)基于單片機(jī)的時(shí)鐘的應(yīng)用進(jìn)行了初步探討。(2)介紹了時(shí)鐘芯片DS12887的基本原理、特性及使用方法。對(duì)單片機(jī)軟硬件資源和接口擴(kuò)展都有了深入的學(xué)習(xí)。(3)在系統(tǒng)的軟件仿真調(diào)試中,運(yùn)用了PROTEL、WAVE等軟件;學(xué)習(xí)了他們的基本操作,掌握了程序的編譯過(guò)程、電路圖的繪制過(guò)程。(4)系統(tǒng)設(shè)計(jì)出的實(shí)時(shí)時(shí)鐘除了可以顯示時(shí)間之外,還可以進(jìn)行遠(yuǎn)程通信,利用遠(yuǎn)程電腦對(duì)時(shí)鐘進(jìn)行時(shí)間設(shè)置。課題設(shè)計(jì)取得了較好的效果,達(dá)到了課題的基本要求。2、課題設(shè)計(jì)中不足及其展望本設(shè)計(jì)重點(diǎn)研究實(shí)現(xiàn)了基于單片機(jī)與時(shí)鐘芯片這種模式的時(shí)鐘,從原理上對(duì)單片機(jī)和時(shí)鐘芯片有了深一步的認(rèn)識(shí)。但是,時(shí)鐘除了能夠顯示基本日期時(shí)間功能外,還可以顯示、設(shè)置鬧鐘并可在工業(yè)測(cè)量控制系統(tǒng)中起到定時(shí)、監(jiān)控作用,以及對(duì)某些影像數(shù)據(jù)的實(shí)時(shí)記錄功能等。所以說(shuō),實(shí)時(shí)時(shí)鐘在工農(nóng)業(yè)的監(jiān)控中,它能發(fā)揮的作用會(huì)更多更大!它的這些功能還沒(méi)有完善,希望以后有機(jī)會(huì)可繼續(xù)完善其相應(yīng)的功能。

在基于單片機(jī)的數(shù)字時(shí)鐘電路設(shè)計(jì)過(guò)程中,我學(xué)到了很多重要的東西,其中最重要的是如何將實(shí)踐和理論相聯(lián)系,怎樣將我所學(xué)到的知識(shí)運(yùn)用到我以后的工作中去。大學(xué)的課堂的學(xué)習(xí)只是在給我們灌輸專業(yè)知識(shí),而我們應(yīng)把所學(xué)的用到我們現(xiàn)實(shí)的生活中去,此次的時(shí)鐘設(shè)計(jì)給我奠定了一個(gè)實(shí)踐基礎(chǔ)。本系統(tǒng)的設(shè)計(jì)應(yīng)用到了模擬電子技術(shù)、數(shù)字電子技術(shù)、單片機(jī)控制技術(shù)、電路焊接工藝等多方面的知識(shí),所設(shè)計(jì)的具有遠(yuǎn)程通信的時(shí)鐘電路,達(dá)到了題目要求。這次畢業(yè)設(shè)計(jì)為使我得到了很大收獲:不僅學(xué)到了許多了關(guān)于單片機(jī)方面的知識(shí),熟悉了與單片機(jī)相關(guān)的兩款軟件WAVE和STC-ISPV35,提高了實(shí)驗(yàn)技能;而且也使我的動(dòng)手能力和電路設(shè)計(jì)能力得到了極大的提高。在此次設(shè)計(jì)中,我的難點(diǎn)是程序的調(diào)試,由于以前僅僅學(xué)了一點(diǎn)匯編語(yǔ)言的皮毛,所以編一個(gè)完整的程序很是吃力!但是經(jīng)過(guò)這一段時(shí)間的學(xué)習(xí),我還是解決了一些問(wèn)題。軟件調(diào)試中也出現(xiàn)了一些問(wèn)題,就是程序在編譯中仿真器的設(shè)置出現(xiàn)了錯(cuò)誤,從而使系統(tǒng)的編譯通不過(guò),給系統(tǒng)的調(diào)試帶來(lái)了極大的不便,所以對(duì)軟件的使用還須更進(jìn)一步的熟練掌握。由于時(shí)間比較倉(cāng)促,我只能做到達(dá)到現(xiàn)在這樣的水平;其他的希望以后的工作中,再做深刻地研究。本文是在尊敬的導(dǎo)師張長(zhǎng)勇的精心指導(dǎo)和大力支持下完成的,從論文的構(gòu)思,方案設(shè)計(jì)到論文撰寫(xiě)和修改無(wú)不滲透著他大量的心血。張老師的悉心指導(dǎo),讓我有信心去解決所遇到的一個(gè)個(gè)問(wèn)題。在這里向他致以衷心的感謝。在近四個(gè)月的畢業(yè)設(shè)計(jì)中,他在學(xué)術(shù)上給了我很多幫助和教育,尤其是導(dǎo)師們?cè)趯W(xué)習(xí)和思維方法上給我的教育,讓我受益匪淺。導(dǎo)師認(rèn)真嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度、淵博的知識(shí)、創(chuàng)造性的學(xué)術(shù)思維、勤奮求實(shí)的工作作風(fēng)和不懈的學(xué)術(shù)追求都激勵(lì)著我,并對(duì)我今后的工作和生活也將產(chǎn)生極大的影響。同時(shí),我也特別感謝電子工程師論壇和PROTEUS論壇上的同仁給與極大地幫助,對(duì)我在軟件使用及程序調(diào)試中遇到的問(wèn)題給予及時(shí)地解答,使我的設(shè)計(jì)能一步一步的實(shí)現(xiàn);還要感謝我的同學(xué)在畢業(yè)設(shè)計(jì)中給予的幫助,才使我得以順利完成畢業(yè)論文。最后,再次對(duì)關(guān)心、幫助我的老師和同學(xué)們表示衷心地感謝。附錄A:電路原理圖附錄B:程序清單基于C8051F單片機(jī)直流電動(dòng)機(jī)反饋控制系統(tǒng)的設(shè)計(jì)與研究基于單片機(jī)的嵌入式Web服務(wù)器的研究MOTOROLA單片機(jī)MC68HC(8)05PV8/A內(nèi)嵌EEPROM的工藝和制程方法及對(duì)良率的影響研究基于模糊控制的電阻釬焊單片機(jī)溫度控制系統(tǒng)的研制基于MCS-51系列單片機(jī)的通用控制模塊的研究基于單片機(jī)實(shí)現(xiàn)的供暖系統(tǒng)最佳啟停自校正(STR)調(diào)節(jié)器單片機(jī)控制的二級(jí)倒立擺系統(tǒng)的研究基于增強(qiáng)型51系列單片機(jī)的TCP/IP協(xié)議棧的實(shí)現(xiàn)基于單片機(jī)的蓄電池自動(dòng)監(jiān)測(cè)系統(tǒng)基于32位嵌入式單片機(jī)系統(tǒng)的圖像采集與處理技術(shù)的研究基于單片機(jī)的作物營(yíng)養(yǎng)診斷專家系統(tǒng)的研究基于單片機(jī)的交流伺服電機(jī)運(yùn)動(dòng)控制系統(tǒng)研究與開(kāi)發(fā)基于單片機(jī)的泵管內(nèi)壁硬度測(cè)試儀的研制基于單片機(jī)的自動(dòng)找平控制系統(tǒng)研究基于C8051F040單片機(jī)的嵌入式系統(tǒng)開(kāi)發(fā)基于單片機(jī)的液壓動(dòng)力系統(tǒng)狀態(tài)監(jiān)測(cè)儀開(kāi)發(fā)模糊Smith智能控制方法的研究及其單片機(jī)實(shí)現(xiàn)一種基于單片機(jī)的軸快流CO〈,2〉激光器的手持控制面板的研制基于雙單片機(jī)沖床數(shù)控系統(tǒng)的研究基于CYGNAL單片機(jī)的在線間歇式濁度儀的研制基于單片機(jī)的噴油泵試驗(yàn)臺(tái)控制器的研制基于單片機(jī)的軟起動(dòng)器的研究和設(shè)計(jì)基于單片機(jī)控制的高速快走絲電火花線切割機(jī)床短循環(huán)走絲方式研究基于單片機(jī)的機(jī)電產(chǎn)品控制系統(tǒng)開(kāi)發(fā)基于PIC單片機(jī)的智能手機(jī)充電器基于單片機(jī)的實(shí)時(shí)內(nèi)核設(shè)計(jì)及其應(yīng)用研究基于單片機(jī)的遠(yuǎn)程抄表系統(tǒng)的設(shè)計(jì)與研究基于單片機(jī)的煙氣二氧化硫濃度檢測(cè)儀的研制基于微型光譜儀的單片機(jī)系統(tǒng)單片機(jī)系統(tǒng)軟件構(gòu)件開(kāi)發(fā)的技術(shù)研究基于單片機(jī)的液體點(diǎn)滴速度自動(dòng)檢測(cè)儀的研制基于單片機(jī)系統(tǒng)的多功能溫度測(cè)量?jī)x的研制基于PIC單片機(jī)的電能采集終端的設(shè)計(jì)和應(yīng)用基于單片機(jī)的光纖光柵解調(diào)儀的研制氣壓式線性摩擦焊機(jī)單片機(jī)控制系統(tǒng)的研制基于單片機(jī)的數(shù)字磁通門(mén)傳感器基于單片機(jī)的旋轉(zhuǎn)變壓器-數(shù)字轉(zhuǎn)換器的研究基于單片機(jī)的光纖Bragg光柵解調(diào)系統(tǒng)的研究單片機(jī)控制的便攜式多功能乳腺治療儀的研制基于C8051F020單片機(jī)的多生理信號(hào)檢測(cè)儀基于單片機(jī)的電機(jī)運(yùn)動(dòng)控制系統(tǒng)設(shè)計(jì)Pico專用單片機(jī)核的可測(cè)性設(shè)計(jì)研究基于MCS-51單片機(jī)的熱量計(jì)基于雙單片機(jī)的智能遙測(cè)微型氣象站MCS-51單片機(jī)構(gòu)建機(jī)器人的實(shí)踐研究基于單片機(jī)的輪軌力檢測(cè)基于單片機(jī)的GPS定位儀的研究與實(shí)現(xiàn)基于單片機(jī)的電液伺服控制系統(tǒng)用于單片機(jī)系統(tǒng)的MMC卡文件系統(tǒng)研制基于單片機(jī)的時(shí)控和計(jì)數(shù)系統(tǒng)性能優(yōu)化的研究基于單片機(jī)和CPLD的粗光柵位移測(cè)量系統(tǒng)研究單片機(jī)控制的后備式方波UPS提升高職學(xué)生單片機(jī)應(yīng)用能力的探究基于單片機(jī)控制的自動(dòng)低頻減載裝置研究基于單片機(jī)控制的水下焊接電源的研究基于單片機(jī)的多通道數(shù)據(jù)采集系統(tǒng)基于uPSD3234單片機(jī)的氚表面污染測(cè)量?jī)x的研制基于單片機(jī)的紅外測(cè)油儀的研究96系列單片機(jī)仿真器研究與設(shè)計(jì)基于單片機(jī)的單晶金剛石刀具刃磨設(shè)備的數(shù)控改造基于單片機(jī)的溫度智能控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)基于MSP430單片機(jī)的電梯門(mén)機(jī)控制器的研制基于單片機(jī)的氣體測(cè)漏儀的研究基于三菱M16C/6N系列單片機(jī)的CAN/USB協(xié)議轉(zhuǎn)換器基于單片機(jī)和DSP的變壓器油色譜在線監(jiān)測(cè)技術(shù)研究基于單片機(jī)的膛壁溫度報(bào)警系統(tǒng)設(shè)計(jì)基于AVR單片機(jī)的低壓無(wú)功補(bǔ)償控制器的設(shè)計(jì)基于單片機(jī)船舶電力推進(jìn)電機(jī)監(jiān)測(cè)系統(tǒng)基于單片機(jī)網(wǎng)絡(luò)的振動(dòng)信號(hào)的采集系統(tǒng)基于單片機(jī)的大容量數(shù)據(jù)存儲(chǔ)技術(shù)的應(yīng)用研究基于單片機(jī)的疊圖機(jī)研究與教學(xué)方法實(shí)踐基于單片機(jī)嵌入式Web服務(wù)器技術(shù)的研究及實(shí)現(xiàn)基于AT89S52單片機(jī)的通用數(shù)據(jù)采集系統(tǒng)基于單片機(jī)的多道脈沖幅度分析儀研究機(jī)器人旋轉(zhuǎn)電弧傳感角焊縫跟蹤單片機(jī)控制系統(tǒng)基于單片機(jī)的控制系統(tǒng)在PLC虛擬教學(xué)實(shí)驗(yàn)中的應(yīng)用研究基于單片機(jī)系統(tǒng)的網(wǎng)絡(luò)通信研究與應(yīng)用基于PIC16F877單片機(jī)的莫爾斯碼自動(dòng)譯碼系統(tǒng)設(shè)計(jì)與研究基于單片機(jī)的模糊控制器在工業(yè)電阻爐上的應(yīng)用研究基于雙單片機(jī)沖床數(shù)控系統(tǒng)的研究與開(kāi)發(fā)基于Cygnal單片機(jī)的μC/OS-Ⅱ的研究基于單片機(jī)的一體化智能差示掃描量熱儀系統(tǒng)研究

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論