版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 課程名稱: 微機原理課程設(shè)計 </p><p> 題 目: 萬年歷 </p><p><b> 摘要</b></p><p> 隨著電子技術(shù)的迅速發(fā)展,特別是隨大規(guī)模集成電路出現(xiàn),給人類生活帶來了根本
2、性的改變。由其是單片機技術(shù)的應(yīng)用產(chǎn)品已經(jīng)走進(jìn)了千家萬戶。電子萬年歷的出現(xiàn)給人們的生活帶來的諸多方便。</p><p> 本文首先描述系統(tǒng)硬件工作原理,并附以系統(tǒng)結(jié)構(gòu)框圖加以說明,著重介紹了本系統(tǒng)所應(yīng)用的各硬件接口技術(shù)和各個接口模塊的功能及工作過程,其次,詳細(xì)闡述了程序的各個模塊和實現(xiàn)過程。本設(shè)計以數(shù)字集成電路技術(shù)為基礎(chǔ),單片機技術(shù)為核心。本文編寫的主導(dǎo)思想是軟硬件相結(jié)合,以硬件為基礎(chǔ),來進(jìn)行各功能模塊的編寫。&
3、lt;/p><p> 本設(shè)計是一種基于STC89C51單片機控制,DS1302報時的數(shù)字時鐘設(shè)計。它具有多項顯示和控制功能。能用LCD實時顯示當(dāng)前年、月、日、星期、時間;可對時間進(jìn)行調(diào)整;具有調(diào)整時間和日期功能。</p><p> 本設(shè)計通過一個基于單片機的能實現(xiàn)萬年歷功能電子時鐘的設(shè)計,從而達(dá)到學(xué)習(xí)、了解單片機相關(guān)指令在各方面的應(yīng)用。系統(tǒng)由主控制器AT89C51、時鐘電路DS1302、顯
4、示電路、按鍵電路和復(fù)位電路等部分構(gòu)成,能實現(xiàn)時鐘日歷顯示的功能,能進(jìn)行時、分、秒的顯示。</p><p> 關(guān)鍵詞:STC89C52單片機、LCD液晶顯示、DS1302時鐘芯片</p><p><b> 目錄</b></p><p> 一、設(shè)計任務(wù)與要求- 4 -</p><p> 1.1 設(shè)計任務(wù)- 4 -
5、</p><p> 1.2 設(shè)計要求- 4 -</p><p> 1.3 發(fā)揮部分- 4 -</p><p> 二、方案總體設(shè)計- 5 -</p><p> 2.1 顯示部分- 5 -</p><p> 2.2 時鐘信號的選擇- 5 -</p><p> 2.3 總體方案
6、- 5 -</p><p> 三、硬件設(shè)計- 7 -</p><p> 3.1 單片機最小系統(tǒng)- 7 -</p><p> 3.2 DS1302時鐘電路- 10 -</p><p> 3.3 LCD液晶顯示模塊- 11 -</p><p> 3.4 按鍵電路- 12 -</p><
7、;p> 3.5 電源指示燈部分- 14 -</p><p> 四、軟件設(shè)計- 15 -</p><p> 4.1 主程序流程圖顯示- 15 -</p><p> 4.2 時間設(shè)定程序流程圖- 16 -</p><p> 五、系統(tǒng)仿真與調(diào)試- 17 -</p><p> 5.1 Proteus
8、仿真軟件簡介- 17 -</p><p> 5.2 仿真及實物- 18 -</p><p> 六、設(shè)計總結(jié)- 21 -</p><p> 七、參考文獻(xiàn)- 22 -</p><p><b> 一、設(shè)計任務(wù)與要求</b></p><p><b> 1.1 設(shè)計任務(wù)</
9、b></p><p> 基于52單片機的DS1302萬年歷;</p><p><b> 1.2 設(shè)計要求</b></p><p> 基于52單片機,利用DS1302時鐘芯片生成萬年歷,使用液晶顯示年月日時分秒,顯示值可通過按鍵修改。</p><p><b> 1.3 發(fā)揮部分</b>&
10、lt;/p><p> 1)添加了鬧鐘功能,可設(shè)置三個鬧鐘,鬧鐘時間可修改;</p><p> 2)鬧鐘鈴聲設(shè)置了四種,用戶可自由選擇;</p><p> 3)設(shè)計了菜單模式方便用戶的操作;</p><p><b> 二、方案總體設(shè)計</b></p><p><b> 2.1 顯示部
11、分</b></p><p><b> 方案一:</b></p><p> led數(shù)碼管(LED Segment Displays)是由多個發(fā)光二極管封裝在一起組成“8”字型的器件,引線已在內(nèi)部連接完成,只需引出它們的各個筆劃,公共電極。led數(shù)碼管常用段數(shù)一般為7段有的另加一個小數(shù)點,還有一種是類似于3位“+1”型。位數(shù)有半位,1,2,3,4,5,6,
12、8,10位等等,led數(shù)碼管根據(jù)LED的接法不同分為共陰和共陽兩類,了解LED的這些特性,對編程是很重要的,因為不同類型的數(shù)碼管,除了它們的硬件電路有差異外,編程方法也是不同的。圖2是共陰和共陽極數(shù)碼管的內(nèi)部電路,它們的發(fā)光原理是一樣的,只是它們的電源極性不同而已。顏色有紅,綠,藍(lán),黃等幾種。led數(shù)碼管廣泛用于儀表,時鐘,車站,家電等場合。選用時要注意產(chǎn)品尺寸顏色,功耗,亮度,波長等。</p><p><
13、b> 方案二:</b></p><p> 采用LCD顯示。LCD液晶顯示具有豐富多樣性、靈活性、電路簡單、易于控制而且功耗小等優(yōu)點,對于信息量多的系統(tǒng),是比較適合的。</p><p> 鑒于上述原因,我們采用方案二。</p><p> 2.2 時鐘信號的選擇</p><p> 數(shù)字時鐘是本設(shè)計的核心的部分。根據(jù)需要
14、可采用以下兩種方案實現(xiàn):</p><p><b> 方案一:</b></p><p> 直接采用單片機定時計數(shù)器提供秒信號,使用程序?qū)崿F(xiàn)年、月、日、星期、時、分、秒計數(shù)。采用此方案雖然減少芯片的使用,節(jié)約成本,但是,實現(xiàn)的時間誤差大。</p><p><b> 方案二:</b></p><p>
15、; 采用DS1302時鐘芯片實現(xiàn)時鐘,DS1302芯片是一種高性能的時鐘芯片,可自動對秒、分、時、日、周、月、年進(jìn)行計數(shù),而且精度高,位的RAM做為數(shù)據(jù)暫存區(qū),工作電壓2.5——5.5V,2.5V時耗電小于300nA。</p><p> 基于時鐘芯片的上述優(yōu)點,本設(shè)計采用方案二完成數(shù)字時鐘的功能。</p><p><b> 2.3 總體方案</b></p&
16、gt;<p> 設(shè)計總體框架圖如圖1所示,按照系統(tǒng)設(shè)計的要求和功能,將系統(tǒng)分為主控模塊、時鐘電路模塊、按鍵掃描模塊、LCD顯示模塊、電源電路、復(fù)位電路、晶振電路幾個模塊,系統(tǒng)框圖如圖1所示。主控模塊采用STC89C51單片機,按鍵模塊用4個按鍵,用于調(diào)整時間,顯示模塊采用LCD1602,時鐘電路模塊采用DS1302實時時鐘實現(xiàn)對時間,日期的操作。</p><p> 圖1 基于STC89C52單片
17、機的電子萬年歷系統(tǒng)框圖</p><p> 按照系統(tǒng)設(shè)計的要求和功能,將系統(tǒng)分為主控模塊、時鐘電路模塊、按鍵掃描模塊、LCD顯示模塊、電源電路、復(fù)位電路、晶振電路幾個模塊,系統(tǒng)框圖如圖1所示。主控模塊采用STC89C51單片機,按鍵模塊用4個按鍵,用于調(diào)整時間,顯示模塊采用LCD1602,時鐘電路模塊采用DS1302實時時鐘實現(xiàn)對時間,日期的操作。</p><p><b> 三
18、、硬件設(shè)計</b></p><p> 硬件設(shè)計是在單片機最小系統(tǒng)的基礎(chǔ)上增加DS1302時鐘電路、1602液晶電路、按鍵電路和電源指示燈模塊,各模塊詳細(xì)介紹如下。</p><p> 3.1 單片機最小系統(tǒng)</p><p> STC89C52為40引腳雙列直插芯片,有四個I/O口P0,P1,P2,P3,每一條I/O線都能獨立地作輸出或輸入。</
19、p><p> 單片機的最小系統(tǒng)如下圖所示,18引腳和19引腳接晶振電路,XTAL1接外部晶振和微調(diào)電容的一端,在片內(nèi)它是振蕩器倒相放大器的輸入,XTAL2接外部晶振和微調(diào)電容的另一端,在片內(nèi)它是振蕩器倒相放大器的輸出。第9引腳為復(fù)位輸入端,接上電容,電阻及開關(guān)后夠上電復(fù)位電路,20引腳為接地端,40引腳為電源端。如下圖所示:</p><p> 圖2 單片機管腳定義</p>&
20、lt;p> P0口:P0口為一個8位漏級開路雙向I/O口每腳可吸收8TTL門電流。當(dāng)P0口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的低八位。在FIASH編程時,P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗時,P0輸出原碼,此時P0外部必須接上拉電阻。 </p><p> P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出
21、4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為低八位地址接收。</p><p> P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由
22、于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。</p><p> P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上
23、拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口:P3.0 RXD(串行輸入口);P3.1 TXD(串行輸出口);P3.2 /INT0(外部中斷0);P3.3 /INT1(外部中斷1);P3.4 T0(記時器0外部輸入);P3.5T1(記時器1外部輸入);P3.6 /WR(外部數(shù)據(jù)存儲器寫選通);P3.7 /RD(外部數(shù)據(jù)存儲器讀選通);P
24、3口同時為閃爍編程和編程校驗接收一些控制信號。</p><p> RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機器周期的高電平時間。</p><p> ALE/PROG:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的低位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部
25、輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時,ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。</p><p> /PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時
26、,這兩次有效的/PSEN信號將不出現(xiàn)。</p><p> /EA/VPP:當(dāng)/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。</p><p> XTAL1:反向振蕩放大器的輸入及內(nèi)部
27、時鐘工作電路的輸入。</p><p> XTAL2:來自反向振蕩器的輸出。</p><p> 振蕩器特性:XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。<
28、;/p><p> 圖3 單片機最小系統(tǒng)</p><p><b> 晶振電路</b></p><p> 時鐘振蕩電路圖3所示,時鐘振蕩電路用于產(chǎn)生單片機正常工作時所需要的時鐘信號,</p><p> 電路由兩個20pF的瓷片電容和一個12MHz的晶振組成,并接入到單片機的XTAL1和XTAL2引腳處,使單片機工作于內(nèi)部
29、振蕩模式。此電路在加電后延遲大約10ms振蕩器起振,</p><p> 在XTAL2引腳產(chǎn)生幅度為3V左右的正弦波時鐘信號,其振蕩頻率主要由石英晶振的頻率決定。</p><p> 時鐘振蕩電路如圖3所示。</p><p> 圖4 STC89C52晶振電路</p><p><b> 復(fù)位電路</b></p&g
30、t;<p> 復(fù)位電路由電阻和極性電容組成,如圖4所示,通過高電平使單片機復(fù)位,在時鐘電路開始工作后,當(dāng)高電平的時間超過大約2us時,即可實現(xiàn)復(fù)位。此復(fù)位電路同時具備了上電復(fù)位和手動復(fù)位的功能,上電復(fù)位發(fā)生在開機加電時,由系統(tǒng)自動完成,手動復(fù)位通過一個按鍵來實現(xiàn),在程序運行時,若遇到死機,死循環(huán)或程序“跑飛”等情況,通過手動復(fù)位就可以實現(xiàn)重新啟動的操作。手動按鈕復(fù)位需要人為在復(fù)位輸入端RST上加入高電平。一般采用的辦法是
31、在RST端和正電源VCC之間接一個按鈕以及在RST端和地之間接一個電阻,如圖所示,當(dāng)人為按下按鈕時,則VCC 的+5V電平就會直接加到RST端,由于人的動作再快也會使按鈕保持接通達(dá)數(shù)十毫秒,只要滿足復(fù)位時間超過兩個機器周期就可以,所以,完全能夠滿足復(fù)位的時間要求。這里晶振大小選用12MHz,電容選用兩個20pf的瓷片電容。</p><p><b> 圖5 復(fù)位電路</b><
32、/p><p> 3.2 DS1302時鐘電路</p><p> DS1302是美國DALLAS公司推出的具有涓細(xì)電流充電能力的低功耗實時時鐘電路DS1302的結(jié)構(gòu)、工作原理及其在實時顯示時間中的應(yīng)用。它可以對年、月、日、周日、時、分、秒進(jìn)行計時,且具有閏年補償?shù)榷喾N功能。</p><p> DS1302的引腳排列,其中Vcc1為后備電源,VCC2為主電源。在主電源
33、關(guān)閉的情況下,也能保持時鐘的連續(xù)運行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當(dāng)Vcc2大于Vcc1+0.2V時,Vcc2給DS1302供電。當(dāng)Vcc2小于Vcc1時,DS1302由Vcc1供電。</p><p> 圖6 DS1302管腳定義</p><p> X1和X2是振蕩源,外接32.768kHz晶振。RST是復(fù)位/片選線,通過把RST輸入驅(qū)動置高電平來啟動所有的數(shù)據(jù)
34、傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)RST為高電平時,所有的數(shù)據(jù)傳送被初始化,允許對DS1302進(jìn)行操作。如果在傳送過程中RST置為低電平,則會終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運行時,在Vcc≥2.5V之前,RST必須保持低電平。只有在SCLK為低電平時,才能將RST置為高電平。I/O為串行數(shù)據(jù)輸入輸出端(雙向),SCLK
35、為時鐘輸入端。</p><p> 時鐘電路主要由時鐘芯片DS1302、晶振等幾部分組成,DS1302采用3線串行接口,占用引腳少,如圖6所示;DS1302的接口電路如圖7所示。</p><p> 圖7 DS1302時鐘電路</p><p> 3.3 LCD液晶顯示模塊</p><p><b> LCD1602簡介</b
36、></p><p> 1602液晶也叫1602字符型液晶,它是一種專門用來顯示字母、數(shù)字、符號等的點陣型液晶模塊。它由若干個5X7或者5X11等點陣字符位組成,每個點陣字符位都可以顯示一個字符,每位之間有一個點距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用,正因為如此所以它不能很好地顯示圖形(用自定義CGRAM,顯示效果也不好)。</p><p> 1602LCD是指顯
37、示的內(nèi)容為16X2,即可以顯示兩行,每行16個字符液晶模塊(顯示字符和數(shù)字)。圖8為實物圖</p><p> 圖8 1602液晶實物圖</p><p> 顯示電路采用LCD1602液晶顯示,如圖6所示。3腳用于調(diào)節(jié)LCD1602的背光,4、5、6為LCD1602的控制口,用于控制其寫入或是讀出指令,7至14腳為LCD1602的數(shù)據(jù)口,將數(shù)傳送到LCD1602中。圖9為LCD接口電路圖。
38、</p><p> 圖9 1602液晶接口電路</p><p><b> 3.4 按鍵電路</b></p><p> 在正常狀態(tài)下LCD1602顯示時鐘,當(dāng)按下K4時,液晶顯示菜單模式,下面就配合各菜單下按鍵的作用對數(shù)字鐘功能進(jìn)行一一地說明。</p><p><b> 菜單模式:</b>&l
39、t;/p><p> 主菜單中有Time,Clock,Music,BACK四個子菜單。</p><p> K1:進(jìn)入Time子菜單</p><p> K2:進(jìn)入Clock子菜單</p><p> K3:進(jìn)入Music子菜單</p><p> K4:退回時鐘顯示界面</p><p> 1)T
40、ime子菜單:</p><p> 注意:進(jìn)入Time子菜單模式,設(shè)置完之后,需要退回到時鐘顯示界面才能再次進(jìn)行調(diào)整,但可以進(jìn)入其他子菜單進(jìn)行設(shè)定。</p><p> 當(dāng)前已進(jìn)入調(diào)整時間模式,通過按鍵可以進(jìn)行表示時間的各項參數(shù)的調(diào)節(jié)。</p><p> K1:切換光標(biāo)位置,光標(biāo)所在位置便可以通過K2進(jìn)行參數(shù)調(diào)節(jié),光標(biāo)走向為沿八字形循環(huán)移動。</p>
41、<p> K2:對光標(biāo)所在的時間參數(shù)進(jìn)行調(diào)節(jié),且根據(jù)不同的時間參數(shù)有不同的調(diào)節(jié)范圍,如小時的十位只有0,1,2的取值,且當(dāng)小時的十位為2時,小時的個位只能取0,1,2,3,4。被調(diào)節(jié)的參數(shù)在其調(diào)節(jié)范圍內(nèi)循環(huán)改變。</p><p> K3:保存當(dāng)前設(shè)定的時間,并且有”Save Ok”字樣提醒用戶修改生效,此鍵按下后退回到主菜單。</p><p> K4:不保存當(dāng)前設(shè)定的時間
42、,并且有”Not Save”字樣提醒用戶修改無效,此鍵按下后退回到主菜單。</p><p> 2)Clock子菜單:</p><p> 可實現(xiàn)年月日時分秒周的定時!</p><p> 注意:進(jìn)入Clock子菜單模式,設(shè)置完之后,需要退回到時鐘顯示界面才能再次進(jìn)行調(diào)整,但可以進(jìn)入其他子菜單進(jìn)行設(shè)定。</p><p> 當(dāng)鬧鐘響時,按任意
43、鍵退出。</p><p> 當(dāng)前已進(jìn)入設(shè)置鬧鐘模式,通過按鍵可以進(jìn)行3個鬧鐘時間的設(shè)定。</p><p> K1:切換光標(biāo)位置,光標(biāo)所在位置便可以通過K2進(jìn)行參數(shù)調(diào)節(jié),光標(biāo)走向為沿八字形循環(huán)移動。</p><p> K2:對光標(biāo)所在的時間參數(shù)進(jìn)行調(diào)節(jié),且根據(jù)不同的時間參數(shù)有不同的調(diào)節(jié)范圍,如小時的十位只有0,1,2的取值,且當(dāng)小時的十位為2時,小時的個位只能取
44、0,1,2,3,4。被調(diào)節(jié)的參數(shù)在其調(diào)節(jié)范圍內(nèi)循環(huán)改變。</p><p> K3:切換鬧鐘,在3個鬧鐘之間循環(huán)切換,切換時,若切換前鬧鐘被修改,便會有”Svae Yes or No”字樣提醒是否修改切換前的鬧鐘,在此字樣下,K3代表Yes,K4代表No,K3按下便是使被修改的鬧鐘生效,K4則是不保存修改,K3或K4被按下后便切換到下一個鬧鐘</p><p> K4:用于退出Clock模
45、式,在退出Clcok模式前,如果當(dāng)前顯示的鬧鐘被修改,便會跳出便會有”Svae Yes or No”字樣提醒是否修改切換前的鬧鐘,在此字樣下,K3代表Yes,K4代表No,K3按下便是使被修改的鬧鐘生效,K4則是不保存修改,K3或K4被按下后便回到主菜單界面。</p><p> 3)Music子菜單:</p><p> 當(dāng)前已進(jìn)入設(shè)置鬧鈴模式,通過按鍵可以進(jìn)行鬧鈴的設(shè)定,注意三個鬧鐘對
46、應(yīng)同樣的鬧鈴</p><p> K1:選擇song1作為鬧鈴,此鍵按下后自動退出到顯示時鐘界面。</p><p> K2:選擇song2作為鬧鈴,此鍵按下后自動退出到顯示時鐘界面。</p><p> K3:選擇song3作為鬧鈴,此鍵按下后自動退出到顯示時鐘界面。</p><p> K4:選擇song4作為鬧鈴,此鍵按下后自動退出到顯
47、示時鐘界面。</p><p> 按鍵電路連接圖如圖10所示:</p><p><b> 圖10 按鍵電路</b></p><p> 3.5 電源指示燈部分</p><p> 電源指示燈部分包括一個開關(guān),發(fā)光二級管和限流電阻。當(dāng)電源接通時發(fā)光二級管點亮,表明電路已上電。</p><p>&l
48、t;b> 圖11 電源模塊</b></p><p><b> 四、軟件設(shè)計</b></p><p> 4.1 主程序流程圖顯示</p><p> 主程序首先初始化定時器、LCD1602及DS1302,然后就開始查詢按鍵,有鍵按下則開始調(diào)整時間,若沒有按下,則執(zhí)行下面的時間、日期時間的顯示,最后依次循環(huán)這些相同的操作,程
49、序的編寫采用模塊化編程,共分為DS1302模塊,LCD1602模塊,延時模塊,主函數(shù)模塊,菜單模塊,按鍵模塊,主函數(shù)模塊通過調(diào)用各子模塊中的外部函數(shù)來實現(xiàn)相應(yīng)的功能,程序源代碼請見附件KEIL文件,相應(yīng)流程圖以及系統(tǒng)框架如下圖所示:</p><p> 圖12 主程序流程圖</p><p><b> 圖13 系統(tǒng)框架圖</b></p><p>
50、; 4.2 時間設(shè)定程序流程圖</p><p> 時間設(shè)定程序流程如圖14所示</p><p> 圖14 時間設(shè)定程序流程圖</p><p><b> 五、系統(tǒng)仿真與調(diào)試</b></p><p> 5.1 Proteus仿真軟件簡介</p><p> Proteus軟件是英國Labce
51、nter electronics公司出版的EDA工具軟件(該軟件中國總代理為廣州風(fēng)標(biāo)電子技術(shù)有限公司)。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機及外圍器件。它是目前最好的仿真單片機及外圍器件的工具。雖然目前國內(nèi)推廣剛起步,但已受到單片機愛好者、從事單片機教學(xué)的教師、致力于單片機開發(fā)應(yīng)用的科技工作者的青睞。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)
52、計,真正實現(xiàn)了從概念到產(chǎn)品的完整設(shè)計。是目前世界上唯一將電路仿真軟件、PCB設(shè)計軟件和虛擬模型仿真軟件三合一的設(shè)計平臺,其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即將增加Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、KEIL和MPLAB等多種編譯器。</p><p>
53、<b> 1)電路圖的繪制</b></p><p> 運行的程序后進(jìn)入該仿真軟件的主界面。</p><p> 作圖步驟:1.繪圖前為了便于作圖可作一些設(shè)置。如設(shè)置柵格、柵格捕捉精度、圖形界面顏色、大小等。</p><p> 2)通過對象選擇按鈕P,利用其搜索引擎將所需元器件加入到對象選擇器窗口列元件清單,如表一所示</p>
54、<p><b> 表1 元件清單例子</b></p><p> 3)放置元器件至圖形編輯窗口并調(diào)整到合適位置。</p><p> 4)修改屬性,如電阻設(shè)置電阻值</p><p> 5)放置總線至圖形編輯窗口。</p><p> 6)完成元器件之間以及元器件與總線的連線。</p><
55、;p> 7)給與總線連接的導(dǎo)線貼標(biāo)簽以便于系統(tǒng)識別。</p><p> 圖15 Proteus工作界面</p><p> 電路圖連接好以后,雙擊芯片,選中所需的HEX文件,點擊OK,左鍵左下角的開始按鍵,仿真便開始進(jìn)行。</p><p><b> 5.2 仿真及實物</b></p><p> 具體仿真電路
56、圖以及結(jié)果展示如下圖16所示:</p><p> 圖16 系統(tǒng)仿真電路</p><p><b> 實物圖:</b></p><p><b> 圖17 實物正面圖</b></p><p> 年月日已經(jīng)由程序設(shè)定好,將會顯示出來,再通過按鍵控制具體時分秒,隨著時間流動,年月日會發(fā)生相應(yīng)變化。&l
57、t;/p><p> 圖18 按鍵按后顯示圖</p><p> 具體顯示結(jié)果如上圖所示,通過按鍵切換,可以改變年月日時分秒等數(shù)值大小,以及設(shè)置鬧鐘。</p><p><b> 六、設(shè)計總結(jié)</b></p><p> 通過此次課程設(shè)計結(jié)合所學(xué)的單片機這門課程的知識,對其應(yīng)用之一——基于DS1302和LCD1602的萬年歷
58、,進(jìn)行設(shè)計與實現(xiàn)??傮w感覺收獲比較多,因為可以將書本上的知識應(yīng)用到實踐當(dāng)中。一開始不知道如何下手做這個東西,感覺什么都不會,后來咨詢了下有經(jīng)驗認(rèn)識,慢慢入手了。首先,把握整個的設(shè)計的大概的流程,然后再對每一個分塊進(jìn)行設(shè)計,最后進(jìn)行調(diào)試。此次課程設(shè)計感覺收獲很多,比如,知道了如何使用DXP以及PROTEUS軟件,知道了word文檔的規(guī)范的重要性,同時我也明白了在學(xué)習(xí)的道路上沒有捷徑,只有一步一個腳印,才能真正學(xué)到東西!我對硬件與軟件的結(jié)合
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)字萬年歷課程設(shè)計
- 萬年歷課程設(shè)計報告
- 萬年歷課程設(shè)計報告
- 萬年歷課程設(shè)計--萬年歷電子時鐘
- 萬年歷課程設(shè)計
- 萬年歷課程設(shè)計
- 萬年歷課程設(shè)計
- 萬年歷課程設(shè)計
- 萬年歷課程設(shè)計
- 萬年歷課程設(shè)計
- 萬年歷課程設(shè)計
- 課程設(shè)計報告--電子萬年歷
- 多功能數(shù)字萬年歷課程設(shè)計
- java課程設(shè)計報告-萬年歷
- java萬年歷課程設(shè)計報告
- java課程設(shè)計報告---萬年歷
- 萬年歷系統(tǒng)課程設(shè)計報告
- 電子萬年歷課程設(shè)計報告
- java萬年歷課程設(shè)計
- java課程設(shè)計--萬年歷
評論
0/150
提交評論