基于單片機的自動打鈴器的設計畢業(yè)設計_第1頁
已閱讀1頁,還剩48頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  畢 業(yè) 設 計</p><p>  題 目: 基于單片機的自動打鈴器的設計 </p><p>  院: 電氣信息學院 </p><p>  畢業(yè)設計(論文)任務書</p><p>  題目: 基于單片機的

2、自動打鈴器的設計 </p><p><b>  基本任務及要求:</b></p><p>  1.學習單片機的相關知識,利用單片機編程,實現(xiàn)相關控制;</p><p>  2.設計一個自動打鈴器,要求具備一般電子時鐘的功能;能

3、進行多點時間的定時以及定時時間到自動打鈴,要求定時點數(shù)至少是40,定時精度是1分鐘,且要求能通過鍵盤查看各定點時間,要求具備掉電保護功能。</p><p>  3.利用相關軟件繪制原理電路圖和PCB板圖;</p><p>  4.對實驗電路編寫程序進行調試,保證各部分正常工作,保證電路板正常完成所規(guī)定的任務。</p><p>  進度安排及完成時間:</p&g

4、t;<p> ?。?)第一周至第三周:查閱資料、撰寫文獻綜述和開題報告; </p><p> ?。?)第四周至第五周:學習并掌握單片機及外圍設備接口; </p><p> ?。?)第六周至第七周:在實驗板上完成硬件設置和連線;

5、 </p><p> ?。?)第八周至第十一周:在開發(fā)機上調好軟件,然后固化到EPROM中,能脫機運行; </p><p> ?。?)第十二周至第十三周:用PROTEL工具軟件繪制完整電路原理圖,標志各元器件序號和腳號;畫出軟件流程框圖。包括主程序和各子程

6、序。撰寫設計說明書; </p><p> ?。?)第十四周:畢業(yè)設計答辯; </p><p><b>  目 錄</b></p><p>&

7、lt;b>  摘要I</b></p><p>  AbstractII</p><p><b>  第一章緒論1</b></p><p>  1.1單片機設計的目的和意義1</p><p>  1.2單片機發(fā)展現(xiàn)狀和前景展望1</p><p>  1.2.1課題

8、發(fā)展現(xiàn)狀1</p><p>  1.2.2課題前景展望2</p><p>  1.3Protel 99 SE概述2</p><p>  1.3.1Protel 99 SE的組成3</p><p>  1.3.2Protel 99 SE的應用4</p><p>  1.3.3電路板的設計步驟6<

9、;/p><p>  第二章單元模塊的設計8</p><p>  2.1電源模塊8</p><p>  2.2單片機最小系統(tǒng)模塊8</p><p>  2.3時鐘模塊9</p><p>  2.4按鍵模塊11</p><p>  2.5顯示模塊12</p><

10、;p>  2.5.1主要技術參數(shù)13</p><p>  2.5.2引腳功能13</p><p>  2.5.3基本操作時序14</p><p>  2.5.4狀態(tài)字說明14</p><p>  2.5.5RAM地址映射圖14</p><p>  2.5.6指令說明15</p>

11、<p>  2.5.7接口時序圖16</p><p>  2.6喇叭模塊18</p><p>  第三章系統(tǒng)軟件設計19</p><p>  3.1系統(tǒng)軟件按鍵程序設計20</p><p>  3.2系統(tǒng)軟件打鈴器時間設置設計21</p><p>  第四章系統(tǒng)功能介紹及調試22&

12、lt;/p><p>  4.1打鈴器功能簡介22</p><p>  4.2打鈴器優(yōu)點22</p><p>  4.3打鈴器缺點與不足22</p><p>  4.4系統(tǒng)調試22</p><p>  4.3.1硬件調試22</p><p>  4.3.2軟件調試23</

13、p><p><b>  結束語24</b></p><p><b>  參考文獻25</b></p><p><b>  致謝26</b></p><p><b>  附錄27</b></p><p><b>  附錄

14、127</b></p><p><b>  附錄241</b></p><p>  基于單片機的自動打鈴器的設計</p><p>  摘要:單片機是一種集成在電路芯片,是采用超大規(guī)模集成電路技術把具有數(shù)據(jù)處理能力的中央處理器CPU隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統(tǒng)、定時器/計時器等功能(可能還包括顯示驅動

15、電路、脈寬調制電路、模擬多路轉換器、A/D轉換器等電路)集成到一塊硅片上構成的一個小而完善的計算機系統(tǒng)。</p><p>  本文首先概述了單片機電路的發(fā)展歷史,單片機設計方法和工具的變革,單片機技術及發(fā)展,C語言硬件描述語言,Protel 99 se的應用,典型的單片機電路設計流程,然后詳細地介紹了單片機自動打鈴器與控制電路的完整的設計過程。</p><p>  單片機自動打鈴器控制系統(tǒng)

16、主要由單片機最小系統(tǒng)組成。</p><p>  單片機自動打鈴器由電源電路,單片機最小系統(tǒng),時鐘電路,蜂鳴電路,顯示電路。</p><p>  單片機自動打鈴器控制電路設計包括復位電路,按鍵電路。</p><p>  按鍵電路設計包括時鐘的調整,打鈴時間的設定。</p><p>  關鍵詞:單片機;C語言;Protel 99 se;單片機自動

17、打鈴器。</p><p>  Handset keyboard connection and control circuit design</p><p>  Abstract:Single Chip Microcomputer(SCM) is a kind of integrated circuit chip, which uses the very large scale integr

