液晶數(shù)字鐘論文_第1頁(yè)
液晶數(shù)字鐘論文_第2頁(yè)
液晶數(shù)字鐘論文_第3頁(yè)
液晶數(shù)字鐘論文_第4頁(yè)
液晶數(shù)字鐘論文_第5頁(yè)
已閱讀5頁(yè),還剩43頁(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、液晶數(shù)字鐘論文液晶數(shù)字鐘論文 目錄緒論2第1章設(shè)計(jì)方案31.1方案論證與比較31.2方案確定4第2章硬件設(shè)計(jì)52.1單片機(jī)最小系統(tǒng)52.2時(shí)鐘模塊52.2.1ds1307的引腳功能62.2.2ds1307的內(nèi)部結(jié)構(gòu)62.2.3ds1307的讀寫操作72.2.4ds1307硬件電路設(shè)計(jì)92.3鬧鈴模塊92.4鍵盤模塊92.5.1lcd1602的引腳功能102.5.2lcd1602的顯示操作10第3章軟件設(shè)計(jì)143.1系統(tǒng)流程圖143.2鍵盤處理模塊流程圖14第4章系統(tǒng)測(cè)試19總結(jié)20參考文件21附錄1系統(tǒng)仿真電路圖22附錄2主要源程序23附件3 軟件設(shè)計(jì)變24附件4 程序模塊及參數(shù).25緒論本次

2、課程設(shè)計(jì)的目的是為我們更好的掌握單片機(jī)的應(yīng)用知識(shí),有助于提高我們的職業(yè)素質(zhì),同時(shí)加深對(duì)知識(shí)的了解,本次設(shè)計(jì)也是為我們的畢業(yè)設(shè)計(jì)打基礎(chǔ),加強(qiáng)知識(shí)的綜合應(yīng)用。本設(shè)計(jì)以at89c51單片機(jī)為核心,以實(shí)時(shí)時(shí)鐘芯片ds1307和液晶顯示lcd1602為主體設(shè)計(jì)了一款簡(jiǎn)易數(shù)字時(shí)鐘。該時(shí)鐘系統(tǒng)主要由單片機(jī)最小系統(tǒng)、時(shí)鐘模塊、鬧鐘模塊、液晶顯示模塊、鍵盤控制模塊組成。系統(tǒng)具有簡(jiǎn)單清晰的操作界面,能夠準(zhǔn)確顯示時(shí)間(顯示格式為時(shí)時(shí):分分:秒秒,24小時(shí)制),可隨時(shí)進(jìn)行時(shí)間調(diào)整,具有鬧鐘時(shí)間設(shè)置、鬧鐘開/關(guān)。設(shè)計(jì)以硬件軟件化為指導(dǎo)思想,充分發(fā)揮單片機(jī)功能,大部分功能通過(guò)軟件編程來(lái)實(shí)現(xiàn),電路簡(jiǎn)單明了,系統(tǒng)穩(wěn)定性高。同

3、時(shí),該時(shí)鐘系統(tǒng)還具有功耗小、成本低的特點(diǎn),具有很強(qiáng)的實(shí)用性。由于系統(tǒng)所用元器件較少,單片機(jī)所被占用的i/o口不多,因此系統(tǒng)具有一定的可擴(kuò)展性。軟件程序均采用c語(yǔ)言編寫,便于移植與升級(jí)。報(bào)告詳細(xì)介紹了整個(gè)系統(tǒng)的硬件組成結(jié)構(gòu)、工作原理和系統(tǒng)的軟件程序設(shè)計(jì)。 通過(guò)一個(gè)階段的對(duì)知識(shí)點(diǎn)的了解更加明確,同時(shí)也了解了做項(xiàng)目不是件容易的事,需要多方面的知識(shí),還需要大量的查閱資料,再把自己的所學(xué)知識(shí)綜合應(yīng)用,這樣才有可能做出項(xiàng)目來(lái)。第1章設(shè)計(jì)方案1.1方案論證與比較方案一:基于fpga的系統(tǒng)總體設(shè)計(jì)方法。為了實(shí)現(xiàn):(1)顯示年、月、日、時(shí)、分、秒、星期,并且可以進(jìn)行調(diào)整時(shí)間;(2)可以設(shè)定鬧鐘和整點(diǎn)報(bào)時(shí)的功能,

4、數(shù)字時(shí)鐘在總體上主要分為三大部分:輸入人機(jī)界面部分、fpga核心功能部分和輸出界面部分,其系統(tǒng)設(shè)計(jì)框圖如圖1-1所示。圖1-1基于fpga的系統(tǒng)設(shè)計(jì)方框圖方案二:采用單片機(jī)技術(shù)來(lái)實(shí)現(xiàn)數(shù)字鐘的功能。系統(tǒng)以at89c51單片機(jī)為核心控制器件,它除了具備微機(jī)cpu的數(shù)值計(jì)算功能外,還具有靈活強(qiáng)大的控制功能,以便實(shí)時(shí)檢測(cè)系統(tǒng)的輸入量、控制系統(tǒng)的輸出量,實(shí)現(xiàn)自動(dòng)控制。與傳統(tǒng)機(jī)械表相比,它具有走時(shí)精確,顯示直觀等特點(diǎn)。它的計(jì)時(shí)周期為24小時(shí),顯滿刻度為“23時(shí)59分59秒”,另外具有校時(shí)功能,斷電后有記憶功能,恢復(fù)供電時(shí)可實(shí)現(xiàn)計(jì)時(shí)同步等特點(diǎn)。外圍主要有串行通信器件實(shí)時(shí)時(shí)鐘芯片ds1307等,使得系統(tǒng)線路簡(jiǎn)

5、單可靠性高。系統(tǒng)結(jié)構(gòu)框圖如圖1-2所示。圖1-2基于單片機(jī)實(shí)現(xiàn)的數(shù)字時(shí)鐘系統(tǒng)結(jié)構(gòu)框圖單片機(jī)最小系統(tǒng):其作用是和外圍的時(shí)鐘芯片通信,并控制數(shù)據(jù)傳輸?shù)倪^(guò)程,采集時(shí)間信息并予以處理。鍵盤模塊:鍵盤模塊可以設(shè)置時(shí)間信息,通過(guò)單片機(jī)寫入時(shí)鐘芯片,以更新時(shí)間;也可以設(shè)置鬧鐘,由單片機(jī)存入其內(nèi)部ram中。時(shí)鐘模塊:此模塊由專用的實(shí)時(shí)時(shí)鐘芯片構(gòu)成,由它提供實(shí)時(shí)的日歷時(shí)鐘信息。液晶顯示模塊:?jiǎn)纹瑱C(jī)讀取時(shí)鐘芯片ds1307中的信息,通過(guò)液晶顯示器實(shí)時(shí)顯示。采用lcd作為顯示器,具有界面友好、功耗低的優(yōu)點(diǎn)。鬧鐘模塊:?jiǎn)纹瑱C(jī)主控模塊讀取日歷芯片中的時(shí)間信息,與所設(shè)置的鬧鐘時(shí)間相比較,若相同時(shí),鬧鐘模塊工作鬧鐘模塊。電

