版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 單片機電子萬年歷</b></p><p><b> 課程設計</b></p><p><b> 指導教師:</b></p><p><b> 姓 名:</b></p><p><b> 學 號:&
2、lt;/b></p><p><b> 專業(yè)班級:</b></p><p><b> 目錄</b></p><p><b> 摘要</b></p><p> 一、單片機原理及應用簡介.........................................
3、2</p><p> 二、系統(tǒng)硬件設計.................................................2</p><p> 2.1引腳功能及管腳電壓..................................2</p><p> 2.1.1 P0 口...................................
4、........3</p><p> 2.1.2 P1 口...............................................3</p><p> 2.1.3 P2 口..............................................4</p><p> 2.1.4 P3 口.................
5、...........................4</p><p> 2.1.5 RST.................................................4</p><p> 2.1.6 ALE/PROG........................................4</p><p> 2.1.7 PSE
6、N...............................................5</p><p> 2.1.8 EA/VPP.............................................5</p><p> 2.1.9 XTAL1..............................................5</p>
7、;<p> 2.2.0 XTAL2..............................................5</p><p> 三、系統(tǒng)總體方案 ................................................5</p><p> 3.1.1微處理器...................................
8、.............5</p><p> 3.1.2顯示電路................................................6</p><p> 四、硬件電路的總體框圖設計.......................................8</p><p> 五、硬件電路原理圖設計...............
9、............................8</p><p> 六、主程序流程圖設計.............................................10</p><p> 七、仿真過程.....................................................11</p><p> 八、仿真
10、結果.....................................................11</p><p> 附一 源程序代碼..................................................13</p><p> 附二 參考文獻..................................................
11、..36</p><p><b> 摘 要 </b></p><p> 單片機應用技術飛速發(fā)展,縱觀我們現(xiàn)在生活的各個領域,從導彈的導航裝置,到飛機上各種儀表的控制,從計算機的網(wǎng)絡通訊與數(shù)據(jù)傳輸,到工業(yè)自動化過程的實時控制和數(shù)據(jù)處理,以及我們生活中廣泛使用的各種智能IC卡、電子寵物等,這些都離不開單片機。單片機是集CPU ,RAM ,ROM
12、,定時,計數(shù)和多種接口于一體的微控制器。它體積小,成本低,功能強,廣泛應用于智能產(chǎn)業(yè)和工業(yè)自動化上。而51系列單片機是各單片機中最為典型和最有代表性的一種。這次畢業(yè)設計通過對它的學習,應用,從而達到學習、設計、開發(fā)軟、硬的能力。 </p><p> 本文通過對一個基于單片機的能實現(xiàn)萬年歷功能電子時鐘的設計,從而達到學習、了解單片機相關指令在各方面的應用。系統(tǒng)由主控制器AT89C52、顯示電路、按鍵電路、和復位電
13、路等部分構成,能實現(xiàn)時鐘日歷顯示的功能,能進行時、分、秒的顯示。</p><p> 關鍵詞 : 單片機 , 萬年歷</p><p> 一、單片機原理及應用簡介</p><p> 隨著國內(nèi)超大規(guī)模集成電路的出現(xiàn),微處理器及其外圍芯片有了迅速的發(fā)展。集成技術的最新發(fā)展之一是將CPU和外圍芯片,如程序存儲器、數(shù)據(jù)存儲器、并行、串行I/O口、定時/計數(shù)器、中斷控制器及
14、其他控制部件集成在一個芯片之中,制成單片計算機(Single-Chip Microcomputer)。而近年來推出的一些高檔單片機還包括有許多特殊功能單元,如A/D、D/A轉換器、調(diào)制解調(diào)器、通信控制器、鎖相環(huán)、DMA、浮點運算單元等。因此,只要外加一些擴展電路及必要的通道接口就可以構成各種計算機應用系統(tǒng),如工業(yè)控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、自動測試系統(tǒng)、萬年歷電子表等。</p><p><b> 二、系統(tǒng)
15、硬件設計</b></p><p> 2.1引腳功能及管腳電壓</p><p> AT89C52為8 位通用微處理器,采用工業(yè)標 </p><p> AT89C52引腳圖</p><p> 準的C51內(nèi)核,在內(nèi)部功能及管腳排布上與通用的8xc52 相同,其主要用于會聚調(diào)整時的功能控制。功能包括對會聚主IC 內(nèi)部寄存器、數(shù)據(jù)R
16、AM及外部接口等功能部件的初始化,會聚調(diào)整控制,會聚測試圖控制,紅外遙控信號IR的接收解碼及與主板CPU通信等。主要管腳有:XTAL1(19 腳)和XTAL2(18 腳)為振蕩器輸入輸出端口,外接12MHz 晶振。RST/Vpd(9 腳)為復位輸入端口,外接電阻電容組成的復位電路。VCC(40 腳)和VSS(20 腳)為供電端口,分別接+5V電源的正負端。P0~P3 為可編程通用I/O 腳,其功能用途由軟件定義,在本設計中,P0 端口(
17、32~39 腳)被定義為N1 功能控制端口,分別與N1的相應功能管腳相連接,13 腳定義為IR輸入端,10 腳和11腳定義為I2C總線控制端口,分別連接N1的SDAS(18腳)和SCLS(19腳)端口,12 腳、27 腳及28 腳定義為握手信號功能端口,連接主板CPU 的相應功能端,用于當前制式的檢測及會聚調(diào)整狀態(tài)進入的控制功能。 </p><p> 2.1.1 P0 口</p><p>
18、; P0 口是一組8 位漏極開路型雙向I/O 口, 也即地址/數(shù)據(jù)總線復用口。作為輸出口用時,每位能吸收電流的 </p><p> 方式驅動8 個TTL邏輯門電路,對端口P0 寫“1”時,可作為高阻抗輸入端用。 </p><p> 在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉換地址(低8 位)和數(shù)據(jù)總線復用,在訪問期間激活內(nèi)部上拉電阻。 </p><p>
19、; 在Flash 編程時,P0 口接收指令字節(jié),而在程序校驗時,輸出指令字節(jié),校驗時,要求外接上拉電阻。 </p><p> 2.1.2 P1 口</p><p> P1 是一個帶內(nèi)部上拉電阻的8 位雙向I/O 口, P1 的輸出緩沖級可驅動(吸收或輸出電流)4 個TTL 邏輯 </p><p> 門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,
20、此時可作輸入口。作輸入口使用時,因為內(nèi)部存在上拉 </p><p> 電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。 </p><p> 與AT89C51 不同之處是,P1.0 和P1.1 還可分別作為定時/計數(shù)器2 的外部計數(shù)輸入(P1.0/T2)和輸入(P1.1/T2EX), </p><p><b> 參見表1。 </b>
21、</p><p> Flash 編程和程序校驗期間,P1 接收低8 位地址。 </p><p> 表.P1.0和P1.1的第二功能 </p><p> 2.1.3 P2 口</p><p> P2 是一個帶有內(nèi)部上拉電阻的8 位雙向I/O 口,P2 的輸出緩沖級可驅動(吸收或輸出電流)4 個TTL 邏輯 </p><
22、;p> 門電路。對端口P2 寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。 </p><p> 在訪問外部程序存儲器或16 位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX @DPTR 指令)時,P2 口送出高8 位地址數(shù)據(jù)。在訪問8 位地址的外部數(shù)據(jù)存儲器(如執(zhí)行MOVX @RI 指令)時,P2 口輸出P2
23、 鎖存器的內(nèi)容。 </p><p> Flash 編程或校驗時,P2亦接收高位地址和一些控制信號。 </p><p> 2.1.4 P3 口</p><p> P3 口是一組帶有內(nèi)部上拉電阻的8 位雙向I/O 口。P3 口輸出緩沖級可驅動(吸收或輸出電流)4 個TTL 邏 </p><p> 輯門電路。對P3 口寫入“1”時,它們被內(nèi)
24、部上拉電阻拉高并可作為輸入端口。此時,被外部拉低的P3 口將用上拉電阻輸出電流(IIL)。 </p><p> P3 口除了作為一般的I/O 口線外,更重要的用途是它的第二功能 </p><p> P3 口還接收一些用于Flash 閃速存儲器編程和程序校驗的控制信號。 </p><p><b> 2.1.5 RST</b></p&g
25、t;<p> 復位輸入。當振蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高電平將使單片機復位。 </p><p> 2.1.6 ALE/PROG</p><p> 當訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8 位字 </p><p> 節(jié)。一般情況下,ALE 仍以時鐘振蕩頻率的1/6 輸出固定的脈沖信號,因
26、此它可對外輸出時鐘或用于定時目的。要注意的是:每當訪問外部數(shù)據(jù)存儲器時將跳過一個ALE 脈沖。 </p><p> 對Flash 存儲器編程期間,該引腳還用于輸入編程脈沖(PROG)。 </p><p> 如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH 單元的D0 位置位,可禁止ALE 操作。該位置位后,只有一條 </p><p> MOVX 和MOV
27、C指令才能將ALE 激活。此外,該引腳會被微弱拉高,單片機執(zhí)行外部程序時,應設置ALE 禁止位無效。 </p><p> 2.1.7 PSEN</p><p> 程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當AT89C52 由外部程序存儲器取指令(或數(shù) </p><p> 據(jù))時,每個機器周期兩次PSEN 有效,即輸出兩個脈沖。在此期間,當訪問外
28、部數(shù)據(jù)存儲器,將跳過兩次PSEN信號。 </p><p> 2.1.8 EA/VPP</p><p> 外部訪問允許。欲使CPU 僅訪問外部程序存儲器(地址為0000H—FFFFH),EA 端必須保持低電平(接 </p><p> 地)。需注意的是:如果加密位LB1 被編程,復位時內(nèi)部會鎖存EA端狀態(tài)。 </p><p> 如EA端為
29、高電平(接Vcc端),CPU 則執(zhí)行內(nèi)部程序存儲器中的指令。 </p><p> Flash 存儲器編程時,該引腳加上+12V 的編程允許電源Vpp,當然這必須是該器件是使用12V 編程電壓Vpp。 </p><p> 2.1.9 XTAL1</p><p> 振蕩器反相放大器的及內(nèi)部時鐘發(fā)生器的輸入端。 </p><p> 2.2.
30、0 XTAL2</p><p> 振蕩器反相放大器的輸出端。</p><p><b> 三、系統(tǒng)總體方案 </b></p><p> 我選用的是單片機(AT89C52)來實現(xiàn)電子萬年歷的功能。共具備兩個功能:</p><p> ?。?)顯示年月日及分秒信息</p><p> (2)具有可調(diào)
31、整日期和時間功能。</p><p> 該電子萬年歷能夠成功實現(xiàn)時鐘運行,調(diào)整功能,且精確度經(jīng)調(diào)試一天的誤差在2S內(nèi)。</p><p><b> 3.1.1微處理器</b></p><p> 在設計過程中我使用12MHZ晶振與單片機AT89C52相連接,通過軟件編程的方法實現(xiàn)了以24小時為一個周期同時顯示小時,分鐘和秒的要求,該定時鬧鐘設有
32、九個按鍵,使之具備了校時、定時功能。利用單片機定時器及計數(shù)器產(chǎn)生定時效果通過編程形成數(shù)字鐘效果,再利用數(shù)碼管動態(tài)掃描顯示單片機內(nèi)部處理的數(shù)據(jù)。同時通過端口讀入當前外部控制狀態(tài)來改變程序的不同狀態(tài),實現(xiàn)不同功能。</p><p> 在PROTEUS軟件環(huán)境下的AT89C52芯片如圖4所示:</p><p> 圖4 PROTEUS軟件環(huán)境下的AT89C52芯片 </
33、p><p><b> 3.1.2顯示電路</b></p><p> 就時鐘而言,通??刹捎靡壕э@示或數(shù)碼管顯示。由于一般的段式液晶屏,需要專門的驅動電路,而且液晶顯示作為一種被動顯示,可視性相對較差;對于具有驅動電路和微處理器接口的液晶顯示模塊(字符或點陣),一般多采用并行接口,對微處理器的接口要求較高,占用資源多。另外,AT89C52本身無專門的液晶驅動接口,因此,
34、本設計采用點陣式數(shù)碼管顯示,點陣式數(shù)碼管是由八行八列的發(fā)光二極管組成,對于顯示文字比較適合。初始化時,由軟件編寫的指令就集中在顯示功能的設置上。LCD3 AMPIRE 128×64的指令可帶一個、兩個參數(shù),或無參數(shù)。若指令中含有參數(shù),則每條指令執(zhí)行時均須先送入?yún)?shù),再送入指令代碼。由于狀態(tài)位作用不一樣,因此執(zhí)行不同指令必須檢測不同狀態(tài)位。液晶顯示模塊LCD3 AMPIRE 128×64如圖5所示:</p>
35、;<p> 圖5 顯示電路AMPIRE 128×643按鍵電路</p><p> 由于我設計的是電子萬年歷,需要實現(xiàn)多種功能的顯示,并要能夠切換顯示和調(diào)節(jié)年月日,因此,在設計過程中按鍵的設計就顯得尤為重要。</p><p> 在設計過程中我一共采用了2個按鍵,盡量在小的空間里實現(xiàn)最多的功能。按鍵電路如圖6所示:</p><p><
36、;b> 圖6 按鍵電路 </b></p><p> 四、硬件電路的總體框圖設計</p><p> 該設計的硬件電路的總體框圖如圖7所示:</p><p><b> 圖7 總體框圖</b></p><p> 五、硬件電路原理圖設計</p><p> 該萬年歷是以單片
37、機AT89C52為核心來完成的。</p><p> 在硬件電路中采用P1口作為6位液晶顯示電路的驅動接口,這是由于P1口輸出驅動電路工作處于開漏狀態(tài),它的驅動能力強,故只需外接上拉電阻便可以把LED數(shù)碼管點亮。因為共陰的LED數(shù)碼管它的驅動電流是分開的,在單片機進行動態(tài)掃描的時候不會影響彼此的電流,故該電路中的8位LED數(shù)碼管均用共陽陰極的數(shù)碼管。電路原理圖如圖8所示:</p><p>
38、<b> 圖8 硬件電路</b></p><p> 六、主程序流程圖設計</p><p> 該設計主程序流程圖如圖9所示:</p><p> 圖9 主程序流程圖</p><p> 基本顯示模塊設計的重點是由顯示代碼取得相應的段碼、顯示段碼數(shù)據(jù)的串行發(fā)送,程序流程如圖1-11所示。其中時個位的段碼必須加上
39、小數(shù)點,即帶小數(shù)點顯示時個位,目的是以小數(shù)點符代替時間分割符“-”。</p><p> 軟件秒脈沖發(fā)生器其實質(zhì)是利用了定時器0的定時溢出中斷,將它設定為100ms溢出中斷,則10次中斷的時間正好為1s。將時間參數(shù)設計為100ms的原因有兩個:</p><p> ?。保└鶕?jù)系統(tǒng)時鐘主頻為6M的特點,16位定時器最大定時時間為65536×2M(M為機器周期,這里是2μS),即131
40、ms,取整數(shù)100便于計次數(shù);</p><p> ?。玻┤缛〉奶?,如10ms,則定時器頻繁中斷,干擾系統(tǒng)正常運行效果。</p><p> 有了秒脈沖發(fā)生器,10次中斷為1s,秒指示燈閃亮1次,秒變量單元加1,60后分變量單元加1,如果為60分則時變量單元加1。任何一個變量的變化,則顯示刷新一次(更新)。上述思想的實現(xiàn)均集成在定時器0的中斷子程序中。</p><p&g
41、t; 該設計顯示模塊流程圖如圖10所示:</p><p> 圖10 基本顯示模塊的程序流程圖</p><p><b> 七、仿真過程</b></p><p> 1、仿真:打開WAVE6000,輸入所編寫的源程序并對程序進行編譯,在軟件的幫助下檢查其中的錯誤并進行反復修改,知道編譯正確后運行,確保沒有錯誤以后對正確的源程序進行保存,
42、保存時給其命名,以便將來載入程序時容易找到。</p><p> 2、打開PROTEUS軟件,并出畫單片機電子萬年歷具體運行電路圖。</p><p> 3、檢查所畫電路運行圖,確保沒有錯誤以后,在PROTEUS下對原理圖進行加載WAVE6000下的源程序。</p><p> 4、加載完成后,單擊電路圖框下的開始按鈕,進行仿真,觀察LED數(shù)碼管現(xiàn)實情況,此時LED
43、數(shù)碼管開始顯示數(shù)字。調(diào)節(jié)開關進行時間的調(diào)節(jié)。當秒的顯示間隔快與或慢與實際間隔時,調(diào)節(jié)石英晶體震蕩器的頻率參數(shù),從而使秒的間隔達到標準。然后檢查電路其它問題,并對其的各參數(shù)進行調(diào)整,使之正確。</p><p><b> 八、仿真結果</b></p><p> 通過在WAVE6000下對源程序的編譯,改正了其中的很多錯誤,然后運行,保證源程序的正確性。然后按原理圖選擇
44、正確合理的電器元件,畫出正確的電路圖,加載源程序運行,順利實現(xiàn)了單片機數(shù)字電子鐘的“小時”、“分鐘”、“秒”的顯示。該電子萬年歷的顯示效果及電子萬年歷時間和日期的運行效果如圖12所示:</p><p> 圖12 電子萬年歷的運行效果</p><p><b> 九、課程設計體會</b></p><p> 通過這一周的課程設計,我學到了
45、不少的知識。把以前沒有學好的模擬電路的知識進行了補充和加強。這使我受益很大。加深了我對于單片機和數(shù)字電路的認識,相信在以后的學習和工作中碰到這些基礎的元器件我會更加得心應手。通過查閱大量的資料,我獲得了以前在課堂上學不到的東西,我想這對于以后的畢業(yè)設計,或者工作也好,都是很有幫助的。我很認真地對待這個過程中的每一個細節(jié),希望自己能做得更好。希望今后還有這樣的機會,能夠讓我學到更多的知識。在此次的數(shù)字鐘設計過程中,更進一步地熟悉了芯片的結
46、構及掌握了各芯片的工作原理和其具體的使用方法。</p><p> 在連接六進制,十進制,六十進制的進位及十二進制的接法中,要求熟悉邏輯電路及其芯片各引腳的功能,那么在電路出錯時便能準確地找出錯誤所在并及時糾正了。</p><p> 在設計電路中,往往是先仿真后連接實物圖,但有時候仿真和電路連接并不是完全一致的 ,因此在實際的電路連接中往往容易遺漏。在設計電路的連接圖中出錯的主要原因都是
47、接線和芯片的接觸不良以及接線的錯誤所引起的。</p><p><b> 對該設計的建議:</b></p><p> 此次的電子萬年歷設計重在于仿真和接線,雖然能把電路圖接出來,并能正常顯示,但對于電路本身的原理并不是十分熟悉.總的來說,通過這次的設計實驗更進一步地增強了實驗的動手能力。</p><p> 學無止境,我們現(xiàn)在所做的一切都還只
48、是一個開始。</p><p><b> 附1 源程序代碼</b></p><p> /*******************************************************************************************/</p><p> #include <AT89X52.H&g
49、t;</p><p> #include <ctype.h></p><p> #include <string.h></p><p> #include <stdlib.h></p><p> #include <stdio.h></p><p> #incl
50、ude <math.h></p><p> /*******************************************************************************************/</p><p> #define Disp_On 0x3f // 顯示開指令 //</p><p> #d
51、efine Disp_Off 0x3e // 顯示關指令 //</p><p> #define Col_Add 0x40 // 定位到第0列指令 //</p><p> #define Page_Add 0xb8 // 定位到第0頁指令 //</p><p> #define Start_Line 0xc0 // 定位
52、從DDROM中的第0行開始往屏幕上顯示 //</p><p> /*******************************************************************************************/</p><p> sbit RST = P2^0; // 復位端 //</p><p> sbit E
53、 = P2^1; // 使能端 //</p><p> sbit RW = P2^2; // 讀寫控制端 //</p><p> sbit RS = P2^3; // 數(shù)據(jù)或指令寄存器選擇端 //</p><p> sbit CS1 = P2^4; // 左屏使能 //</p><p> sbit CS2
54、 = P2^5; // 右屏使能 //</p><p> /*******************************************************************************************/</p><p> /**********************************************************
55、***************************************/</p><p> sbit RST2 = P3^5; // 復位線引腳 //</p><p> sbit CLK = P3^6; // 時鐘線引腳 //</p><p> sbit IO = P3^7; // 數(shù)據(jù)線引腳 //
56、 // 時鐘部分 //</p><p> /*************************************************************************************************/</p><p> /********************************************************
57、*****************************************/</p><p> sbit ACC7 = ACC^7;</p><p> sbit ACC0 = ACC^0;</p><p> /************************************************************************
58、*************************/</p><p> bit flash;</p><p> bit K1,K2,K3,K4,K5,K6,K7,KT;</p><p> /**************************************************************************************
59、***********/</p><p> unsigned char Curtime[7]={0,0,0,0,0,0,0};</p><p> unsigned char day,sec,min,hour,date,month,year,hms,n,fla_cou; // 定義時間日期顯示緩存 //</p><p> unsigned
60、char code yejing[10]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39};</p><p> /*************************************************************************************************/</p><p> vo
61、id InputByte(unsigned char Date); // 子函數(shù)聲明 // // 時鐘部分 //</p><p> OutputByte(void);</p><p> void WriteTo1302(unsigned char Addr,unsigned char Date);</p><p> ReadFro
62、m1302(unsigned char Addr);</p><p> void SetTime(unsigned char *pSecDa);</p><p> void Init_T0(void);</p><p> void FlashKey(void);</p><p> void Add(void);</p>
63、<p> void Init_Clock(void);</p><p> void Refresh(void);</p><p> /*************************************************************************************************/</p><p>
64、char code huan[]={ // 歡 16*16 //</p><p> 0x14,0x24,0x44,0x84,0x64,0x1C,0x20,0x18,0x0F,0xE8,0x08,0x08,0x28,0x18,0x08,0x00,</p><p> 0x20,0x10,0x4C,0x43,0x43,0x2C,0x20,0x10,0x0C,0x03,0x06,0x18
65、,0x30,0x60,0x20,0x00</p><p><b> };</b></p><p> char code ying[]={ // 迎 16*16 //</p><p> 0x40,0x41,0xCE,0x04,0x00,0xFC,0x04,0x02,0x02,0xFC,0x04,0x04,0x04,0xFC,0x00,
66、0x00,</p><p> 0x40,0x20,0x1F,0x20,0x40,0x47,0x42,0x41,0x40,0x5F,0x40,0x42,0x44,0x43,0x40,0x00</p><p><b> };</b></p><p> char code shi1[]={ // 使 16*16 //</p>
67、<p> 0x40,0x20,0xF0,0x1C,0x07,0xF2,0x94,0x94,0x94,0xFF,0x94,0x94,0x94,0xF4,0x04,0x00,</p><p> 0x00,0x00,0x7F,0x00,0x40,0x41,0x22,0x14,0x0C,0x13,0x10,0x30,0x20,0x61,0x20,0x00</p><p><
68、b> };</b></p><p> char code yong[]={ // 用 16*16 //</p><p> 0x00,0x00,0x00,0xFE,0x22,0x22,0x22,0x22,0xFE,0x22,0x22,0x22,0x22,0xFE,0x00,0x00,</p><p> 0x80,0x40,0x30,0x
69、0F,0x02,0x02,0x02,0x02,0xFF,0x02,0x02,0x42,0x82,0x7F,0x00,0x00</p><p><b> };</b></p><p> char code shu[]={ // 數(shù) 16*16 //</p><p> 0x10,0x92,0x54,0x38,0xFF,0x38,0x5
70、4,0x52,0x80,0xF0,0x1F,0x12,0x10,0xF0,0x10,0x00,</p><p> 0x42,0x42,0x2A,0x2E,0x13,0x1A,0x26,0x02,0x40,0x20,0x13,0x0C,0x33,0x60,0x20,0x00</p><p><b> };</b></p><p> char
71、 code ma[]={ // 碼 16*16 //</p><p> 0x02,0x82,0xE2,0x5E,0x42,0xC2,0x00,0x02,0xFA,0x82,0x82,0x82,0xFE,0x80,0x00,0x00,</p><p> 0x01,0x00,0x7F,0x10,0x10,0x3F,0x00,0x04,0x04,0x04,0x44,0x84,0x4
72、0,0x3F,0x00,0x00</p><p><b> };</b></p><p> char code shi[]={ // 時 16*16 //</p><p> 0x00,0xFC,0x44,0x44,0x44,0xFC,0x10,0x90,0x10,0x10,0x10,0xFF,0x10,0x10,0x10,0x00,
73、</p><p> 0x00,0x07,0x04,0x04,0x04,0x07,0x00,0x00,0x03,0x40,0x80,0x7F,0x00,0x00,0x00,0x00</p><p><b> };</b></p><p> char code zhong[]={ // 鐘 16*16 //</p><
74、p> 0x40,0x30,0x2C,0xEB,0x28,0x28,0x00,0xF8,0x08,0x08,0xFF,0x08,0x08,0xF8,0x00,0x00,</p><p> 0x01,0x01,0x01,0xFF,0x41,0x21,0x00,0x01,0x01,0x01,0xFF,0x01,0x01,0x01,0x00,0x00</p><p><b>
75、 };</b></p><p> char code zhi[]={ // 制 16*16 //</p><p> 0x00,0x50,0x4F,0x4A,0x48,0xFF,0x48,0x48,0x48,0x00,0xFC,0x00,0x00,0xFF,0x00,0x00,</p><p> 0x00,0x00,0x3F,0x01,0x01
76、,0xFF,0x21,0x61,0x3F,0x00,0x0F,0x40,0x80,0x7F,0x00,0x00</p><p><b> };</b></p><p> char code zuo[]={ // 作 16*16 //</p><p> 0x80,0x40,0x20,0xF8,0x07,0x22,0x18,0x0C,0
77、xFB,0x48,0x48,0x48,0x68,0x48,0x08,0x00,</p><p> 0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x04,0x04,0x04,0x04,0x06,0x04,0x00</p><p><b> };</b></p><p> char code ma
78、ohao[]={ // : 16*16 //</p><p> 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,</p><p> 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x0
79、0,0x00,0x00</p><p><b> };</b></p><p> char code guo[]={ // 郭 16*16 //</p><p> 0x00,0x04,0x84,0xB4,0xAD,0x6A,0xDA,0x02,0x02,0xFC,0x04,0x7A,0x86,0x00,0x00,0x00,<
80、;/p><p> 0x00,0x04,0x04,0x04,0x22,0x7F,0x02,0x02,0x00,0x7F,0x02,0x04,0x07,0x00,0x00,0x00</p><p><b> };</b></p><p> char code bing[]={ // 兵 16*16 //</p><p&g
81、t; 0x00,0x00,0x00,0x00,0xFC,0x24,0x24,0x22,0xE2,0x12,0x11,0x10,0x00,0x00,0x00,0x00,</p><p> 0x40,0x42,0x22,0x22,0x13,0x0A,0x02,0x02,0x01,0x05,0x09,0x11,0x61,0x01,0x00,0x00</p><p><b> };
82、</b></p><p> char code gantanhao[]={ // ! 16*16 //</p><p> 0x00,0x00,0x00,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,</p><p> 0x00,0x00,0x00,0x19,0x
83、19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00</p><p><b> };</b></p><p> char code xing[]={ // 星 16*16 //</p><p> 0x00,0x00,0x00,0xBE,0x2A,0x2A,0x2A,0
84、xEA,0x2A,0x2A,0x2A,0x2A,0x3E,0x00,0x00,0x00,</p><p> 0x00,0x48,0x46,0x41,0x49,0x49,0x49,0x7F,0x49,0x49,0x49,0x49,0x49,0x41,0x40,0x00</p><p><b> };</b></p><p> char co
85、de qi[]={ // 期 16*16 //</p><p> 0x00,0x04,0xFF,0x54,0x54,0x54,0xFF,0x04,0x00,0xFE,0x22,0x22,0x22,0xFE,0x00,0x00,</p><p> 0x42,0x22,0x1B,0x02,0x02,0x0A,0x33,0x62,0x18,0x07,0x02,0x22,0x42,0x3
86、F,0x00,0x00</p><p><b> };</b></p><p> char code nian[]={ // 年 16*16 //</p><p> 0x40,0x20,0x10,0x0C,0xE3,0x22,0x22,0x22,0xFE,0x22,0x22,0x22,0x22,0x02,0x00,0x00,</
87、p><p> 0x04,0x04,0x04,0x04,0x07,0x04,0x04,0x04,0xFF,0x04,0x04,0x04,0x04,0x04,0x04,0x00</p><p><b> };</b></p><p> char code yue[]={ // 月 16*16 //</p><p>
88、; void init_lcd()0x00,0x00,0x00,0x00,0x00,0xFF,0x11,0x11,0x11,0x11,0x11,0xFF,0x00,0x00,0x00,0x00,</p><p> 0x00,0x40,0x20,0x10,0x0C,0x03,0x01,0x01,0x01,0x21,0x41,0x3F,0x00,0x00,0x00,0x00</p><p>
89、;<b> };</b></p><p> char code ri[]={ // 日 16*16 //</p><p> 0x00,0x00,0x00,0xFE,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0xFE,0x00,0x00,0x00,0x00,</p><p> 0x00,0x00,0x00
90、,0x3F,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x3F,0x00,0x00,0x00,0x00</p><p><b> };</b></p><p> char code shi2[]={ // 時 16*16 //</p><p> 0x00,0xFC,0x44,0x44,0x44,0xFC,0
91、x10,0x90,0x10,0x10,0x10,0xFF,0x10,0x10,0x10,0x00,</p><p> 0x00,0x07,0x04,0x04,0x04,0x07,0x00,0x00,0x03,0x40,0x80,0x7F,0x00,0x00,0x00,0x00</p><p><b> };</b></p><p> ch
92、ar code fen[]={ // 分 16*16 //</p><p> 0x80,0x40,0x20,0x98,0x87,0x82,0x80,0x80,0x83,0x84,0x98,0x30,0x60,0xC0,0x40,0x00,</p><p> 0x00,0x80,0x40,0x20,0x10,0x0F,0x00,0x00,0x20,0x40,0x3F,0x00,
93、0x00,0x00,0x00,0x00,</p><p><b> };</b></p><p> char code miao[]={ // 秒 16*16 //</p><p> 0x12,0x12,0xD2,0xFE,0x91,0x11,0xC0,0x38,0x10,0x00,0xFF,0x00,0x08,0x10,0x60,
94、0x00,</p><p> 0x04,0x03,0x00,0xFF,0x00,0x83,0x80,0x40,0x40,0x20,0x23,0x10,0x08,0x04,0x03,0x00</p><p><b> };</b></p><p> char code tiao[]={ // 調(diào) 16*16</p>&l
95、t;p> 0x20,0x21,0xEE,0x04,0x00,0x00,0xFF,0x29,0xA9,0xBF,0xA9,0xA9,0x01,0xFF,0x00,0x00,</p><p> 0x00,0x00,0x1F,0x88,0x44,0x30,0x0F,0x00,0x0F,0x04,0x04,0x4F,0x80,0x7F,0x00,0x00</p><p><b>
96、; };</b></p><p> char code kongbai2[]={ // '空白' 16*16 //</p><p> 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,</p><p> 0x0
97、0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,</p><p><b> };</b></p><p> char code kongbai1[]={ // '空白' 8*16 //</p><p> 0
98、x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,</p><p><b> };</b></p><p> char code sz0[]={ // 0 8*16 //</p><p> 0x00,0xE0,0x10,0
99、x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,</p><p><b> };</b></p><p> char code sz1[]={ //數(shù)字 1 8*16 //</p><p> 0x00,0x10,0x10,0xF8,0x00,0x00
100、,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,</p><p><b> };</b></p><p> char code sz2[]={ //數(shù)字 2 8*16 //</p><p> 0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x
101、00,0x30,0x28,0x24,0x22,0x21,0x30,0x00,</p><p><b> };</b></p><p> char code sz3[]={ // 數(shù)字 3 8*16 //</p><p> 0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,
102、0x20,0x20,0x11,0x0E,0x00,</p><p><b> };</b></p><p> char code sz4[]={ // 數(shù)字 4 8*16 //</p><p> 0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3
103、F,0x24,0x00,</p><p><b> };</b></p><p> char code sz5[]={ // 數(shù)字 5 8*16 //</p><p> 0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00,&
104、lt;/p><p><b> };</b></p><p> char code sz6[]={ // 數(shù)字 6 8*16 //</p><p> 0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00,</p>&l
105、t;p><b> };</b></p><p> char code sz7[]={ // 數(shù)字 7 8*16 //</p><p> 0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,</p><p><b&
106、gt; };</b></p><p> char code sz8[]={ // 數(shù)字 8 8*16 //</p><p> 0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00,</p><p><b> };</b
107、></p><p> char code sz9[]={ // 數(shù)字 9 8*16 //</p><p> 0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00,</p><p><b> };</b></p>
108、;<p> char code *shuzi[]={sz0,sz1,sz2,sz3,sz4,sz5,sz6,sz7,sz8,sz9};</p><p> unsigned char code FirstPage[]={ // 開機畫面 DPY工作室 //</p><p> 0x60,0xE0,0xE0,0xE0,0xE0,0x60,0xE0,0xE0,0xE0,0
109、xC0,0x80,0x00,0x00,0x00,0x00,0x00,</p><p> 0x00,0x00,0x60,0xE0,0xE0,0xE0,0x60,0x60,0x60,0xE0,0xE0,0xE0,0xC0,0x80,0x00,0x00,</p><p> 0x00,0x00,0x00,0x60,0xE0,0xE0,0xE0,0xE0,0x60,0x00,0x00,0x60,
110、0xE0,0xE0,0xE0,0x60,</p><p> 0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,</p><p> 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
111、,0x00,</p><p> 0x00,0x00,0x00,0x00,0x00,0x80,0xF0,0xF0,0x00,0x00,0xC0,0xF8,0xF8,0x00,0x00,0x00,</p><p> 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,</p&g
112、t;<p> 0x00,0x38,0xF8,0xF8,0xE0,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,</p><p> 0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x01,0x1F,0xFF,0xFF,0xFC,0x00,0x00,0x00,</p><p>
113、 0x00,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x80,0xC0,0xFF,0xFF,0xFF,0x3E,0x00,</p><p> 0x00,0x00,0x00,0x00,0x00,0x07,0x3F,0xFF,0xFE,0xF0,0xC0,0xF8,0xFF,0x0F,0x01,0x00,</p><p> 0x00,0x00,0x0
114、0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x1C,0x1C,</p><p> 0x1C,0xFE,0xFE,0x3F,0x0F,0x07,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,</p><p> 0x00,0x00,0x80,0xE0,0xFC,0x
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論