18、ated circuits technology. It integrates central processing unit(CPU) which is capable of data processing, Random Access Memory (RAM), Read-Only Memory (ROM), I/O outputs, interrupt system and a Timer(probably also includ

19、ing display drive circuit, pulse width modulation circuit, analog multiplexer and A/D convertor ) into one single silicon chip to form a micro but complete computer</p><p>  At beginning, this article gives

20、an overview of the history of the SCM, the design methods of SCM and the revolution of tools, technology and development of SCM, C language, application of Protel 99 se and the typical procedures of SCM circuits design.

21、Then, it details the entire design procedures of the SCM controlled automatic bell and the relevant control circuits.</p><p>  SCM controlled automatic bell is mainly made up of the minimum system of Single

22、Chip Microcomputer. It contains power circuit, microcomputer system, clock circuit, buzzer circuit and display circuit. The control circuits include reset circuit and key circuit. The design of key circuit contains adjus

23、tment of clock and time setting of the bell.</p><p>  Keywords: Single Chip Microcomputer(SCM); C language; Protel 99 se; SCM controlled automatic bell.</p><p><b>  緒論</b></p>

24、<p>  單片機是一種集成在電路芯片,是采用超大規(guī)模集成電路技術把具有數(shù)據(jù)處理能力的中央處理器CPU隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統(tǒng)、定時器/計時器等功能(可能還包括顯示驅動電路、脈寬調制電路、模擬多路轉換器、A/D轉換器等電路)集成到一塊硅片上構成的一個小而完善的計算機系統(tǒng)。</p><p>  單片機也被稱為微控制器(Microcontroller),是因為它最早被用

25、在工業(yè)控制領域。單片機由芯片內僅有CPU的專用處理器發(fā)展而來。最早的設計理念是通過將大量外圍設備和CPU集成在一個芯片中,使計算機系統(tǒng)更小,更容易集成到復雜的而對體積要求嚴格的控制設備當中。INTEL的Z80是最早按照這種思想設計出的處理器,從此以后,單片機和專用處理器的發(fā)展便分道揚鑣。</p><p>  單片機設計的目的和意義</p><p>  科技的進步需要技術不斷的提升。一塊大而

26、復雜的模擬電路花費了您巨大的精力,繁多的元器件增加了您的成本。而現(xiàn)在,只需要一塊幾厘米見方的單片機,寫入簡單的程序,就可以使您以前的電路簡單很多。相信您在使用并掌握了單片機技術后,不管在您今后開發(fā)或是工作上,一定會帶來意想不到的驚喜。</p><p>  在單片機應用中,可靠性是首要因素為了擴大單片機的應用范圍和領域,提高單片機自身的可靠性是一種有效方法。近年來,單片機的生產廠家在單片機設計上采用了各種提高可靠性

27、的新技術。 </p><p>  單片機發(fā)展現(xiàn)狀和前景展望</p><p><b>  課題發(fā)展現(xiàn)狀</b></p><p>  科技的進步需要技術不斷的提升。一塊大而復雜的模擬電路花費了工程師們巨大的精力,繁多的元器件增加了勞動的成本。而現(xiàn)在,只需要一塊幾厘米見方的單片機,寫入簡單 的程序,就可以使以前的電路簡單很多。單片機技術的出現(xiàn),不管在

28、開發(fā)或是工作上,都為我們帶來了意想不到的驚喜。 </p><p>  1946年第一臺電子計算機誕生至今,只有50年的時間,依靠微電子技術和半導體技術的進步,從電子管——晶體管——集成電路——大規(guī)模集成電路,現(xiàn)在一塊芯片上完全可以集成幾百萬甚至上千萬只晶體管,使得計算機體積更小,功能更強。特別是近20年時間里,計算機技術獲得飛速的發(fā)展,計算機在工農業(yè),科研,教育,國防和航空航天領域獲得了廣泛的應用,計算機技術已經

29、是一個國家現(xiàn)代科技水平的重要標志。</p><p>  單片機誕生于20世紀70年代,像Fairchid公司研制的F8單片微型計算機。所謂單片機是利用大規(guī)模集成電路技術把中央處理單元(Center Processing Unit,也即常稱的CPU)和數(shù)據(jù)存儲器(RAM)、程序存儲器(ROM)及其他I/O通信口集成在一塊芯片上,構成一個最小的計算機系統(tǒng),而現(xiàn)代的單片機則加上了中斷單元,定時單元及A/D轉換等更復雜、

30、更完善的電路,使得單片機的功能越來越強大,應用更廣泛。</p><p>  20世紀70年代,微電子技術正處于發(fā)展階段,集成電路屬于中規(guī)模發(fā)展時期,各種新材料新工藝尚未成熟,單片機仍處在初級的發(fā)展階段,元件集成規(guī)模還比較小,功能比較簡單,一般均把CPU、RAM有的還包括了一些簡單的I/O口集成到芯片上,像Farichild公司就屬于這一類型,它還需配上外圍的其他處理電路方才構成完整的計算系統(tǒng)。類似的單片機還有Zi

31、log公司的Z80微處理器。</p><p><b>  課題前景展望</b></p><p>  中國試用單片機的歷史只有短短的30年,在初始的短短的五年時間里發(fā)展極為迅速。1986年在上海召開了全國首屆單片機開發(fā)與交流會,很多地區(qū)還成立了單片機微型計算機應用協(xié)會,那是全國形成的第一次高潮。</p><p>  單片機為我們改變了什么?縱觀我

32、們現(xiàn)在生活的各個領域,從導 彈的導航裝置,到飛機上各種儀表的控制,從計算機的網絡通訊與數(shù)據(jù)傳輸,到工業(yè)自動化過程的實時控制和數(shù)據(jù) 處理,以及我們生活中廣泛使用的各種智能IC 卡、電子寵物等,這些都離不開單片機。以前沒有單片機時,這些 東西也能做,但是只能使用復雜的模擬電路,然而這樣做出來的產品不僅體積大,而且成本高,并且由于長期使用, 元器件不斷老化,控制的精度自然也會達不到標準。在單片機產生后,我們就將控制這些東西變?yōu)橹悄芑耍覀?