6、源模塊:用220v市電經(jīng)整流、濾波、穩(wěn)壓后,輸出穩(wěn)定的+5v的直直流電為其供電。1.2方案確定綜合考慮以上兩種方案的優(yōu)缺點(diǎn)以及題目的基本要求和發(fā)揮要求,在本設(shè)計(jì)中,我采了第二種方案,即采用單片機(jī)來(lái)實(shí)現(xiàn)數(shù)字時(shí)鐘的功能。第2章硬件設(shè)計(jì)2.1單片機(jī)最小系統(tǒng)單片機(jī)最小系統(tǒng)以at89c51單片機(jī)為核心,由單片機(jī)、時(shí)鐘電路、復(fù)位電路等組成如圖2-1所示。主要負(fù)責(zé)各個(gè)模塊的初始化工作;讀取并處理時(shí)間;處理按鍵響應(yīng);控制液晶實(shí)時(shí)顯示等。圖2-1單片機(jī)最小系統(tǒng)主控制器at89c51單片機(jī)與mcs51系列單片機(jī)產(chǎn)品兼容,內(nèi)部自帶有4kb的flash存儲(chǔ)器及256kbram單元,不需另外擴(kuò)展eeprom及靜態(tài)ram

7、,可以在線下載程序,易于日后的升級(jí)。圖中,p2.0、p2.1、p2.2及p1口為單片機(jī)與液晶顯示器連接的控制和通信的數(shù)據(jù)端口;p2.6和p2.7為單片機(jī)與時(shí)鐘芯片ds1307通信的端口;p2.3為鬧鐘的控制端口;p0.0、p0.1、p0.2、p0.3為按鍵模塊的接口。時(shí)鐘電路是由xtal1和xtal2之間跨接的晶體振蕩器和微調(diào)電容構(gòu)成。時(shí)鐘電路中晶體振蕩器的頻率高則系統(tǒng)的時(shí)鐘頻率就高,所以該系統(tǒng)采用12m晶振;復(fù)位電路有兩種形式:手動(dòng)按鍵復(fù)位和上電復(fù)位,在本系統(tǒng)中采用的是手動(dòng)按鍵復(fù)位。如圖2-1所示,r1、r2、c3和sw組成系統(tǒng)手動(dòng)按鍵復(fù)位電路。2.2時(shí)鐘模塊系統(tǒng)采用ds1307時(shí)鐘芯片。d

