版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 本科畢業(yè)論文</b></p><p> 基于單片機(jī)的數(shù)字鐘設(shè)計(jì)</p><p> 專 業(yè): 電子信息科學(xué)與技術(shù) </p><p> 指導(dǎo)教師: </p><p> 學(xué)生姓名:
2、 </p><p> 學(xué)生學(xué)號(hào): </p><p><b> 目錄</b></p><p><b> 摘要III</b></p><p> AbstractIV</p><p>&
3、lt;b> 第一章 緒論1</b></p><p> 1.1 數(shù)字電子鐘的背景1</p><p> 1.2 數(shù)字電子鐘的意義1</p><p> 1.3 數(shù)字電子鐘的應(yīng)用1</p><p> 第二章 主要工具和器件2</p><p> 2.1 單片機(jī)的選擇2<
4、/p><p> 2.1.1 多功能2</p><p> 2.1.2 高效率和高性能3</p><p> 2.1.3 低電壓和低功耗3</p><p> 2.1.4 低價(jià)格3</p><p> 2.2 仿真軟件Proteus3</p><p> 2.2.1 概述3&
5、lt;/p><p> 2.2.2 Proteus主要功能3</p><p> 2.2.3 Proteus的用途及其在本系統(tǒng)中的作用4</p><p> 2.3 調(diào)試軟件Keil C514</p><p> 2.4 液晶顯示屏4</p><p><b> 2.5 晶振5</b&g
6、t;</p><p> 2.6 蜂鳴器5</p><p> 2.7 DS12C8876</p><p><b> 2.8 鍵盤7</b></p><p> 第三章 系統(tǒng)總體設(shè)計(jì)與分析8</p><p> 3.1 系統(tǒng)整體設(shè)計(jì)8</p><p>
7、 3.2 鍵盤控制電路模塊8</p><p> 3.3 時(shí)鐘周期設(shè)計(jì)模塊9</p><p> 3.4 復(fù)位電路設(shè)計(jì)模塊10</p><p> 3.5 顯示器模塊11</p><p> 3.6 蜂鳴器模塊12</p><p> 3.7 DS12C887鬧鐘模塊12</p>
8、<p> 3.8 電阻模塊14</p><p> 3.9 硬件的總體設(shè)計(jì)15</p><p> 3.10 系統(tǒng)的軟件設(shè)計(jì)16</p><p> 3.10.1 主程序模塊圖16</p><p> 3.10.2 時(shí)間調(diào)整與顯示流程圖17</p><p> 3.10.3 鬧鐘定時(shí)
9、流程圖18</p><p> 第四章 系統(tǒng)調(diào)試20</p><p> 4.1 軟件調(diào)試20</p><p> 4.2 硬件部分21</p><p> 4.3 軟硬聯(lián)調(diào)23</p><p><b> 總結(jié)26</b></p><p><b&
10、gt; 參考文獻(xiàn)27</b></p><p><b> 附錄28</b></p><p><b> 致謝33</b></p><p> 基于單片機(jī)的數(shù)字鐘設(shè)計(jì)</p><p><b> 摘要</b></p><p> 現(xiàn)代生
11、活的人們?cè)絹碓街匾暺鹆藭r(shí)間的觀念,可以說時(shí)間和金錢劃上了等號(hào)。對(duì)于那些對(duì)時(shí)間把握非常嚴(yán)格和準(zhǔn)確的人或事來說,時(shí)間的不準(zhǔn)確會(huì)帶來非常大的麻煩,所以以LCD為顯示器的時(shí)鐘比指針式的時(shí)鐘表現(xiàn)出了很大的優(yōu)勢(shì),LCD顯示的時(shí)間簡(jiǎn)單明了而且讀數(shù)快、時(shí)間準(zhǔn)確顯示到秒。</p><p> 數(shù)字鐘是采用數(shù)字電路實(shí)現(xiàn)對(duì)時(shí)分秒數(shù)字顯示的計(jì)時(shí)裝置。數(shù)字鐘的精度穩(wěn)定度遠(yuǎn)遠(yuǎn)超出老式機(jī)械鐘。在這次設(shè)計(jì)中我們采用了AT89C51作為主控機(jī)器,
12、采用DS12C887來實(shí)現(xiàn)鬧鐘的功能,采用了一個(gè)按鍵進(jìn)行復(fù)位時(shí)使用,三個(gè)按鍵來隨時(shí)隨地的調(diào)節(jié)逆隋需要的時(shí)間,平且使用了LCD液晶顯示時(shí)、分、秒,以24小時(shí)計(jì)時(shí)方式,用12MHZ的晶振產(chǎn)生脈沖,定時(shí)器計(jì)數(shù)。在此次設(shè)計(jì)中,電路除了具有顯示時(shí)間的基本功能外,還可以實(shí)現(xiàn)對(duì)時(shí)間的調(diào)整以及鬧鐘提醒功能,數(shù)字鐘是其小巧,價(jià)格低廉,走時(shí)精度高,使用方便,多功能,便于集成化而受到廣大消費(fèi)的喜愛,因此得到了廣泛的使用。</p><p&g
13、t; 關(guān)鍵詞:?jiǎn)纹瑱C(jī);數(shù)字鐘;液晶顯示</p><p> Clock Design Of Based On SCM Digital </p><p><b> Abstract</b></p><p> Modern life of people pay more and more attention to up the concept
14、 of time, can say time and money off of equality. For those very strict to time and accurate grasp the person or thing for, time is not accurate will bring very big trouble, so the clock with LCD for display than the clo
15、ck pointer type showed a lot of advantage, LCD display time reading simple and quick, time accurately display to seconds.</p><p> A digital clock is adopting digital circuit implementation provides the diff
16、culties digital display timer. A digital clock precision stability far beyond old mechanical clock. In this design we adopted AT89C51 as the master machine, using DS12C887 to achieve the alarm clock function, adopted a b
17、utton to reset use anytime and anywhere, three button to adjust the time required to inverse sui, flat and USES the LCD display, minutes and seconds, with 24 hours, with the way 12MHZ clock crystals produ</p><
18、p> Keywords: SCM, A Digital Cclock,Liquid Crystal Display</p><p><b> 第一章 緒論</b></p><p> 1.1 數(shù)字電子鐘的背景</p><p> 21世紀(jì),社會(huì)生產(chǎn)力的發(fā)展和社會(huì)信息化程度的有了很大程度上的提高。 時(shí)間對(duì)人們來說總是那么寶貴,工作的
19、忙碌性和繁雜性容易使人忘記當(dāng)前的時(shí)間。忘記了要做的事情,當(dāng)事情不是很重要的時(shí)候,這種遺忘無傷大雅。但是,一旦有重要事情,一時(shí)的耽誤可能釀成大禍,而鬧鐘就可以在關(guān)鍵時(shí)刻起到提醒的作用。</p><p> 目前,單片機(jī)正朝著高性能和多品種方向發(fā)展趨勢(shì)將是進(jìn)一步向著低功耗、小體積、大容量、高性能、低價(jià)格和外圍電路內(nèi)裝化等幾個(gè)方面發(fā)展。單片機(jī)應(yīng)用的重要還在于,它從根本上改變了傳統(tǒng)的控制系統(tǒng)設(shè)計(jì)思想和設(shè)計(jì)方法。從前必須由
20、模擬電路或數(shù)字電路實(shí)現(xiàn)的大部分功能,現(xiàn)在已能用單片機(jī)通過軟件方法來實(shí)現(xiàn)了。這種軟件代替硬件的控制技術(shù)也稱為微控制技術(shù),是傳統(tǒng)控制技術(shù)的一次革命。</p><p> 數(shù)字鐘模塊中最常見的是單片機(jī),數(shù)字鐘是一種用數(shù)字電路技術(shù)實(shí)現(xiàn)時(shí)、分、秒計(jì)時(shí)的裝置,與機(jī)械式時(shí)鐘相比具有更高的準(zhǔn)確性和直觀性,且無機(jī)械裝置,具有更長(zhǎng)的使用壽命,因此得到了廣泛的使用。</p><p> 1.2 數(shù)字電子鐘的意
21、義</p><p> 數(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)超過老式鐘表, 鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此,研究數(shù)字鐘及擴(kuò)大其應(yīng)用,有著非常現(xiàn)實(shí)的意義。</p><p
22、> 1.3 數(shù)字電子鐘的應(yīng)用</p><p> 數(shù)字鐘已成為人們生活中必不可少的一部分,廣泛用于生活的各個(gè)方面和公共場(chǎng)所,給人們的生活、學(xué)習(xí)、工作、娛樂帶來極大的方便。由于數(shù)字集成電路技術(shù)的發(fā)展和采用了先進(jìn)的石英技術(shù),使數(shù)字鐘具有走時(shí)準(zhǔn)確、性能穩(wěn)定、攜帶方便等優(yōu)點(diǎn),它還用于計(jì)時(shí)、自動(dòng)控制等各個(gè)領(lǐng)域。</p><p> 第二章 主要工具和器件</p><p
23、> 2.1 單片機(jī)的選擇</p><p> 單片機(jī)微型計(jì)算機(jī)是微型計(jì)算機(jī)的一個(gè)重要分支,也是頗具生命力的機(jī)種。單片機(jī)微型計(jì)算機(jī)簡(jiǎn)稱單片機(jī),特別適用于控制領(lǐng)域,故又稱為微控制器。</p><p> 通常,單片機(jī)由單塊集成電路芯片構(gòu)成,內(nèi)部包含有計(jì)算機(jī)的基本功能部件:中央處理器、存儲(chǔ)器和I/O接口電路等。</p><p> 因此,單片機(jī)只需要和外部設(shè)備及
24、適當(dāng)?shù)能浖嘟Y(jié)合,便可成為一個(gè)單片機(jī)控制系統(tǒng)。在此,我們采用型號(hào)為AT89C51的單片機(jī)。AT89C51是一個(gè)低電壓,高性能CMOS 8位單片機(jī)帶有4K字節(jié)的可反復(fù)擦寫的程序存儲(chǔ)器和128字節(jié)的存取數(shù)據(jù)存儲(chǔ)器(RAM),這種器件采用ATMEL公司的高密度、不容易丟失存儲(chǔ)技術(shù)生產(chǎn),并且能夠與MCS-51系列的單片機(jī)兼容。片內(nèi)含有8位中央處理器和閃存,有較強(qiáng)的功能的AT89C51單片機(jī)能夠被應(yīng)用到控制領(lǐng)域中,AT89C51單片機(jī)實(shí)物圖如圖
25、2.1所示:</p><p> 圖2.1 AT89C51實(shí)物圖</p><p> 單片機(jī)經(jīng)過前幾代的發(fā)展,正朝著多功能、高性能、低電壓、低功耗、低價(jià)格、大存儲(chǔ)容量、強(qiáng)I/O功能及較好的結(jié)構(gòu)兼容性方向發(fā)展。其發(fā)展趨勢(shì)不外乎以下幾個(gè)方面。</p><p> 2.1.1 多功能</p><p> 單片機(jī)中盡可能地把所需要的存儲(chǔ)器和I/O
26、口都集成在一塊芯片上,使得單片機(jī)可以實(shí)現(xiàn)更多的功能。比如A/D、PWM、PCA(可編程計(jì)數(shù)器陣列)、WDT(監(jiān)視定時(shí)器---看家狗)、高速I/O口及計(jì)數(shù)器的捕獲/比較邏輯等。</p><p> 有的單片機(jī)針對(duì)某一個(gè)應(yīng)用領(lǐng)域,集成了相關(guān)的控制設(shè)備,以減少應(yīng)用系統(tǒng)的芯片數(shù)量。例如,有的芯片以51內(nèi)核為核心,集成了USB控制器、SMART CARD接口、MP3解碼器、CAN或者I*I*C總線控制器等,LED、LCD或
27、VFD顯示驅(qū)動(dòng)器也開始集成在8位單片機(jī)中[1]。</p><p> 2.1.2 高效率和高性能</p><p> 為了提高執(zhí)行速度和執(zhí)行效率,單片機(jī)開始使用RISC、流水線和DSP的設(shè)計(jì)技術(shù),使單片機(jī)的性能有了明顯的提高,表現(xiàn)為:?jiǎn)纹瑱C(jī)的時(shí)鐘頻率得到提高;同樣頻率的單片機(jī)運(yùn)行效率也有了很大的提升;由于集成度的提高,單片機(jī)的尋址能力、片內(nèi)ROM(FLASH)和RAM的容量都突破了以往的
28、數(shù)量和限制。</p><p> 由于系統(tǒng)資源和系統(tǒng)復(fù)雜程度的增加,開始使用高級(jí)語言(如C語言)來開發(fā)單片機(jī)的程序。使用高級(jí)語言可以降低開發(fā)難度,縮短開發(fā)周期,增強(qiáng)軟件的可讀性和可移植性,便于改進(jìn)和擴(kuò)充功能。</p><p> 2.1.3 低電壓和低功耗</p><p> 單片機(jī)的嵌入式應(yīng)用決定了低電壓和低功耗的特性十分重要。由于CMOS等工藝的大量采用,很多
29、單片機(jī)可以在更低的電壓下工作(1.2V或0.9V),功耗已經(jīng)降低到uA級(jí)。這些特性使得單片機(jī)系統(tǒng)可以在更小電源的支持下工作更長(zhǎng)的時(shí)間。</p><p> 2.1.4 低價(jià)格</p><p> 單片機(jī)應(yīng)用面廣,使用數(shù)量大,帶來的直接好處就是成本的降低。目前世界各大公司為了提高競(jìng)爭(zhēng)力,在提高單片機(jī)性能的同時(shí),十分注意降低其產(chǎn)品的價(jià)格。 </p><p> 2
30、.2 仿真軟件Proteus</p><p><b> 2.2.1 概述</b></p><p> Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)</p><p> 與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上唯一將電路仿真軟件、PCB設(shè)計(jì)軟件和虛擬模型仿
31、真軟件三合一的設(shè)計(jì)平臺(tái),其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DSPIC33、AVR、ARM、8086和MSP430等,2010年增加Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、KeilC和MPLAB等多種編譯器[2]。</p><p> 2.2.2 Proteus主要功能</p><p> Pro
32、teus軟件具有其它EDA工具軟件(例:multisim)的功能。這些功能是:</p><p><b> 原理布圖;</b></p><p> PCB自動(dòng)或人工布線;</p><p> SPICE電路仿真。</p><p><b> 革命性的特點(diǎn):</b></p><p&
33、gt;<b> 互動(dòng)的電路仿真</b></p><p> 用戶甚至可以實(shí)時(shí)采用諸如RAM,ROM,鍵盤,馬達(dá),LED,LCD,AD/DA,部分SPI器件,部分IIC器件。</p><p> 仿真處理器及其外圍電路</p><p> 可以仿真51系列、AVR、PIC、ARM、等常用主流單片機(jī)。還可以直接在基于原理圖的虛擬原型上編程,再配合
34、顯示及輸出,能看到運(yùn)行后輸入輸出的效果。配合系統(tǒng)配置的虛擬邏輯分析儀、示波器等,Proteus建立了完備的電子設(shè)計(jì)開發(fā)環(huán)境。</p><p> 2.2.3 Proteus的用途及其在本系統(tǒng)中的作用</p><p> 單片機(jī)在很多產(chǎn)品中得到廣泛的應(yīng)用,無論是51 系列、AVR、還是PIC 系列,他們各有各的特點(diǎn),學(xué)習(xí)者也是逐年增加,但是在學(xué)習(xí)開發(fā)過程中,我們往往在確定方案后做試驗(yàn)的開支
35、往往比較大,尤其是對(duì)于一些學(xué)生或者初學(xué)者這就可能成為他們學(xué)習(xí)的障礙。我們使用Proteus 軟件進(jìn)行模擬仿真,這樣大大節(jié)省了時(shí)間和開發(fā)費(fèi)。尤其將此軟件用在單片機(jī)開發(fā)中是一個(gè)不錯(cuò)的選擇。</p><p> 2.3 調(diào)試軟件Keil C51</p><p> Keil C51是德國(guó)Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性
36、、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。用過匯編語言后再使用C來開發(fā),體會(huì)更加深刻[3]。</p><p> Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語言的優(yōu)勢(shì)。</p><p> 在本設(shè)計(jì)中Keil C51主要是實(shí)現(xiàn)程序的編譯、與Proteus的聯(lián)合調(diào)試。</p><p> 2.
37、4 液晶顯示屏</p><p> 液晶顯示器具有功耗低, 壽命長(zhǎng)的特點(diǎn)。是目前單片機(jī)應(yīng)用的重要領(lǐng)域,無論機(jī)器,儀表,等都可以看到他的身影,然而,想要找一個(gè)適合于自己玩的液晶還真的比較困難,在這里我們選用了1602液晶顯示器 ,因?yàn)樗哂惺褂煤?jiǎn)單,容易掌握的特點(diǎn),更適合初始實(shí)踐者使用。</p><p> 1602液晶顯示屏實(shí)物圖如圖2.2所示:</p><p>
38、 圖2.2 1602液晶顯示屏實(shí)物</p><p><b> 2.5 晶振</b></p><p> 沒有晶振,就沒有時(shí)鐘周期,沒有時(shí)鐘周期,就無法執(zhí)行程序代碼,單片機(jī)就無法工作。 </p><p> 單片機(jī)工作時(shí),是一條一條地從RoM中取指令,然后一步一步地執(zhí)行。單片機(jī)訪問一次存儲(chǔ)器的時(shí)間,稱之為一個(gè)機(jī)器周期,這是一個(gè)時(shí)間基準(zhǔn)?!?/p>
39、個(gè)機(jī)器周期包括12個(gè)時(shí)鐘周期。如果一個(gè)單片機(jī)選擇了12MHz晶振,它的時(shí)鐘周期是1/12us,它的一個(gè)機(jī)器周期是12×(1/12)us,也就是1us。</p><p> 所以我們這里采用的是12MHZ晶振,他正好滿足我們整個(gè)實(shí)驗(yàn)的要求。12MHZ晶振實(shí)物圖如圖2.3所示:</p><p> 圖2.3 12MHZ晶振實(shí)物</p><p><b&g
40、t; 2.6 蜂鳴器</b></p><p> 蜂鳴器是一種機(jī)電轉(zhuǎn)換裝置, 它可將交流或直流電能轉(zhuǎn)變成振動(dòng),該振動(dòng)往往產(chǎn)生音域的嗡嗡聲,體化結(jié)構(gòu)的電子訊響器[4],而我們采用的直流電壓供電,廣泛應(yīng)用于計(jì)算機(jī)、打印機(jī)、復(fù)印機(jī)、報(bào)警器、電子玩具、汽車電子設(shè)備、電話機(jī)、定時(shí)器等電子產(chǎn)品中作發(fā)聲器件。蜂鳴器的分類 蜂鳴器主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類型。蜂鳴器的電路圖形符號(hào) 蜂鳴器在電路中用字
41、母“H”或“HA”(舊標(biāo)準(zhǔn)用“FM”、“LB”、“JD”等)表示。</p><p> 蜂鳴器也分為有源蜂鳴器和無源蜂鳴器,由于該程序自身的設(shè)計(jì)我們選擇使用有源蜂鳴器。下面是一個(gè)有源蜂鳴器實(shí)物圖如圖2.4所示: </p><p> 圖2.4 有源蜂鳴器</p><p> 2.7 DS12C887</p>
42、;<p> 在2000年時(shí),“千年蟲”問題成為困擾當(dāng)時(shí)世界的一大難題。當(dāng)時(shí)采用兩位數(shù)表示年度的日歷系統(tǒng)將要用四位數(shù)來表示,因此有關(guān)的計(jì)算機(jī)操作系統(tǒng)和應(yīng)用軟件都要作相應(yīng)的修改。據(jù)此,美國(guó)Dallas公司推出兩款數(shù)字時(shí)鐘芯DS12887/DS12C887,兩款時(shí)鐘芯片都將在1999年12月31日23時(shí)59分59秒時(shí)順利地跳到2000年1月1日零時(shí),并能實(shí)現(xiàn)2000年2月29日的閏年提示,是時(shí)鐘芯片DS1287的增強(qiáng)品種,結(jié)構(gòu)
43、上相當(dāng)于MC146818的改進(jìn)型。芯片都采用24引腳雙列直插式封裝,其引腳接口邏輯和內(nèi)部操作方式與MC146818基本一致,所不同的DS12887/DS12C887芯片的晶體振蕩、振蕩電路、充電電路和可充電鋰電池等一起封裝在芯片的上方,組成一個(gè)加厚的集成電路模塊,因此,DS12C887時(shí)鐘片無需MC146818的電源電位檢測(cè)端(PS),電路通電時(shí)其充電電路便自動(dòng)對(duì)可充電電池充電,充足一次電可供芯片時(shí)鐘運(yùn)行半年之久,正常工作時(shí)可保證時(shí)鐘數(shù)
44、據(jù)十年內(nèi)不會(huì)丟失。此外,片內(nèi)通用的RAM為MC146818的兩倍以上[5]。 </p><p> DS12C887內(nèi)部有專門的接口電路,從而使得外部電路的時(shí)序要求十分簡(jiǎn)單,使它與各種微處理器的接口大大簡(jiǎn)化。使用時(shí)無需外圍電路元件,只要選擇引腳MOT電平,即可和不同計(jì)算機(jī)總線連接。</p><p> DS12C887實(shí)物如圖2.5所示: </p><p> 圖
45、2.5 DS12C887實(shí)物</p><p><b> 2.8 鍵盤</b></p><p> 該設(shè)計(jì)用了三個(gè)鍵盤,實(shí)現(xiàn)了比較完善的功能,鍵盤中的一個(gè)可以調(diào)節(jié)到要調(diào)節(jié)的小時(shí)、分鐘和秒位置,另一個(gè)按鍵可以實(shí)現(xiàn)小時(shí)、分鐘和秒的累加,每按一次加一,以達(dá)到調(diào)節(jié)時(shí)間的功效,另外還可以對(duì)鬧鐘進(jìn)行設(shè)置,當(dāng)鬧鐘響時(shí)可以按任意鍵停止,使用很方便,鍵盤實(shí)物如圖2.6所示:<
46、/p><p> 圖2.6 鍵盤實(shí)物</p><p> 第三章 系統(tǒng)總體設(shè)計(jì)與分析</p><p> 3.1 系統(tǒng)整體設(shè)計(jì)</p><p> 我們可以采取的設(shè)計(jì)思路是:首先,整個(gè)系統(tǒng)應(yīng)該圍繞單片機(jī)進(jìn)行處理,單片機(jī)每一個(gè)不同端口都有一個(gè)不同的功能,我們先利用晶振,來控制時(shí)鐘周期,再通過單片機(jī)的復(fù)位功能設(shè)計(jì)一個(gè)復(fù)位功能鍵,最后通過LCD顯
47、示屏與單片各個(gè)端口連接來,在設(shè)計(jì)一個(gè)蜂鳴器通過單片機(jī)進(jìn)行報(bào)時(shí),最終通過加載程序來實(shí)現(xiàn)時(shí)間的顯示和報(bào)時(shí)功能,系統(tǒng)的總體結(jié)構(gòu)框如圖3.1所示:</p><p> 圖3.1 系統(tǒng)的總體結(jié)構(gòu)框圖</p><p> 3.2 鍵盤控制電路模塊</p><p> 該設(shè)計(jì)需要校對(duì)時(shí)間,所以用三個(gè)按鍵來實(shí)現(xiàn)。按S1鍵產(chǎn)生低電平啟動(dòng)按鍵功能來調(diào)節(jié)要調(diào)節(jié)的時(shí)間,第一次按是秒的位
48、置,再按一次是分鐘,再按一次是時(shí)鐘位置,在調(diào)整好位置后,再按S2產(chǎn)生進(jìn)位加時(shí)間,按S3鍵產(chǎn)生退位減時(shí)間,每按一次加一或減一,當(dāng)用手按下一個(gè)鍵時(shí),往往按鍵在閉合位置和斷開位置之間跳幾下才穩(wěn)定到閉合狀態(tài)的情況;在釋放一個(gè)鍵時(shí),也回會(huì)出現(xiàn)類似的情況。這就是抖動(dòng)。抖動(dòng)的持續(xù)時(shí)間隨鍵盤材料和操作員而異,很容易想到,抖動(dòng)問題不解決就會(huì)引起對(duì)閉合鍵的識(shí)別。用軟件方法可以很容易地解決抖動(dòng)問題,這就是通過延遲一定的時(shí)間來等待抖動(dòng)消失,這之后,在讀入鍵盤碼
49、[6]。按鍵硬件連接如圖3.2所示:</p><p> 圖3.2 按鍵硬件連接</p><p> 3.3 時(shí)鐘周期設(shè)計(jì)模塊 </p><p> AT89C51片內(nèi)設(shè)有一個(gè)由反向放大器所構(gòu)成的振蕩電路,XTAL1和XTAL2分別為振蕩電路的輸入端和輸出端。時(shí)鐘可以由內(nèi)部方式產(chǎn)生或外部方式產(chǎn)生。內(nèi)部時(shí)鐘電路方式,在XTAL1和XTAL2引腳上外接定時(shí)元件,
50、內(nèi)部振蕩電路就產(chǎn)生自激振蕩。定時(shí)元件經(jīng)常采用石英晶體和電容組成的并聯(lián)諧振電路。晶體可以在1.2MHZ~12MHZ之間選擇,電容值在50PF~30PF之間選擇,電容的大小可以起頻率微調(diào)的作用。外部方式的時(shí)鐘電路,XTAL1接地,XTAL2接外部振蕩器。對(duì)外部震蕩信號(hào)無特殊要求,只要保證脈沖寬度,一般采用頻率低于12MHZ的方波信號(hào)。此系統(tǒng)選用內(nèi)部時(shí)鐘電路方式[7]。 </p><p> 電路圖如圖3.3所示:&l
51、t;/p><p> 圖3.3 時(shí)鐘振蕩電路</p><p> 3.4 復(fù)位電路設(shè)計(jì)模塊 </p><p> 在振蕩器運(yùn)行時(shí),單片機(jī)的復(fù)位電路原理是在RESET輸入端出現(xiàn)高電平來實(shí)現(xiàn)復(fù)位和初始化。在振蕩器運(yùn)行的情況下,要實(shí)現(xiàn)復(fù)位操作,必須使RST引腳至少保持兩個(gè)機(jī)器周期(24個(gè)振蕩器周期)的高電平。CPU在第二個(gè)機(jī)器周期內(nèi)執(zhí)行復(fù)位操作,以后每一個(gè)機(jī)器周期重
52、復(fù)一次,直至RST端電平變低。當(dāng)RST引腳返回低電平以后,CPU從0地址開始執(zhí)行程序。</p><p> 在加電瞬間,RST端的電平與VCC相同,隨著RC電路充電電流的減小,RST端的電位逐漸下降。只要RST端保持兩個(gè)機(jī)器周期的高電平,單片機(jī)就能有效復(fù)位。本方案中電路系統(tǒng)采用的是上電與按鈕復(fù)位電路。當(dāng)時(shí)鐘頻率選用12MHz時(shí),C1取10μF,R9為1k,R10為10K。復(fù)位操作不會(huì)對(duì)內(nèi)部RAM有所影響[8]。&
53、lt;/p><p> 單片機(jī)系統(tǒng)自動(dòng)復(fù)位如圖3.4所示:</p><p> 圖3.4 單片機(jī)系統(tǒng)自動(dòng)復(fù)位</p><p> 3.5 顯示器模塊</p><p> VCC(15腳)和地線GND(16腳),其控制原理與14腳的LCD完全一樣,我們選用的是1602字符型14條引腳線的LCD,其中D0—D7與單片機(jī)相連來實(shí)現(xiàn)數(shù)據(jù)的傳送,E與單
54、片機(jī)連是使能端,VSS一般接地為寫信號(hào)線,RW與VEE通過滑動(dòng)變阻器相連來調(diào)節(jié)顯示屏的亮度,通過以上功能配合來完成顯示屏的顯示[9]。顯示屏如圖3.5所示:</p><p> 圖3.5 1062液晶顯示屏</p><p> 3.6 蜂鳴器模塊</p><p> 蜂鳴器模塊由蜂鳴器驅(qū)動(dòng)電路和一個(gè)三極管組成。我們選擇了有源蜂鳴器,它具有體積小,耗電流小,使用時(shí)
55、間長(zhǎng),聲壓值達(dá)到理想效果等特點(diǎn),同時(shí)選擇的是一只壓電式蜂鳴器,壓電式蜂鳴器工作時(shí)約需要驅(qū)動(dòng)電流。通過電源給蜂鳴器提供高電平,再與利用三極管的產(chǎn)生的低電平協(xié)作一到設(shè)定時(shí)間,就產(chǎn)生一短脈沖,驅(qū)動(dòng)蜂鳴器報(bào)警,蜂鳴器模塊如圖3.6所示:</p><p> 圖3.6 蜂鳴器模塊</p><p> 3.7 DS12C887鬧鐘模塊</p><p> DS12C887共
56、有3個(gè)鬧鐘單元,分別為時(shí)、分、秒鬧鐘單元。在其中寫入鬧鐘時(shí)間值并且在時(shí)鐘中斷允許的情況下每天到時(shí)就會(huì)產(chǎn)生中斷申請(qǐng)信號(hào)。這種方式可以每天通過設(shè)置隨時(shí)提供中斷信號(hào),從而在你需要的任意時(shí)刻(可以定確到秒以內(nèi))提供鬧鐘服務(wù),這種方式能在整點(diǎn)、整分或整秒產(chǎn)生一次中斷。假如控制系統(tǒng)要求的定時(shí)間隔不是整數(shù)時(shí),則可以很方便的通過軟件來調(diào)整實(shí)現(xiàn)。</p><p> MOT(模式選擇):MOT管腳為兩種總線類型的選擇提供了方便,當(dāng)
57、聯(lián)接到VCC時(shí),選擇MOTORLA時(shí)序.當(dāng)聯(lián)接到GND時(shí),選擇INTEL時(shí)序,此管腳有一約20K內(nèi)部下拉電阻。</p><p> SQW(方波信號(hào)輸出):SQW管腳能從實(shí)時(shí)時(shí)鐘的內(nèi)15級(jí)分頻提供的13個(gè)抽頭中選擇輸出信號(hào)。SQW管腳的頻率可通過對(duì)寄存器A編程來改變。</p><p> AD0一AD7(雙向地址/資料復(fù)用總線):復(fù)用總線減少管腳。因?yàn)榈刂沸畔⑴c資料信息分時(shí)共享相同的信號(hào)通
58、路。</p><p> AS(地址選通輸入):地址選通脈沖用于實(shí)現(xiàn)總線信號(hào)分離,AS/ALE的下降沿使得地址鎖入DSl2C887。</p><p> CS(片選輸入):在訪問DSl2C887的總線周期片選信號(hào)必須保持為低,在MOTOROLA時(shí)序的DS和AS期間或INTEL時(shí)序RD和WR期間,CS須保持有效狀態(tài)。</p><p> RESET(復(fù)位輸入):RES
59、ET管腳對(duì)時(shí)鐘、日歷或RAM無效.上電時(shí)RESET可保持一段時(shí)問低電平以允許電源穩(wěn)定.RESET保持低電平的時(shí)間取決于實(shí)際應(yīng)用[10]。</p><p> 下面是DS12C887鬧鐘模塊如圖3.7所示:</p><p> 圖3.7 DS12C887鬧鐘模塊</p><p><b> 3.8 電阻模塊</b></p>&l
60、t;p> 電阻雖說不能和單片機(jī)像其他硬件一樣起到主要作用,但在本次設(shè)計(jì)中卻是必不可少的一部分,我們這次一次用了8個(gè)的10k大小相同的電阻,為了防止電流過大而起到電流限流的作用來保護(hù)液晶顯示屏不受損害。</p><p> 電阻模塊如圖3.8。</p><p> 圖3.8 電阻模塊</p><p> 3.9 硬件的總體設(shè)計(jì)</p><
61、;p> 根據(jù)硬件系統(tǒng)的各個(gè)模塊的設(shè)計(jì),我們最終可以完成了整個(gè)系統(tǒng)硬件的總體設(shè)計(jì)。</p><p> 硬件的總體設(shè)計(jì)如圖3.9所示:</p><p> 圖3.9 硬件的總體設(shè)計(jì)</p><p> 3.10 系統(tǒng)的軟件設(shè)計(jì)</p><p> 單片機(jī)的程序設(shè)計(jì)有其自身的特點(diǎn)。在單片機(jī)系統(tǒng)中,硬件與軟件緊密結(jié)合,由于硬件電路的設(shè)計(jì)
62、不具有通用性,所以必須根據(jù)具體的硬件電路來設(shè)計(jì)對(duì)應(yīng)的軟件,硬件設(shè)計(jì)的優(yōu)劣直接影響到軟件設(shè)計(jì)的難易,軟件設(shè)計(jì)的優(yōu)劣又直接影響到硬件的發(fā)揮。在很多時(shí)候,軟件可以替代硬件的功能,當(dāng)然,需要付出額外占用CPU時(shí)間的代價(jià)。</p><p> 軟件程序的設(shè)計(jì)是根據(jù)硬件電路圖的連接和各個(gè)元器件的功能進(jìn)行設(shè)計(jì)。在編寫軟件時(shí),可以按各個(gè)程序的功能將軟件細(xì)分為各個(gè)功能模塊,再通過主程序的調(diào)用來實(shí)現(xiàn)整個(gè)軟件系統(tǒng)。而一般編寫的程序都是
63、根據(jù)事前所用的流程圖來編寫的,而且,流程圖中也包含了對(duì)設(shè)計(jì)所得結(jié)果的要求,因此,流程圖的設(shè)計(jì)直接影響到源程序的設(shè)計(jì)。</p><p> 3.10.1 主程序模塊圖</p><p> 該程序主要是對(duì)單片機(jī)兩種功能的實(shí)現(xiàn),其一是時(shí)間功能,時(shí)鐘可以通過按鍵隨意更改到當(dāng)前的時(shí)間,在不做調(diào)整時(shí),時(shí)間是正常走動(dòng),其二鬧鐘控制,可以隨時(shí)隨地調(diào)整你所需要的鬧鐘。該系統(tǒng)包括:AT89C51最小系統(tǒng)、L
64、CD顯示電路及DS12C887、按鍵控制及蜂鳴器。其主要模塊由五個(gè)部分組成。具體關(guān)系如下圖3.10所示:</p><p> 圖3.10 主流程</p><p> 3.10.2 時(shí)間調(diào)整與顯示流程圖</p><p> 該部分主要是程序開始并初始化函數(shù)后LCD正常顯示,執(zhí)行while循環(huán)并進(jìn)行時(shí)間運(yùn)算,并掃描鍵盤,當(dāng)鍵盤無響應(yīng)時(shí),執(zhí)行原函數(shù),繼續(xù)LCD正常顯示
65、,當(dāng)發(fā)現(xiàn)鍵盤有響應(yīng)時(shí),則進(jìn)入時(shí)間調(diào)整程序,并進(jìn)行調(diào)整,調(diào)整后執(zhí)行調(diào)整響應(yīng)函數(shù),并在LCD進(jìn)行相應(yīng)顯示。</p><p> 這個(gè)過程如圖3.11所示:</p><p> 圖3.11 時(shí)間調(diào)整與顯示流程</p><p> 3.10.3 鬧鐘定時(shí)流程圖</p><p> 該部分主要是程序開始并初始化后,進(jìn)行執(zhí)行while循環(huán)從而執(zhí)行時(shí)間
66、運(yùn)算,并檢查DS12C887是否有中斷申請(qǐng)信號(hào)時(shí),假如沒有到時(shí)則繼續(xù)執(zhí)行時(shí)間運(yùn)算,假如到時(shí)則蜂鳴器響,這時(shí)可以按任意鍵停止蜂鳴器響,假如沒有按任意鍵則一直響,從而實(shí)現(xiàn)鬧鐘的功能。</p><p> 這個(gè)過程如圖3.12所示:</p><p> 圖3.12 鬧鐘定時(shí)流程</p><p><b> 第四章 系統(tǒng)調(diào)試</b></p&g
67、t;<p> 系統(tǒng)調(diào)試分為硬件調(diào)試、軟件調(diào)試和軟硬件聯(lián)調(diào)。電路按模塊調(diào)試,各模塊逐個(gè)調(diào)試通過后再聯(lián)調(diào)。</p><p><b> 4.1 軟件調(diào)試</b></p><p> Keil C51主要是實(shí)現(xiàn)程序的編譯[11],在這部分我們就采用了Keil C51來進(jìn)行實(shí)現(xiàn),由于系統(tǒng)的軟件系統(tǒng)很大,全部用C語言來編寫,所以軟件調(diào)試比較復(fù)雜,我們事先把各個(gè)
68、模塊分成部分一一進(jìn)行調(diào)試,發(fā)現(xiàn)每個(gè)模塊都有不同的錯(cuò)誤,經(jīng)過不斷的改進(jìn)終于使每個(gè)模塊基本上都沒有大的問題,然后再把各個(gè)模塊一一連接到一起成一個(gè)整體, 在經(jīng)過不斷的調(diào)試修改終于可以使整個(gè)程序的問題得到最終的解決。以下是調(diào)試時(shí)出現(xiàn)的問題中的一部分。程序錯(cuò)誤如圖4.1所示:</p><p> 圖4.1 程序引腳編寫錯(cuò)誤</p><p> 經(jīng)過檢查發(fā)現(xiàn)原來是端口重復(fù)造成的,經(jīng)過修改解決了問題。
69、</p><p> 調(diào)整后的如圖4.2。</p><p> 圖4.2 程序引腳改正后正確</p><p><b> 4.2 硬件部分</b></p><p> 在硬件部分我們主要采用了Proteus進(jìn)行電路分析與實(shí)物仿真,首先我們我們把各個(gè)模塊所需要的各部分硬件一次找到并按合理的位置把它們放好,然后把各個(gè)電路
70、線進(jìn)行了連接,但是發(fā)現(xiàn)不能仿真,最后檢查發(fā)現(xiàn)有些電路線的位置沒有連接正確。</p><p> 問題中的一部分:由于顯示屏中的E和AS單片機(jī)中位置連錯(cuò),造成不能顯示。如圖4.3所示:</p><p> 圖4.3 E和AS單片機(jī)中位置連錯(cuò)</p><p> E和AS單片機(jī)中位置連接改后如圖4.4所示:</p><p> 圖4.4 E和
71、AS單片機(jī)中位置連接改后 </p><p> 4.3 軟硬聯(lián)調(diào) </p><p> 該系統(tǒng)的軟件和硬件之間的聯(lián)系不是十分緊密,一般是軟件計(jì)算完畢之后,將程序下載到單片機(jī),從而進(jìn)行顯示。因此在軟硬件都基本調(diào)通的情況下系統(tǒng)的軟硬件聯(lián)調(diào)難度不是很大。</p><p> 完全成功的仿真圖如圖4.5所示:</p><p> 圖4.5 完整
72、成功圖</p><p> 并驚進(jìn)行了調(diào)試一切正常如圖4.6所示:</p><p> 圖4.6 調(diào)試后一切正常</p><p><b> 總結(jié)</b></p><p> 經(jīng)過將近這些天的單片機(jī)畢業(yè)設(shè)計(jì),終于完成了我的數(shù)字鐘的設(shè)計(jì),看著調(diào)試結(jié)果,真的很高興,至少這次設(shè)計(jì)把我自己所想的都做了出來,但是高興之余不得不深
73、思呀!在本次設(shè)計(jì)的過程中,我發(fā)現(xiàn)很多的問題,雖然以前還做過這樣的設(shè)計(jì)但這次設(shè)計(jì)真的讓我長(zhǎng)進(jìn)了很多,我覺得寫好一個(gè)程序并不是一件簡(jiǎn)單的事,有好多的東西,只有我們?nèi)ピ囍隽耍拍苷嬲恼莆?,只學(xué)習(xí)理論有些東西是很難理解的,更談不上掌握。 </p><p> 這次的畢業(yè)設(shè)計(jì)中,我真真正正的意識(shí)到,在以后的學(xué)習(xí)中,要理論聯(lián)系實(shí)際,把我們所學(xué)的理論知識(shí)用到實(shí)際當(dāng)中,學(xué)習(xí)單機(jī)片機(jī)更是如此,程序只有在經(jīng)常的寫與讀的過程中才能
74、提高,這就是我在這次畢業(yè)設(shè)計(jì)中的最大收獲。</p><p><b> 參考文獻(xiàn)</b></p><p> [1]黃慶進(jìn),高榮威.單片機(jī)原理與應(yīng)用課程設(shè)計(jì)[D]. 廣東:廣東科技職業(yè)技術(shù)學(xué)院,2010.</p><p> [2]張杰.基于Proteus 軟件的單片機(jī)數(shù)字時(shí)鐘系統(tǒng)開發(fā)[D]. 天津:天津輕工職業(yè)技術(shù)學(xué)院,2010.</p
75、><p> [3]劉同法,陳忠平,睦仁武.單片機(jī)基礎(chǔ)與最小系統(tǒng)實(shí)踐[M].北京:北京航空航天大學(xué)出版社, </p><p> 2009.12~23.</p><p> [4]于治會(huì).調(diào)試儀表用蜂鳴器振動(dòng)規(guī)范問題[J].電子工業(yè)專用設(shè)備,2002,31(1):54~55</p><p> [5]彭希南.跨越2000年的時(shí)鐘芯片DS1288
76、7/DS12C887[J].電子技術(shù),1999,08(2):34.</p><p> [6]張?zhí)旆?51單片機(jī)C語言開發(fā)詳解[M].北京:電子工業(yè)出版社,2008.179~182.</p><p> [7]蔡美琴,張為民,何金兒,等.MCS-51系列單片機(jī)系統(tǒng)及其應(yīng)用[M]第二版.北京:高等教育出</p><p> 版社,2004.12~13.</p&g
77、t;<p> [8]樓然苗,李光飛.單片機(jī)課程設(shè)計(jì)指導(dǎo)[M].北京:北京航空航天大學(xué)出版社,2007.196~207.</p><p> [9]朱飛,楊平.AVR單片機(jī)C語言開發(fā)入門與典型實(shí)例[M].北京:人民郵電出版社,2009.203~216.</p><p> [10]郭天祥.新概念51單片機(jī)C語言教程[M].北京:電子工業(yè)出版社,2009.312~345.<
78、;/p><p> [11]夏繼強(qiáng),沈德金,邢春香.單片機(jī)實(shí)驗(yàn)與實(shí)踐教程[M].北京:北京航空航天大學(xué)出版社,</p><p> 2006.5~11.</p><p><b> 附錄 </b></p><p> void write_com(uchar com)//向Lcd寫入控制指令</p><p
79、><b> {</b></p><p><b> rs=0;</b></p><p><b> lcden=0;</b></p><p><b> P0=com;</b></p><p><b> delay(5);</b&
80、gt;</p><p><b> lcden=1;</b></p><p><b> delay(5);</b></p><p><b> lcden=0;</b></p><p><b> }</b></p><p>
81、 void write_date(uchar date)//向LCD寫入數(shù)據(jù)</p><p><b> {</b></p><p><b> rs=1;</b></p><p><b> lcden=0;</b></p><p><b> P0=date;&l
82、t;/b></p><p><b> delay(5);</b></p><p><b> lcden=1;</b></p><p><b> delay(5);</b></p><p><b> lcden=0;</b></p>
83、;<p><b> }</b></p><p> void init()//定時(shí)器、LCD、鬧鐘設(shè)置初始化</p><p><b> {</b></p><p> uchar num;</p><p><b> EA=1;</b></p>
84、<p><b> EX0=1;</b></p><p><b> IT0=1</b></p><p><b> lcden=0;</b></p><p> set_alarm(14,13,10);</p><p> write_ds(0x0B,0x26);&
85、lt;/p><p> read_ds(0x0c);</p><p> write_com(0x38);</p><p> write_com(0x0c);</p><p> write_com(0x06);</p><p> write_com(0x01);</p><p> write
86、_com(0x80);</p><p> for(num=0;num<15;num++)</p><p><b> {</b></p><p> write_date(table[num]);</p><p><b> delay(5);</b></p><p>
87、;<b> }</b></p><p> write_com(0x80+0x40);</p><p> for(num=0;num<12;num++)</p><p><b> {</b></p><p> write_date(table1[num]);</p>&l
88、t;p><b> delay(5);</b></p><p><b> }</b></p><p><b> }</b></p><p> void write_sfm(uchar add,uchar date)//顯示時(shí)分秒程序</p><p><b>
89、; {</b></p><p> uchar shi,ge;</p><p> shi=date/10;</p><p> ge=date%10;</p><p> write_com(0x80+0x40+add);</p><p> write_date(0x30+shi);</p>
90、;<p> write_date(0x30+ge);</p><p><b> }</b></p><p> void keyscan()//按鍵掃描程序</p><p><b> {</b></p><p> if(flag1==1) </p><p&g
91、t;<b> {</b></p><p><b> if(s2==0)</b></p><p><b> {</b></p><p><b> delay(5);</b></p><p><b> if(s2==0)</b>
92、;</p><p><b> {</b></p><p> while(!s2);</p><p><b> flag1=0;</b></p><p><b> }</b></p><p><b> }</b></p
93、><p><b> if(s3==0)</b></p><p><b> {</b></p><p><b> delay(5);</b></p><p><b> if(s3==0)</b></p><p><b>
94、; {</b></p><p> while(!s3);</p><p><b> flag1=0;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }<
95、;/b></p><p> if(s1==0)//功能鍵按下</p><p><b> {</b></p><p> delay(5);//按鍵消抖</p><p><b> if(s1==0)</b></p><p> {s1num++;</p&g
96、t;<p><b> flag=1;</b></p><p><b> flag1=0;</b></p><p> while(!s1);//等待釋放按鍵</p><p> if(s1num==1) //功能鍵按下一次,光標(biāo)在秒處閃爍</p><p><b> {
97、</b></p><p><b> TR0=0;</b></p><p> write_com(0x80+0x40+10);</p><p> write_com(0x0f);</p><p><b> }</b></p><p><b> }
98、</b></p><p> if(s1num==2)//功能鍵按下二次,光標(biāo)在分處閃爍</p><p><b> {</b></p><p> write_com(0x80+0x40+7);</p><p><b> }</b></p><p> if(
99、s1num==3)//功能鍵按下三次,光標(biāo)在時(shí)處閃爍</p><p><b> {</b></p><p> write_com(0x80+0x40+4);</p><p><b> }</b></p><p> if(s1num==4)//功能鍵按下四次,光標(biāo)不閃爍,時(shí)鐘繼續(xù)計(jì)時(shí)顯示<
100、;/p><p><b> {</b></p><p><b> s1num=0;</b></p><p> write_com(0x0c);</p><p><b> flag=0;</b></p><p> write_ds(0,miao);&l
101、t;/p><p> write_ds(2,fen);</p><p> write_ds(4,shi);</p><p><b> }</b></p><p><b> }</b></p><p> if(s1num!=0)//功能鍵按下</p><
102、p><b> {</b></p><p> if(s2==0)//加時(shí)、分、秒鍵按下判定</p><p><b> {</b></p><p> delay(1);//按鍵消抖</p><p><b> if(s2==0)</b></p><
103、p><b> {</b></p><p> while(!s2);//等待釋放按鍵</p><p> if(s1num==1)//功能鍵按下一次,光標(biāo)在秒處閃爍,等待S2鍵加值</p><p><b> {</b></p><p><b> miao++;</b>
104、;</p><p> if(miao==60)</p><p><b> miao=0;</b></p><p> write_sfm(10,miao);</p><p> write_com(0x80+0x40+10);</p><p><b> }</b><
105、;/p><p> if(s1num==2)//功能鍵按下二次,光標(biāo)在分處閃爍,等待S2鍵加值</p><p><b> {</b></p><p><b> fen++;</b></p><p> if(fen==60)</p><p><b> fen=0;
106、</b></p><p> write_sfm(7,fen);</p><p> write_com(0x80+0x40+7);</p><p><b> }</b></p><p> if(s1num==3)//功能鍵按下三次,光標(biāo)在時(shí)處閃爍,等待S2鍵加值</p><p>
107、<b> {</b></p><p><b> shi++;</b></p><p> if(shi==24)</p><p><b> shi=0;</b></p><p> write_sfm(4,shi);</p><p> write
108、_com(0x80+0x40+4);</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> if(s3==0)//減時(shí)、分、秒鍵按下判定</p><p><b&g
109、t; {</b></p><p> delay(1);//按鍵延時(shí)</p><p><b> if(s3==0)</b></p><p><b> {</b></p><p> while(!s3);//等待釋放按鍵</p><p> if(s1num
110、==1)//功能鍵按下一次,光標(biāo)在秒處閃爍,等待S2鍵減值</p><p><b> {</b></p><p> /*if(miao==0)</p><p><b> {</b></p><p><b> miao=59;</b></p><p&
111、gt; write_sfm(10,miao);</p><p> write_com(0x80+0x40+10);</p><p><b> }*/</b></p><p><b> miao--;</b></p><p> if(miao==-1)</p><p>
112、;<b> miao=59;</b></p><p> write_sfm(10,miao);</p><p> write_com(0x80+0x40+10);</p><p><b> }</b></p><p> if(s1num==2)//功能鍵按下二次,光標(biāo)在分處閃爍,等待S2鍵
113、減值</p><p><b> {</b></p><p><b> fen--;</b></p><p> if(fen==-1)</p><p><b> fen=59;</b></p><p> write_sfm(7,fen);<
114、/p><p> write_com(0x80+0x40+7);</p><p><b> }</b></p><p> if(s1num==3)//功能鍵按下三次,光標(biāo)在時(shí)處閃爍,等待S2鍵減值</p><p><b> {</b></p><p><b>
115、shi--;</b></p><p> if(shi==-1)</p><p><b> shi=23;</b></p><p> write_sfm(4,shi);</p><p> write_com(0x80+0x40+4);</p><p><b> }&l
116、t;/b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> 致謝</b
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文-基于at89c51單片機(jī)數(shù)字鐘【精校排版】
- 畢業(yè)論文-基于單片機(jī)的數(shù)字電子鐘【精校排版】
- 畢業(yè)論文--基于單片機(jī)的數(shù)字鐘設(shè)計(jì)
- 畢業(yè)論文-基于單片機(jī)的數(shù)字秒表設(shè)計(jì)【精校排版】
- 畢業(yè)論文-基于veriloghdl的數(shù)字鐘系統(tǒng)設(shè)計(jì)【精校排版】
- 畢業(yè)論文-基于單片機(jī)倒車系統(tǒng)設(shè)計(jì)【精校排版】
- 單片機(jī)多功能數(shù)字鐘畢業(yè)論文
- 單片機(jī)畢業(yè)論文----多功能數(shù)字鐘
- 畢業(yè)論文-基于單片機(jī)的數(shù)字溫度計(jì)的設(shè)計(jì)【精校排版】
- 單片機(jī)數(shù)字鐘畢業(yè)設(shè)計(jì)---單片機(jī)設(shè)計(jì)數(shù)字鐘
- 畢業(yè)論文-基于單片機(jī)的電子門鈴設(shè)計(jì)【精校排版】
- 基于單片機(jī)的數(shù)字鐘的設(shè)計(jì)與制作-畢業(yè)論文
- 畢業(yè)論文-基于單片機(jī)的多點(diǎn)數(shù)字測(cè)溫系統(tǒng)(設(shè)計(jì))【精校排版】
- 畢業(yè)論文范文——基于單片機(jī)的數(shù)字鐘設(shè)計(jì) (2)
- 基于單片機(jī)的液晶顯示數(shù)字鐘設(shè)計(jì)【畢業(yè)論文】
- 畢業(yè)論文范文——基于單片機(jī)的數(shù)字鐘設(shè)計(jì) (2)
- 畢業(yè)論文-基于單片機(jī)數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)【精校排版】
- 基于單片機(jī)的數(shù)字鐘設(shè)計(jì)
- 畢業(yè)論文-基于單片機(jī)的密碼鎖設(shè)計(jì)【精校排版】
- 畢業(yè)論文-基于單片機(jī)的音樂流水燈設(shè)計(jì)【精校排版】
評(píng)論
0/150
提交評(píng)論