33、只需要在單片機外圍接一點簡單的接口電路,核心部分只是由人為的寫入程序來完成。這樣產品的體積變小了,成 本也降低了,長期使用也不會擔心精度達不到了。所以,它的魔力不僅是在現(xiàn)在,在將來將會有更多的 人來接受它、使用它。據(jù)統(tǒng)計,我國的單片機年容量已達3 億片,且每年以大約20%的速度增長,但相對于 世界市場我國的占有率還不到1%。特別是沿海地區(qū)的玩 具廠等生產產品多數(shù)用到單片機,并不斷地輻射向內地。所以,學習單片機在我國是有著廣闊前景的。&l

34、t;/p><p>  Protel 99 SE概述</p><p>  Protel 99 SE是PORTEL公司在80年代末推出的EDA軟件,在電子行業(yè)的CAD軟件中,它當之無愧地排在眾多EDA軟件的前面,是電子設計者的首選軟件,它較早就在國內開始使用,在國內的普及率也最高,有些高校的電子專業(yè)還專門開設了課程來學習它,幾乎所有的電子公司都要用到它,許多大公司在招聘電子設計人才時在其條件欄上常

35、會寫著要求會使用PROTEL。早期的PROTEL主要作為印制板自動布線工具使用,運行在DOS環(huán)境,對硬件的要求很低,在無硬盤286機的1M內存下就能運行,但它的功能也較少,只有電路原理圖繪制與印制板設計功能,其印制板自動布線的布通率也低,而現(xiàn)今的PROTEL已發(fā)展到Protel 99系列(網絡上可下載到它的測試板),是個龐大的EDA軟件,完全安裝有200多M,它工作在WINDOWS95環(huán)境下,是個完整的板級全方位電子設計系統(tǒng),它包含了電

36、路原理圖繪制、模擬電路與數(shù)字電路混合信號仿真、多層印制電路板設計(包含印制電路板自動布線)、可編程邏輯器件設計、圖表生成、電子表格生成、支持宏操作等功能,并具有Client/Server (客戶/服務器)體系結構,同時還兼容一些其它設計</p><p>  Protel 99 SE的組成</p><p>  Protel 99 SE主要由原理圖設計系統(tǒng)、印制電路板設計系統(tǒng)兩大部分組成。&l

37、t;/p><p><b>  原理圖設計系統(tǒng)</b></p><p>  這是一個易于使用的具有大量元件庫的原理圖編輯器,主要用于原理圖的設計。它可以為印制電路板設計提供網絡表。該編輯器除了具有強大的原理圖編輯功能以外,其分層組織設計功能、設計同步器、豐富的電氣設計檢驗功能及強大而完善的打印輸出功能,使用戶可以輕松完成所需的設計任務。</p><p&g

38、t;<b>  印制電路板設計系統(tǒng)</b></p><p>  它是一個功能強大的印制電路板設計編輯器,具有非常專業(yè)的交互式布線及元件布局的特點,用于印制電路板(PCB)的設計并最終產生PCB文件,直接關系到印制電路板的生產。Protel99SE的印制電路板設計系統(tǒng)可以進行多達32層信號層、16層內部電源/接地層的布線設計,交互式的元件布置工具極大地減少了印制板設計的時間。 </p&g

39、t;<p>  同時它還包含一個具有專業(yè)水準的PCB信號完整性分析工具、功能強大的打印管理系統(tǒng)、一個先進的PCB三維視圖預覽工具。 </p><p>  此外,Protel99SE還包含一個功能強大的基于SPICE 3f5的模/數(shù)混合信號仿真器,使設計者可以方便地在設計中對一組混合信號進行仿真分析。 </p><p>  同時,它還提供了一個高效、通用的可編程邏輯器件設計工具

40、。</p><p>  Protel 99 SE的應用</p><p><b>  原理圖設計</b></p><p>  新建設計數(shù)據(jù)庫文件 </p><p>  在WINDOWS 95/98或NT界面下雙擊Protel 99 圖標,點擊File(文件)中new項,新建設計 數(shù)據(jù)庫。 </p><p

41、>  在Browse選項中選取需要存儲的文件夾,然后點擊OK即可建立自己的設計數(shù)據(jù)庫。</p><p>  設計組(Design Team) </p><p>  我們可以先在Design Team 中設定設計小組成員,Protel 99可在一個設計組中進行協(xié)同 設計,所有設計數(shù)據(jù)庫和設計組特性都由設計組控制。定義組成員和設置他們的訪問權 限都在設計管理器中進行,確定其網絡類型和網絡

42、專家獨立性不需要求助于網絡管理員 。 </p><p>  無限制數(shù)量的設計組成員能同時訪問相同的設計數(shù)據(jù)庫。每個組成員都能看到什么文件 當前是打開的以及誰在編輯,并能鎖定文件以防止意外重寫。 </p><p>  訪問設計數(shù)據(jù)庫可以通過建立設計組成員和指定其權限來控制。設計組成員建立在成員 文件夾中。在成員文件夾中單擊右鍵就會彈出浮動菜單,選擇新成員。 為保證設計安全,為管理組成員設置一

43、個口令。這樣如果沒有注冊名字和口令就不能打 開設計數(shù)據(jù)庫。 </p><p>  提示:成員和成員權限只能由管理員建立。 </p><p>  回收站( Recycle Bin) </p><p>  相當于Windows 中的回收站,所有在設計數(shù)據(jù)庫中刪除的文件,均保存在回收站中,可 以找回由于誤造作而刪除的文件。 </p><p>  設