8、s1307是美國(guó)dallas公司推出的一種高性能、低功耗的時(shí)鐘芯片,它是一款i2c總線接口的時(shí)鐘芯片,采用兩線與cpu進(jìn)行通信,片內(nèi)含有8個(gè)特殊功能寄存器和56bit的sram。ds1307的主要技術(shù)指標(biāo):具有秒、分、時(shí)、日、星期、月、年的計(jì)數(shù)功能;12小時(shí)制和24小時(shí)制兩種計(jì)數(shù)模式;可自動(dòng)調(diào)整每月的天數(shù),具有閏年自動(dòng)修正、掉電保護(hù)和上電復(fù)位功能。2.2.1ds1307的引腳功能ds1307采用8引腳雙列直插dip封裝形式,引腳分布如圖2-2所示。相應(yīng)功能如下:vcc:主電源;vbat:備用電源。當(dāng)vbatvcc+0.2v時(shí),由vcc向ds1307供電,當(dāng)vbatvcc時(shí),由vcc向ds130

9、7供電;gnd:邏輯地;scl:i2c總線時(shí)鐘線;sda:i2c總線數(shù)據(jù)線;sqw/out:方波/輸出驅(qū)動(dòng)器。圖2-2ds1307引腳分布圖2.2.2ds1307的內(nèi)部結(jié)構(gòu)1.內(nèi)部結(jié)構(gòu)ds1307芯片由晶體振蕩器、電源控制器、i2c總線控制、分頻處理、邏輯控制、ram存儲(chǔ)、多路選擇器、時(shí)鐘/日歷寄存器、緩沖器組成,內(nèi)部結(jié)構(gòu)如圖2-3所示。vccsqw/outsdasclgndvbatx2x1電源控制器邏輯控制時(shí)鐘/日歷寄存器多路選擇器ram存儲(chǔ)分頻處理晶體振蕩器ram存儲(chǔ)i2c控制總線1hz圖2-3ds1307的內(nèi)部結(jié)構(gòu)2寄存器ds1307有關(guān)日歷、時(shí)間的寄存器共有12個(gè),其中有7個(gè)寄存器(讀

10、時(shí)81h8dh,寫時(shí)80h8ch),存放的數(shù)據(jù)格式為bcd碼形式,如表2-1所示。表2-1ds1307的日歷、時(shí)間寄存器地址d7d6d5d4d3d2d1d0功能取值范圍81hch十位個(gè)位秒00-5983h0十位個(gè)位分00-5985h012十位十位個(gè)位時(shí)am:1-12pm:00-23248b00000星期星期01-0787h00十位個(gè)位日01-3189h000十位個(gè)位月01-128dh十位year年00-998fhout00sowe00rs1rs0控制字-91hram56800h-ffh(1)小時(shí)寄存器(85h、84h)的位7用于定義ds1307是運(yùn)行于12小時(shí)模式還是24小時(shí)模式。當(dāng)為高電平時(shí)

