基于單片機(jī)的電子時(shí)鐘畢業(yè)設(shè)計(jì)論文
《基于單片機(jī)的電子時(shí)鐘畢業(yè)設(shè)計(jì)論文》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于單片機(jī)的電子時(shí)鐘畢業(yè)設(shè)計(jì)論文(36頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、1基于單片機(jī)的電子時(shí)鐘基于單片機(jī)的電子時(shí)鐘畢畢 業(yè)業(yè) 設(shè)設(shè) 計(jì)計(jì) 開開 題題 報(bào)報(bào) 告告1本課題的研究意義(1)鞏固和提高學(xué)過的基礎(chǔ)理論和專業(yè)知識(shí);(2)提高運(yùn)用所學(xué)專業(yè)知識(shí)進(jìn)行獨(dú)立思考和綜合分析、解決實(shí)際問題的能力;(3)培養(yǎng)掌握正確的思維方法和利用軟件和硬件解決實(shí)際問題的基本技能;(4)增強(qiáng)對(duì)實(shí)際電路的認(rèn)識(shí),掌握分析處理方法,進(jìn)行調(diào)試、計(jì)算等基本技能的訓(xùn)練,使之具有一定程度的實(shí)際工作能力。(5)掌握科研、資料查詢的基本方法以及獲取新知識(shí)的能力。(6)促使我們學(xué)習(xí)和獲取新知識(shí),掌握自我學(xué)習(xí)的能力。(7)通過參與實(shí)際工作,使我們了解社會(huì)和工作,具備一定的實(shí)際工作能力(8)通過設(shè)計(jì)數(shù)字電子鐘,了
2、解電子鐘的工作原理和內(nèi)部構(gòu)造。2本課題的主要內(nèi)容1根據(jù)數(shù)字電子鐘課題任務(wù)制定合理、可行的工作計(jì)劃;2進(jìn)行必要的調(diào)研和資料搜集、文獻(xiàn)閱讀;3軟件設(shè)計(jì)要符合軟件工程規(guī)范,硬件設(shè)計(jì)符合原理表示、電路圖紙和工藝要求的各種規(guī)范;4制定系統(tǒng)的測(cè)試方法,并根據(jù)完整的測(cè)試數(shù)據(jù)對(duì)系統(tǒng)的性能指標(biāo)做出分析和評(píng)價(jià);5.實(shí)現(xiàn)數(shù)字電子鐘的顯示時(shí)間和時(shí)間校對(duì)的功能;6對(duì)課題成果進(jìn)行總結(jié),撰寫畢業(yè)設(shè)計(jì)說明書3本課題的重點(diǎn)和難點(diǎn)及預(yù)期目標(biāo) 本課題的重點(diǎn)是:設(shè)計(jì)出能顯示時(shí)間且能校對(duì)時(shí)間的一個(gè)電子鐘;本課題的難點(diǎn)是:熟練掌握 Proteus、ProtelSE99 及 keil c51 的應(yīng)用和能實(shí)現(xiàn)的功能;預(yù)期目標(biāo):實(shí)現(xiàn)時(shí)間顯示且
3、能校對(duì)時(shí)間的一塊電子時(shí)鐘。4設(shè)計(jì)提綱、進(jìn)度計(jì)劃1、了解機(jī)的基本機(jī)構(gòu);2、根據(jù)數(shù)字電子鐘課題任務(wù)制定合理、可行的工作計(jì)劃;3、根據(jù)課題任務(wù)書選擇合理的單片機(jī);4、根據(jù)課題任務(wù)書繪出合理的原理圖;5、根據(jù)課題任務(wù)書編寫正確的應(yīng)用程序;6、在應(yīng)用軟件中進(jìn)行仿真練習(xí);7、購買元器件進(jìn)行焊接;8、下載程序進(jìn)行調(diào)試;29、撰寫設(shè)計(jì)論文。 進(jìn)度計(jì)劃:第十一周:查閱資料,搜集所需信息;第十二、三周:根據(jù)數(shù)字電子鐘課題任務(wù)制定合理、可行的工作計(jì)劃;第十四、五周:根據(jù)所制定的任務(wù)書編寫電氣原理圖;第十六、七周:根據(jù)所制定的任務(wù)書編寫程序在 Proteus 中進(jìn)行仿真調(diào)試;第十八、九周:編寫畢業(yè)設(shè)計(jì)論文,裝訂成冊(cè);
4、第二十周:進(jìn)行畢業(yè)答辯;5、完成課題所需條件及落實(shí)措施1、資料:相關(guān)設(shè)備資料和圖紙資料已由指導(dǎo)教師提供,其他的參考資料通過圖書館和網(wǎng)絡(luò)查詢,可滿足完成任務(wù)設(shè)計(jì)需要;2、機(jī)、plc、Proteus、ProtelSE99、eil c51 及軟件運(yùn)行環(huán)境;3、時(shí)間和場(chǎng)地:由于要參加畢業(yè)實(shí)習(xí),學(xué)院提供了教為靈活教學(xué)進(jìn)度計(jì)劃、輔導(dǎo)時(shí)間及相應(yīng)的教室、實(shí)驗(yàn)室,可保證靈活有效地按進(jìn)度完成設(shè)計(jì)任務(wù)。指導(dǎo)教師意見:(對(duì)本課題的深度、廣度及工作量的意見)參考文獻(xiàn)、資料:1 代啟化.基于 Proteus 的電路設(shè)計(jì)與仿真J.現(xiàn)代電子技術(shù).2006,第 19 期.2 曹洪奎;馬瑩瑩 基于 Proteus 單片機(jī)系統(tǒng)設(shè)計(jì)
5、與仿真J. 遼寧工學(xué)院學(xué)報(bào)07 年 04 期3 侯玉寶 基于 Proteus 的 51 系列單片機(jī)設(shè)計(jì)與仿真M電子工業(yè)出版社,2008.27028834 蔡希彪,曹洪奎; 單片機(jī)電子時(shí)鐘系統(tǒng)的設(shè)計(jì)與仿真 J;中國科技信息; 2007 年 04 期5 方怡冰.單片機(jī)課程的教學(xué)與實(shí)驗(yàn)改革J.電氣電子教學(xué)學(xué)報(bào).2006,第 3期.6 劉文秀.單片機(jī)應(yīng)用系統(tǒng)仿真的研究J.現(xiàn)代電子技術(shù).2005, 第 286 期7 張友德.單片微型機(jī)原理、應(yīng)用與實(shí)驗(yàn)M.上海:復(fù)旦大學(xué)出版社,2003.225256.8 李光飛.單片機(jī)設(shè)計(jì)實(shí)例指導(dǎo)M.北京:北京航空航天大學(xué)出版社,2004.5,96100.9 胡漢才 單片
6、機(jī)原理及其接口技術(shù)M. 北京: 清華大學(xué)出版社 , 1996.89110.10 楊立民.單片機(jī)技術(shù)及應(yīng)用M.西安:西安電子科技大學(xué)出版社.1997.90120.【11】李軍.51 系列單片機(jī)高級(jí)實(shí)例開發(fā)指南 北京航空航天大學(xué)出版社 指導(dǎo)教師: 年 月 日 目錄第一章第一章 緒論緒論71.1 引言741.2 Proteus 軟件簡介8第二章第二章 單片機(jī)的相關(guān)知識(shí)單片機(jī)的相關(guān)知識(shí)82.1 單片機(jī)簡介82.2 單片機(jī)的發(fā)展史92.2.1 4 位單片機(jī)92.2.2 8 位單片機(jī)92.2.3 16 位單片機(jī)92.2.4 32 位單片機(jī)102.2.5 64 位單片機(jī)102.3 單片機(jī)的特點(diǎn)102.4 A
7、T89C51 單片機(jī)介紹112.4.1 主要特性112.4.2 管腳說明12第三章第三章 硬件電路設(shè)計(jì)硬件電路設(shè)計(jì)143.1 電子鐘系統(tǒng)硬件組成143.2 電子時(shí)鐘系統(tǒng)設(shè)計(jì)流程153.3 單片機(jī)的基本結(jié)構(gòu)153.4 單片機(jī)的選擇203.5Protel DXP 電路圖設(shè)計(jì)223.6 Proteus 電路圖設(shè)計(jì)23第四章軟件設(shè)計(jì)第四章軟件設(shè)計(jì)244.1 程序流程圖設(shè)計(jì)244.2 源程序設(shè)計(jì)294.3 KeilC51 進(jìn)行程序調(diào)試344.4 仿真與調(diào)試354.4.1 Proteus 中 Hex 文件選擇354.4.2 Proteus 進(jìn)行電子鐘系統(tǒng)仿真35結(jié)束語結(jié)束語36參考文獻(xiàn)參考文獻(xiàn)37致致 謝
8、謝385第一章第一章 緒論緒論1.1 引言引言近年來隨著計(jì)算機(jī)在社會(huì)領(lǐng)域的滲透和大規(guī)模集成電路的發(fā)展,單片機(jī)的應(yīng)用正在不斷地走向深入,由于它具有功能強(qiáng),體積小,功耗低,價(jià)格便宜,工作可靠,使用方便等特點(diǎn),因此越來越廣泛地應(yīng)用各個(gè)領(lǐng)域. 本文的電子鐘系統(tǒng)是以單片機(jī)(AT89C51)為核心,時(shí)鐘芯片 DS1302、數(shù)碼管顯示驅(qū)動(dòng)芯片 MAX7219 等元器件組成。具體介紹應(yīng)用 Proteus 的 ISIS 軟件進(jìn)行單片機(jī)系統(tǒng)的電子鐘設(shè)計(jì)與仿真的實(shí)現(xiàn)方法。該方法既能準(zhǔn)確驗(yàn)證所設(shè)計(jì)的系統(tǒng)是否滿足技術(shù)要求,又能提高系統(tǒng)設(shè)計(jì)的效率和質(zhì)量,降低開發(fā)成本,具有推廣價(jià)值。隨著半導(dǎo)體技術(shù)的飛速發(fā)展,以及移動(dòng)通信、
9、網(wǎng)絡(luò)技術(shù)、多媒體技術(shù)在嵌入式系統(tǒng)設(shè)計(jì)中的應(yīng)用,單片機(jī)從 4 位、8 位、16 位到 32 位,其發(fā)展歷程一直受到廣大電子愛好者的極大關(guān)注。單片機(jī)功能越來越強(qiáng)大,價(jià)格卻不斷下降的優(yōu)勢(shì)無疑成為嵌入式系統(tǒng)方案設(shè)計(jì)的首選,同時(shí)單片機(jī)應(yīng)用領(lǐng)域的擴(kuò)大也使得更多人加入到基于單片機(jī)系統(tǒng)的開發(fā)行列中,推動(dòng)著單片機(jī)技術(shù)的創(chuàng)新進(jìn)步。然而傳統(tǒng)的單片機(jī)系統(tǒng)開發(fā)除了需要購置諸如仿真器、編程器、示波器等價(jià)格不菲的電子設(shè)備外,開發(fā)過程也較繁瑣。來自英國 Labcenter Electronics 公司的 Proteus 軟件很好地詮釋了利用現(xiàn)代 EDA 工具方便快捷開發(fā)單片機(jī)系統(tǒng)的優(yōu)勢(shì)。它包括 PROTEUS VSM(Vir
10、tual System Modelling)、PROTEUS PCB DESIGN 兩大組成部分,在 PC 機(jī)上就能實(shí)現(xiàn)原理圖電路設(shè)計(jì)、電路分析與仿真、單片機(jī)代碼級(jí)調(diào)試與仿真、系統(tǒng)測(cè)試與功能驗(yàn)證以及形成 PCB 文件的完整嵌入式系統(tǒng)設(shè)計(jì)與研發(fā)過程。單片機(jī)系統(tǒng)作為一種典型的嵌入式系統(tǒng),其系統(tǒng)設(shè)計(jì)包括硬件電路設(shè)計(jì)和軟件編程設(shè)計(jì)兩個(gè)方面, 其調(diào)試過程一般分為軟件調(diào)試、硬件測(cè)試、系統(tǒng)調(diào)試 3 個(gè)過程。如果采用單片機(jī)系統(tǒng)的虛擬仿真軟件Proteus,則不用制作具體的電路板也能夠完成以上工作。61.2 Proteus 軟件簡介軟件簡介PROTEUS 軟件由 Labcenter 公司開發(fā),是目前世界上最先進(jìn)
11、、最完整的嵌入式系統(tǒng)設(shè)計(jì)與仿真平臺(tái),可以實(shí)現(xiàn)數(shù)字電路、模擬電路及微控制器系統(tǒng)與外設(shè)的混合電路系統(tǒng)的電路仿真、軟件仿真、系統(tǒng)協(xié)同仿真和 PCB 設(shè)計(jì)等功能,是目前唯一能夠?qū)Ω鞣N處理器進(jìn)行實(shí)時(shí)仿真、調(diào)試與測(cè)試的 EDA 工具。微控制器系統(tǒng)相關(guān)的仿真需建立編譯和調(diào)試環(huán)境,可選擇 Keil C51uVision2 軟件。該軟件支持眾多不同公司的芯片,集編輯、編譯和程序仿真等于一體,同時(shí)還支持PLM、匯編和 C 語言的程序設(shè)計(jì)。它的界面友好易學(xué),在調(diào)試程序、軟件仿真方面有很強(qiáng)大的功能。 其革命性的功能是:將電路仿真和微處理器仿真進(jìn)行協(xié)同,直接在基于原理圖的虛擬原型上進(jìn)行處理器編程調(diào)試,并進(jìn)行功能驗(yàn)證,通
12、過動(dòng)態(tài)器件如電機(jī)、LED、LCD、開關(guān)等,實(shí)時(shí)看到運(yùn)行后的輸入、輸出的效果,配合系統(tǒng)配置的虛擬儀器如示波器、邏輯分析儀等, Proteus 為我們建立了完備的電子設(shè)計(jì)開發(fā)環(huán)境。第二章第二章 單片機(jī)的相關(guān)知識(shí)單片機(jī)的相關(guān)知識(shí)2.1 單片機(jī)簡介單片機(jī)簡介單片微型計(jì)算機(jī)簡稱單片機(jī),是典型的嵌入式 微控制器(Microcontroller Unit),常用英文字母的縮寫 MCU 表示單片機(jī),它最早是被用在工業(yè)控制領(lǐng)域。單片機(jī)由 芯片內(nèi)僅有 CPU 的專用處理器發(fā)展而來。最早的設(shè)計(jì)理念是通過將大量外圍設(shè)備和 CPU 集成在一個(gè)芯片中,使 計(jì)算機(jī)系統(tǒng)更小,更容易集成進(jìn)復(fù)雜的而對(duì)體積要求嚴(yán)格的控制設(shè)備當(dāng)中。
13、 INTEL 的 Z80 是最早按照這種思想設(shè)計(jì)出的處理器,從此以后,單片機(jī)和專用處理器的發(fā)展便分道揚(yáng)鑣。72.2 單片機(jī)的發(fā)展史單片機(jī)的發(fā)展史2.2.1 4 位單片機(jī)位單片機(jī) 1975 年,美國德克薩斯儀器公司首次推出 4 位單片機(jī) TMS-1000;此后,各個(gè)計(jì)算機(jī)公司競(jìng)相推出四位單片機(jī)。日本松下公司的 MN1400 系列,美國洛克威爾公司的 PPS/1 系列等。四位單片機(jī)的主要應(yīng)用領(lǐng)域有:PC 機(jī)的輸入裝置,電池充電器,運(yùn)動(dòng)器材,帶液晶顯示的音/視頻產(chǎn)品控制器,一般家用電器的控制及遙控器,電子玩具,鐘表,計(jì)算器,多功能電話等。 2.2.2 8 位單片機(jī)位單片機(jī) 1972 年,美國 Int
14、el 公司首先推出 8 位微處理器 8008,并于 1976 年 9 月率先推出 MCS-48 系列單片機(jī)。在這以后,8 位單片機(jī)紛紛面市。例如,莫斯特克和仙童公司合作生產(chǎn)的 3870 系列,摩托羅拉公司生產(chǎn)的 6801 系列等。隨著集成電路工藝水平的提高,一些高性能的 8 位單片機(jī)相繼問世。例如,1978 年摩托羅拉公司的 MC6801 系列及齊洛格公司的 Z8 系列,1979 年 NEC 公司的UPD78XX 系列。這類單片機(jī)的尋址能力達(dá) 64KB,片內(nèi) ROM 容量達(dá) 4-8KB,片內(nèi)除帶有并行 IO 口外,還有串行 IO 口,甚至還有 AD 轉(zhuǎn)化器功能。8 位單片機(jī)由于功能強(qiáng),被廣泛用
15、于自動(dòng)化裝置、智能儀器儀表、智能接口、過程控制、通信、家用電器等各個(gè)領(lǐng)域。2.2.3 16 位單片機(jī)位單片機(jī) 1983 年以后,集成電路的集成度可達(dá)幾十萬只管/片,各系列 16 位單片機(jī)紛紛面市。這一階段的代表產(chǎn)品有 1983 年 Intel 公司推出的 MCS-96 系列,1987 年 Intel 推出了 80C96,美國國家半導(dǎo)體公司推出的 HPC16040,NEC 公司推出的 783XX 系列等。16 位單片機(jī)主要用于工業(yè)控制,智能儀器儀表,便攜式設(shè)備等場(chǎng)合。82.2.4 32 位單片機(jī)位單片機(jī) 隨著高新技術(shù)只智能機(jī)器人,光盤驅(qū)動(dòng)器,激光打印機(jī),圖像與數(shù)據(jù)實(shí)時(shí)處理,復(fù)雜實(shí)時(shí)控制,網(wǎng)絡(luò)服務(wù)
16、器等領(lǐng)域的應(yīng)用與發(fā)展,20 世紀(jì) 80 年代末推出了 32 位單片機(jī),如 Motorlora 公司的 MC683XX 系列,Intel 的 80960 系列,以及近年來流行的 ARM 系列單片機(jī)。32 位單片機(jī)是單片機(jī)的發(fā)展趨勢(shì),隨著技術(shù)的發(fā)展及開發(fā)成本和產(chǎn)品價(jià)格的下降,將會(huì)與 8 位單片機(jī)并駕齊驅(qū)。2.2.5 64 位單片機(jī)位單片機(jī) 近年來,64 位單片機(jī)在引擎控制,智能機(jī)器人,磁盤控制,語音圖像通信,算法密集的實(shí)時(shí)控制場(chǎng)合已有應(yīng)用,如英國 Inmos 公司的 Transputer T800 是高性能的 64 位單片機(jī)。2.3 單片機(jī)的特點(diǎn)單片機(jī)的特點(diǎn)1 . 單片機(jī)的存儲(chǔ)器 ROM 和 RA
17、M 時(shí)嚴(yán)格區(qū)分的。ROM 稱為程序存儲(chǔ)器,只存放程序,固定常數(shù),及數(shù)據(jù)表格。RAM 則為數(shù)據(jù)存儲(chǔ)器,用作工作區(qū)及存放用戶數(shù)據(jù)。 2 . 采用面向控制的指令系統(tǒng)。為滿足控制需要,單片機(jī)有更強(qiáng)的邏輯控制能力,特別是單片機(jī)具有很強(qiáng)的位處理能力。 3 . 單片機(jī)的 I/O 口通常時(shí)多功能的。由于單片機(jī)芯片上引腳數(shù)目有限,為了解決實(shí)際引腳數(shù)和需要的信號(hào)線的矛盾,采用了引腳功能復(fù)用的方法,引腳處于何種功能,可由指令來設(shè)置或由機(jī)器狀態(tài)來區(qū)分。 4 . 單片機(jī)的外部擴(kuò)展能力很強(qiáng)。在內(nèi)部的各種功能部件不能滿足應(yīng)用的需求時(shí),均可在外部進(jìn)行擴(kuò)展,與許多通用的微機(jī)接口芯片兼容,給應(yīng)用系統(tǒng)設(shè)計(jì)帶來了很大的方便。92.4
18、 AT89C51 單片機(jī)介紹單片機(jī)介紹AT89C51 是一種帶 4K 字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器( FPEROMFalsh Programmable and Erasable Read Only Memory)的低電壓,高性能 CMOS8 位微處理器,俗稱單片機(jī)。 AT89C2051 是一種帶 2K 字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器的單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除100 次。該器件采用 ATMEL 高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的 MCS-51 指令集和輸出管腳相兼容。由于將多功能8 位 CPU 和閃爍存儲(chǔ)器組合在單個(gè)芯片中, ATMEL 的 AT89C51 是一種
19、高效微控制器, AT89C2051是它的一種精簡版本。 AT89C 單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。AT89C51 單片機(jī)2.4.1 主要特性主要特性與 MCS-51 兼容 4K 字節(jié)可編程閃爍存儲(chǔ)器 壽命:1000 寫/擦循環(huán) 數(shù)據(jù)保留時(shí)間: 10 年 全靜態(tài)工作: 0Hz-24Hz 三級(jí)程序存儲(chǔ)器鎖定 128*810位內(nèi)部 RAM 32 可編程 I/O 線 兩個(gè) 16 位定時(shí)器/計(jì)數(shù)器 5 個(gè)中斷源 可編程串行通道 低功耗的閑置和掉電模式 片內(nèi)振蕩器和時(shí)鐘電路 2.4.2 管腳說明管腳說明V VC CC C:供電電壓。G GN ND D:接地。P P0 0 口口:
20、P0 口為一個(gè) 8 位漏級(jí)開路雙向 I/O 口,每腳可吸收 8TTL門電流。當(dāng) P1 口的管腳第一次寫 1 時(shí),被定義為高阻輸入。 P0 能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù) /地址的第八位。在 FIASH 編程時(shí),P0 口作為原碼輸入口,當(dāng) FIASH 進(jìn)行校驗(yàn)時(shí), P0 輸出原碼,此時(shí) P0外部必須被拉高。P P1 1 口口:P1 口是一個(gè)內(nèi)部提供上拉電阻的 8 位雙向 I/O 口,P1 口緩沖器能接收輸出 4TTL 門電流。P1 口管腳寫入 1 后,被內(nèi)部上拉為高,可用作輸入,P1 口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在 FLASH 編程和校驗(yàn)時(shí), P1
21、 口作為第八位地址接收。 P P2 2 口口:P2 口為一個(gè)內(nèi)部上拉電阻的 8 位雙向 I/O 口,P2 口緩沖器可接收,輸出 4 個(gè) TTL 門電流,當(dāng) P2 口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí), P2 口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。 P2 口當(dāng)用于外部程序存儲(chǔ)器或 16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí), P2 口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2 口輸出其特殊功能寄存器的內(nèi)容。 P2 口在 FLASH 編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。P P3 3 口口:P
22、3 口管腳是 8 個(gè)帶內(nèi)部上拉電阻的雙向 I/O 口,可接收輸出 4 個(gè) TTL 門電流。當(dāng) P3 口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平, P3 口將輸出電流( ILL)這是由于上拉的緣故。P3 口也可作為 AT89C51 的一些特殊功能口,如下表所示:11P3.0 RXD串行輸入口P3.1 TXD串行輸出口P3.2 /INT0外部中斷 0P3.3 /INT1外部中斷 1P3.4 T0記時(shí)器 0 外部輸入P3.6 /WR外部數(shù)據(jù)存儲(chǔ)器寫選通P3.7 /RD外部數(shù)據(jù)存儲(chǔ)器讀選通R RS ST T:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST 腳兩個(gè)機(jī)器
23、周期的高電平時(shí)間。A AL LE E/ /P PR RO OG G:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在 FLASH 編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE 端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè) ALE 脈沖。如想禁止 ALE 的輸出可在SFR8EH 地址上置 0。此時(shí), ALE 只有在執(zhí)行 MOVX,MOVC 指令是 ALE 才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE 禁止,置位無效。/ /P PS SE
24、EN N:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次 /PSEN 有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN 信號(hào)將不出現(xiàn)。/ /E EA A/ /V VP PP P:當(dāng)/EA 保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1 時(shí),/EA將內(nèi)部鎖定為 RESET;當(dāng)/EA 端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH 編程期間,此引腳也用于施加 12V 編程電源( VPP)。X XT TA AL L1 1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。X XT TA AL L2 2:來自反向振
25、蕩器的輸出。振振蕩蕩器器特特性性: :12XTAL1 和 XTAL2 分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2 應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。第三章第三章 硬件電路設(shè)計(jì)硬件電路設(shè)計(jì)3.1 電子鐘系統(tǒng)硬件組成電子鐘系統(tǒng)硬件組成電子鐘系統(tǒng)硬件主要由 AT89C51 單片機(jī)、時(shí)鐘芯片 DS1302、數(shù)碼管顯示驅(qū)動(dòng)芯片 MAX7219 等元器件組成。AT89C51 是一種帶 4K 字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器的低電壓,
26、高性能 CMOS8 位微處理器,俗稱單片機(jī)DS1302 是美國 DALLAS 公司推出的一種高性能、低功耗、帶RAM 的實(shí)時(shí)時(shí)鐘電路,它可以對(duì)年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí)。MAX7219 是 MAXIM 公司生產(chǎn)的串行輸入 /輸出共陰極數(shù)碼管顯示 驅(qū)動(dòng)芯片。單單片片機(jī)機(jī)晶晶振振電電路路單單片片機(jī)機(jī)復(fù)復(fù)位位電電路路AT89C51單單片片機(jī)機(jī)時(shí)時(shí)鐘鐘芯芯片片DS13028位位LED顯顯示示數(shù)數(shù)碼碼管管顯顯示示驅(qū)驅(qū)動(dòng)動(dòng)芯芯片片MAX7219按按鍵鍵電電路路蜂蜂鳴鳴器器電子鐘系統(tǒng)硬件電路組成框圖133.2 電子時(shí)鐘系統(tǒng)設(shè)計(jì)流程電子時(shí)鐘系統(tǒng)設(shè)計(jì)流程Protel DXP 與與 Proteus電電路
27、路設(shè)設(shè)計(jì)計(jì)源源程程序序設(shè)設(shè)計(jì)計(jì)生生成成目目標(biāo)標(biāo)代代碼碼基基于于Proteus仿仿真真。3.3 單片機(jī)的基本結(jié)構(gòu)單片機(jī)的基本結(jié)構(gòu)MCS-52 單片機(jī)內(nèi)部結(jié)構(gòu) 8052 單片機(jī)包含中央處理器、程序存儲(chǔ)器(ROM)、數(shù)據(jù)存儲(chǔ)器(RAM)、定時(shí)/計(jì)數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在我們分別加以說明:中央處理器: 中央處理器(CPU)是整個(gè)單片機(jī)的核心部件,是 8 位數(shù)據(jù)寬度的處理器,能處理 8 位二進(jìn)制數(shù)據(jù)或代碼,CPU 負(fù)責(zé)控制、指揮和調(diào)度整個(gè)單元系統(tǒng)協(xié)調(diào)的工作,完成運(yùn)算和控制輸入輸出功能等操作。14數(shù)據(jù)存儲(chǔ)器(RAM) 8052 內(nèi)部有 12
28、8 個(gè) 8 位用戶數(shù)據(jù)存儲(chǔ)單元和 128 個(gè)專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的 RAM 只有 128 個(gè),可存放讀寫的數(shù)據(jù),運(yùn)算的中間結(jié)果或用戶定義的字型表。圖 3-1 單片機(jī) 8052 的內(nèi)部結(jié)構(gòu)程序存儲(chǔ)器(ROM):8052 共有 4096 個(gè) 8 位掩膜 ROM,用于存放用戶程序,原始數(shù)據(jù)或表格。定時(shí)/計(jì)數(shù)器(ROM):8052 有兩個(gè) 16 位的可編程定時(shí)/計(jì)數(shù)器,以實(shí)現(xiàn)定時(shí)或計(jì)數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。并行輸入輸出(I/O)口:8052 共有 4 組 8 位 I/O 口(P0、 P1、P2
29、或 P3),用于對(duì)外部數(shù)據(jù)的傳輸。全雙工串行口:8052 內(nèi)置一個(gè)全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當(dāng)同步移位器使用。中斷系統(tǒng):8052 具備較完善的中斷功能,有兩個(gè)外中斷、兩個(gè)定時(shí)/計(jì)數(shù)器中斷和一個(gè)串行中斷,可滿足不同的控制要求,并具有 2 級(jí)的優(yōu)先級(jí)別選擇。時(shí)鐘電路:158052 內(nèi)置最高頻率達(dá) 12MHz 的時(shí)鐘電路,用于產(chǎn)生整個(gè)單片機(jī)運(yùn)行的脈沖時(shí)序,但 8052 單片機(jī)需外置振蕩電容。單片機(jī)的結(jié)構(gòu)有兩種類型,一種是程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開的形式,即哈佛(Harvard)結(jié)構(gòu),另一種是采用通用計(jì)算機(jī)廣泛使用的程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器
30、合二為一的結(jié)構(gòu),即普林斯頓(Princeton)結(jié)構(gòu)。INTEL 的 MCS-52 系列單片機(jī)采用的是哈佛結(jié)構(gòu)的形式,而后續(xù)產(chǎn)品 16 位的 MCS-96 系列單片機(jī)則采用普林斯頓結(jié)構(gòu)。下圖是 MCS-52 系列單片機(jī)的內(nèi)部結(jié)構(gòu)示意圖。圖 3-2 MCS-52 系列單片機(jī)的內(nèi)部結(jié)構(gòu)MCS-52 的引腳說明:MCS-52 系列單片機(jī)中的 8031、8051 及 8751 均采用 40Pin 封裝的雙列直接DIP 結(jié)構(gòu),右圖是它們的引腳配置,40 個(gè)引腳中,正電源和地線兩根,外置石英振蕩器的時(shí)鐘線兩根,4 組 8 位共 32 個(gè) I/O 口,中斷口線與 P3 口線復(fù)用?,F(xiàn)在我們對(duì)這些引腳的功能加以
31、說明:MCS-51 的引腳說明:MCS-52 系列單片機(jī)中的 8031、8051 及 8751 均采用 40Pin 封裝的雙列直接DIP 結(jié)構(gòu),右圖是它們的引腳配置,40 個(gè)引腳中,正電源和地線兩根,外置石16英振蕩器的時(shí)鐘線兩根,4 組 8 位共 32 個(gè) I/O 口,中斷口線與 P3 口線復(fù)用?,F(xiàn)在我們對(duì)這些引腳的功能加以說明: 單片機(jī)的引腳圖Pin9:RESET/Vpd復(fù)位信號(hào)復(fù)用腳,當(dāng) 8052 通電,時(shí)鐘電路開始工作,在RESET 引腳上出現(xiàn) 24 個(gè)時(shí)鐘周期以上的高電平,系統(tǒng)即初始復(fù)位。初始化后,程序計(jì)數(shù)器 PC 指向 0000H,P0-P3 輸出口全部為高電平,堆棧指針寫入 07
32、H,其它專用寄存器被清“0”。RESET 由高電平下降為低電平后,系統(tǒng)即從 0000H地址開始執(zhí)行程序。然而,初始復(fù)位不改變 RAM(包括工作寄存器 R0-R7)的狀態(tài),8052 的初始態(tài)。8051 的復(fù)位方式可以是自動(dòng)復(fù)位,也可以是手動(dòng)復(fù)位,見下圖 4。此外,RESET/Vpd還是一復(fù)用腳,Vcc掉電其間,此腳可接上備用電源,以保證單片機(jī)內(nèi)部 RAM 的數(shù)據(jù)不丟失。 17上電自動(dòng)和手動(dòng)復(fù)位電路圖 內(nèi)部和外部時(shí)鐘方式圖 Pin30:ALE/當(dāng)訪問外部程序器時(shí),ALE(地址鎖存)的輸出用于鎖存地址的低位字節(jié)。而訪問內(nèi)部程序存儲(chǔ)器時(shí),ALE 端將有一個(gè) 1/6 時(shí)鐘頻率的正脈沖信號(hào),這個(gè)信號(hào)可以用
33、于識(shí)別單片機(jī)是否工作,也可以當(dāng)作一個(gè)時(shí)鐘向外輸出。更有一個(gè)特點(diǎn),當(dāng)訪問外部程序存儲(chǔ)器,ALE 會(huì)跳過一個(gè)脈沖。 如果單片機(jī)是 EPROM,在編程其間,將用于輸入編程脈沖。Pin29:當(dāng)訪問外部程序存儲(chǔ)器時(shí),此腳輸出負(fù)脈沖選通信號(hào),PC 的 16位地址數(shù)據(jù)將出現(xiàn)在 P0 和 P2 口上,外部程序存儲(chǔ)器則把指令數(shù)據(jù)放到 P0 口上,由 CPU 讀入并執(zhí)行。18Pin31:EA/Vpp程序存儲(chǔ)器的內(nèi)外部選通線,8051 和 8751 單片機(jī),內(nèi)置有4kB 的程序存儲(chǔ)器,當(dāng) EA 為高電平并且程序地址小于 4kB 時(shí),讀取內(nèi)部程序存儲(chǔ)器指令數(shù)據(jù),而超過 4kB 地址則讀取外部指令數(shù)據(jù)。如 EA 為低電
34、平,則不管地址大小,一律讀取外部程序存儲(chǔ)器指令。顯然,對(duì)內(nèi)部無程序存儲(chǔ)器的8031,EA 端必須接地。3.4 單片機(jī)的選擇單片機(jī)的選擇單片機(jī)微型計(jì)算機(jī)是微型計(jì)算機(jī)的一個(gè)重要分支,也是頗具生命力的機(jī)種。單片機(jī)微型計(jì)算機(jī)簡稱單片機(jī),特別適用于控制領(lǐng)域,故又稱為微控制器。 通常,單片機(jī)由單塊集成電路芯片構(gòu)成,內(nèi)部包含有計(jì)算機(jī)的基本功能部件:中央處理器、存儲(chǔ)器和 I/O 接口電路等。因此,單片機(jī)只需要和適當(dāng)?shù)能浖巴獠吭O(shè)備相結(jié)合,便可成為一個(gè)單片機(jī)控制系統(tǒng)。 單片機(jī)經(jīng)過 1、2、3、3 代的發(fā)展,正朝著多功能、高性能、低電壓、低功耗、低價(jià)格、大存儲(chǔ)容量、強(qiáng) I/O 功能及較好的結(jié)構(gòu)兼容性方向發(fā)展。其發(fā)
35、展趨勢(shì)不外乎以下幾個(gè)方面:1、多功能 單片機(jī)中盡可能地把所需要的存儲(chǔ)器和 I/O 口都集成在一塊芯片上,使得單片機(jī)可以實(shí)現(xiàn)更多的功能。比如 A/D、PWM、PCA(可編程計(jì)數(shù)器陣列)、WDT(監(jiān)視定時(shí)器-看家狗)、高速 I/O 口及計(jì)數(shù)器的捕獲/比較邏輯等。 有的單片機(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 或 VFD 顯示驅(qū)動(dòng)器也開始集成在 8 位單片機(jī)中。2、高效率和高性能 為了提高執(zhí)行速度和執(zhí)行效率,單
36、片機(jī)開始使用 RISC、流水線和 DSP 的設(shè)計(jì)技術(shù),使單片機(jī)的性能有了明顯的提高,表現(xiàn)為:單片機(jī)的時(shí)鐘頻率得到提高;同樣頻率的單片機(jī)運(yùn)行效率也有了很大的提升;由于集成度的提高,單片機(jī)的尋址能力、片內(nèi) ROM(FLASH)和 RAM 的容量都突破了以往的數(shù)量和限制。19 由于系統(tǒng)資源和系統(tǒng)復(fù)雜程度的增加,開始使用高級(jí)語言(如 C 語言)來開發(fā)單片機(jī)的程序。使用高級(jí)語言可以降低開發(fā) 難度,縮短開發(fā)周期,增強(qiáng)軟件的可讀性和可移植性,便于改進(jìn)和擴(kuò)充功能。3、低電壓和低功耗 單片機(jī)的嵌入式應(yīng)用決定了低電壓和低功耗的特性十分重要。由于 CMOS 等工藝的大量采用,很多單片機(jī)可以在更低的電壓下工作(1.2
37、V 或 0.9V),功耗已經(jīng)降低到 uA 級(jí)。這些特性使得單片機(jī)系統(tǒng)可以在更小電源的支持下工作更長的時(shí)間。4、低價(jià)格 單片機(jī)應(yīng)用面廣,使用數(shù)量大,帶來的直接好處就是成本的降低。目前世界各大公司為了提高競(jìng)爭力,在提高單片機(jī)性能的同時(shí),十分注意降低其產(chǎn)品的價(jià)格。下面大致介紹一下單片機(jī)的主要應(yīng)用領(lǐng)域和特點(diǎn)。(1)家用電器領(lǐng)域 用單片機(jī)控制系統(tǒng)取代傳統(tǒng)的模擬和數(shù)字控制電路,使家用電器(如洗衣機(jī)、空調(diào)、冰箱、微波爐、和電視機(jī)等)功能更完善,更加智能化和易于使用。(2)辦公自動(dòng)化領(lǐng)域 單片機(jī)作為嵌入式系統(tǒng)廣泛應(yīng)用于現(xiàn)代辦公設(shè)備,如計(jì)算機(jī)的鍵盤、磁盤驅(qū)動(dòng)、打印機(jī)、復(fù)印機(jī)、電話機(jī)和傳真機(jī)等。(3)商業(yè)應(yīng)用領(lǐng)域
38、 商業(yè)應(yīng)用系統(tǒng)部分與家用和辦公應(yīng)用系統(tǒng)相似,但更加注重設(shè)備的穩(wěn)定性、可靠性和安全性。商用系統(tǒng)中廣泛使用的電子計(jì)量儀器、收款機(jī)、條形碼閱讀器、安全監(jiān)測(cè)系統(tǒng)、空氣調(diào)節(jié)系統(tǒng)和冷凍保鮮系統(tǒng)等,都采用了單片機(jī)構(gòu)成的專用系統(tǒng)。與通用計(jì)算機(jī)相比,這些系統(tǒng)由于比較封閉,可以更有效地防止病毒和電磁干擾等,可靠性更高。(4)工業(yè)自動(dòng)化 在工業(yè)控制和機(jī)電一體化控制系統(tǒng)中,除了采用工控計(jì)算機(jī)外,很多都是以單片機(jī)為核心的單片機(jī)和多機(jī)系統(tǒng)。20(5)智能儀表與集成智能傳感器 目前在各種電氣測(cè)量儀表中普遍采用了單片機(jī)應(yīng)用系統(tǒng)來代替?zhèn)鹘y(tǒng)的測(cè)量系統(tǒng),使得測(cè)量系統(tǒng)具有存儲(chǔ)、數(shù)據(jù)處理、查詢及聯(lián)網(wǎng)等智能功能。將單片機(jī)和傳感器相結(jié)合,
39、可以構(gòu)成新一代的智能傳感器。它將傳感器變換后的物理量作進(jìn)一步的變化和處理,使其成為數(shù)字信號(hào),可以遠(yuǎn)距離傳輸并與計(jì)算機(jī)接口。(6)現(xiàn)代交通與航空航天領(lǐng)域 通常應(yīng)用于電子綜合顯示系統(tǒng)、動(dòng)力監(jiān)控系統(tǒng)、自動(dòng)駕駛系統(tǒng)、通信系統(tǒng)以及運(yùn)行監(jiān)視系統(tǒng)等。這些領(lǐng)域?qū)w積、功耗、穩(wěn)定性和實(shí)時(shí)性的要求往往比商用系統(tǒng)還要高,因此采用單片機(jī)系統(tǒng)更加重要。目前,我國生產(chǎn)很多型號(hào)的單片機(jī),在此,我們采用型號(hào)為 STC89C52 的單片機(jī)。因?yàn)椋?STC89C52 是一個(gè)低電壓,高性能 CMOS 8 位單片機(jī),片內(nèi)含 4k bytes的可反復(fù)擦寫的 Flash 只讀程序存儲(chǔ)器和 128 bytes 的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM
40、) ,器件采用 ATMEL 公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-52 指令系統(tǒng),片內(nèi)置通用 8 位中央處理器和 Flash 存儲(chǔ)單元,內(nèi)置功能強(qiáng)大的微型計(jì)算機(jī)的 AT89C52 提供了高性價(jià)比的解決方案。 STC89C52 是一個(gè)低功耗高性能單片機(jī),40 個(gè)引腳,32 個(gè)外部雙向輸入/輸出(I/O)端口,同時(shí)內(nèi)含 2 個(gè)外中斷口,2 個(gè) 16 位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,STC89C51 可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。其將通用的微處理器和 Flash 存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫的 Flash存儲(chǔ)器可有效地降低開發(fā)成本3.5Protel DXP
41、電路圖設(shè)計(jì)電路圖設(shè)計(jì)21 Protel DXP 設(shè)計(jì)的電子鐘電路原理圖主要元器件功能介紹:AT89C51 是一種帶 4K 字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器的低電壓,高性能CMOS8 位微處理器,俗稱單片機(jī)。DS1302 是美國 DALLAS 公司推出的一種高性能、低功耗、帶 RAM 的實(shí)時(shí)時(shí)鐘電路,它可以對(duì)年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí)。具有調(diào)時(shí)功能。時(shí)鐘操作可通過 AMPM 指示決定采用 24 或 12 小時(shí)格式。MAX7219 是 MAXIM 公司生產(chǎn)的串行輸入/輸出共陰極數(shù)碼管顯示驅(qū)動(dòng)芯片。采用三線制串行接口技術(shù)進(jìn)行數(shù)據(jù)傳送,可直接與單片機(jī)連接,用戶能方便地修改內(nèi)部參數(shù)實(shí)現(xiàn)多位 LE
42、D 數(shù)碼管顯示。內(nèi)含有硬件動(dòng)態(tài)掃描顯示控制,每塊芯片可驅(qū)動(dòng) 8 個(gè) LED 數(shù)碼管。3.6 Proteus 電路圖設(shè)計(jì)電路圖設(shè)計(jì)運(yùn)行 Proteus 的 ISIS 后出現(xiàn)程序主窗口界面,鼠標(biāo)左鍵單擊窗口左側(cè)的元器件工具欄的 component.按鈕, 接著再點(diǎn)擊窗口左側(cè)的元器件選擇區(qū)的 Pick Divices.按鈕,彈出如圖 1 所示的 Pick Devices 窗口,再在 Categ 欄里點(diǎn)擊MicroprocessorICs 項(xiàng)后,在 Results 欄里會(huì)出現(xiàn)各種類型的 CPU 器件,找到 AT89C51 后雙擊,AT89C51 就被添加到當(dāng)前窗口左側(cè)的元器件列表區(qū)了。22用同樣的方法
43、依次把 DS130、MAX7219、數(shù)碼管、晶振以及多個(gè)電阻、電容也添加到器件列表區(qū)里。然后再依次點(diǎn)擊列表區(qū)里的器件,單擊左鍵把他們放到繪圖區(qū),右鍵選中元件,并編輯其屬性,合理布局后,進(jìn)行連線。連線時(shí)當(dāng)鼠標(biāo)的指針靠近一個(gè)對(duì)象的引腳時(shí),跟著鼠標(biāo)的指針 r ICs 就會(huì)出現(xiàn)一個(gè)“”提示符號(hào),點(diǎn)擊鼠標(biāo)左鍵即可畫線了,需要拐彎時(shí)點(diǎn)擊一下即可,在終點(diǎn)再點(diǎn)擊確認(rèn)一下就畫出了一段導(dǎo)線,所有導(dǎo)線畫完后,點(diǎn)擊工具欄的 Inter-sheeTerminal.按鈕,添加上電源和接地符號(hào),原理圖的繪制就完成了。 Proteus 中設(shè)計(jì)的電子時(shí)鐘系統(tǒng)原理圖第四章第四章軟件設(shè)計(jì)軟件設(shè)計(jì)4.1 程序流程圖設(shè)計(jì)程序流程圖設(shè)計(jì)
44、23系統(tǒng)程序流程圖按鍵處理是先檢測(cè)秒按鍵是否按下,秒按鍵如果按下,秒就加1;如果沒有按下,就檢測(cè)分按鍵是否按下,分按鍵如果按下,分就加1;如果沒有按下,就檢測(cè)時(shí)按鍵是否按下,時(shí)按鍵如果按下,時(shí)就加1;如果沒有按下,就把時(shí)間顯示出來。24按鍵處理流程圖定時(shí)器中斷時(shí)是先檢測(cè) 1 秒是否到,1 秒如果到,秒單元就加 1;如果沒到,就檢測(cè) 1 分鐘是否到,1 分鐘如果到,分單元就加 1;如果沒到,就檢測(cè) 1 小時(shí)是否到,1 小時(shí)如果到,時(shí)單元就加 1,如果沒到,就顯示時(shí)間。NYNYNY時(shí)加 1顯示時(shí)間結(jié)束開始秒按鍵按下?秒加 1分按鍵按下?分加 1時(shí)按鍵按下?25定時(shí)器中斷流程圖N24 小時(shí)到?分單元
45、清零,時(shí)單元加 1NNNYY時(shí)單元清零時(shí)間顯示中斷返回開始一秒時(shí)間到?60 秒時(shí)間到?60 分鐘到?秒單元加 1秒單元清零,分單元加1YY26時(shí)間顯示是先秒個(gè)位計(jì)算顯示,然后是秒十位計(jì)算顯示,再是分個(gè)位計(jì)算顯示,再然后是分十位顯示,再就是時(shí)個(gè)位計(jì)算顯示,最后是時(shí)十位顯示。時(shí)間顯示流程圖時(shí)十位計(jì)算顯示結(jié)束開始秒個(gè)位計(jì)算顯示秒十位計(jì)算顯示分個(gè)位計(jì)算顯示分十位計(jì)算顯示時(shí)個(gè)位計(jì)算顯示274.2 源程序設(shè)計(jì)源程序設(shè)計(jì)中斷技術(shù)在單片系統(tǒng)中有著十分重要的作用,它不僅可以提高單片機(jī)CPU 的效率,也可以對(duì)突發(fā)事件處理。所謂中斷就是當(dāng)CPU 正在執(zhí)行程序A 時(shí),發(fā)生了另一個(gè)急需處理的事件 B,這是 CPU 暫停
46、當(dāng)前執(zhí)行的程序 A,立即轉(zhuǎn)去執(zhí)行處理事件 B 的程序,處理完事件 B 后,再返回到程序 A 繼續(xù)執(zhí)行,這個(gè)過程被叫做中斷。關(guān)于中斷的概念有下列幾個(gè)名詞:(1)程序A 稱為主程序,( 2)處理事件 B 的程序稱為中斷服務(wù)程序,( 3)主程序中轉(zhuǎn)向中斷服務(wù)程序的地方稱為斷點(diǎn),( 4)引起中斷的原因即事件 B 稱為中斷源,(5)轉(zhuǎn)去執(zhí)行中斷服務(wù)程序稱為中斷響應(yīng)。關(guān)于中斷的概念可以打個(gè)如下的比喻。領(lǐng)導(dǎo)( CPU)在自己的房間辦公(執(zhí)行主程序),下屬(外設(shè))有問題打電話來請(qǐng)示(中斷源),領(lǐng)導(dǎo)停下正在進(jìn)行的工作,通過電話給下屬做指示(執(zhí)行中斷服務(wù)程序),指示完后,領(lǐng)導(dǎo)掛斷電話,繼續(xù)做自己的工作(返回主程序
47、繼續(xù)執(zhí)行)。中斷是一個(gè)過程,當(dāng)中央處理器 CPU 在處理某件事情時(shí),外部又發(fā)生了另一緊急事件,請(qǐng)求 CPU 暫停當(dāng)前的工作而去迅速處理該緊急事件。處理結(jié)束后,再回到原來被中斷的地方,繼續(xù)原來的工作。引起中斷的原因或發(fā)出中斷請(qǐng)求的來源,稱為中斷源。單片機(jī)一般允許有多個(gè)中斷源,當(dāng)幾個(gè)中斷源同時(shí)向CPU 請(qǐng)求中斷時(shí),就存在 CPU 優(yōu)先響應(yīng)哪一個(gè)中斷請(qǐng)求源的問題(優(yōu)先級(jí)問題),一般根據(jù)中斷源的輕重緩急排隊(duì),優(yōu)先處理最緊急事件的中斷請(qǐng)求,于是便規(guī)定每一個(gè)中斷源都有一個(gè)中斷優(yōu)先級(jí)別,并且CPU 總是響應(yīng)級(jí)別最高的中斷請(qǐng)求。當(dāng) CPU 正在處理一個(gè)中斷源請(qǐng)求的時(shí)候,又發(fā)生了另一個(gè)優(yōu)先級(jí)比它高的中斷源請(qǐng)求,
48、如果 CPU 能夠暫時(shí)中止對(duì)原來中斷處理程序的執(zhí)行,轉(zhuǎn)而去處理優(yōu)先級(jí)更高的中斷源請(qǐng)求,待處理完以后,再繼續(xù)執(zhí)行原來的低級(jí)中斷處理程序,這樣的過程稱為中斷嵌套。以下為部分源程序:#include AT89X51.H#include delay.h28#include max7219.c#include music.c#define uchar unsigned char#define uint unsigned int idatasbit ADD=P11;sbit SUB=P10;sbit ACC0 = ACC0;sbit ACC7 = ACC7;void showDay(void);/顯示時(shí)間
49、void showData(void);/顯示日期void showDishi(void);/顯示定時(shí)void int_0(void);/中斷 0void int_1(void);/中斷 1void flash_max7219(unsigned char n);/閃一個(gè)位 max7219/*/* 實(shí)時(shí)時(shí)鐘模塊 時(shí)鐘芯片型號(hào): DS1302 */*/*/sbit T_CLK = P23; /*實(shí)時(shí)時(shí)鐘時(shí)鐘線引腳 */sbit T_IO = P24; /*實(shí)時(shí)時(shí)鐘數(shù)據(jù)線引腳 */sbit T_RST = P25; /*實(shí)時(shí)時(shí)鐘復(fù)位線引腳 */*/void v_RTInputByte(uchar u
50、cDa); /往 DS1302 寫入 1Byte 數(shù)據(jù)uchar uc_RTOutputByte(void);/ 從 DS1302 讀取 1Byte 數(shù)據(jù)29void v_W1302(uchar ucAddr, uchar ucDa);/往 DS1302 寫入數(shù)據(jù)uchar uc_R1302(uchar ucAddr);/讀取 DS1302 某地址的數(shù)據(jù)/void v_BurstW1302T(uchar *pSecDa);/往 DS1302 寫入時(shí)鐘數(shù)據(jù)(多字節(jié)方式)/void v_BurstR1302T(uchar *pSecDa);/讀取 DS1302 時(shí)鐘數(shù)據(jù)/void v_BurstW
51、1302R(uchar *pReDa);/往 DS1302 寄存器數(shù)寫入數(shù)據(jù)(多字節(jié)方式)/void v_BurstR1302R(uchar *pReDa);/讀取 DS1302 寄存器數(shù)據(jù)void v_Set1302(uchar *pSecDa) ;/設(shè)置初始時(shí)間 ,輸入: pSecDa: 初始時(shí)間地址。初始時(shí)間格式為 : 秒 分 時(shí) 日 月 星期 年 void v_Get1302(uchar ucCurtime) ;/讀取 DS1302 當(dāng)前時(shí)間uchar showTime8=0,0,10,0,0,10,0,0;/顯示的時(shí)間*全局變量uchar setTime2=0,0;/定時(shí)的設(shè)定uch
52、ar time7=0,0 x59,0 x19,0 x24,0 x7,0 x01,0 x08;/秒 分 時(shí) 日 月 星期 年uchar Tmod=7;/此時(shí)的調(diào)節(jié)模式void main()delay_ms(200);/sound();initMAX7219();/初始化 max7219cls();/清屏 max7219/v_Get1302(& time);/v_Set1302(& time);EX0=1;30EX1=1;IT1=1;/下降沿觸發(fā)IT0=1;EA=1;/開中斷v_Get1302(& time);showDay();/int_1();/int_0();while(1)v_Get130
53、2(& time);showDay();if (setTime0=time2)&(setTime1=time1)sound();/*顯示時(shí)間void showDay(void)/將數(shù)據(jù)轉(zhuǎn)化為顯示格式showTime7=time0 & 0 x0f;/個(gè)位showTime6=time04;/十位showTime4=time1 & 0 x0f;showTime3=time14;showTime1=time2 & 0 x0f;showTime0=time24;31showTime2=showTime5=10;disp_88(& showTime);/*顯示日期void showData(void)sh
54、owTime7=time3 & 0 x0f;showTime6=time34;showTime4=time4 & 0 x0f;showTime3=time44;showTime1=time6 & 0 x0f;showTime0=time64;showTime2=showTime5=10;disp_88(& showTime);/*顯示定時(shí)void showDishi(void)showTime1=setTime0 & 0 x0f;showTime0=setTime04;showTime4=setTime1 & 0 x0f;showTime3=setTime14;showTime6=12;sho
55、wTime7=13;showTime2=showTime5=10;disp_88(& showTime); 324.3 KeilC51 進(jìn)行程序調(diào)試進(jìn)行程序調(diào)試334.4 仿真與調(diào)試仿真與調(diào)試4.4.1 Proteus 中中 Hex 文件選擇文件選擇系統(tǒng)仿真分析電路原理圖在 ISIS 里設(shè)計(jì)完成,并將系統(tǒng)軟件編譯成.Hex文件,再進(jìn)行電子時(shí)鐘的系統(tǒng)虛擬仿真 。(1)在 ISIS 的原理圖中,右鍵單擊 AT89C51 將其選中,然后單擊左鍵打開 AT89C51 的 Edit Component 對(duì)話框,如下圖所示。(2)選擇相應(yīng)的.Hex 文件,再在 Proteus ISIS 編輯窗口的 Fil
56、e 菜單中選擇 Save Design 選項(xiàng),保存設(shè)計(jì),生成.DSN 文件。4.4.2 Proteus 進(jìn)行電子鐘系統(tǒng)仿真進(jìn)行電子鐘系統(tǒng)仿真在 Proteus ISIS 的 Debug 菜單中選擇 Execute,運(yùn)行程序,系統(tǒng)仿真結(jié)果如下圖所示。實(shí)現(xiàn)功能:34當(dāng)進(jìn)入調(diào)整功能時(shí),按第一個(gè)鍵 K1 進(jìn)行減運(yùn)算,按第二個(gè)鍵 K2 進(jìn)行加運(yùn)算。按下第三個(gè)鍵 K3,實(shí)現(xiàn)日期時(shí)間調(diào)整及定時(shí)功能,等數(shù)字閃爍后,按一二鍵進(jìn)行加減,從而可以進(jìn)行具體日期時(shí)間調(diào)整。當(dāng)定時(shí)設(shè)定后,到預(yù)定時(shí)間后,系統(tǒng)通過 C51 音樂程序演唱歌曲-八月桂花。按下第四個(gè)鍵 K4,可以進(jìn)行時(shí)間日期切換,8 位 LED 數(shù)碼管將顯示時(shí)間或
57、日期,采用 24 小時(shí)制。時(shí)間顯示格式為:時(shí)-分-秒;日期顯示格式為:日-月-年。具有實(shí)時(shí)顯示當(dāng)前計(jì)算機(jī)系統(tǒng)時(shí)間和日期的功能。 Proteus 系統(tǒng)仿真結(jié)果結(jié)束語結(jié)束語本文的電子鐘系統(tǒng)是以單片機(jī)(AT89C51)為核心,時(shí)鐘芯片 DS1302、數(shù)碼管顯示驅(qū)動(dòng)芯片 MAX7219 等元器件組成。具體介紹應(yīng)用 Protel DXP 進(jìn)行電路原理圖設(shè)計(jì),Keil C51 軟件調(diào)試程序以及 Proteus 的 ISIS 軟件進(jìn)行單片機(jī)系統(tǒng)的電子鐘設(shè)計(jì)與仿真。實(shí)現(xiàn)了硬件軟化的目的。我在這一次數(shù)字電子鐘的設(shè)計(jì)過程中,很是受益匪淺。通過對(duì)自己在大學(xué)三年時(shí)間里所學(xué)的知識(shí)的回顧,并充分發(fā)揮對(duì)所學(xué)知識(shí)的理解和對(duì)畢
58、業(yè)設(shè)計(jì)的35思考及書面表達(dá)能力,最終完成了。這為自己今后進(jìn)一步深化學(xué)習(xí),積累了一定寶貴的經(jīng)驗(yàn)。撰寫論文的過程也是專業(yè)知識(shí)的學(xué)習(xí)過程,它使我運(yùn)用已有的專業(yè)基礎(chǔ)知識(shí),對(duì)其進(jìn)行設(shè)計(jì),分析和解決一個(gè)理論問題或?qū)嶋H問題,把知識(shí)轉(zhuǎn)化為能力的實(shí)際訓(xùn)練。培養(yǎng)了我運(yùn)用所學(xué)知識(shí)解決實(shí)際問題的能力。通過這次課程設(shè)計(jì)我發(fā)現(xiàn),只有理論水平提高了;才能夠?qū)⒄n本知識(shí)與實(shí)踐相整合,理論知識(shí)服務(wù)于教學(xué)實(shí)踐,以增強(qiáng)自己的動(dòng)手能力。這個(gè)實(shí)驗(yàn)十分有意義 我獲得很深刻的經(jīng)驗(yàn)。通過這次課程設(shè)計(jì),我們知道了理論和實(shí)際的距離,也知道了理論和實(shí)際想結(jié)合的重要性,也從中得知了很多書本上無法得知的知識(shí)。我們的學(xué)習(xí)不但要立足于書本,以解決理論和實(shí)際
59、教學(xué)中的實(shí)際問題為目的,還要以實(shí)踐相結(jié)合,理論問題即實(shí)踐課題,解決問題即課程研究,學(xué)生自己就是一個(gè)專家,通過自己的手來解決問題比用腦子解決問題更加深刻。學(xué)習(xí)就應(yīng)該采取理論與實(shí)踐結(jié)合的方式,理論的問題,也就是實(shí)踐性的課題。這種做法既有助于完成理論知識(shí)的鞏固,又有助于帶動(dòng)實(shí)踐,解決實(shí)際問題,加強(qiáng)我們的動(dòng)手能力和解決問題的能力。參考文獻(xiàn)參考文獻(xiàn)1 代啟化.基于 Proteus 的電路設(shè)計(jì)與仿真J.現(xiàn)代電子技術(shù).2006,第19 期.2 曹洪奎;馬瑩瑩 基于 Proteus 單片機(jī)系統(tǒng)設(shè)計(jì)與仿真J. 遼寧工學(xué)院學(xué)報(bào) 07 年 04 期3 侯玉寶 基于 Proteus 的 51 系列單片機(jī)設(shè)計(jì)與仿真M電
60、子工業(yè)出版社,2008.2702884 蔡希彪,曹洪奎; 單片機(jī)電子時(shí)鐘系統(tǒng)的設(shè)計(jì)與仿真 J;中國科技信息; 2007 年 04 期5 方怡冰.單片機(jī)課程的教學(xué)與實(shí)驗(yàn)改革J.電氣電子教學(xué)學(xué)報(bào).2006,第 3 期.366 劉文秀.單片機(jī)應(yīng)用系統(tǒng)仿真的研究J.現(xiàn)代電子技術(shù).2005, 第 286 期7 張友德.單片微型機(jī)原理、應(yīng)用與實(shí)驗(yàn)M.上海:復(fù)旦大學(xué)出版社,2003.225256.8 李光飛.單片機(jī)設(shè)計(jì)實(shí)例指導(dǎo)M.北京:北京航空航天大學(xué)出版社,2004.5,96100.9 胡漢才 單片機(jī)原理及其接口技術(shù)M. 北京: 清華大學(xué)出版社 , 1996.89110.10 楊立民.單片機(jī)技術(shù)及應(yīng)用M.西安:西安電子科技大學(xué)出版社.1997.90120.【11】李軍.51 系列單片機(jī)高級(jí)實(shí)例開發(fā)指南 北京航空航天大學(xué)出版社
- 溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。