44、計管理器(document.)   </p><p>  所有Protel99設計文件都被儲存在唯一的綜合設計數(shù)據(jù)庫中,并顯示在唯一的綜合設計 編輯窗口。在Protel99中與設計的接口叫設計管理器。使用設計管理器,可以進行對設計文件的管理編輯、設置設計組的訪問權限和監(jiān)視對設計文件的訪問。 </p><p>  組織設計文件 過去組織和管理40個或更多的原理圖、PCB、

45、Gerber、Drill、BOM和DRC文件,要花 費幾天的時間,而Protel99把設計文件全部儲存在唯一的設計數(shù)據(jù)庫。 </p><p>  在設計數(shù)據(jù)庫內組織按分層結構文件夾建立的文件 顯示在右邊的個人安全系統(tǒng)設計數(shù)據(jù)庫有一文件夾叫設計文件,這個文件夾中是主設計文件(原理圖和PCB),還有許多的子文件夾,包括了PCB裝配文件、報告和仿真分析。這里對在設計數(shù)據(jù)庫中創(chuàng)建文件夾的分 層深度沒有限制。 </p

46、><p>  設計數(shù)據(jù)庫對存儲Protel設計文件沒有限制 你能輸入任何類型的設計文件進入數(shù) 據(jù)庫,如在MS Word書寫的報告、在MS Excel準備的費用清單和AutoCAD中制的機械圖。簡單雙擊設計數(shù)據(jù)庫里的文件圖標,在適當?shù)木庉嬈鞔蜷_文件,被更新的文件自動地保存到設計數(shù)據(jù)庫。MS Word和Excel文件可以在設計管理器中直接編輯。 </p><p>  提示:在文件夾上單擊右鍵會顯示

47、浮動菜單,然后選擇在設計數(shù)據(jù)庫新建文件。   </p><p>  在綜合設計數(shù)據(jù)庫中用Protel99的設計管理器管理設計文件是非常輕松的。設計管 理器的工作就象MS Windows的文件管理器一樣,可用它來導航和組織設計數(shù)據(jù)庫里文件 。使用設計管理器在設計數(shù)據(jù)庫創(chuàng)建分層結構的文件夾,使用標準文件操作命令來組織 這些文件夾內設計文件。 </p><p>  設計管理器

48、的心臟就是左邊的導航面板。面板顯示的樹狀結構是大家熟悉的Protel軟件 特性。在Protel99中,這個樹不僅僅顯示的是一個原理圖方案各文件間的邏輯關系,它 也顯示了在設計數(shù)據(jù)庫中文件的物理結構。在導航樹中活躍的文件夾是PCB裝配文件夾。如同Windows文件管理器,設計管理器在右 邊顯示這個文件夾的內容。 </p><p>  設計管理器與Windows文件管理器的不同之處是在右邊還顯示已經打開的文件。 &l

49、t;/p><p>  打開文件 只要在導航樹中單擊所要編輯的文件名,或者雙擊右邊文件夾中的圖標。 </p><p>  在設計數(shù)據(jù)庫中打開的各個文件用卡片分隔顯示在同一個設計編輯窗口,使得非常容易 知道當前工作到哪里,特別在大的設計中。要一起觀察不同的文件可以將設計編輯窗口拆分為多區(qū)域。</p><p>  打開和管理設計數(shù)據(jù)庫</p><p>

50、  Protel 99 包括許多設計例子,我們下面可以舉例說明。 選擇文件打開菜單\Design Explorer 99\Example \folder,點擊photoplotter.ddb文 件,左側窗口呈現(xiàn)樹狀結構。 </p><p>  點”+”呈現(xiàn)下一層子目錄或文件,點”-”將關閉此文件夾.點Photohead.pcb 文件 ,PCB版圖將出現(xiàn),點Photohead.prj,原理圖管理文件將被打開.關閉文

51、件,可以用鼠標 右鍵,選擇Close.也可以用CTRL+F4來關閉。</p><p><b>  觀看多個設計文檔</b></p><p>  打開Photoplotte.ddb設計數(shù)據(jù)庫,點”+”找到Electronics 和Photohead文件夾,打 開Photohead Parts list 設計窗口,用同樣方法打開Photohead.pcb文件和Photoh

52、ead. prj文件.在Photohead Parts List窗口下?lián)羰髽擞益I,選擇”Split Horizontal"菜單 ,界面將被水平分割。在Photohead.prj設計窗口下點右鍵,選Split Vertical 菜單。 界面將被垂直分割.可以用鼠標調整分割窗口的大小。要想分割更多的窗口,可重復上 述操作。 </p><p>  按Ctrl+Tab可循環(huán)切換打開的設計文件,按Shift+Ta

53、b可在導航板和設計窗口中有效文件 夾的內容間切換。</p><p><b>  電路板的設計步驟</b></p><p>  一般而言,設計電路板最基本的過程可以分為三大步驟。</p><p><b>  電路原理圖的設計</b></p><p>  電路原理圖的設計主要是Protel 99 SE的

54、原理圖設計系統(tǒng)來繪制一張電路原理圖。在這一過程中,要充分利用Protel 99 SE所提供的各種原理圖繪圖工具、各種編輯功能,來實現(xiàn)我們的目的,即得到一張正確精美的電路原理圖。</p><p><b>  產生網絡表</b></p><p>  網絡表是電路原理圖設計(SCH)與印制電路板設計(PCB)之間的一座橋梁,它是電路板自動的靈魂。網絡表可以從電路與阿里通中獲