11、,選擇12小時(shí)模式。在12小時(shí)模式時(shí),位d5是,當(dāng)為1時(shí),表示pm。在24小時(shí)模式時(shí),位5是第二個(gè)10小時(shí)位。(2)秒寄存器(81h、80h)的位7定義為時(shí)鐘暫停標(biāo)志(ch)。當(dāng)該位置為1時(shí),時(shí)鐘振蕩器停止,ds1307處于低功耗狀態(tài);當(dāng)該位置為0時(shí),時(shí)鐘開始運(yùn)行。(3)控制寄存器(8fh、8eh)的位7是寫保護(hù)位(wp),其它7位均置為0。在任何的對(duì)時(shí)鐘和ram的寫操作之前,wp位必須為0。當(dāng)wp位為1時(shí),寫保護(hù)位防止對(duì)任一寄存器的寫操作。2.2.3ds1307的讀寫操作ds1307是基于i2c總線接口的時(shí)鐘芯片,軟件上與i2c總線完全兼容。1.i2c總線的驅(qū)動(dòng)i2c總線在傳送數(shù)據(jù)時(shí),必須確

12、認(rèn)傳送數(shù)據(jù)的開始和結(jié)束。而且每傳送一個(gè)字節(jié),要發(fā)送一個(gè)應(yīng)答位(0);在一個(gè)周期發(fā)送結(jié)束后,要發(fā)送一個(gè)應(yīng)答位(1)。具體如圖2-4所示,三種信號(hào)的格式如下:(1)啟動(dòng)信號(hào):當(dāng)時(shí)鐘總線scl為高電平時(shí),數(shù)據(jù)線sda由高電平跳變?yōu)榈碗娖蕉x為“啟動(dòng)”信號(hào)。(2)停止信號(hào):當(dāng)時(shí)鐘總線scl為高電平時(shí),數(shù)據(jù)線sda由低電平跳變?yōu)楦唠娖蕉x為“結(jié)束”信號(hào)。(3)應(yīng)答位:當(dāng)主器件發(fā)送完一字節(jié)的數(shù)據(jù)后,后面必須跟一個(gè)應(yīng)答位(ack)。在時(shí)鐘高電平期間,如果數(shù)據(jù)線sda為低電平代表一個(gè)字節(jié)的傳送結(jié)束,并準(zhǔn)備下一個(gè)要傳送的字節(jié);在時(shí)鐘高電平期間,如果數(shù)據(jù)線sda為低電平代表一個(gè)傳送周期結(jié)束,準(zhǔn)備下一個(gè)傳送周期。圖

13、2-4i2c總線的數(shù)據(jù)傳送格式2.ds1307的寫控制圖2-5是ds1307的寫控制格式,首先發(fā)送啟動(dòng)信號(hào),然后發(fā)送的第一個(gè)字節(jié)是用來(lái)控制芯片的地址以及讀寫控制位(d0:0寫),之后是應(yīng)答位,然后發(fā)送其它字節(jié)數(shù)據(jù),在最后發(fā)送一個(gè)結(jié)束標(biāo)志的應(yīng)答位,緊跟著是停止信號(hào)。s11010000axxxxxxxxaxxxxxxxxaxxxxxxxxaxxxxxxxxap圖2-5cpu寫數(shù)據(jù)模式3.ds1307的讀控制圖2-6是ds1307的讀控制格式,首先發(fā)送啟動(dòng)信號(hào),然后發(fā)送的第一個(gè)字節(jié)是用來(lái)控制芯片的地址以及讀寫控制為(d0:1讀),之后是應(yīng)答位,然后發(fā)送其它字節(jié)數(shù)據(jù),在最后發(fā)送一個(gè)結(jié)束標(biāo)志的應(yīng)答位,緊

14、跟著是停止信號(hào)。s11010001axxxxxxxxaxxxxxxxxaxxxxxxxxaxxxxxxxxap圖2-6cpu讀數(shù)據(jù)模式2.2.4ds1307硬件電路設(shè)計(jì)ds1307采用與cpu進(jìn)行通信,電路連接簡(jiǎn)單。ds1307的內(nèi)部振蕩電路結(jié)構(gòu)如圖2-7所示,在芯片內(nèi)部連接有兩個(gè)電容,目的是為了使晶振起振,所以在電路設(shè)計(jì)中就不需要另外再加電容了。圖2-7ds1307的內(nèi)部振蕩電路時(shí)鐘模塊電路如圖2-8所示,其中晶振采用的是32.768khz,經(jīng)內(nèi)部電路分頻后可獲得一個(gè)標(biāo)準(zhǔn)的秒脈沖信號(hào);電阻r3、r4是i2c總線的上拉電阻。圖2-8ds1307的電路連接2.3鬧鈴模塊系統(tǒng)采用蜂鳴器作為鬧鈴輸出

