畢業(yè)設(shè)計(論文)-基于AT89S51單片機的多功能時鐘設(shè)計.doc_第1頁
畢業(yè)設(shè)計(論文)-基于AT89S51單片機的多功能時鐘設(shè)計.doc_第2頁
畢業(yè)設(shè)計(論文)-基于AT89S51單片機的多功能時鐘設(shè)計.doc_第3頁
畢業(yè)設(shè)計(論文)-基于AT89S51單片機的多功能時鐘設(shè)計.doc_第4頁
畢業(yè)設(shè)計(論文)-基于AT89S51單片機的多功能時鐘設(shè)計.doc_第5頁
已閱讀5頁,還剩26頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

I目錄1緒論.11.1發(fā)展現(xiàn)狀、目的及意義.11.2設(shè)計內(nèi)容.12系統(tǒng)總體設(shè)計.12.1總體框架設(shè)計.12.2設(shè)計與運行環(huán)境.12.3硬件功能描述.13系統(tǒng)硬件設(shè)計.13.1主控模塊AT89S51.13.1.1AT89S51引腳圖.13.1.2AT89S51功能.13.2實時時鐘芯片DS1302.33.2.1DS1302引腳功能.33.2.2DS1302內(nèi)部結(jié)構(gòu)圖.43.2.3DS1302的數(shù)據(jù)輸入輸出.43.2.4DS1302的寄存器.43.3電源模塊的設(shè)計.53.4獨立按鍵模塊.53.5顯示模塊.63.6復(fù)位電路模塊.63.7鬧鈴模塊.74系統(tǒng)軟件設(shè)計.84.1主程序設(shè)計.84.2主程序流程圖.84.3讀DS1302中斷及鬧鈴檢測流程圖.95結(jié)論.10致謝.10參考文獻.12附錄.131緒論11緒論1.1發(fā)展現(xiàn)狀、目的及意義單片機自20世紀70年代問世以來,以其極高的性能價格比,受到人們的重視和關(guān)注,應(yīng)用很廣、發(fā)展很快。單片機具有體積小、重量輕、抗干擾能力強、環(huán)境要求不高、價格低廉、可靠性高、靈活性好、開發(fā)較為容易。單片機是一種集成在電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統(tǒng)、定時器/計時器等功能(可能還包括顯示驅(qū)動電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個小而完善的計算機系統(tǒng)。單片機在出現(xiàn)時,Intel公司就給其單片機取名為嵌入式微控制器(embeddedmicrocontroller)。單片機的最明顯的優(yōu)勢,就是可以嵌入到各種儀器、設(shè)備中。這一點是巨型機和網(wǎng)絡(luò)不可能做到的。單片機在內(nèi)部已集成了越來越多的部件,這些部件包括一般常用的電路,例如:定時器,比較器,A/D轉(zhuǎn)換器,D/A轉(zhuǎn)換器,串行通信接口,Watchdog電路,LCD控制器等。隨著半導(dǎo)體工藝技術(shù)的發(fā)展及系統(tǒng)設(shè)計水平的提高,單片機還會不斷產(chǎn)生新的變化和進步,最終人們可能發(fā)現(xiàn):單片機與微機系統(tǒng)之間的距離越來越小,甚至難以辨認。同時,隨著人們生活節(jié)奏的加快,時鐘已經(jīng)成為人們?nèi)粘I钪械谋匦杵?,許多家用電器都帶著時鐘模塊,而人們也不再滿足于僅僅具有時間顯示功能的時鐘,對時鐘功能的要求也越來越全面,單片機以其強大的功能成為多功能電子時鐘的首選,為電子時鐘的功能擴展提供了強大的支持,實現(xiàn)一物多用,提高電子時鐘的使用價值。當然們不再滿足于電子時鐘的計時顯示功能時語音時鐘在社會生活中已經(jīng)得到了廣泛應(yīng)用,本文探討的系統(tǒng)即為其中一種,給出的實現(xiàn)方案和系統(tǒng)設(shè)計過程中實現(xiàn)的單片機模擬單線總線通信方式,單片機模擬SPI通信方式,有一定參考價值。此外,文中探討的系統(tǒng)也對傳統(tǒng)的語音時鐘做了擴充,增加了數(shù)字溫度計模塊。本設(shè)計詳細介紹了該系統(tǒng)的組成和基本原理,中帶你介紹了硬件設(shè)計的思想和軟件設(shè)計的思路,保證在系統(tǒng)功能齊全,性能良好的前提下,最大限度的簡化電路,降低系統(tǒng)的整體成本,提高系統(tǒng)的可靠性!1.2設(shè)計內(nèi)容基于單片機的多功能時鐘設(shè)計,主要探討了一種帶數(shù)字溫度計的語音時鐘的實現(xiàn)方案。本方案采用單片機AT89S51作為控制單元,與數(shù)字溫度芯片DS18B20接口獲得溫度數(shù)據(jù),與實時時鐘芯片DS1302接口獲得時間/日歷數(shù)據(jù),通過與液晶模塊OCM12864-1接口顯示溫度,時間和日歷。按鍵中斷模塊包含四個按鍵,分別與單片機INT0,INT1,T0,T1引腳連接,實現(xiàn)四個外部中斷源,用以調(diào)整時間和鬧鐘,開關(guān)鬧鐘和控制語音報時。語音報時通過語音芯片ISD4003-4和揚聲器實現(xiàn)。2系統(tǒng)總體設(shè)計12系統(tǒng)總體設(shè)計2.1總體框架設(shè)計系統(tǒng)結(jié)構(gòu)如圖2-1所示。本方案采用單片機AT89S51作為控制單元,與數(shù)字溫度芯片DS18B20接口獲取溫度數(shù)據(jù),與實時時鐘芯片DS1302接口獲取時間/日歷數(shù)據(jù),通過與液晶模塊OCM12864-1接口顯示溫度、時間和日歷。圖1中的按鍵中斷模塊包含了四個按鍵,分別與單片機的INT0,INT1,T0,T1連接,實現(xiàn)四個外部中斷源,用以調(diào)整時間和鬧鐘,開關(guān)鬧鐘和控制語音報時。圖2-1系統(tǒng)結(jié)構(gòu)圖2.2設(shè)計與運行環(huán)境數(shù)字鐘的程序設(shè)計和調(diào)試均在KeiluVision2環(huán)境下完成的。設(shè)計并完成的程序下載至STC89C52單片機后,即可初始化時鐘芯片DS1302從而開始計時,系統(tǒng)開始正常運行。2.3硬件功能描述(1)本設(shè)計采用DS1302實時時鐘芯片來進行計時,并將1302的數(shù)據(jù)輸入單片機進行處理,送入LCD1602液晶顯示屏進行顯示。(2)用四個電位按鍵來實現(xiàn)對電子時鐘的調(diào)試工作,當按第一下總控鍵時進入中斷程序,即時鐘的調(diào)整狀態(tài),有兩個電位按鍵分別來調(diào)整時鐘的加和減;第四個按鍵用來調(diào)整時分秒日月年,按一下調(diào)整秒,連按兩下調(diào)整分,按三下調(diào)整時,四下調(diào)整日,五下調(diào)整月,六下調(diào)整年,七下退出時間設(shè)置。(3)用一個按鍵和其他部件組成的復(fù)位電路與芯片連接來實現(xiàn)整個程序及硬件的重新復(fù)位功能。3系統(tǒng)硬件設(shè)計13系統(tǒng)硬件設(shè)計數(shù)字鐘的電路主要有電源模塊、顯示模塊、按鍵模塊、復(fù)位電路模塊、時鐘芯片模塊、主控芯片STC89C52模塊和鬧鈴模塊等7大模塊組成。3.1主控模塊AT89S51AT89S51是51系列單片機的一個型號,它是ATMEL公司生產(chǎn)的。AT89S51是一個低電壓,高性能CMOS8位單片機,片內(nèi)含8kbytes的可反復(fù)擦寫的Flash只讀程序存儲器和256bytes的隨機存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標準MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單元,功能強大的AT89S51單片機可為您提供許多較復(fù)雜系統(tǒng)控制應(yīng)用場合。AT89S51有40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內(nèi)含2個外中斷口,3個16位可編程定時計數(shù)器,2個全雙工串行通信口,2個讀寫口線,AT89S51可以按照常規(guī)方法進行編程,但不可以在線編程(S系列的才支持在線編程)。其將通用的微處理器和Flash存儲器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲器可有效地降低開發(fā)成本。AT89S51有PDIP、PQFP/TQFP及PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。3.1.1AT89S51引腳圖AT89S51引腳圖如圖3-1:圖3-1AT89S51引腳圖3.1.2AT89S51功能AT89S51為40腳雙列直插封裝的8位通用微處理器,采用工業(yè)標準的C51內(nèi)核,在內(nèi)部功能及管腳排布上與通用的8xc52相同,其主要用于會聚調(diào)整時的功能控制。功能包3系統(tǒng)硬件設(shè)計2括對會聚主IC內(nèi)部寄存器、數(shù)據(jù)RAM及外部接口等功能部件的初始化,會聚調(diào)整控制,會聚測試圖控制,紅外遙控信號IR的接收解碼及與主板CPU通信等。AT89S51的主要管腳有:(1)XTAL1(19腳)和XTAL2(18腳):振蕩器輸入輸出端口,外接12MHz晶振。RST/Vpd(9腳)為復(fù)位輸入端口,外接電阻電容組成的復(fù)位電路。VCC(40腳)和VSS(20腳)為供電端口,分別接+5V電源的正負端;P0P3:為可編程通用I/O腳,其功能用途由軟件定義,在本設(shè)計中,P0端口(3239腳)被定義為N1功能控制端口,分別與N1的相應(yīng)功能管腳相連接,13腳定義為IR輸入端,10腳和11腳定義為I2C總線控制端口,分別連接N1的SDAS(18腳)和SCLS(19腳)端口,12腳、27腳及28腳定義為握手信號功能端口,連接主板CPU的相應(yīng)功能端,用于當前制式的檢測及會聚調(diào)整狀態(tài)進入的控制功能。(2)P0口:P0口是一組8位漏極開路型雙向I/O口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時,每位能吸收電流的方式驅(qū)動8個TTL邏輯門電路,對端口P0寫“1”時,可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。在Flash編程時,P0口接收指令字節(jié),而在程序校驗時,輸出指令字節(jié),校驗時,要求外接上拉電阻。P1口:P1是一個帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。與AT89C51不同之處是,P1.0和P1.1還可分別作為定時/計數(shù)器2的外部計數(shù)輸入(P1.0/T2)和輸入(P1.1/T2EX),P2口:P2是一個帶有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對端口P2寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行MOVXDPTR指令)時,P2口送出高8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲器(如執(zhí)行MOVXRI指令)時,P2口輸出P2鎖存器的內(nèi)容。Flash編程或校驗時,P2亦接收高位地址和一些控制信號。P3口:P3口是一組帶有內(nèi)部上拉電阻的8位雙向I/O口。P3口輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對P3口寫入“1”時,它們被內(nèi)部上拉電阻拉高并可作為輸入端口。此時,被外部拉低的P3口將用上拉電阻輸出電流(IIL)。P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能,P3口還接收一些用于Flash閃速存儲器編程和程序校驗的控制信號。(3)RST:復(fù)位輸入。當振蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高電平將使單片機復(fù)位。3系統(tǒng)硬件設(shè)計3(4)ALE/PROG:當訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時鐘振蕩頻率的1/6輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當訪問外部數(shù)據(jù)存儲器時將跳過一個ALE脈沖。對Flash存儲器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活。此外,該引腳會被微弱拉高,單片機執(zhí)行外部程序時,應(yīng)設(shè)置ALE禁止位無效。(5)PSEN:程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當AT89S51由外部程序存儲器取指令(或數(shù)據(jù))時,每個機器周期兩次PSEN有效,即輸出兩個脈沖。在此期間,當訪問外部數(shù)據(jù)存儲器,將跳過兩次PSEN信號。(6)EA/VPP:外部訪問允許。欲使CPU僅訪問外部程序存儲器(地址為0000HFFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時內(nèi)部會鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲器中的指令。Flash存儲器編程時,該引腳加上+12V的編程允許電源Vpp,當然這必須是該器件是使用12V編程電壓Vpp。(7)XTAL1:振蕩器反相放大器的及內(nèi)部時鐘發(fā)生器的輸入端。(8)XTAL2:振蕩器反相放大器的輸出3.2實時時鐘芯片DS1302DS1302由美國DALLAS公司推出的具有涓細電流充電能力的低功耗實時時鐘電路,它可以對年、月、日、周、日、時、分、秒進行計時,且具有閏年補償?shù)榷喾N功能。DS1302存在時鐘精度不高,易受環(huán)境影響,出現(xiàn)時鐘混亂等缺點。DS1302可以用于數(shù)據(jù)記錄,特別是對某些具有特殊意義的數(shù)據(jù)點的記錄,能實現(xiàn)數(shù)據(jù)與出現(xiàn)該數(shù)據(jù)的時間同時記錄。3.2.1DS1302引腳功能DS1302的引腳排列,其中Vcc1為后備電源,VCC2為主電源。在主電源關(guān)閉的情況下,也能保持時鐘的連續(xù)運行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當Vcc2大于Vcc10.2V時,Vcc2給DS1302供電。當Vcc2小于Vcc1時,DS1302由Vcc1供電。X1和X2是振蕩源,外接32.768kHz晶振。RST是復(fù)位/片選線,通過把RST輸入驅(qū)動置高電平來啟動所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當RST為高電平時,所有的數(shù)據(jù)傳送被初始化,允許對DS1302進行操作。如果在傳送過程中RST置為低電平,則會終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運行時,在Vcc2.0V之前,RST必須保持低電平。只有在SCLK為低電平時,才能將RST置為高電平。I/O為串行數(shù)據(jù)輸入輸出端(雙向),SCLK為時鐘輸入端。3系統(tǒng)硬件設(shè)計43.2.2DS1302內(nèi)部結(jié)構(gòu)圖DS1302內(nèi)部結(jié)構(gòu)圖如圖3-2:圖3-2DS1302內(nèi)部結(jié)構(gòu)圖3.2.3DS1302的數(shù)據(jù)輸入輸出在控制指令字輸入后的下一個SCLK時鐘的上升沿時數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從低位即位0開始。同樣,在緊跟8位的控制指令字后的下一個SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù),讀出數(shù)據(jù)時從低位0位至高位7,數(shù)據(jù)讀寫時序如圖3-3所示:圖3-3DS1302的數(shù)據(jù)輸入輸出3.2.4DS1302的寄存器D

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論