55、得,也可以從印制電路板中提取出來。</p><p><b>  印制電路板的設計</b></p><p>  印制電路板的設計主要是針對Protel 99 SE的另外一個重要的部分PCB而言的,在這個過程中,我們借助Protel 99 SE提供的強大功能實現(xiàn)電路板的版面設計,完成高難度的等工作。</p><p>  原理圖的設計流程圖如下圖所示

56、:</p><p>  圖一 原理圖設計流程</p><p><b>  單元模塊的設計</b></p><p><b>  電源模塊</b></p><p>  數(shù)字集成芯片功耗低,所需電壓低,需要一個專門的模塊來獲得合適的工作電壓。此模塊為系統(tǒng)提供合適的、穩(wěn)定的直流電壓。其基本原理圖如圖二所示

57、。其中二極管D11—D14為整流二極管,J2為三端穩(wěn)壓集成芯片7805,它將電壓穩(wěn)定在+5V0.002V。圖中的電容用來濾除電源紋波。這是單片機中很常見的電源。</p><p>  圖二 電源電路原理圖</p><p><b>  單片機最小系統(tǒng)模塊</b></p><p>  單片機最小系統(tǒng)模塊由單片機、晶振、復位電路三個基本部分組成。&l

58、t;/p><p>  其中89S52單片機為是自動打鈴器的核心控制器,由它來完成所有數(shù)據(jù)的處理及監(jiān)測功能;晶振為系統(tǒng)提供基準脈沖,這里,我們使用的是頻率為12M的晶振;復位電路使系統(tǒng)回到上電時的狀態(tài)。當系統(tǒng)由于各種突發(fā)情況而使得結果出錯或者死機時,我們可以通過按復位鍵S1使系統(tǒng)恢復到正常情況。單片機最小系統(tǒng)如圖三所示:</p><p>  圖三 單片機最小系統(tǒng)</p><

59、p><b>  時鐘模塊</b></p><p>  DS1302 是DALLAS 公司推出的涓流充電時鐘芯片,內含有一個實時時鐘/日歷和31字節(jié)靜態(tài)RAM,通過簡單的串行接口與單片機進行通信。實時時鐘/日歷電路提供秒、分、時、日、日期、月、年的信息,每月的天數(shù)和閏年的天數(shù)可自動調整,時鐘操作可通過AM/PM 指示決定采用24或12小時格式。DS1302與單片機之間能簡單地采用同步串行

60、的方式進行通信,僅需用到三個口線:(1)RES(復位),(2)I/O(數(shù)據(jù)線),(3)SCLK(串行時鐘)。時鐘/RAM的讀/寫數(shù)據(jù)以一個字節(jié)或多達31個字節(jié)的字符組方式通信。DS1302工作時功耗很低,保持數(shù)據(jù)和時鐘信息時功率小于1mW。</p><p>  DS1302是由DS1202改進而來,增加了以下的特性:雙電源管腳用于主電源和備份電源供應,Vcc1為可編程涓流充電電源,附加七個字節(jié)存儲器。它廣泛應用于

61、電話、傳真、單片機、便攜式儀器以及電池供電的儀器儀表等產品領域。下面將主要的性能指標作一綜合:</p><p>  實時時鐘具有能計算2100 年之前的秒、分、時、日、日期、星期、月、年的能力,還有閏年調整的能力</p><p>  31X8位暫存數(shù)據(jù)存儲RAM</p><p>  串行I/O口方式使得管腳數(shù)量最少</p><p>  寬范圍

62、工作電壓2.0—5.5V</p><p>  工作電流2.0V時,小于300nA</p><p>  讀/寫時鐘或RAM數(shù)據(jù)時,有兩種傳送方式:單字節(jié)傳送和多字節(jié)傳送字符組方式</p><p>  8 腳DIP封裝或可選的8腳SOIC 封裝(根據(jù)表面裝配)</p><p><b>  簡單3線接口</b></p&g

63、t;<p>  與TTL兼容(Vcc=5V)</p><p>  可選工業(yè)級溫度范圍:-40℃+85℃</p><p><b>  與DS1202兼容</b></p><p>  在DS1202基礎上增加的特性</p><p>  —對Vcc1有可選的涓流充電能力</p><p> 

64、 —雙電源管用于主電源和備份電源供應</p><p>  —備份電源管腳可由電池或大容量電容輸入</p><p>  —附加的7字節(jié)暫存存儲器:</p><p><b>  管腳圖如圖四所示:</b></p><p>  圖四 DS1302原理圖</p><p>  現(xiàn)將其引腳功能簡介如下:&l

65、t;/p><p>  Vcc1為后備電源,VCC2為主電源。在主電源關閉的情況下,也能保持時鐘的連續(xù)運行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當Vcc2大于Vcc1+0.2V時,Vcc2給DS1302供電。當Vcc2小于Vcc1時,DS1302由Vcc1供電。X1和X2是振蕩源,外接32.768kHz晶振。RST是復位/片選線,通過把RST輸入驅動置高電平來啟動所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首

66、先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當RST為高電平時,所有的數(shù)據(jù)傳送被初始化,允許對DS1302進行操作。如果在傳送過程中RST置為低電平,則會終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運行時,在Vcc>2.0V之前,RST必須保持低電平。只有在SCLK為低電平時,才能將RST置為高電平。I/O為串行數(shù)據(jù)輸入輸出端(雙向)。SCLK為時鐘輸入端。 <

67、/p><p>  芯片時鐘信息在芯片初次使用時寫入即可,電路原理圖如圖五所示:</p><p>  圖五 時鐘模塊原理圖</p><p><b>  按鍵模塊</b></p><p>  如下圖所示,按鍵電路僅由S11、S12、S13、S14三個按鍵組成,其一端分別與單片機的P3.1、P3.2、P3.3、P3.4引腳相連,

