基于51單片機的電子鐘設計匯總_第1頁
基于51單片機的電子鐘設計匯總_第2頁
基于51單片機的電子鐘設計匯總_第3頁
基于51單片機的電子鐘設計匯總_第4頁
基于51單片機的電子鐘設計匯總_第5頁
已閱讀5頁,還剩19頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

桂林電子科技大學課程設計(論文)報告用紙 摘 要本次的課程設計基于單片機技術原理,以美國ATMEL公司開發的AT89S52芯片作為核心控制器。通過硬件電路的制作及軟件程序的編制,設計制作了一種具有復位、校時功能的數字時鐘系統。利用1602液晶同時顯示提示信息和時間信息,用戶可通過系統上的按鍵對時間進行調整,實現實時的時鐘顯示。本次設計的硬件由主控模塊、復位模塊以及顯示模塊構成。復位模塊主要由電阻、電容、按鍵和發光二極管組成而顯示模塊則由1602字符液晶構成,用于顯示提示信息和實時時鐘。關鍵詞: AT89S52;LCD 1602; 實時時鐘 AbstractThe curriculum design is based on the principles of microcomputer technology and has adapted the AT89S52 chip developed by the ATMEL company of American as the core controller. A digital clock system with the functions of both reset and time adjustment is realised by the hardware circuit board making and the software programming. LCD 1602 is used to display the prompt and time information. The users can adjust time through the buttons on the system with the purpose of the real-time displaying. The reset module is made up of the resistance, capacitance, small button and light-emitting diode while the display module is mainly realized through the LCD 1602 to display the relative information including prompt and real-time clock message.Key words: AT89S52, LCD 1602, Real-time clock目 錄引言1一 系統功能設計21.1 系統概述21.2 單元電路設計概述2二 系統方案設計及各模塊原理32.1 AT89S52核心模塊32.1.1 AT89S52單片機簡介42.1.2 AT89S52主要性能52.2 復位模塊62.2.1 復位電路組成62.2.2 復位電路分析62.3 顯示模塊72.3.1 1602液晶簡介72.3.2 1602引腳說明7三 系統程序設計8四 印制電路板的設計與制作94.1 印刷電路板的布線設計94.2 印刷電路板的制作9五 電路板的調試9六 總結10謝 辭11參考文獻12附 錄13 桂林電子科技大學課程設計(論文)報告用紙 第 21 頁 共 19 頁引言單片機是一種采用超大規模集成電路技術把具有數據處理能力的中央處理器CPU,隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統、定時器/計數器等集成到一塊硅片上構成一個小而完善計算機系統的集成電路芯片。目前單片機已經滲透到我們生活的各個領域,幾乎很難找到某個領域沒有單片機的蹤跡了。自導彈的導航裝置,飛機上各種儀表的控制,計算機的網絡通訊與數據傳輸,工業自動化過程的實時控制和數據處理,到廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統,錄像機、攝像機、全自動洗衣機的控制,以及程控玩具、電子寵物等等這些都離不開單片機,更不用說自動控制領域的機器人、智能儀表、醫療器械以及各種智能機械了。單片機,“麻雀雖小,五臟俱全”,在科技高速發展的今天,由單片機自由發揮的舞臺更加寬廣,現已明顯的朝著巨型化,單片化和網絡化方向發展。因此在大學階段打好基礎,為今后真正學會并靈活運用好單片機做好充分的準備,是我們每一個電子信息類專業大學生義不容辭的責任。本著學以致用的原則,本次課程設計我從實際生活出發,結合單片機原理和技術理論的學習,設計制作了一個電子時鐘,通過液晶顯示時間,希望經過簡單電子制作的程序,在實際動手做板和軟件編程過程中,體會單片機強大功能的同時提高自己動手的能力。一 系統功能設計1.1 系統概述根據所學過的有關電子電路和單片機方面的相關知識,以AT89S52單片機芯片為核心控制器件,采用LCD1602 字符液晶顯示時間。在單片機外圍設置四個按鍵,其中三個用于調整時間還有一個用于完成復位操作。整個系統功能設計利用單片機內部16位定時/計數器實現定時,每經過1秒的時間,單片機會控制秒變量加1,加到60秒時,分變量加1,分變量加到60時,時變量加1,時變量加到24時,返回00繼續計時,從而實現了電子時鐘的基本走時功能。用AT89S52單片機芯片作為主控制器,使用其內部16位定時器的定時功能和其可位尋址的IO端口控制各個輸入輸出設備,用晶振作為單片機時鐘脈沖的輸入電路。LCD1602字符液晶作為輸出設備,顯示所有的時鐘和用戶在編程時所設置的初始提示信息。按鍵作為輸入設備,用于輸入和修改時鐘信息。 電路的基本工作原理是:晶振為單片機提供走時所需要的時鐘脈沖,使其能夠逐條地執行內存中的程序。16位定時器提供時間的累加,并將這種累加的效果通過字符型液晶1602顯示出來,從而最終實現了一個電子鐘系統的設計。1.2 單元電路設計概述(1) 復位電路電路實現上電自動復位和人工復位,對于51單片機而言,只要復位電路接高電平超過兩個時鐘周期(12M晶振約2us),即可產生復位操作,用10pF電容和10K電阻構成充放電電路,其時間常數超過2us,可實現復位,當按鍵按下時,RESET處產生2us的高電平,從而實現復位功能。(2) 時鐘電路8051內部已有振蕩電路,只需在XTAL1和XTAL2兩個管腳處接一個石英晶振即可。(3)液晶顯示電路 用于顯示時間信息。二 系統方案設計及各模塊原理本電子鐘系統直接采用AT89S52單片機芯片控制時鐘,外圍電路簡單,同時該芯片為用戶提供了良好的編程環境。外圍電路設計包括兩大部分,分別是液晶顯示部分和按鍵控制部分。在設計過程中采用了一個復位和三個對時間進行調整的按鍵。復位按鍵用于對時鐘走時進行復位,調時按鍵用于調整時間。設計的整個過程都采用數字電路,保證了系統工作的可靠性與穩定性。單片機本身使得設置和調時操作更加準確,綜上所述,整體的電路設計思路如下圖1-1所示。圖1-1 系統整體原理圖2.1 AT89S52核心模塊本次課程設計的核心控制器件是美國ATMEL公司生產的AT89S52單片機芯片,它是一種低功耗、高效能CMOS 8位微控制器,具有在系統可編程Flash存儲器。使用高密度非易失性存儲器技術制造,與工業80C51產品指令和引腳完全兼容。片上Flash允許程序存儲器在系統可編程,亦適于常規編程器。在單芯片上,擁有靈巧的8位CPU和在系統可編程Flash,使得該芯片可以為眾多的嵌入式控制應用系統提供了高靈活、超有效的解決方案。2.1.1 AT89S52單片機簡介其引腳結構如下圖2-1-1所示: 圖2-1-1 AT89S52引腳結構圖引腳功能說明:VCC : 電源GND : 接地P0口:P0口是一個8位漏極開路的雙向I/O口。作為輸出口,每位能驅動8個TTL邏輯電平。對其寫“1”時,引腳用作高阻抗輸入。當訪問外部程序和數據存儲器時,P0口也作為低8位地址/數據復用。P1 口:P1 口是一個具有內部上拉電阻的8 位雙向I/O 口,P1 輸出緩沖器能驅動4個TTL 邏輯電平。對P1 端口寫“1”時,內部上拉電阻把端口拉高,此時可以作為輸入口使用。此外,P1.0和P1.2分別作定時器/計數器2的外部計數輸入(P1.0/T2)和定時器/計數器2的觸發輸入。P2 口:P2 口是一個具有內部上拉電阻的8 位雙向I/O 口,P2 輸出緩沖器能驅動4個TTL 邏輯電平。對P2 端口寫“1”時,內部上拉電阻把端口拉高,此時可以作為輸入口使用。在訪問外部程序存儲器或用16位地址讀取外部數據存儲器(例如執行MOVX DPTR)時,P2 口送出高八位地址。在使用8位地址(如MOVX RI)訪問外部數據存儲器時,P2口輸出P2鎖存器的內容。在flash編程和校驗時,P2口也接收高8位地址字節和一些控制信號。P3 口:P3 口是一個具有內部上拉電阻的8 位雙向I/O 口,p2 輸出緩沖器能驅動4個TTL 邏輯電平。對P3 端口寫“1”時,內部上拉電阻把端口拉高,此時可以作為輸入口使用。P3口亦作為AT89S52特殊功能使用,如下所示。P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2 (外部中斷0)P3.3 (外部中斷1)P3.4 T0(記時器0外部輸入)P3.5 T1(記時器1外部輸入)P3.6 (外部數據存儲器寫選通)P3.7 (外部數據存儲器讀選通)在flash編程和校驗時,P3口也接收一些控制信號。RST: 復位輸入。晶振工作時,RST腳持續2個機器周期高電平將使單片機復位。ALE/PROG:地址鎖存控制信號(ALE)是訪問外部程序存儲器時,鎖存低8 位地址的輸出脈沖。在flash編程時,此引腳(PROG)也用作編程輸入脈沖。在一般情況下,ALE 以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時器或時鐘使用。PSEN:外部程序存儲器選通信號,當 AT89S52從外部程序存儲器執行外部代碼時,PSEN在每個機器周期被激活兩次,而在訪問外部數據存儲器時,PSEN將不被激活。EA/VPP:訪問外部程序存儲器控制信號。為使能從0000H 到FFFFH的外部程序存儲器讀取指令,EA必須接GND。為了執行內部程序指令,EA應該接VCC。XTAL1:振蕩器反相放大器和內部時鐘發生電路的輸入端。XTAL2:振蕩器反相放大器的輸出端。2.1.2 AT89S52主要性能-與MCS-51單片機產品兼容-8K字節在系統可編程Flash存儲器-1000次擦寫周期-全靜態操作:0Hz33Hz-三級加密程序存儲器-32個可編程I/O口線-三個16位定時器/計數器-八個中斷源-全雙工UART串行通道-低功耗空閑和掉電模式-掉電后中斷可喚醒-看門狗定時器-雙數據指針-掉電標志位2.2 復位模塊對單片機電路而言,復位操作主要是完成單片機內電路的初始化,使其能夠從一種確定的狀態開始運行。根據應用的要求,復位操作通常有兩種基本形式:上電復位和開關復位。上電復位要求接通電源后,自動實現復位操作。而開關復位則要求在電源接通的條件下,在單片機運行期間,如果發生死機,用按鈕開關操作使得單片機復位。2.2.1 復位電路組成本次電子鐘系統的電路設計中,所使用的復位電路如下圖2-2-1所示: 圖2-2-1 復位電路由上圖可知,本系統的復位電路主要由一個10K的電阻、一個10uF的電解電容、一個按鍵和一個發光二極管組成,完成上電和開關復位的功能。2.2.2 復位電路分析由單片機原理的基本知識可知,當單片機的復位引腳RST出現5ms以上的高電平時,就完成了復位操作,但如果RST持續為高電平,單片機就會處于循環復位狀態而無法執行程序,因此就要求單片機復位后能夠脫離復位狀態。本次課程設計所用的上電且開關復位電路即為常用的復位電路,上電后,由于電容充電,使得RST持續一段高電平時間。當單片機已在運行之中時,按下復位鍵也能使得RST持續一段時間的高電平,從而實現了上電且開關復位的操作。2.3 顯示模塊本設計中的顯示模塊主要由1602字符型液晶顯示模塊電路組成,主要用來顯示一行提示信息和時間狀況。2.3.1 1602液晶簡介1602液晶是工業字符型液晶,能夠同時顯示16*2即32個字符(16列2行),LCD字符液晶以及在時鐘系統鐘的顯示電路分別如下圖2-3-1、2-3-所示:圖2-3-1 LCD字符液晶實物圖圖2-3-2 復位電路2.3.2 1602引腳說明1602字符型LCD通常有14或16條引腳線,多出來的2條是背光電源線,VCC(15腳)和地線GND(16腳),其控制原理與14腳的LCD完全一樣,其各引腳功能如下:VCC:接電源;V0: 液晶顯示器對比度調整,接正電源時對比度最弱,接地時對比度最高,經常在使用時配合一個10K的電位器,通過調整以期達到最佳的效果;RS: 寄存器選擇,接高電平時選擇數據寄存器,低電平時選擇指令寄存器;R/W: 讀寫信號線,高電平時進行讀操作,低電平時進行寫操作;E: 使能端,下降沿有效;DB0-DB7: 雙向數據線;BLA: 背光電源正極;BLK: 背光電源負極。三 系統程序設計軟件設計在整個課程設計的過程中起著舉足輕重的作用,通過查閱各種文獻資料,聯系自己所學過的相關知識,將目標分解成一個個子程序模塊,完成了整個程序的編寫,在編程之前,構思好流程圖能達到事半功倍的效果。整個程序的流程圖如下圖3-1-1所示:開始各部件初始化按鍵按下?需要相應?松開鍵?按鍵處理對液晶進行設置結束調整時間YN掃描計數加1YNNY圖3-1-1 流程圖四 印制電路板的設計與制作4.1 印刷電路板的布線設計此過程是用Altium Designer Winter 9.0來完成的。布線的一般流程如下:新建一個工程畫電路原理圖生成網絡表畫PCB圖,進行布線,生成.PCBDoc文件。布線注意事項:(1) 在擺放元件時先按原理圖擺放,再細調位置。(2) 所用的為單面板,故應在底層上布線。(3) 兩根線之間的距離不能太小,在線拐彎處不能用成直角,一般用45度角為宜。(4) 線寬設置在0.60.8毫米,在一些拐角的地方還可以適當地補線,以防止腐蝕的時候將線腐蝕掉或是因為線太細而對電路造成不良影響。(5) 焊盤的半徑設為1.0毫米,便于焊接。4.2 印刷電路板的制作印制電路板制作的一般過程為:把PCB打印出來后,先用砂紙除去銅板外層的氧化銅,在預熱熨斗后,把PCB放到板上,把線熨至銅板上。待銅板冷卻后再將PCB紙從銅板撕下,檢查銅板上有沒有斷線的地方,若有少量,則用油性筆把線給補上!然后,把熨好的銅板放到氯化鐵溶液中。腐蝕完后先進行打孔,再把銅線上的墨去掉。最后,按照PCB圖安插元件,在此過程中要注意有正負極性之分的元器件,比如發光二極管、電解電容等,安裝完器件后進行焊接。五 電路板的調試調試是電路板制作過程中一個至關重要的環節,通過調試可以及時發現存在的問題并進行相應的應答措施,從而達到預定的效果。在本次課程設計中,調試工作可以分為硬件調試和軟件調試,硬件主要是檢查電路連線是否有錯誤,以及在焊接過程中有無虛焊現象,而軟件則是通過將編寫好的程序經過編譯后生成的后綴為.HEX的文件燒錄到單片機芯片中,根據現象適當的修改程序。六 總結經過幾個星期緊張有序的查找資料與實際動手制作電路板的過程,本次的課程設計至此終于將近尾聲。俗話說:“好的開始是成功的一半”,雖然經過整個課設,所掌握的東西并不是特別多,但卻實實在在經歷了一個實物制作的整個流程,將日常生活中習以為常的小物體自己動手做出來與買來的感覺是全然不同的。結果在某種意義上是重要的,但相對而言,過程才是做任何事情的關鍵,通過本次課設,我覺得自己在某些方面的能力得到了一定程度的提高,主要包括以下幾個方面:一 、單片機學習方面 單片機是一門應用與實踐性都很強的學科,很多人都在學習它。但是,學好并不是一件容易的事,對剛剛接觸單片機的我們來說,想盡快掌握并靈活運用更是難上加難,因此,精通單片機對于很多人來說似乎都是一個遙不可及的神話。但是經過本次的課程設計,通過單片機實現一個電子鐘的功能,讓我對學好單片機看到了希望。課程設計雖然結束了,但是從中獲得的很多寶貴經驗在今后無論生活還是學習中都是值得借鑒的。二 、學習態度上科學研究最重要的品質是認真嚴謹踏實,對今后打算通過考研投身科研工作的我來說,在大學階段有意識的培養這種嚴謹的學習態度就顯得至關重要。剛開始可以什么都不懂,但是一定要學會借助一切可以利用的資源去弄懂它,在當今科技高速發展的時代,圖書館、網絡、報刊雜志都是我們身邊寶貴的資源,我們應該學會好好的利用。當遇到模棱兩可的問題時,一定要想辦法去尋找可能的解決方案。三 、為人處事上 “眾人拾柴火焰高”的習語道出了團結合作的重要性,在當今社會,團隊精神具備與否對一個人成長的影響更加突出,當遇到不懂的問題時,通過主動查閱資料或者尋求同學幫助都是不錯的選擇,一個人的精力是有限的,只有學會團隊合作,取長補短,才能夠在有限的時間內達到最高的做事效率,取得最佳的結果。 除了上述幾點之外,最后,我覺得無論做什么事,只要你有足夠的決心與挑戰困難的勇氣,就沒有什么辦不到的。我希望在本次課程設計的基礎上,在大學生活最后的一年多時間里,多動手實踐,上機編程、仿真與調試,爭取在今后的某個階段,能夠真正學好單片機,使得這次的課程設計成為我單片機學習道路上的啟蒙課程。謝 辭經過努力,至此,終于完成了本次的課程設計!在此首先要感謝指導老師給了我們一個自由選題的空間,從而讓我有了一個驗證心中想法的機會。我覺得一個人正是在一次次小小實踐的過程中逐步成長起來的。因此,我想在此向韋老師致以衷心的感謝!另外本次的課程設計也得到了本年級同學覃祖樞、梁芝銘以及學長吳子勇等的熱心幫助與指導,他們在給予我很大幫助和啟示的同時,也讓我對所學的電路以及單片機C語言編程知識有了更深層次的認識與理解。最后,還要將感謝致以二院科協,感謝它給我們提供了各種做板過程中所需要的一切設備和測試儀器!參考文獻1 ISBN 7-81082-496-1/TP181戴勝華 蔣大明等編著單片機原理與運用清華大學出版社2006年6月2 ISBN 978-7-115-17326-3/TP張義和 王敏男等編著例說51單片機(C語言版)人民郵電出版社2009年7月3 ISBN 978-7-81124-448-9劉同法編著單片機C語言編程基礎與實踐北京航空航天大學出版社2009年2月附 錄(1)電路原理圖(2)PCB圖(3)完整程序代碼/*/* 基于51單片機的電子鐘設計程序 */* 功能:在1602字符液晶上顯示時間 */* 作者:李燕 */* 編寫時間:2011年12月 */*/#include /包含單片機寄存器的頭文件sbit RS=P25; /寄存器選擇位,將RS位定義為P2.5引腳sbit RW=P26; /讀寫選擇位,將RW位定義為P2.6引腳sbit E=P27; /使能信號位,將E位定義為P2.7引腳sbit S1=P22;sbit S2=P21;sbit S3=P20;unsigned char code digit =; /定義字符數組顯示數字unsigned char code string =Beijing Time; /定義字符數組顯示提示信息unsigned char count; /定義變量,統計中斷累計次數unsigned char s,m,h; /定義變量儲存秒、分鐘和小時/*/函數功能:延時若干毫秒入口參數:n*/void delay (unsigned char n) unsigned char i, j; for(i=0;i100;i+) for(j=0;jn;j+); /*函數功能:將模式設置指令或顯示地址寫入液晶模塊入口參數:dictate*/void WriteInstruction (unsigned char dictate) RS=0; /根據規定,RS和R/W同時為低電平時,可以寫入指令 RW=0; E=0; /E置低電平,讓其從0到1發生正跳變,所以應先置0 P0=dictate; /將數據送入P0口,即寫入指令或地址 E=1; /E置高電平 E=0; /當E由高電平跳變成低電平時,液晶模塊開始執行命令 /*函數功能:指定字符顯示的實際地址入口參數:x*/ void WriteAddress(unsigned char x) WriteInstruction(x|0x80); /顯示位置的確定方法規定為80H+地址碼x /*函數功能:將數據(字符的標準ASCII碼)寫入液晶模塊入口參數:y(為字符常量)*/ void WriteData(unsigned char y) RS=1; /RS為高電平,RW為低電平時,可以寫入數據 RW=0; E=0; /E置低電平讓其從0到1發生正跳變,所以應先置0 P0=y; /將數據送入P0口,即將數據寫入液晶模塊 E=1; /E置高電平 E=0; /當E由高電平跳變成低電平時,液晶模塊開始執行命令 /*函數功能:對LCD的顯示模式進行初始化設置*/void LcdInitiate(void) delay(15); /延時一段時間,首次寫指令時應給LCD一段較長的反應時間 WriteInstruction(0x38); /顯示模式設置:162顯示,57點陣,8位數據接口 delay(5); /延時一段時間,給硬件一點反應時間 WriteInstruction(0x38); delay(5); WriteInstruction(0x38); /連續三次,確保初始化成功 delay(5); WriteInstruction(0x0c); /顯示模式設置:顯示開,無光標,光標不閃爍 delay(5); WriteInstruction(0x06); /顯示模式設置:光標右移,字符不移 delay(5); WriteInstruction(0x01); /清屏幕指令,將以前的顯示內容清除 delay(5); /* 函數功能:顯示小時 */ unsigned char i,j; i=h/10; /取整運算,求得十位數字 j=h%10; /取余運算,求得各位數字 WriteAddress(0x44); /寫顯示地址,將十位數字顯示在第2行第5列 WriteData(digiti); /將十位數字的字符常量寫入LCD WriteData(digitj); /將個位數字的字符常量寫入LCD /*函數功能:顯示分鐘*/void DisplayMinute() unsigned char i,j; i=m/10; /取整運算,求得十位數字 j=m%10; /取余運算,求得各位數字 WriteAddress(0x47); /寫顯示地址,將十位數字顯示在第2行第8列 WriteData(digiti); /將十位數字的字符常量寫入LCD WriteData(digitj); /將個位數字的字符常量寫入LCD /*函數功能:顯示秒鐘*/void DisplaySecond() unsigned char i,j; i=s/10; /取整運算,求得十位數字 j=s%10; /取余運算,求得各位數字 WriteAddress(0x4a); /寫顯示地址,將十位數字顯示在第2行第11列 WriteData(digiti); /將十位數字的字符常量寫入LCD WriteData(digitj); /將個位數字的字符常量寫入LCD /*主函數*/ void main(void) unsigned char i; LcdInitiate(); /調用LCD初始化函數 TMOD=0x01; /使用定時器T0的模式1 TH0=(65536-46083)/256; /定時器T0的高8位設置初值 TL0=(65536-46083)%256; /

溫馨提示

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

評論

0/150

提交評論