15、,電路連接如圖2-9所示。電路中采用pnp管q1來(lái)控制蜂鳴器的開關(guān),由圖可以看出:當(dāng)p2.3引腳為高電平時(shí),pnp管截止,蜂鳴器不工作;當(dāng)p2.3引腳為低電平時(shí),pnp管導(dǎo)通,蜂鳴器工作。其中r9為限流電阻。圖2-9鬧鈴電路2.4鍵盤模塊鍵盤模塊設(shè)置了四個(gè)按鍵:key1、key2、key3、key4。其中key1為模式切換鍵,key2為設(shè)定值上升鍵,用key3為設(shè)定值減小鍵,key4是返回鍵。電路連接如圖2-10所示。4個(gè)上拉電阻可以保證在沒有按鍵輸入時(shí),進(jìn)入單片機(jī)四個(gè)i/o口的按鍵狀態(tài)均為高電平,防止干擾產(chǎn)生;當(dāng)有按鍵按下時(shí),相應(yīng)的端口線狀態(tài)轉(zhuǎn)為低電平。圖2-10鍵盤電路2.5.1lcd16

16、02的引腳功能lcd1602模塊的引腳如圖2-11所示。圖2-11lcd1602模塊其引腳功能如下:rs:數(shù)據(jù)和指令選擇控制端,rs=0命令狀態(tài);rs=1數(shù)據(jù);r/w:讀寫控制線,r/w=0寫操作;r/w=1讀操作;a:背光控制正電源;k:背光控制地;e:數(shù)據(jù)讀寫操作控制位,e線向lcd模塊發(fā)送一個(gè)脈沖,lcd模塊與單片機(jī)間將進(jìn)行一次數(shù)據(jù)交換;db0db7:數(shù)據(jù)線,可用8位連接,也可只用高4位連接,節(jié)約單片機(jī)資源;vdd:電源端;vee:亮度控制端(1-5v);vss:接地端。2.5.2lcd1602的顯示操作1.四種基本操作lcd有四種基本操作,具體如表2-2所示。表2-2lcd與單片機(jī)之間

17、有四種基本操作rsr/w操作00寫命令操作(初始化,光標(biāo)定位等)01讀狀態(tài)操作(讀忙標(biāo)志位)10寫數(shù)據(jù)操作(要顯示內(nèi)容)11讀數(shù)據(jù)操作(可以把顯示存儲(chǔ)區(qū)中的數(shù)據(jù)反讀出來(lái))(1)讀狀態(tài)操作執(zhí)行讀狀態(tài)字操作,如表2-2所示須滿足rs=0、r/w=1。根據(jù)管腳功能,當(dāng)為有效電平時(shí),狀態(tài)命令字可從lcd模塊傳輸?shù)綌?shù)據(jù)總線。同時(shí)可以保持一段時(shí)間,從而實(shí)現(xiàn)讀狀態(tài)字的功能。如rs清0,等待rw置1,等待e置1,等待讀入狀態(tài)字,等待e清0,等待rw清0,等待結(jié)束圖2-12所示為讀入狀態(tài)字流程圖。圖2-12讀入狀態(tài)字流程圖(2)寫命令操作由表2-2可知當(dāng)rs=0,r/w=0時(shí),才可以通過(guò)單片機(jī)或用戶指令把數(shù)據(jù)即

18、命令,寫到lcd模塊,此時(shí)就對(duì)lcd進(jìn)行調(diào)制??刹捎貌樵兎绞剑合茸x入狀態(tài)字,再判斷忙標(biāo)志,最后寫命令字。1)命令字表2-3所示為命令字,其主要介紹了指令名稱、控制信號(hào)及控制代碼。其指令名稱是指要實(shí)現(xiàn)的功能,控制代號(hào)是采用的十六進(jìn)制的數(shù)值表示的。a.清零操作是指輸入某命令字后即能將整個(gè)屏幕顯示的內(nèi)容全部清除;b.歸home位:將光標(biāo)送到初始位;其中的*號(hào)為任意,高低電平均可;c.輸入方式:設(shè)光標(biāo)移動(dòng)方向并指定整體顯示,是否移動(dòng)。i/d=0:減量方式,s=1:移位,s=0:不移位;d.顯示狀態(tài):d指設(shè)置整體顯示開關(guān);c指設(shè)置光標(biāo)顯示開關(guān);b指設(shè)置光標(biāo)的字符閃耀;e.光標(biāo)畫面滾動(dòng):r/l指右移或左移