68、另一端直接接地。</p><p>  雖然此模塊十分簡單,但作用很重要。在單片機自動打鈴器時鐘開始工作,它可以完成設置打鈴時間,按鍵S11切換到打鈴時間1的分調整,按鍵S12是對打鈴時間分鐘加時間的設定,按鍵S13是對打鈴時間分減時間的設置,再按下S11按鍵是切換到打鈴時間秒的設置,秒的設置和分的設置相同,按鍵S14是用來切換打鈴時間的設置,當打鈴時間1設置完成,按下S14,則切換到打鈴時間2的設置……若打鈴時間

69、全部設置完成,再按下S11鍵,顯示器切換到時鐘模式。</p><p>  圖六 按鍵電路原理圖</p><p><b>  顯示模塊</b></p><p>  1602字符型LCD通常有14條引腳線或16條引腳線的LCD,多出來的2條線是背光電源線。DS1602原理圖如圖九所示:</p><p>  圖七 顯示模塊

70、原理圖</p><p><b>  主要技術參數(shù)</b></p><p>  表1 DS1602參數(shù)</p><p><b>  引腳功能</b></p><p>  表2 DS1602管腳功能</p><p><b>  基本操作時序</b><

71、;/p><p>  表3 DS1602基本時序圖</p><p><b>  狀態(tài)字說明</b></p><p>  表4 DS1602狀態(tài)字說明</p><p>  注:對控制器每次進行讀寫操作之前,都必須進行讀寫檢測,確保STA7為0。</p><p><b>  RAM地址映射圖&

72、lt;/b></p><p>  控制器內部帶有80X8位(80字節(jié))的RAM緩沖區(qū),對應關系如下圖所示:</p><p>  表5 DS1602RAM地址映射</p><p><b>  指令說明</b></p><p><b>  初始化設置</b></p><p&g

73、t;<b>  顯示模塊設置</b></p><p>  表6 DS1602指令說明</p><p>  顯示開/關及光標設置</p><p>  表7 DS1602顯示開/管及光標設置</p><p><b>  數(shù)據(jù)控制</b></p><p>  控制器內部設有一個

74、數(shù)據(jù)地址指針,用戶可通過它們來訪問內部的全部80字節(jié)RAM.。</p><p><b>  數(shù)據(jù)指針設置</b></p><p>  表8 DS1602數(shù)據(jù)指針設置</p><p><b>  其他設置</b></p><p>  表9 DS1602其他設置</p><p&g

75、t;<b>  接口時序圖</b></p><p><b>  讀操作時序圖</b></p><p>  圖八 DS1602讀操作時序圖</p><p><b>  寫操作時序圖</b></p><p>  圖九 DS1602寫操作時序圖</p><p&

76、gt;<b>  時序參數(shù)</b></p><p>  表10 DS1602時序參數(shù)</p><p><b>  喇叭模塊</b></p><p>  本模塊采用的HXD蜂鳴器,通過P2.0端口控制蜂鳴器的工作。原理圖如圖八所示:</p><p>  圖十 喇叭模塊原理圖</p>

77、<p><b>  系統(tǒng)軟件設計</b></p><p>  系統(tǒng)通電后,首先執(zhí)行單片機的初始化命令。每次通電后,系統(tǒng)將被初始化成時鐘模式,然后再進入到系統(tǒng)的內部循環(huán)部分。</p><p>  系統(tǒng)正常工作時,先讀取時鐘日歷芯片DS1302的時鐘信息,作為LCD1602液晶模塊原始數(shù)據(jù),待單片機處理后,即送往顯示模塊進行時間實時數(shù)據(jù)顯示。</p>

78、<p>  由于開機后系統(tǒng)默認時間12:00開始運行時間,若檢測到按鍵信號輸入,則根據(jù)按鍵的控制進行打鈴器時間設定,時間到了打鈴器鈴響。</p><p>  系統(tǒng)軟件設計主流程圖如下所示:</p><p>  圖十一 總設計流程圖</p><p>  系統(tǒng)軟件按鍵程序設計</p><p>  按鍵掃描模塊用來完成自動打鈴器打鈴

79、時間的設定功能。</p><p>  主程序開始,在完成對相關I/O口數(shù)據(jù)的初始化工作后,才可以調用按鍵掃描子程序。進入子程序后,首先判斷系統(tǒng)是否有鍵按下,若沒有鍵按下,則直接返回;否則,對按下的功能鍵依次進行判斷,然后執(zhí)行相應的按鍵處理程序。完成對按鍵的處理后,則可返回至主程序。</p><p>  按鍵掃描模塊子程序流程圖如下圖所示:</p><p>  圖十二

80、 按鍵處理流程圖</p><p>  系統(tǒng)軟件打鈴器時間設置設計</p><p>  時鐘芯片DS1302為系統(tǒng)提供實時時鐘、日歷信息,主程序開始后,將完成對芯片的初始化工作。當在主程序中調用DS1302子程序時,系統(tǒng)會依次讀取芯片的時鐘日歷信息并存儲,其讀取、存儲順序為:秒、分、時、日、月、周、年。</p><p>  時鐘/RAM 的讀/寫數(shù)據(jù)以一個字節(jié)或多達

81、31個字節(jié)的字符組方式通信.DS1302 工作時功耗很低,保持數(shù)據(jù)和時鐘信息時功率小于1mW.DS1302 是由DS1202 改進而來,增加了以下的特性.雙電源管腳用于主電源和備份電源供應Vcc1,為可編程涓流充電電源附加七個字節(jié)存儲器。當數(shù)據(jù)成功讀取、存儲后,需要對讀取到的7字節(jié)十六進制數(shù)據(jù)依次進行BCD處理,即將其依次轉換成十進制數(shù)據(jù)。每進行一次BCD處理,則完成一字節(jié)數(shù)據(jù)的轉換。每轉換一字節(jié)數(shù)據(jù),則需對轉換次數(shù)進行一次判斷,直到7

