用數(shù)碼管顯示實時日歷時鐘的應用設計_第1頁
用數(shù)碼管顯示實時日歷時鐘的應用設計_第2頁
用數(shù)碼管顯示實時日歷時鐘的應用設計_第3頁
用數(shù)碼管顯示實時日歷時鐘的應用設計_第4頁
用數(shù)碼管顯示實時日歷時鐘的應用設計_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

一、設計內(nèi)容及要求利用DS1302實現(xiàn)年月日時分秒,并用數(shù)碼管顯示。(用proteus實現(xiàn))二、設計原始資料單片機原理及應用教程范立南2006年1月單片機原理及應用教程劉瑞新2003年07月

三、設計完成后提交的文件和圖表1.計算說明書部分1)方案論證報告打印版或手寫版2)程序流程圖3)具體程序2.圖紙部分:具體電路原理圖打印版四、進程安排教學內(nèi)容學時地點資料查閱與學習討論1天單片機實驗室分散設計5天單片機實驗室編寫報告3天單片機實驗室成果驗收1天單片機實驗室五、主要參考資料《電子設計自動化技術基礎》馬建國、孟憲元編清華大學出版2004年4月《實用電子系統(tǒng)設計基礎》姜威2008年1月《單片機系統(tǒng)的PROTEUS設計與仿真》張靖武2007年4月指導老師成績答辯小組成績總成績摘要本課題通過MCS-51單片機來設計電子時鐘,采用匯編語言進行編程,可以實現(xiàn)以下一些功能:小時,分,秒和年,月,日的顯示。本次設計的電子時鐘系統(tǒng)由時鐘電路,LED顯示電路三部分組成。51單片機通過軟件編程,在LED數(shù)碼管上實現(xiàn)小時,分,秒和年,月,日的顯示;利用時鐘芯片DS1302來實現(xiàn)計時。本文詳細介紹了DS1302芯片的基本工作原理及其軟件設計過程,運用PROTEUS軟件進行電路連接和仿真,同時還介紹了74LS164,通過它來實現(xiàn)I|O口的擴展。關鍵詞:時鐘芯片,仿真軟件,74LS164目錄前言0.1設計思路………..80.2研究意義……….8一、時鐘芯片1.1了解時鐘芯片……………….8-91.2掌握時鐘芯片的工作原理………………….10-11二、74LS1642.1了解74LS164………………..11-122.2掌握的74LS164工作原理………………….12三、數(shù)碼管3.1熟悉常用的LED數(shù)碼管.……12-133.2了解動態(tài)顯示與靜態(tài)顯示………………….13四、程序設計4.0程序流程圖…………………..144.1DS1392的驅動……………….15-164.2PROTUES實現(xiàn)電路連接…….174.3數(shù)碼管的顯示:小時;分;秒……………….184.4數(shù)碼管顯示:年;月;日……19五、總結…………………..20-21六、附頁程序………………22-31前言單片機自20世紀70年代問世以來,以其極高的性能價格比,受到人們的重視和關注,應用很廣、發(fā)展很快。單片機體積小、重量輕、抗干擾能力強、環(huán)境要求不高、價格低廉、可靠性高、靈活性好、開發(fā)較為容易。由于具有上述優(yōu)點,單片機的使用領域已十分廣泛,已經(jīng)遠遠超出了計算機科學的領域,小到玩具,信用卡,大到航天器,機器人,從實現(xiàn)數(shù)據(jù)采集,過程控制,模糊控制等智能控制到人類的日常生活,可以說,在人們的生活生產(chǎn)中都離不開單片機,又如智能儀表、實時工控、通訊設備、導航系統(tǒng)、家用電器,電子萬年歷,到計時器,定時器,計數(shù)器,頻率計,電子秤,電子血壓表等。各種產(chǎn)品一旦用上了單片機,就能起到使產(chǎn)品升級換代的功效,常在產(chǎn)品名稱前冠以形容詞——“智能型”,“電腦型”,如智能型洗衣機,電腦溫控冰箱等