19、;s/c指移動(dòng)總體或光標(biāo);f.功能設(shè)置:dl接口數(shù)位,l指顯示行數(shù),f顯示字型;g.cgram地址設(shè)制:相當(dāng)于一個(gè)數(shù)據(jù)庫(kù),可以在其中選擇所需要的符號(hào);h.ddram地址設(shè)制:顯示定位;i.讀bf和ac:b為最高位忙的標(biāo)志,f為標(biāo)志位;j.寫數(shù)據(jù):將數(shù)據(jù)按要求寫入到對(duì)應(yīng)的單元;k.讀數(shù)據(jù):讀相應(yīng)單元內(nèi)的數(shù)據(jù)。表2-3命令字指令名稱控制信號(hào)控制代碼rsrwd7d6d5d4d3d2d1d0清屏0000000001歸home位000000001*輸入方式設(shè)制00000001i/ds顯示狀態(tài)設(shè)制0000001dcb無(wú)標(biāo)畫面滾動(dòng)000001s/crl*功能設(shè)置00001dlnf*cgram地址設(shè)制0001

20、a5a4a3a2a1a0ddram地址設(shè)制001a6a5a4a3a2a1a0讀bf和ac01bfac6ac5ac4ac3ac2ac1ac0寫數(shù)據(jù)10數(shù) 據(jù)讀數(shù)據(jù)11數(shù) 據(jù)2)如圖2-13為寫命令字的流程圖。寫命令字讀入狀態(tài)字aac.7=0?不忙嗎?延時(shí)r/w=0rs=0e=1命令字a,ap1e=0rs=0返回圖2-13寫命令字流程圖3)定義光標(biāo)位置把顯示數(shù)據(jù)要某個(gè)位置,就是把顯示數(shù)據(jù)寫在相應(yīng)的ddram地址中,ddram地址占7位。setddramaddress命令如表2-3所示。光標(biāo)定位,寫入一個(gè)顯示字符后,ddram地址會(huì)自動(dòng)加1或減1,加或減由輸入方式設(shè)置。表2-4setddramadd

21、ress命令rsr/wdb7db6db5db4db3db2db1db0001ac6ac5ac4ac3ac2ac1ac0第1行ddram地址與第2行ddram地址并不連續(xù)。如表2-4所示。表2-5ddram地址row12345141516line180h81h82h83h84h8dh8eh8fhline20c0h0c1h0c2h0c3h0c4h0cdh0ceh0cfh4)lcd初始化從通電開始通過(guò)延時(shí),先經(jīng)過(guò)判忙后再進(jìn)行功能設(shè)置,過(guò)一段時(shí)間后可以設(shè)制顯示狀態(tài)(如設(shè)置行、位或陣列)再經(jīng)過(guò)延時(shí)后清屏后再可以設(shè)置輸入方式,具體如圖2-14所示。上電延時(shí)20ms功能設(shè)置延時(shí)37us顯示狀態(tài)設(shè)置清屏延時(shí)1

22、.52ms輸入方式設(shè)置返回圖2-14lcd初始化流程圖2.lcd顯示程序設(shè)計(jì)lcd顯示程序的設(shè)計(jì)一般先要確定lcd的初始化、光標(biāo)定位、確定顯示字符后,lcd就可以按如圖2-15顯示。開始lcd初始化光標(biāo)定位顯示字符返回圖2-15lcd顯示程序流程圖第3章軟件設(shè)計(jì)系統(tǒng)的軟件設(shè)計(jì)可以分為幾個(gè)部分,首先編寫各個(gè)模塊的底層驅(qū)動(dòng)程序,而后是系統(tǒng)聯(lián)機(jī)調(diào)試,編寫上層系統(tǒng)程序。本系統(tǒng)軟件程序主要包括:液晶lcd1602的底層驅(qū)動(dòng)模塊、時(shí)鐘芯片ds1307的底層驅(qū)動(dòng)模塊、鍵盤掃描及鍵值處理模塊、鬧鐘模塊等。3.1系統(tǒng)流程圖系統(tǒng)的軟件主流程圖如圖3-1所示。開始初始化讀取時(shí)間信息液晶實(shí)時(shí)顯示是否有按鍵鍵值處理啟動(dòng)