82、字節(jié)的數(shù)據(jù)全部轉換完成,則可退出當前操作。否則,程序將繼續(xù)對數(shù)據(jù)進行BCD處理。</p><p>  當系統(tǒng)完成對全部數(shù)據(jù)的BCD處理,則返回主程序。至此,系統(tǒng)完成對DS1302時鐘日歷信息的一次讀?。粗鞒绦蛲瓿蓪ψ映绦虻恼{用)。</p><p>  圖十三 打鈴器設置流程圖</p><p><b>  系統(tǒng)功能介紹及調試</b></

83、p><p>  該課題是基于單片機設計的自動打鈴器,如今,單片機在生活的中的應用極為廣泛,使用起來也比較簡單,易于使用者接受。</p><p><b>  打鈴器功能簡介</b></p><p>  具備一般電子時鐘的功能;</p><p>  能進行多點時間的定時以及定時時間到自動打鈴;</p><p&

84、gt;  能通過鍵盤查看各定點時間;</p><p><b>  打鈴器優(yōu)點</b></p><p>  自動打鈴器的出現(xiàn)解決了人為打鈴的煩惱,基于單片機的自動打鈴器還有很多優(yōu)點:</p><p><b>  應用廣泛;</b></p><p><b>  操作簡單;</b>&

85、lt;/p><p><b>  計時準確;</b></p><p><b>  編程方便;</b></p><p><b>  價格低廉;</b></p><p><b>  制作快捷;</b></p><p><b>  打

86、鈴器缺點與不足</b></p><p>  提示音是刺耳、單調的機械鈴聲;</p><p>  鈴聲響起之后一分鐘才能停止。</p><p><b>  系統(tǒng)調試</b></p><p><b>  硬件調試</b></p><p>  在單片機開發(fā)過程中,從硬件

