版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 分類號 編 號 </p><p><b> 畢 業(yè) 設(shè) 計</b></p><p> 題目 基于單片機的多功能電子時鐘計 </p><p> 院 系 信息工
2、程學(xué)院 </p><p> 專 業(yè) 電子信息工程 </p><p> 姓 名 </p><p> 學(xué) 號 </p><p> 指導(dǎo)教師 </p><p> 2010年5月1
3、0日</p><p> 畢 業(yè) 設(shè) 計 任 務(wù) 書</p><p><b> 一、畢業(yè)設(shè)計的目的</b></p><p> 掌握單片機系統(tǒng)開發(fā)的一般方法與流程</p><p> 掌握單片機系統(tǒng)電路的安裝調(diào)試步驟與方法</p><p><b> 二、主要設(shè)計內(nèi)容</b>
4、;</p><p> 調(diào)查研究多功能電子時鐘的原理與實現(xiàn)方法</p><p> 構(gòu)思基于單片機的多功能電子時鐘的實現(xiàn)方案</p><p> 用仿真軟件分析設(shè)計方案</p><p> 選擇器件實現(xiàn)多功能電子時鐘的硬件電路</p><p><b> 編寫和調(diào)試軟件系統(tǒng)</b></p&g
5、t;<p> 進行實物電路板電路的測試與參數(shù)修正</p><p><b> 三、重點研究問題</b></p><p><b> 單片機的原理與應(yīng)用</b></p><p> 多功能電子時鐘的原理與方法</p><p> 多功能電子時鐘的實時顯示與功能切換</p>
6、<p> 單片機的軟件系統(tǒng)設(shè)計</p><p> 四、主要技術(shù)指標或主要設(shè)計參數(shù)</p><p><b> 硬件要求:</b></p><p><b> 電路原理圖正確</b></p><p><b> 元器件選配合理</b></p><
7、;p><b> 電路板布局合理</b></p><p><b> 焊接質(zhì)量好</b></p><p><b> 軟件要求:</b></p><p> 程序要求結(jié)構(gòu)化、模塊化,流程清晰</p><p> 滿足功能需求且充分利用硬件資源</p><
8、;p> 邏輯正確嚴謹,變量、模塊定義規(guī)范化</p><p> 易于適應(yīng)硬件設(shè)備的變更和系統(tǒng)功能的擴展</p><p> 本科生畢業(yè)設(shè)計開題報告</p><p> 2010年3月14日</p><p><b> 摘 要</b></p><p> 隨著生活節(jié)奏的加快,人們時間觀念的
9、加強,時鐘已經(jīng)成為人們?nèi)粘I钪胁豢苫蛉钡囊徊糠?,而如何在時鐘的基礎(chǔ)上,根據(jù)人們生活的需要增加相應(yīng)的、功能以方便人們的生活,成為時鐘設(shè)計方面的重點。單片機以其強大的功能,低廉的價格成為許多多功能電子產(chǎn)品的首選。本設(shè)計結(jié)合所學(xué)的額單片機的原理與應(yīng)用這么課程而拓展的電子方面的研究,在單片機時鐘的基礎(chǔ)上通過軟件記時,實現(xiàn)時鐘功能,同時通過按鍵開關(guān)來擴展功能,實現(xiàn)定時鬧鐘與秒表功能。C51語言作為高級語言C語言的移植,易于理解和操作,且結(jié)構(gòu)化較
10、高,本設(shè)計即采用C51語言作為編程語言,流程比較清晰。</p><p> 關(guān)鍵字:電子時鐘 STC89S52單片機 C51語言</p><p><b> Abstract</b></p><p> With the quickening pace of life, it enhanced sense of time, the clo
11、ck has become an indispensable part of daily life. How the clock basis, according to people's lives need to increase accordingly, function to facilitate people's lives, become the focus of the clock design. Micro
12、controller with its powerful features, low price to become the first choice for many multi-functional electronic products. The design combines the science and application of the principle amount of SCM such courses to ex
13、</p><p> Keyword: electric o’clock STC89S52 MCU C language</p><p><b> 目 錄</b></p><p><b> 摘 要I</b></p><p> AbstractII</p><p&g
14、t;<b> 目 錄I</b></p><p><b> 1 緒論1</b></p><p><b> 2 基本原理2</b></p><p> 2.1 STC89S52簡介2</p><p> 2.2 八段數(shù)碼管5</p><p>
15、; 2.2.1 概述5</p><p> 2.2.2 最大工作范圍5</p><p> 2.2.3 電氣特性(測試條件 Ta=25,Vdd=5.0+/-0.25V)5</p><p> 2.2.4 接口說明5</p><p> 2.2.5 指令描述9</p><p> 2.2.6 接口時序11&
16、lt;/p><p> 2.3 HCF4511B的說明12</p><p><b> 3 硬件設(shè)計14</b></p><p> 3.1硬件主要組成部分14</p><p> 3.2硬件電路說明14</p><p> 3.2.1按鍵模塊14</p><p>
17、 3.2.2單片機的復(fù)位電路15</p><p> 3.2.3單片機的晶振電路16</p><p> 3.2.4發(fā)聲指示模塊16</p><p> 3.2.5數(shù)碼管顯示部分電路17</p><p><b> 4 軟件設(shè)計18</b></p><p> 4.1 程序流程圖18&
18、lt;/p><p> 4.2 軟件的仿真19</p><p><b> 5系統(tǒng)調(diào)試20</b></p><p> 5.1硬件調(diào)試20</p><p> 5.1.1排除元器件失效20</p><p> 5.1.2排除電源故障20</p><p> 5.1.3
19、 聯(lián)機仿真調(diào)試20</p><p> 5.2軟件調(diào)試20</p><p><b> 總 結(jié)23</b></p><p><b> 致 謝24</b></p><p><b> 參考文獻25</b></p><p> 附錄一 源程序
20、26</p><p> 附錄二 軟件仿真圖40</p><p> 附錄三 英文文獻及翻譯41</p><p><b> 英文文獻原文41</b></p><p><b> 中文文獻譯文44</b></p><p><b> 1 緒論</b&
21、gt;</p><p> 單片機技術(shù)飛速發(fā)展,產(chǎn)品質(zhì)量越來越好,而成本卻越來越低,現(xiàn)階許多復(fù)雜、多用的電子器件普遍采用單片機來實現(xiàn)。同時,隨著人們生活節(jié)奏的加快,時鐘已經(jīng)成為人們?nèi)粘I钪械谋匦杵?,許多家電都帶有時鐘模塊,而人們也不再滿足于緊緊具有時間顯示功能的時鐘,對時鐘功能的要求也越來越全面。單片機以其強大的功能成為多功能電子時鐘的首選,為電子時鐘的功能擴展提供了強大的支持,實現(xiàn)一物多用,提高電子時鐘的使用
22、價值。本設(shè)計詳細介紹了該系統(tǒng)的組成和基本工作原理,重點介紹了硬件設(shè)計思想和軟件設(shè)計的思路,在保證系統(tǒng)功能齊全,性能良好的前提下,最大限度的簡化電路,降低系統(tǒng)的整體成本,提高系統(tǒng)的可靠性。另外,預(yù)留P0口作為以后功能的擴展口。</p><p> ?。墒乾F(xiàn)在的液晶顯示器基本上還都是只支持模擬RGB輸入,同時支持模擬RGB輸入和數(shù)字RGB輸入并且可以接收電視信號的多功能液晶顯示器市場上還很少見。本設(shè)計同時集成了模擬R
23、GB信號處理和數(shù)字RGB信號處理,并且集成了電視信號的編碼處理。實現(xiàn)了一物多用,提高了系統(tǒng)的實用價值。本設(shè)計詳細介紹了該系統(tǒng)的組成和基本工作原理,重點介紹了多功能電子時鐘的硬件設(shè)計思路和軟件設(shè)計思想。硬件設(shè)計的主要要求是在保證系統(tǒng)性能的前提下,最大限度的降低系統(tǒng)的整體成本,同時還要留出以后功能擴展接口。)</p><p><b> 2 基本原理</b></p><p&g
24、t; 2.1 STC89S52</p><p> STC89S52下圖2-1所示。</p><p> 圖2-1 STC89S52管腳</p><p><b> 主要性能:</b></p><p> 與MCS-51單片機產(chǎn)品兼容 、8K字節(jié)在系統(tǒng)可編程Flash存儲器、 1000次擦寫周期、 全靜態(tài)操作:0Hz~
25、33Hz 、 三級加密程序存儲器 、 32個可編程I/O口線 、三個16位定時器/計數(shù)器 八個中斷源 、全雙工UART串行通道、 低功耗空閑和掉電模式 、掉電后中斷可喚醒 、看門狗定時器 、雙數(shù)據(jù)指針 、掉電標識符 。</p><p><b> 功能特性描述: </b></p><p> STC89S52 是一種低功耗、高性能CMOS8位微控制器,具有 8K 在系
26、統(tǒng)可編程Flash 存儲器。使用Atmel 公司高密度非 易失性存儲器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完 全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于 常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng) 可編程Flash,使得STC89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提 供高靈活、超有效的解決方案。 STC89S52具有以下標準功能: 8k字節(jié)Flash,256字節(jié)RAM, 32 位I/O 口線,看門狗定時器,
27、2 個數(shù)據(jù)指針,三個16 位 定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口, 片內(nèi)晶振及時鐘電路。另外,STC89S52 可降至0Hz 靜態(tài)邏 輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工 作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié), 單片機一切工作停止,直到下一個中斷或硬件復(fù)位為止。8 位微控制器 8K 字節(jié)在系統(tǒng)可編程 Flash STC89S52 &
28、lt;/p><p> P0 口:P0口是一個8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動8個TTL邏輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入。當訪問外部程序和數(shù)據(jù)存儲器時,P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下, P0具有內(nèi)部上拉電阻。在flash編程時,P0口也用來接收指令字節(jié);在程序校驗時,輸出指令字節(jié)。程序校驗時,需要外部上拉電阻。 </p><p> P1
29、口:P1 口是一個具有內(nèi)部上拉電阻的8 位雙向I/O 口,p1 輸出緩沖器能驅(qū)動4 個 TTL 邏輯電平。對P1 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。此外,P1.0和P1.2分別作定時器/計數(shù)器2的外部計數(shù)輸入(P1.0/T2)和時器/計數(shù)器2 的觸發(fā)輸入(P1.1/T2EX)。在flash編程和校驗時,P1口接收低8位地址字節(jié)。 &l
30、t;/p><p><b> 引腳號第二功能 :</b></p><p> P1.0 T2(定時器/計數(shù)器T2的外部計數(shù)輸入),時鐘輸出 </p><p> P1.1 T2EX(定時器/計數(shù)器T2的捕捉/重載觸發(fā)信號和方向控制) </p><p> P1.5 MOSI(在系統(tǒng)編程用) </p><p
31、> P1.6 MISO(在系統(tǒng)編程用) </p><p> P1.7 SCK(在系統(tǒng)編程用) </p><p> P2 口:P2 口是一個具有內(nèi)部上拉電阻的8 位雙向I/O 口,P2 輸出緩沖器能驅(qū)動4 個 TTL 邏輯電平。對P2 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。在訪問外
32、部程序存儲器或用16位地址讀取外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX @DPTR)時,P2 口送出高八位地址。在這種應(yīng)用中,P2 口使用很強的內(nèi)部上拉發(fā)送1。在使用8位地址(如MOVX @RI)訪問外部數(shù)據(jù)存儲器時,P2口輸出P2鎖存器的內(nèi)容。 </p><p> 在flash編程和校驗時,P2口也接收高8位地址字節(jié)和一些控制信號。 </p><p> P3 口:P3 口是一個具有內(nèi)部上拉電
33、阻的8 位雙向I/O 口,p2 輸出緩沖器能驅(qū)動4 個TTL 邏輯電平。對P3 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。 </p><p> P3口亦作為STC89S52特殊功能(第二功能)使用: </p><p> 在flash編程和校驗時,P3口也接收一些控制信號。 </p>
34、;<p><b> 端口引腳第二功能:</b></p><p> P3.0 RXD(串行輸入口)</p><p> P3.1 TXD(串行輸出口)</p><p> P3.2 INTO(外中斷0)</p><p> P3.3 INT1(外中斷1)</p><p>
35、 P3.4 TO(定時/計數(shù)器0)</p><p> P3.5 T1(定時/計數(shù)器1)</p><p> P3.6 WR(外部數(shù)據(jù)存儲器寫選通)</p><p> P3.7 RD(外部數(shù)據(jù)存儲器讀選通)</p><p> 此外,P3口還接收一些用于FLASH閃存編程和程序校驗的控制信號。</p><p>
36、; RST——復(fù)位輸入。當振蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高電平將是單片機復(fù)位。</p><p> ALE/PROG——當訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時鐘振蕩頻率的1/6輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當訪問外部數(shù)據(jù)存儲器時將跳過一個ALE脈沖。</p><
37、p> 對FLASH存儲器編程期間,該引腳還用于輸入編程脈沖(PROG)。</p><p> 如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活。此外,該引腳會被微弱拉高,單片機執(zhí)行外部程序時,應(yīng)設(shè)置ALE禁止位無效。</p><p> PSEN——程序儲存允許(PSEN)輸出是外部
38、程序存儲器的讀選通信號,當AT89C52由外部程序存儲器取指令(或數(shù)據(jù))時,每個機器周期兩次PSEN有效,即輸出兩個脈沖,在此期間,當訪問外部數(shù)據(jù)存儲器,將跳過兩次PSEN信號。</p><p> EA/VPP——外部訪問允許,欲使CPU僅訪問外部程序存儲器(地址為0000H-FFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時內(nèi)部會鎖存EA端狀態(tài)。</p>&l
39、t;p> 如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲器的指令。</p><p> FLASH存儲器編程時,該引腳加上+12V的編程允許電源Vpp,當然這必須是該器件是使用12V編程電壓Vpp。</p><p> 2.2 SN46056兩位共陰數(shù)碼管</p><p><b> 2.2.1 概述 </b></p&g
40、t;<p> (1) SN46056兩位共陰數(shù)碼管是標準的兩位共陰數(shù)碼管,可與CPU直接接口,具有8位標準數(shù)據(jù)總線、位選兩位,接低電平時選中該數(shù)碼管,8位段選接高電平時驅(qū)動數(shù)碼管顯示。</p><p> (2) 外觀尺寸:113×65×11mm(SN46056-1), </p><p> 93×70×10mm(SN46056-2)
41、 78×70×10mm(SN46056-3), </p><p> (3) LED顯示器是由發(fā)光二極管顯示字段的顯示器件,也可稱為數(shù)碼管,它由8個發(fā)光二極管構(gòu)成,通過不同的組合可顯示0到9,A到F及其小數(shù)點“.”等字符。其結(jié)構(gòu)圖如圖3-11。</p><p> 圖3-11 LED結(jié)構(gòu)圖</p><p> 數(shù)碼管通常有共陰極和共陽極兩種接法
42、。共陰極數(shù)碼管的發(fā)光二極管陰極必須接低電平,當某發(fā)光二極管的陽極為高電平(一般為+5V)時,此二極管點亮;共陽極數(shù)碼管的發(fā)光二極管是陽極接到高電平,對于需點亮的發(fā)光二極管使其陰極接低電平(一般為地)即可。顯然,要顯示某字形就應(yīng)使此字形的相應(yīng)字形點亮,實際就是送一個用不同電平組合代表的數(shù)據(jù)至數(shù)碼管。一般共陽極數(shù)碼管必須外接電阻,而共陰極不一定外接電阻。LED顯示器有靜態(tài)顯示和動態(tài)顯示兩種方式。在靜態(tài)顯示方式中,每個比D發(fā)光二極管工作電流在
43、10 mA一20 mA;而在動態(tài)顯示方式中,為了獲得良好的亮度,LED發(fā)光二極管瞬時工作電流可以適當提高,一般取20mA一25mA。LED靜態(tài)顯示接口電路由筆段代碼鎖存器、筆段譯碼器(由軟件譯碼的LED靜態(tài)顯示驅(qū)動電路不需要譯碼器)等部分組成,在靜態(tài)顯示方式中,顯示驅(qū)動程序簡單,且CPU占用率低,但每一個LED數(shù)碼管需要一個鎖存器,以便鎖存每一位的筆段代碼,硬件開銷大(元件數(shù)目多,印制板面積也會隨之增加),僅適用于顯示位數(shù)較少(4位以下
44、)的場合。當需要顯示的位數(shù)在4—12時,多采用按位掃描硬件譯碼的動態(tài)顯示方式或按位掃描</p><p> 2.2.2 接口說明 </p><p> (1) SN46056接口說明,如表2-1所示。</p><p> 表2-1 SN46056接口說明表</p><p> (2) 12864-3A接口說明,如表2-2所示。</p&
45、gt;<p> 表2-2 12864的接口說明</p><p> 2.2.3 指令描述 </p><p><b> 共陰數(shù)碼管段選碼表</b></p><p> 2.3 HCF4511B的說明</p><p> CD4511是一個用于驅(qū)動共陰極 LED (數(shù)碼管)顯示器的 BCD 碼—七段碼譯碼器
46、,特點如下:</p><p> 具有BCD轉(zhuǎn)換、消隱和鎖存控制、七段譯碼及驅(qū)動功能的CMOS電路能提供較大的拉電流??芍苯域?qū)動LED顯示器。</p><p> HCF4511B引腳圖:</p><p><b> 其功能介紹如下: </b></p><p> BI:4腳是消隱輸入控制端,當BI=0 時,不管其它輸入
47、端狀態(tài)如何,七段數(shù)碼管均處于熄滅(消隱)狀態(tài),不顯示數(shù)字。</p><p> LT:3腳是測試輸入端,當BI=1,LT=0 時,譯碼輸出全為1,不管輸入 DCBA 狀態(tài)如何,七段均發(fā)亮,顯示“8”。它主要用來檢測數(shù)碼管是否損壞。 </p><p> LE:鎖定控制端,當LE=0時,允許譯碼輸出。 LE=1時譯碼器是鎖定保持狀態(tài),譯碼器輸出被保持在LE=0時的數(shù)值。</p>
48、<p> A、B、C、D為8421BCD碼輸入端。 </p><p> a、b、c、d、e、f、g:為譯碼輸出端,輸出為高電平1有效。</p><p> CD4511的內(nèi)部有上拉電阻,在輸入端與數(shù)碼管筆段端接上限流電阻就可工作,其輸出電流大致在500mA左右。</p><p><b> 邏輯功能見表:</b></p&g
49、t;<p> 選用共陰極數(shù)碼管,對于 CD4511 ,它與數(shù)碼管的基本連接方式如下圖</p><p> 在本設(shè)計中,采用單片機的P1口作為BCD碼輸入端,P3口作為位選選通輸入端控制數(shù)碼管顯示,</p><p> 其中P1.0~P1.3控制HCF4511芯片的BCD碼輸入端,P3.0~P3.5控制各數(shù)碼管顯示。且直接將芯片的LT、BI引腳置低,LE=1拉高,譯碼器是鎖定
50、保持狀態(tài)。</p><p> 具體連接如下圖:(電源與地未標出)</p><p><b> 3 硬件設(shè)計</b></p><p> 3.1硬件主要組成部分</p><p> 設(shè)計原理圖,如圖3-1所示。</p><p> 圖3-1 設(shè)計原理圖</p><p>
51、本設(shè)計電路,硬件部分共由五個模塊組成:按鍵模塊、復(fù)位電路模塊、晶振電路模塊、發(fā)聲指示模塊、時間顯示模塊。晶振電路模塊負責(zé)給單片機提供時鐘周期。復(fù)位單路模塊負責(zé)上電后自動復(fù)位,或按鍵后強制復(fù)位。上電后,由單片機內(nèi)部定時器計時,同時通過動態(tài)顯示函數(shù)自動將時分秒顯示到數(shù)碼管上。與此同時,按鍵掃描函數(shù),一直掃描按鍵引腳狀態(tài),一旦掃描到按鍵被按下,即進入相應(yīng)的功能函數(shù)。如果檢測到定時時間到,則驅(qū)動蜂鳴器發(fā)聲提示。</p><p
52、><b> 3.2硬件電路說明</b></p><p><b> 3.2.1按鍵模塊</b></p><p> 按鍵模塊如圖3-2-1所示。</p><p> 圖3-2-1 按鍵模塊</p><p> 在該模塊中,采用四個按鍵作為電子時鐘的控制輸入,通過按鍵來實現(xiàn)時鐘的時間設(shè)置、定
53、時、秒表功能。電路中將四個按鍵的一端接公共地,而單片機的P2口默認為高電平,一旦按鍵被按下,則該按鍵對應(yīng)的額管腳被拉低,通過軟件掃描按鍵即可知道用戶所要實現(xiàn)的功能,調(diào)用相應(yīng)的按鍵子程序來完成該操作。按鍵的去抖動由軟件來實現(xiàn)。</p><p> 3.2.2單片機的復(fù)位電路</p><p> 單片機的復(fù)位電路,如圖3-2-3所示。</p><p> 圖3-2-2
54、單片機的復(fù)位電路</p><p> 當MCS-5l系列單片機的復(fù)位引腳RST(全稱RESET)出現(xiàn)2個機器周期以上的高電平時,單片機就執(zhí)行復(fù)位操作。如果RST持續(xù)為高電平,單片機就處于循環(huán)復(fù)位狀態(tài)。根據(jù)應(yīng)用的要求,復(fù)位操作通常有兩種基本形式:上電復(fù)位和上電或開關(guān)復(fù)位。上電復(fù)位要求接通電源后,自動實現(xiàn)復(fù)位操作。上電后,保持RST一段高電平時間。</p><p> 3.2.3單片機的晶振電
55、路</p><p> 單片機的晶振電路,如圖3-2-4所示。</p><p> 圖3-2-3 單片機的晶振電路</p><p> 石英晶體也連接在晶振引腳的輸入和輸出之間,等效為一個并聯(lián)諧振回路,振蕩頻率應(yīng)該是石英晶體的并聯(lián)諧振頻率。晶體旁邊的兩個電容接地,實際上就是電容三點式電路的分壓電容, 接地點就是分壓點。以接地點即分壓點為參考點,振蕩引腳的輸入和輸出
56、是反相的,但從并聯(lián)諧振回路即石英晶體兩端來看, 形成一個正反饋以保證電路持續(xù)振蕩。</p><p> 3.2.4發(fā)聲指示模塊</p><p> 發(fā)聲指示模塊,如圖3-2-5所示。</p><p> 圖3-2-4 發(fā)聲指示模塊</p><p> 發(fā)聲指示模塊分為發(fā)聲部分,指示部分兩部分。發(fā)聲部分由電源,380歐限流電阻R1,LED發(fā)光
57、二極管三部分組成。正常情況下,Led引腳(P2_0)為高電平,LED兩端沒有電壓差,不發(fā)光,一旦按鍵按下,或定時時間到,Led引腳(P2_0)被拉低,LED被點亮。發(fā)生部分由蜂鳴器、電源、9018三極管、限流電阻組成。蜂鳴器由PNP三極管驅(qū)動,當BZ管腳(P2_1)為高時,三極管be級沒電壓差,三極管截止;反之,三極管導(dǎo)通,有電流流經(jīng)蜂鳴器,蜂鳴器發(fā)聲。</p><p> 3.2.5時間顯示模塊</p&g
58、t;<p> 時間顯示模塊如圖3-2-6所示。</p><p> 圖3-2-5 液晶顯示電路</p><p> 時間顯示部分的電路也很簡單,由三個兩位的共陰8段數(shù)碼管、四盞Led燈,加上一個4511譯碼驅(qū)動電路組成。在顯示過程中,單片機將要顯示的數(shù)字傳遞給4511芯片,同時通過位選選通要顯示的數(shù)碼管。4511芯片實現(xiàn)將BCD碼數(shù)字轉(zhuǎn)換為七段數(shù)碼管段選碼通過其輸出端輸出
59、,同時提供約500mA的電流驅(qū)動數(shù)碼管點亮。</p><p> 圖3-2-6 數(shù)碼管譯碼驅(qū)動驅(qū)動電路</p><p><b> 4 軟件設(shè)計</b></p><p><b> 4.1 程序流程圖</b></p><p> 主程序流程圖,如圖4-1所示。</p><p&
60、gt; 圖4-1 主程序流程圖</p><p> 按鍵功能子程序流程圖,如圖4-2所示。</p><p> 圖4-2 按鍵功能子程序流程圖</p><p><b> 4.2 軟件的仿真</b></p><p><b> 軟件測試步驟如下:</b></p><p>
61、; ?。?)打開Proteus軟件。</p><p> ?。?)選擇file菜單下的 open design..選項,找到所需的元器件,按照電路圖連接后并保存。</p><p> (3)將用KEIL編譯過的HEX格式程序,下載到單片機中:</p><p> 右擊51單片機再左擊,再彈出的對話框中,選擇program file文本框或單擊文件圖標,瀏覽找到所編譯的
62、程序。單擊確定。</p><p> (4)單擊左下角運行按鈕,進行軟件仿真、調(diào)試,直到出現(xiàn)正確的結(jié)果。</p><p><b> 5系統(tǒng)調(diào)試</b></p><p><b> 5.1硬件調(diào)試</b></p><p> 5.1.1排除元器件失效 </p><p> 造
63、成這類錯誤的原因有兩個:一個是元器件買來時就已壞了;另一個是由于安裝錯誤,造成器件燒壞??梢圆扇z查元器件與設(shè)計要求的型號、規(guī)格和安裝是否一致。在保證安裝無誤后,用替換方法排除錯誤。</p><p> 5.1.2排除電源故障 </p><p> 在通電前,一定要檢查電源電壓的幅值和極性,否則很容易造成集成塊損壞。加電后檢查各插件上引腳的電位,一般先檢查
64、VCC與GND之間電位,若在5V~4.8V之間屬正常。若有高壓,聯(lián)機仿真器調(diào)試時,將會損壞仿真器等,有時會使應(yīng)用系統(tǒng)中的集成塊發(fā)熱損壞。</p><p> 5.1.3 聯(lián)機仿真調(diào)試</p><p> 聯(lián)機仿真必須借助仿真開發(fā)裝置、示波器、萬用表等工具。這些工具是單片機開發(fā)的最基本工具。信號線是聯(lián)絡(luò)8031和外部器件的紐帶,如果信號線連結(jié)錯誤或時序不對,那么都會造成對外圍電路讀寫錯誤。5
65、1系列單片機的信號線大體分為讀、寫信號線、片選信號線、時鐘信號線、外部程序存貯器讀選通信號(PSEN)、地址鎖存信號(ALE)、復(fù)位信號等幾大類。這些信號大多屬于脈沖信號,對于脈沖信號借助示波器(這里指通用示波器)用常規(guī)方法很難觀測到,必須采取一定措施才能觀測到。應(yīng)該利用軟件編程的方法來實現(xiàn)。例如對片選信號,運行下面的小程序就可以檢測出譯碼片選信號是否正常。</p><p><b> 5.2軟件調(diào)試&
66、lt;/b></p><p> 本設(shè)計的軟件編譯是在Keil uVision3上進行的,此軟件可以生成HEX文件用于下載到單片機上工作。生成HEX文件后可以在PROTUES上進行仿真調(diào)試。如圖5-1至5-4為仿真截圖。(以下均為將掃描顯示間隔在50Ms下的截圖,實際下載到單片機的程序延時為5MS)</p><p> 圖5-1 仿真截圖一</p><p>
67、 圖5-2 仿真截圖二</p><p> 圖5-3 仿真截圖三</p><p> 圖5-4 仿真截圖四</p><p> 備注:由于在用Proteus作仿真的時候,軟件并不能完全符合實物的物理特性,所以在本設(shè)計的仿真方面,尤其是動態(tài)掃描方面,效果并不很成功,主要是動態(tài)掃描時,數(shù)碼管出現(xiàn)不能完全點亮,導(dǎo)致只有一部分段選顯示。經(jīng)過調(diào)查了解到,這是由于在Pr
68、oteus仿真時,軟件中,數(shù)碼管只有點亮和不亮兩種狀態(tài),而實際做動態(tài)掃描時,數(shù)碼管是處于亮與不亮之間,通過二極管的余暉及人眼的視覺延遲來實現(xiàn)的,所以在軟件仿真時并不能完美的展示時鐘時間。不過,通過放慢掃描顯示的頻率,可以看到略顯閃爍的結(jié)果,證明軟硬件的仿真成功。</p><p><b> 總 結(jié)</b></p><p> 通過做這次畢業(yè)設(shè)計,我學(xué)到了很多東西,首
69、先是對Proteus及Keil等軟件的運用,并對數(shù)碼管動態(tài)顯示方面的知識有了更多的理解,在以前我只是對這些軟件有個大概的了解,但通過這次實踐,是我對這些軟件有了更深刻的了解,在以后的學(xué)習(xí)及工作中將會起到很大的作用,這次我將自己所學(xué)的知識運用到了實踐當中,使得理論有了實踐的指導(dǎo)。</p><p> 但是由于我以前沒有實際做過按鍵掃描控制數(shù)碼管動態(tài)掃描這方面的內(nèi)容,所以在有些內(nèi)容的準備上還有很多不足之處,我希望自己
70、通過這次設(shè)計可以有很大的提高,從這次實踐中學(xué)到一些經(jīng)驗,并在以后的工作中有實踐的指導(dǎo)。在硬件調(diào)試方面我也學(xué)到了很多東西,對電路的檢查有了很多的經(jīng)驗,在軟件編譯方面是我有了很好的編譯習(xí)慣,并掌握了一些軟件編譯技巧。</p><p> 在論文的編寫方面,讓我有了很好的文字表達能力及理論到實踐的應(yīng)用能力,并對簡單的文字編譯有了更熟練的掌握。</p><p> 總之,這次畢業(yè)設(shè)計使我受益匪淺,
71、經(jīng)過認真的制作,使我對本科階段的學(xué)習(xí)有了圓滿的總結(jié)。</p><p><b> 致 謝</b></p><p> 這次的畢業(yè)設(shè)計我很感謝導(dǎo)師xx老師對我的細心指導(dǎo),平常老師們的工作也很忙,但他們總能在百忙之中抽出時間給我指導(dǎo),讓我可以順利的完成畢業(yè)設(shè)計,因為以前我對用單片機實現(xiàn)多功能電子時鐘方面的知識不很熟悉,所以剛開始接到題目時有些茫然,后來經(jīng)過老師的指導(dǎo),讓
72、我對這方面的只是有了一定的了解,同時我還很感謝我的同學(xué),在做設(shè)計的過程中,有很多同學(xué)給了我很大的幫助,這些幫助使我在學(xué)習(xí)的過程中深刻的體會到了老師與同學(xué)的關(guān)心,我在此非常的感謝他們。</p><p><b> 參考文獻</b></p><p> [1] 張毅剛. 單片機原理及應(yīng)用[M]. 北京:高等教育出版社,2003年,第一版,P34。</p>&
73、lt;p> [2] 張毅剛. MCS-51單片機應(yīng)用設(shè)計[M]. 哈爾濱:哈爾濱工業(yè)大學(xué)出版社,1997年,第二版,P69。</p><p> [3] 徐君毅等. 單片微型計算機原理及應(yīng)用[M]. 上海:上??茖W(xué)技術(shù)出版社,1988年,第一版,P44。</p><p> [4] 何立民. MCS-51單片機應(yīng)用系統(tǒng)設(shè)計[M]. 北京:北京航空航天大學(xué)出版社,1991年,第一版,
74、P30。</p><p> [5] 李華. MCS-51 系列單片機使用接口技術(shù)[M]. 北京:北京航空航天大學(xué)出版社,1993年,第一版,P80。</p><p> [6] 王毅. 單片機器件應(yīng)用手冊[M]. 北京:人民郵電出版社,1995年,第一版,P55。</p><p> [7] 李廣弟. 單片機基礎(chǔ)[M]. 北京:北京航空航天大學(xué)出版社,2001年,
75、第一版,P38。</p><p> [8] 李全利.單片機原理及應(yīng)用技術(shù)[M].北京:高等教育出版社,2004年,第一版,P68。</p><p> [9] 張洪潤,蘭清華. 單片機應(yīng)用技術(shù)教程[M],北京:清華大學(xué)出版社,1997年,第一版,P32。</p><p> [10] 張敏銳,張紅. 通信與電子科技信息英語[M], 北京:北京郵電大學(xué)出版社,200
76、4年,第一版,P88。</p><p><b> 附錄一 源程序</b></p><p> // 電子時鐘設(shè)計</p><p> //-------------------------------------------------------------</p><p> #include<AT8
77、9X51.H></p><p> #define uchar unsigned char</p><p> #define uint unsigned int</p><p> #define SPK P2_1</p><p> #define K1 P2_2</p><p> #define K2
78、P2_3</p><p> #define K3 P2_4</p><p> #define K4 P2_5</p><p> #define LED P2_0</p><p> #define FLAG P0_0</p><p> void keyscan();</p><p>
79、void K1function();</p><p> void K2function();</p><p> void K3function();</p><p> void K4function();</p><p> char DATA_7SEG[10]={0xc0,0xf9,0xa4,0xb0,0x99,</p>
80、<p> 0x92,0x82,0xf8,0x80,0x90};</p><p> uchar hour=16,min=18,sec=0;</p><p> uchar AH=0,AM=0,ON=0;</p><p> uint counter;</p><p> uchar Msec=0,Asec=0;</p>
81、;<p> uchar deda=0;</p><p> void delay(uint k);</p><p> void disp(uchar H,uchar M,uchar S);</p><p> //------------定時中斷模塊-------------------------------------</p>&
82、lt;p> void init_timer()</p><p><b> {</b></p><p> TMOD=0X01;</p><p> TH0=((65535-5000)/256);</p><p> TL0=((65535-5000)%256);</p><p><
83、b> IE=0X82;</b></p><p><b> TR0=1;</b></p><p><b> }</b></p><p> //-------------------------------------------------------------</p><p&
84、gt; void T0_srv(void) interrupt 1</p><p><b> {</b></p><p> TH0=((65535-5000)/256);</p><p> TL0=((65535-5000)%256);</p><p><b> deda++;</b>&l
85、t;/p><p> counter++;</p><p> if(deda>=200){sec++;deda=0;}</p><p> if(sec==60){min++;sec=0;}</p><p> if(min==60){hour++;min=0;}</p><p> if(hour==24){ho
86、ur=0;}</p><p><b> }</b></p><p> void disp(uchar H,uchar M,uchar S)</p><p><b> {</b></p><p> P1=H/10;P3=0xDf;delay(5);</p><p>
87、P1=H%10;P3=0xEf;delay(5);</p><p> P1=M/10;P3=0xf7;delay(5);</p><p> P1=M%10;P3=0xfB;delay(5);</p><p> P1=S/10;P3=0xfD;delay(5);</p><p> P1=S%10;P3=0xfE;delay(5)
88、 ;</p><p><b> }</b></p><p> //---------------------延時模塊-----------------------------------</p><p> void delay(uint ms)</p><p><b> {</b></
89、p><p><b> uchar i;</b></p><p> while(ms--)</p><p><b> {</b></p><p> for(i=0;i<120;i++);</p><p><b> }</b></p>
90、<p><b> }</b></p><p> //-----------------------------LED閃爍------------------------------</p><p> void ledsd()</p><p><b> {</b></p><p>
91、;<b> LED=0;</b></p><p> delay(500);</p><p><b> LED=1;</b></p><p><b> }</b></p><p> //------------------------------蜂鳴器鳴響模塊-----
92、----------------</p><p> void BZ(uint k)</p><p><b> {</b></p><p><b> uint i;</b></p><p> while(k--)</p><p><b> {</b&g
93、t;</p><p> for(i=0;i<1000;i++)</p><p><b> {</b></p><p><b> SPK=~SPK;</b></p><p> disp(hour,min,sec);</p><p><b> }<
94、/b></p><p><b> }</b></p><p><b> }</b></p><p> //------------------按鍵掃描函數(shù)-----------------------------------</p><p> void keyscan()</p&
95、gt;<p><b> {</b></p><p><b> if(K1==0)</b></p><p> {while(!K1);ledsd();K1function();}</p><p><b> if(K2==0)</b></p><p> {w
96、hile(!K2);ledsd();K2function();}</p><p><b> if(K3==0)</b></p><p> {while(!K3);ledsd();K3function();}</p><p><b> if(K4==0)</b></p><p> {while
97、(!K4);ledsd();K4function();}</p><p><b> }</b></p><p> //---------------------按鍵功能函數(shù)--------------------------------</p><p> void K1function()</p><p><
98、b> {</b></p><p><b> TR0=0;</b></p><p><b> do</b></p><p><b> {</b></p><p><b> if(K2==0)</b></p><
99、p> {while(!K2);hour++;hour%=24;disp(hour,min,sec);}</p><p><b> if(K3==0)</b></p><p> {while(!K3);min++;min%=60;disp(hour,min,sec);}</p><p> disp(hour,min,sec);<
100、;/p><p> }while(K4!=0);</p><p><b> ledsd();</b></p><p><b> TR0=1;</b></p><p><b> }</b></p><p> void K2function()</
101、p><p><b> {</b></p><p><b> do</b></p><p><b> {</b></p><p><b> if(K2==0)</b></p><p> {while(K2!=0);AH++;AH
102、%=24;disp(AH,AM,0);}</p><p><b> if(K3==0)</b></p><p> {while(K3!=0);AM++;AM%=60;disp(AH,AM,0);}</p><p> disp(AH,AM,0);</p><p> }while(K4!=0);</p>
103、<p><b> ledsd();</b></p><p><b> BZ(3);</b></p><p><b> }</b></p><p> //-----------------------對時檢查函數(shù)------------------</p><p&
104、gt; void check()</p><p><b> {</b></p><p> if(AH==hour)</p><p><b> {</b></p><p> if(AM==min) BZ(30);</p><p><b> }</b&
105、gt;</p><p><b> }</b></p><p> //---------------------------秒表函數(shù)-----------------------</p><p> void K3function()</p><p><b> {</b></p>
106、<p> counter=0;</p><p><b> do</b></p><p><b> {</b></p><p><b> if(K3==0)</b></p><p><b> {</b></p><p&
107、gt; do{disp(Asec,Msec,0);}while(K3==0);</p><p> while(K2==1)</p><p><b> {</b></p><p> Msec=counter/2;</p><p> if(Msec>99) {Asec++;Msec=0;}</p>
108、<p> if(Asec>99) Asec=0;</p><p> disp(Asec,Msec,0);</p><p><b> }</b></p><p> do{disp(Asec,Msec,0);}while(K2==0);</p><p><b> }</b&g
109、t;</p><p><b> if(K2==0)</b></p><p><b> {</b></p><p> do{disp(Asec,Msec,0);}while(K2==0);</p><p><b> Asec=0;</b></p><p
110、><b> Msec=0;</b></p><p><b> }</b></p><p> disp(Asec,Msec,0);</p><p> }while(K4==1);</p><p><b> }</b></p><p> v
111、oid K4function()</p><p><b> {</b></p><p><b> ON=~ON;</b></p><p><b> if(ON)</b></p><p><b> BZ(3);</b></p><
112、p> else BZ(1);</p><p><b> }</b></p><p> //-------------------主函數(shù)-----------------------------------------</p><p> void main()</p><p><b> {<
113、/b></p><p><b> FLAG=0;</b></p><p> init_timer();</p><p><b> while(1)</b></p><p><b> {</b></p><p> keyscan();<
114、;/p><p> disp(hour,min,sec);</p><p> if(ON) check();</p><p><b> }</b></p><p><b> }</b></p><p> //--------------------------------
115、END--------------------------------</p><p><b> 附錄二 軟件仿真圖</b></p><p> 附錄三 英文文獻及翻譯</p><p><b> 英文文獻原文</b></p><p> Singlechip brief introduction
116、</p><p> The monolithic integrated circuit said that the monolithic micro controller, it is not completes some logical function the chip, but integrates a computer system to a chip on. Summary speaking: A c
117、hip has become a computer. Its volume is small, the quality is light, the price cheap, for the study, the application and the development has provided the convenient condition. At the same time, the study use monolithic
118、integrated circuit is understands the computer principle and the structure best cho</p><p> The monolithic integrated circuit interior also uses with the computer function similar module, for instance CPU,
119、memory, parallel main line, but also has with the hard disk behave identically the memory component, what is different is its these part performance is opposite our home-use computer weak many, but the price is also low,
120、 generally does not surpass 10 Yuan then ......Made some control electric appliance one kind with it is not the very complex work foot. We use now the completely auto</p><p> It is one kind of online -like
121、real-time control computer, online -like is the scene control, needs to have the strong antijamming ability, the low cost, this is also and the off-line type computer (for instance home use PC) main difference.</p>
122、<p> The monolithic integrated circuit is depending on the procedure, and may revise. Realizes the different function through the different procedure, particularly special unique some functions, this is other com
123、ponent needs to take the very big effort to be able to achieve, some are the flowered big strength is also very difficult to achieve. One is not the very complex function, if develops in the 50s with the US 74 series, or
124、 the 60s's CD4000 series these pure hardware do decides, the electric cir</p><p> Because the monolithic integrated circuit to the cost is sensitive, therefore present occupies the dominant status the s
125、oftware is the most preliminary assembly language, it was except the binary machine code above the most preliminary language, since why were such preliminary must use? Why high-level did the language already achieve the
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機多功能數(shù)字電子時鐘設(shè)計畢業(yè)設(shè)計論文
- 單片機畢業(yè)設(shè)計----基于單片機的多功能電子時鐘設(shè)計(含外文翻譯)
- 單片機畢業(yè)設(shè)計--基于單片機的電子時鐘
- 單片機課程設(shè)計---多功能電子時鐘設(shè)計
- 單片機課程設(shè)計--多功能電子時鐘
- 畢業(yè)設(shè)計--基于單片機的電子時鐘設(shè)計
- 基于單片機的多功能電子時鐘設(shè)計說明
- 基于單片機的多功能電子時鐘設(shè)計說明
- 畢業(yè)設(shè)計---基于單片機的電子時鐘設(shè)計
- 基于單片機的電子時鐘設(shè)計【畢業(yè)設(shè)計】
- 畢業(yè)設(shè)計--基于stc單片機的電子時鐘
- 畢業(yè)設(shè)計---基于單片機的多功能時鐘設(shè)計
- 畢業(yè)設(shè)計(論文)基于51單片機的電子時鐘設(shè)計
- 基于單片機控制的電子時鐘畢業(yè)設(shè)計論文
- 多功能電子時鐘畢業(yè)設(shè)計
- 電子畢業(yè)設(shè)計---多功能電子時鐘
- 畢業(yè)設(shè)計---用單片機實現(xiàn)電子時鐘
- 畢業(yè)設(shè)計---基于單片機的多功能lcd時鐘
- 基于單片機的電子時鐘設(shè)計
- 單片機電子時鐘畢業(yè)設(shè)計
評論
0/150
提交評論