23、鬧鈴鬧鈴工作nny圖3-1主程序流程圖3.2鍵盤處理模塊流程圖系統(tǒng)設(shè)制了四個(gè)按鍵,分別是功能設(shè)置、定值上升、定值下降和返回鍵。整個(gè)系統(tǒng)的軟件設(shè)計(jì)均采用c語(yǔ)言開發(fā),采用查詢的方式對(duì)按鍵狀態(tài)進(jìn)行掃描,確保系統(tǒng)的實(shí)時(shí)性。因此這些器件的底層程序均可以移植到其它系統(tǒng)中,這就是采用c語(yǔ)言開發(fā)的最大的優(yōu)點(diǎn)。鍵盤處理流程圖分別如圖3-2、3-3、3-4、3-5所示。21設(shè)置日狀態(tài):+、不變實(shí)時(shí)顯示鍵掃描key4-on計(jì)數(shù)值減1計(jì)數(shù)完畢計(jì)數(shù)完畢key2-onkey1-onkey1-onkey3-on重裝初值實(shí)時(shí)顯示鍵掃描key2-onkey3-onkey4-on計(jì)數(shù)值減1重裝初值調(diào)用設(shè)置小時(shí)函數(shù)yyynnnnn

24、nnnnyyyyyyy返回ynyy鍵掃描key1-onkey4-onkey1-onkey2-onkey3-on計(jì)數(shù)完畢計(jì)數(shù)值減1返回實(shí)時(shí)顯示鍵掃描key1-onkey4-onkey2-onkey3-on計(jì)數(shù)值減1計(jì)數(shù)完畢重裝初值返回鍵掃描顯示設(shè)置日期返回yyynnnnnnnn顯示設(shè)置時(shí)間鍵盤掃描/處理開始yyyyyn設(shè)置時(shí)狀態(tài):+、不變?cè)O(shè)置分狀態(tài):+、不變圖3-2時(shí)間設(shè)置模塊設(shè)置日態(tài):+、不變實(shí)時(shí)顯示鍵掃描key4-on計(jì)數(shù)值減1計(jì)數(shù)完畢計(jì)數(shù)完畢key2-onkey1-onkey1-onkey3-on重裝初值實(shí)時(shí)顯示鍵掃描key2-onkey3-onkey4-on計(jì)數(shù)值減1重裝初值調(diào)用設(shè)置年函

25、數(shù)yyynnnnnnnnnyyyyyyy返回ynyy鍵掃描key1-onkey4-onkey1-onkey2-onkey3-on計(jì)數(shù)完畢計(jì)數(shù)值減1返回實(shí)時(shí)顯示鍵掃描key1-onkey4-onkey2-onkey3-on計(jì)數(shù)值減1計(jì)數(shù)完畢重裝初值返回鍵掃描顯示設(shè)置星期返回yyynnnnnnnn顯示設(shè)置時(shí)間上接顯示日期yyyyyn設(shè)置年態(tài):+、不變?cè)O(shè)置月態(tài):+、不變圖3-3日期設(shè)置流程圖鍵掃描key4-onkey1-onkey2-onkey3-on計(jì)數(shù)完畢計(jì)數(shù)值減1返回實(shí)時(shí)顯示鍵掃描key1-onkey4-onkey2-onkey3-on計(jì)數(shù)值減1計(jì)數(shù)完畢重裝初值設(shè)置星期yyyynnnnnnnn

26、ny上接顯示星期yyy重裝初值nny返回y設(shè)置星期狀態(tài):+、不變圖3-4星期設(shè)置流程圖y a y y y y y n n n n n n n n n n n n n n n n n n n y y y y a y y y y y n n n n n n n n n n n n n n n n n n n y y y y a y y y y y n n n n n n n n n n n n n n n n n n n y y y n a y y y y y n n n n n n n n n n n n n n n n n n n y y y n a y y y y y n n n n n n n n n n n n n n n n n n n y y y n a y y y y y n n n n n n n n n n n n n n n n n n n y y y n a y y y y y n n n n n n n n n n n n n n n n n n n y y y y a y y y y y n n n n n n n n n n n n

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論