87、設計到軟件設計幾乎是開發(fā)者針對本系統(tǒng)特點親自完成的。這樣雖然可以降低系統(tǒng)成本,提高系統(tǒng)的適應性,但是每個系統(tǒng)的調試占去了總開發(fā)時間的2/3,可見調試的工作量比較大。單片機系統(tǒng)的硬件調試和軟件調試是不能分開的,許多硬件錯誤是在軟件調試中被發(fā)現(xiàn)和糾正的。但通常是先排除明顯的硬件故障以后,再和軟件結合起來調試以進一步排除故障??梢娪布恼{試是基礎,如果硬件調試不通過,軟件設計則是無從做起。</p><p><b&

88、gt;  軟件調試</b></p><p>  軟件調試是一個很講究方法的工作,好的方法能讓一些復雜的問題變的出乎意料的簡單。反之,如果方法不當則會一籌莫展。</p><p>  keil的軟件仿真器,就提供了一個"輸出型"調試功能(對于信號輸出都可以在那里直接得到仿真驗證),對于有外部輸入信號的調試,只能在相關硬件上去調試了。將程序載入keil進行模擬仿真

89、,在程序運行沒有錯誤之后會產生一個HEX文件,然后在用STC_ISP_V479下載器將HEX文件下載到單片機芯片中,進行實物仿真。</p><p><b>  結束語</b></p><p>  單片機在目前的發(fā)展形勢下,表現(xiàn)出幾大趨勢: </p><p>  ·可靠性及應用越來越水平高和互聯(lián)網連接已是一種明顯的走向。 </p&

90、gt;<p>  ·所集成的部件越來越多;NS(美國國家半導體)公司的單片機已把語音、圖象部件也集成到單片機中,也就是說,單片機的意義只是在于單片集成電路,而不在于其功能了;如果從功能上講它可以講是萬用機。原因是其內部已集成上各種應用電路。 </p><p>  ·功耗越來越低和模擬電路結合越來越多。 </p><p>  ·隨著半導體工藝技術的

91、發(fā)展及系統(tǒng)設計水平的提高,單片機還會不斷產生新的變化和進步,最終人們可能發(fā)現(xiàn):單片機與微機系統(tǒng)之間的距離越來越小,甚至難以辨認。</p><p><b>  參考文獻</b></p><p>  何立民 《單片機應用與技術大全》 北京航空航天大學</p><p>  張毅剛 《單片機原理及接口技術》 哈工大出版社</p&g

92、t;<p>  劉國榮 《單片微型計算機技術》 機械工業(yè)出版社</p><p>  房小翠 《單片機實用系統(tǒng)設計技術》 國防工業(yè)出版社</p><p>  何立民 《單片機應用系統(tǒng)設計》 北航出版社</p><p>  王迎旭 《單片機原理及及應用》 機械工業(yè)出版社</p><p>  趙

93、曉安 《MCS-51單片機原理及應用》 天津大學出版社</p><p>  肖洪兵 《跟我學用單片機》 北京航空航天大學出版社</p><p>  何橋 《單片機應用與原理》 中國鐵道出版社</p><p>  周航慈 《單片機應用程序設計技術》 北京航空航天大學出版社</p><p>  WEI

94、 Hongli. Design of a bus stop reporter[J]. JOURNAL of XI’AN </p><p>  INSTITUTE OF TECHNOLOGY. 2003</p><p><b>  致謝</b></p><p>  本設計是在指導老師**老師親切關懷和悉心指導下完成。在整個畢業(yè)設計的過程中,**老

95、師花了大量的時間對我進行了悉心的指導和幫助,并不斷地提出了修改和完善報告、論文的寶貴意見。</p><p>  非常感謝**老師在設計中耐心的指導和對設計報告一次又一次細心的修改!同時也要感謝同組的幾位同學,感謝他們能和我在設計階段共同學習、共同進步!</p><p>  在畢業(yè)設計中我遇到了很多難題,從一開始拿到課題,到最后完成課題,**老師給我提供莫大的幫助,每次遇到很難解決的問題時,

96、**老師總能耐心的給我講解,**老師平時工作繁多,但在我畢業(yè)設計的每個階段,從查閱資料,設計草案的確定和修改,到中期檢查,后期詳細設計,裝配草圖等整個過程中都給予了我悉心的指導。我的設計較為復雜煩瑣,但是**老師仍然細心的對我指導。除了敬佩**老師的專業(yè)水平外,她的治學嚴謹和科學研究的精神也是我永遠學習的榜樣,并將積極影響我今后的學習和工作。 </p><p>  然后還要感謝大學四年來所有的老師,為我們打下電信

97、專業(yè)知識的基礎;同時還要感謝所有的同學們,正是因為有了他們的支持和鼓勵。此次畢業(yè)設計才會順利完成。 </p><p>  最后感謝我的母校,大學四年來對我的大力栽培。</p><p><b>  附錄</b></p><p><b>  附錄1</b></p><p><b>  程序清單

98、</b></p><p>  /****************************//主程序//********************************/</p><p>  #include<reg52.h></p><p>  #include"ds1302.h"</p><p>

99、  #include"LCD1602.h"</p><p>  #include"key_scan.h"</p><p>  #include"ring_op.h"</p><p>  bit SetFlag; //更新時間標志位</p

100、><p>  unsigned char flag; //顯示界面選擇,為0則顯示日期時間模式,為1則顯示進入鬧鈴設置調時界面,2則調分</p><p>  unsigned char time_buf2[16];</p><p>  //sbit bp=P2^0;</p><p>  sbit BP = P2^0;//Pin6</p&

101、gt;<p>  void UART_Init(void)</p><p><b>  {</b></p><p>  SCON = 0x50; /* SCON: 模式1, 8-bit UART, 使能接收*/</p><p>  TMOD |= 0x20;

102、/* TMOD: timer 1, mode 2, 8-bit reload*/</p><p>  TH1 = 0xFD; /* TH1: reload value for 9600 baud @ 11.0592MHz */</p><p>  TR1 = 1; /* TR1: timer 1 run */<

103、;/p><p>  EA = 1; /*打開總中斷*/</p><p>  ES = 1; /*打開串口中斷*/</p><p><b>  }</b></p><p><b>  main()</b&

104、gt;</p><p><b>  {</b></p><p>  unsigned char i;</p><p>  UART_Init();</p><p>  P0=0; //取顯示數(shù)據(jù),屏蔽數(shù)碼管顯示</p><p>  ds1302_in

105、it(); /*DS302初始化函數(shù)*/</p><p>  ds1302_write_time();</p><p>  InitLcd(); //初始化LCD</p><p>  DelayMs(15); //延時用于穩(wěn)定功能</p>&l

106、t;p>  flag=0;n=1;ring_open=0;</p><p><b>  BP=1;</b></p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  ds1302_read_time();

107、 //讀取時鐘信息</p><p>  for(i=1;i<8;i++)</p><p>  TempData[i]=time_buf1[i];</p><p>  keyscan();</p><p>  disp(); //液晶顯示時間信息</p>

108、<p>  if(flag==1)</p><p><b>  {</b></p><p><b>  if(a<=1)</b></p><p><b>  {</b></p><p>  ShowString(0,FirstLine1);//時:分:秒&

109、lt;/p><p>  ShowString(1,SecondLine1);</p><p><b>  a++;</b></p><p><b>  }</b></p><p>  WriteCommand(0xc6); //時鐘低位地址</p><p>  Wr

110、iteCommand(0x0F); //光標閃動</p><p>  DelayMs(5);</p><p><b>  }</b></p><p>  else if(flag==2)</p><p><b>  {</b></p><p>  WriteCom

111、mand(0xc9); //分鐘低位地址</p><p><b>  } </b></p><p>  ring_on_off();</p><p>  if(SetFlag) //如果接收到串口信息則更新時鐘</p><p><b>  {<

112、;/b></p><p>  for(i=0;i<8;i++)</p><p><b>  {</b></p><p>  time_buf1[i]=time_buf2[2*i]*10+time_buf2[2*i+1]; </p><p>  //數(shù)據(jù)整合,如2個數(shù) 1和5整合成15</p>&

113、lt;p><b>  }</b></p><p>  SetFlag=0; //時鐘信息更新后標志位清零</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }<

114、/b></p><p>  /******************************************************************/</p><p>  /* 串口中斷程序 */</p><p>  /**************

115、****************************************************/</p><p>  void UART_SER (void) interrupt 4 //串行中斷服務程序</p><p><b>  {</b></p><p>  unsigned char Temp;

116、 //定義臨時變量 </p><p>  unsigned char i;</p><p>  if(RI) //判斷是接收中斷產生</p><p><b>  {</b></p><p>  RI=0;

117、 //標志位清零</p><p>  Temp=SBUF; //讀入緩沖區(qū)的值</p><p>  time_buf2[i]=Temp&0x0F;</p><p><b>  i++;</b></p><p>  if(i==16)

118、 //連續(xù)接收16個字符信息</p><p><b>  {</b></p><p><b>  i=0;</b></p><p>  SetFlag=1; //接收完成標志位置1</p><p><b>  }&

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論