0.1研究思路電子時鐘的理論基礎主要涉及了51單片機應用中的數(shù)據(jù)轉換顯示,數(shù)碼管顯示原理。另外,也涉及到了單片機的動態(tài)掃描顯示原理等一些內(nèi)容。單片機體積小、重量輕、可靠性高、靈活性好、開發(fā)較為容易。它功能強大,提供了相當多的相關功能模塊,所以使用非常方便,用51單片機和DS1302來設計電子時鐘是完全可行的,基于MCS-51的電子時鐘設計,首先要有明確的設計目的和設計方案,要設計出硬件總體框架圖,經(jīng)過資料的查找,得到流程圖。0.2研究的意義通過MCS-51電子時鐘的設計,可以對51單片機有了更加深刻的認識,對其各個引腳功能掌握的更為透徹。也再次認識到單片機的應用具有使用范圍廣的特點,對各個行業(yè)的技術改造和產(chǎn)品智能化的更新?lián)Q代起著重要的推動作用。由于設計的電子時鐘起定時,計時作用,所以在設計過程中,可以很好的了解其原理,掌握時鐘芯片的結構和實現(xiàn)方法。在設計電子時鐘的過程中,需要完成硬件設計和軟件設計,所以需要設計電路硬件原理圖。在繪制原理圖過程中,再次對PROTEL99軟件進行了熟悉和復習,對軟件中的各個文件編輯器進行了掌握,并且知道了在原理圖設計和繪制時,要對元件有合理的布局和放置。另外,通過這次研究,在自己動手設計硬件原理圖和軟件編程的過程中,可以很好的了解到電子時鐘的總體設計過程和功能的實現(xiàn)過程,自己著手硬件和軟件的制作,一定程度上提高了自己的動手能力和解決問題的能力。1.1了解時鐘芯片DS1302是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實時時鐘電路,它可以對年、月、日、周日、時、分、秒進行計時,具有閏年補償功能,工作電壓為~。采用三線接口與CPU進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。DS1302內(nèi)部有一個31×8的用于臨時性存放數(shù)據(jù)的RAM寄存器。DS1302是DS1202的升級產(chǎn)品,與DS1202兼容,但增加了主電源/后背電源雙電源引腳,同時提供了對后背電源進行涓細電流充電的能力2.1引腳功能及結構,下圖為DS1302的引腳功能圖(1):DS130的內(nèi)部結構DS1302的部引腳功能說明如圖3示:X1,X23278kHz振引腳GND地RST復位I/O數(shù)據(jù)輸入/輸出SCLK串行時鐘VCC1電池引腳圖(1)DS1302有下列幾組寄存器:①DS1302有關日歷時間的寄存器共有12個其中有7個寄存器(讀時81h~8Dh寫時80h~8Ch存放的數(shù)據(jù)格式為BCD碼形式,如表(2)所示。表(2)②DS1302有關RAM的地址DS1302中附加31字節(jié)靜態(tài)RAM的地址如表(3)所示。表(3)③DS1302的工作模式寄存器所謂突發(fā)模式是指一次傳送多個字節(jié)的時鐘信號和RAM數(shù)據(jù),突發(fā)模式寄存器如表(4)所示。表(4)1.2掌握時鐘芯片的工作原理DS102工作時為了對任何數(shù)據(jù)傳送進行初始化,需要將復位腳(RST)置為高電平且將8位地址命令信息裝入移位寄存器。數(shù)據(jù)在時鐘(SCLK)的上升沿串行輸入,前8位指定訪問地址命令字裝入移位寄存器后在之后的時鐘周期讀操作時輸出數(shù)據(jù)寫操作時輸出數(shù)據(jù)時鐘脈沖的個數(shù)在單字節(jié)方式下為8+8位地+8位數(shù)據(jù)在多字節(jié)方式下為8加最多可28的數(shù)據(jù)。DS130的寄存器和控制命令對02的操作是對其內(nèi)部寄存器的操作,DS130內(nèi)部共有1個寄存器,其中有7個寄存器與日歷時鐘相關存放的數(shù)據(jù)位為BCD碼形式此外DS132有年份寄存器、控制寄存器充電寄存器時鐘突發(fā)寄存器及與RAM相的寄存器等時鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器以外的寄存器。DS102內(nèi)部的RAM分為兩類,一類是單個RAM單元,共31,每個單元為一個8位的字節(jié)其命令控制字為COH~FDH其中奇數(shù)為讀操作偶數(shù)為寫操作再一類為突發(fā)方式下的RA,此方式下可一次性讀寫所有的RAM的1個節(jié),命令控制字為FEH(寫、FFH(讀。我們在已經(jīng)知道了控制寄存器和RAM邏輯地址接著就需要知道如何通過外部接口來訪問這些資源。單片機是通過簡單的同步串行通訊與DS1302通的,每次通訊都必須由單片機發(fā)起,無論是讀還是寫操作,單片機都必須先向DS1302寫一個命令幀,這個幀的格式如表所示,最高位BIT7固定為1,BIT6定操作是針對RAM還是時鐘寄存器,接著的5個BIT是RAM或鐘寄存器在DS1302的部地址最后一個BIT示這次操作是讀操作抑或是寫操作。物理,DS1302通訊接口由3個口線組成,即RST,SCL,I/。其中RST從低電平變成高電平啟動一次數(shù)據(jù)傳輸過程,SCLK是時鐘線,I/O是數(shù)據(jù)線。具體的讀寫時序參考下圖,但是請注意,無論是哪種同步通訊類型的串行接口,都是對時鐘信號敏感的,而且一般數(shù)據(jù)寫入有效是在上升沿,讀出有效是在下降沿(DS1302正是如此的,但是在芯片手冊里沒有明確說明,果不是特別確定,則把程序設計成這樣:平時SCLK保持低電平,在時鐘變動前設置數(shù)據(jù),在時鐘變動后讀取數(shù)據(jù),即數(shù)據(jù)操作總是在SCLK保持為低電平的時候,相鄰的操作之間間隔有一個上升沿和一個下降沿。二、74LS1642.1了解74LS164在單片機系統(tǒng)中,如果并行口的IO資源不夠,而串行口又沒有其他的作用,那么我們可以用74LS164來擴展并行IO口,節(jié)約單片機資源。74LS164是一個串行輸入并行輸出的移位寄存器。并帶有清除端。其中;Q0—Q7并行輸出端。A,B串行輸入端。MR清除端,為0時,輸出清零。CP時鐘輸入端。74LS164引腳定義74LS164邏輯表表(5)74LS164電路原理:74ls164參考實驗照片:表(6)2.2掌握的74LS164工作原理當清除端(CLEAR)為低電平時,輸出端(QA-QH)均為低電平。串行數(shù)據(jù)輸入端(A,B)可控制數(shù)據(jù)。當A、B任意一個為低電平,則禁止新數(shù)據(jù)輸入,在時鐘端(CLOCK)脈沖上升沿作用下Q0為低電平。當A、B有一個為高電平,則另一個就允許輸入數(shù)據(jù),并在CLOCK上升沿作用下決定Q0的狀態(tài)。三、數(shù)碼管3.1熟悉常用的LED數(shù)碼管LED數(shù)碼管(LEDSegmentDisplays)是由多個發(fā)光二極管封在在一起組成“8”字型的器件,引線已在內(nèi)部連接完成,只需引出它們的各個筆劃,公共電極。LED數(shù)碼管常用段數(shù)一般為7段有的另加一個小數(shù)點,還有一種是類似于3位“+1”型。位數(shù)有半位,1,2,3,4,5,6,8,10位等等....,LED數(shù)碼管根據(jù)LED的接法不同分為共陰和共陽兩類,了解LED的這些特性,對編程是很重要的,因為不同類型的數(shù)碼管,除了它們的硬件電路有差異外,編程方法也是不同的。右圖什陰和共陽極數(shù)碼管的內(nèi)部電路,它們的發(fā)光原理是一樣的,只是它們的電源極性不同而已。顏色有紅,綠,藍,黃等幾種。常用LED數(shù)碼管內(nèi)部引腳圖片

圖1這是一個7段兩位帶小數(shù)點10引腳的LED數(shù)碼管。

圖1這是一個7段兩位帶小數(shù)點10引腳的LED數(shù)碼管

圖2

引腳定義每一筆劃都是對應一個字母表示DP是小數(shù)點3.2了解動態(tài)顯示與靜態(tài)顯示LED數(shù)碼管要正常顯示,就要用驅動電路來驅動數(shù)碼管的各個段碼,從而顯示出我們要的數(shù)位,因此根據(jù)LED數(shù)碼管的驅動方式的不同,可以分為靜態(tài)式和動態(tài)式兩類。A、靜態(tài)顯示驅動:

靜態(tài)驅動也稱直流驅動。靜態(tài)驅動是指每個數(shù)碼管的每一個段碼都由一個單片機的I/O埠進行驅動,或者使用如BCD碼二-十進位解碼器解碼進行驅動。靜態(tài)驅動的優(yōu)點是編程簡單,顯示亮度高,缺點是占用I/O埠多,如驅動5個數(shù)碼管靜態(tài)顯示則需要5×8=40根I/O埠來驅動,要知道一個89S51單片機可用的I/O埠才32個呢。故實際應用時必須增加解碼驅動器進行驅動,增加了硬體電路的復雜性。B、動態(tài)顯示驅動:

數(shù)碼管動態(tài)顯示介面是單片機中應用最為廣泛的一種顯示方式之一,動態(tài)驅動是將所有數(shù)碼管的8個顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個數(shù)碼管的公共極COM增加位元選通控制電路,位元選通由各自獨立的I/O線控制,當單片機輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于單片機對位元選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位元就顯示出字形,沒有選通的數(shù)碼管就不會亮。四、程序設計程序流程圖:開始啟動ds11302把數(shù)據(jù)存到8051的緩存區(qū)數(shù)據(jù)通過74ls164串行輸出數(shù)據(jù)通過74ls164串行輸出判斷有無中斷判斷有無中斷有中斷顯示年;月;日有中斷顯示年;月;日沒有中斷,顯示小時;分;秒結束結束4.1DS1392的驅動SORG0000HJMPMAINMAIN:CALLINITSJMP$WRB:MOV40H,#8LPW:MOVA,BRRCAMOVB,AMOVSIO,CSETBSCLKCLRSCLKDJNZ40H,LPWRETRDB:MOV40H,#8LRB:MOVC,SIORRCASETBSCLKCLRSCLKDJNZ40H,LPRRETRTIME:MOVR0,#30HMOVR7,#7MOVR1,#80HLPRT:CLRRSTCLRSCLKSETBRSTMOVB,R1CALLWRBCALLRDBMOV@R0,AINCR0INCR1INCR1SERBSCLKCLRRSTDJNZR7,LPRTRETEND4.2PROTUES實現(xiàn)電路連接4.3數(shù)碼管的顯示:小時;分;秒通過開關來切換小時;分;秒到年;月;日4.4數(shù)碼管顯示年;月;日五、總結兩個星期的單片機課程設計很快就結束了,在這兩周當中,雖然開始有點困難,但是經(jīng)過我們們分工合作,合理地進行設計安排,再加上老師的耐心指導,我們們終于順利地完成了本次單片機課程設計,同時也學到了很多東西。在本次課程設計中,我們通過動手實踐操作,進一步學習和掌握了單片機原理的有關知識,特別是程序的編程方面,加深了對單片機原理及應用技術的認識,進一步鞏固了對單片機知識的理解,掌握簡單單片機應用系統(tǒng)的設計、制作、調試的方法。在設計時根據(jù)課題要求,復習相關的知識,查詢相關的資料。根據(jù)實驗條件,找到適合的方案,找到需要的元器件及工具,進行實驗。這次的單片機課程設計重點是通過實踐操作和理論相結合,提高動手實踐能力,提高科學的思維能力,更在一周的時間了解了更多的有關單片機的知識,使知識更加豐富,使自己更加充實。與此同時,我們也對團隊分工合作有了進一步的認識,只有通過合理的分工合作,我們們才能夠在短短一周的時間內(nèi)完成設計任務,相信這對以后在社會上工作和學習會有很多幫助,讓我們能更好的進入工作狀態(tài)。最重要的是,這次課程設計也增加了我們對問題的研究和探討,在我們以后的學習中會有更多的幫助。單片機作為我們們的主要專業(yè)課之一,雖然在大三開學初我們對這門課并沒有什么興趣,覺得那些程序枯燥乏味,但在這次課程設計后我們發(fā)現(xiàn)自己在一點一滴的努力中對單片機的興趣也在逐漸增加。作為一名電氣專業(yè)的大三學生,我們覺得做單片機課程設計是十分有意義的,而且是十分必要的。雖然過去從未獨立應用過它們,但在學習的過程中帶著問題去學我們發(fā)現(xiàn)效率很高,這是我們做這次課程設計的又一收獲。然后,要做好一個課程設計,就必須做到:在設計程序之前,對所用單片機的內(nèi)部結構有一個系統(tǒng)的了解,知道該單片機內(nèi)有哪些資源;要有一個清晰的思路和一個完整的的軟件流程圖;在設計程序時,不能妄想一次就將整個程序設計好,反復修改、不斷改進是程序設計的必經(jīng)之路;要養(yǎng)成注釋程序的好習慣,一個程序的完美與否不僅僅是實現(xiàn)功能,而應該讓人一看就能明白你的思路,這樣也為資料的保存和交流提供了方便;在設計課程過程中遇到問題是很正常的,但我們們應該將每次遇到的問題記錄下來,并分析清楚,以免下次再碰到同樣的問題的課程設計結束了,但是從中學到的知識會讓我們受益終身。在設計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固。我們們通過查閱大量有關資料,并在小組中互相討論,交流經(jīng)驗和自學,若遇到實在搞不明白的問題就會及時請教老師,使自己學到了不少知識,也經(jīng)歷了不少艱辛,但收獲同樣巨大。通過這次課程設計我們也發(fā)現(xiàn)了自身存在的不足之處,雖然感覺理論上已經(jīng)掌握,但在運用到實踐的過程中仍有意想不到的困惑,經(jīng)過一番努力才得以解決。在完成單片機課程設計后,我們們發(fā)現(xiàn)我們們還有許多不足,所學到的知識還遠遠不夠,以至于還有一些功能不能被動完成。但通過學習這一次實踐,增強了我們們的動手能力,提高和鞏固了單片機方面的知識,特別是軟件方面。從中增強了我們們的團隊合作精神,并讓我們們認識到把理論應用到實踐中去是多么重要.六、附頁程序程序:IOEQUP1.0;實時時鐘數(shù)據(jù)線引腳SCLKEQUP1.1;實時時鐘時鐘線引腳RSTEQUP1.2;實時時鐘復位線引腳SECONDEQU40HMINUTEEQU41HHOUREQU42HDAYEQU43HMONTHEQU44HWEEKEQU45HYEAREQU46HORG0000HJMPMAINORG0003HjmpINT_0ORG0020HMAIN:CLRIT0SETBEX0SETBEALCALLGET;從DS1302讀取時間DISPALY:MOVa,40H;顯示秒ANLa,#0FH;低位保留lcallwwwlcalldelaymova,40hanla,#0f0hswapa;高位低位互換lCALLaaalcalldelayMOVa,41H;顯示分ANLa,#0FH;低位保留lcallwwwflcalldelaymova,41hanla,#0f0hswapa;高位低位互換lCALLaaaflcalldelayMOVa,42H;顯示時ANLa,#0FH;低位保留lcallwwwslcalldelaymova,42hanla,#0f0hswapa;高位低位互換lCALLaaaslcalldelayljmpmainsjmp$INT_0:MOVa,43H;顯示日ANLa,#0FH;低位保留lcallwwwrmova,43hanla,#0f0hswapa;高位低位互換lCALLaaarlcalldelayMOVa,44H;顯示月ANLa,#0FH;低位保留lcallwwwylcalldelaymova,44hanla,#0f0h;高位低位互換swapalCALLaaaylcalldelayMOVa,46H;顯示年ANLa,#0FH;低位保留lcallwwwnlcalldelaymova,46hanla,#0f0hswapa;高位低位互換lCALLaaanlcalldelayRETI;把寄存器中的內(nèi)容傳給74ls164的子程序www:;給秒的低四位數(shù)碼管賦值mov49h,#8hlcallL0eee:jbacc.7,rrrjmptttrrr:ttt:rladjnz49h,eeeretaaa:;給秒的高四位數(shù)碼管賦值mov49h,#8hlcallL0sss:jbacc.7,dddjmpfffddd:fff:rladjnz49h,sssretwwwf:;給分的低四位數(shù)碼管賦值mov49h,#8hlcallL0eeef:jbacc.7,rrrfjmptttfrrrf:tttf:rladjnz49h,eeefretaaaf:;給分的高四位數(shù)碼管賦值mov49h,#8hlcallL0sssf:jbacc.7,dddfjmpffffdddf:ffff:rladjnz49h,sssfretwwws:;給時的低四位數(shù)碼管賦值mov49h,#8hlcallL0eees:jbacc.7,rrrsjmptttsrrrs:ttts:rladjnz49h,eeesretaaas:;給時的高四位數(shù)碼管賦值mov49h,#8hlcallL0ssss:jbacc.7,dddsjmpfffsddds:fffs:rladjnz49h,ssssretwwwr:;給日的低四位數(shù)碼管賦值mov49h,#8hlcallL0eeer:jbacc.7,rrrrjmptttrrrrr:tttr:rladjnz49h,eeerretaaar:;給日的高四位數(shù)碼管賦值mov49h,#8hlcallL0sssr:jbacc.7,dddrjmpfffrdddr:fffr:rladjnz49h,sssrretwwwy:;給月的低四位數(shù)碼管賦值mov49h,#8hlcallL0eeey:jbacc.7,rrryjmptttyrrry:ttty:rladjnz49h,eeeyretaaay:;給月的高四位數(shù)碼管賦值mov49h,#8hlcallL0sssy:jbacc.7,dddyjmpfffydddy:fffy:rladjnz49h,sssyretwwwn:;給年的低四位數(shù)碼管賦值mov49h,#8hlcallL0eeen:jbacc.7,rrrnjmptttnrrrn:tttn:rladjnz49h,eeenretaaan:;給年的高四位數(shù)碼管賦值mov49h,#8hlcallL0sssn:jbacc.7,dddnjmpfffndddn:fffn:rladjnz49h,sssnretdelay:;延時60ms mov47h,#60lop11: mov48h,#0ffhlop22: nop nop djnz48h,lop22 djnz47h,lop11 ret;判斷時鐘每位是幾(1,2,3,4,5,6,7,8,,9,)L0: cjnea,#0h,L1 mova,#0c0h retL1: cjnea,#1h,L2 mova,#0f9h retL2: cjnea,#2h,L3 mova,#0a4h retL3: cjnea,#3h,L4 mova,

溫馨提示

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

評論

0/150

提交評論