單片機電子時鐘的設(shè)計報告_第1頁
單片機電子時鐘的設(shè)計報告_第2頁
單片機電子時鐘的設(shè)計報告_第3頁
單片機電子時鐘的設(shè)計報告_第4頁
單片機電子時鐘的設(shè)計報告_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、單片機電子時鐘的設(shè)計目錄1弓i言12設(shè)計任務(wù)與要求22.1. 設(shè)計題目22.2. 設(shè)計要求23系統(tǒng)的功能分析與設(shè)計方案33.1. 系統(tǒng)的主要功能332系統(tǒng)的設(shè)計方案33.3. 數(shù)碼管顯示工作原理43.4. 電路硬件設(shè)計53.4.1. 設(shè)計原理框圖53.4.2. 電源部分53.4.3. 復(fù)位電路63.4.4. 指示燈電路63.4.5. 按鍵電路73.4.6. 時鐘電路73.4.7. 驅(qū)動電路83.4.8. 數(shù)碼管連接電路83.4.9. 主控模塊 at89s5293.4.10. 材料清單103.4.11. 電路原理圖、pcb圖及實物圖113.5. 軟件設(shè)計133.5.1. 軟件設(shè)計流程133.5.

2、2. 完整源程序154系統(tǒng)安裝與調(diào)試214.1. 硬件電路的安裝214.2. 軟件調(diào)試215課程設(shè)計總結(jié)22參考文獻23致謝24摘要單片機自20世紀70年代問世以來,以其極高的性能價格比,受到人們的重視和關(guān)注, 應(yīng)用很廣、發(fā)展很快。單片機體積小、重量輕、抗干擾能力強、環(huán)境要求不高、價格低 廉、可靠性高、靈活性好、開發(fā)較為容易。由于具有上述優(yōu)點,在我國,單片機已廣泛 地應(yīng)用在工業(yè)自動化控制、自動檢測、智能儀器儀表、家用電器、電力電子、機電t本 化設(shè)備等各個方面。這次課程設(shè)計通過對它的學(xué)習(xí)、應(yīng)用,以at89s52芯片為核心,輔 以必要的電路,設(shè)計了一個簡易的單片機電子時鐘,包括硬件電路原理的實現(xiàn)方

3、案設(shè)計、 軟件程序編輯的實現(xiàn)、電子時鐘正常工作的流程、硬件的制作與軟件的調(diào)試過程。電子 時鐘由5.0v直流電源供電,數(shù)碼管能夠比較準確顯示時間,通過按鍵能夠調(diào)整時間,從 而到達學(xué)習(xí)、設(shè)計、開發(fā)軟、硬件的能力。關(guān)鍵詞:單片機;at89s52 ;電子時鐘;數(shù)碼管;按鍵u單片機電子時鐘的設(shè)計1引言1957年,ventuia發(fā)明了世界上第一個電子表,從而奠定了電子時鐘的基礎(chǔ)。隨著時 間的推移,科學(xué)技術(shù)的不斷發(fā)展,人們對時間計量的精度要求越來越高,為了讓時鐘更 好的為人民服務(wù),就要求人們不斷設(shè)計出新型時鐘?,F(xiàn)代的電子時鐘是基于單片機的一 種計時工具,采用延時程序產(chǎn)生一定的時間中斷,用于一秒的定義,通過計

4、數(shù)方式進行 滿六十秒分鐘加一,滿六十分小時加一,滿二十四小時小時清零。從而達到計時的功能, 是人民日常生活補課缺少的工具八如今高精度的計時工具大多數(shù)都使用了石英晶體振蕩 器,由于電子鐘,石英表,石英鐘都采用了石英技術(shù),因此走時精度高,穩(wěn)定性好,使 用方便,不需要經(jīng)常調(diào)校,數(shù)字式電子鐘用集成電路計時時,譯碼代替機械式傳動,用 led顯示器代替顯示器代替指針顯示進而顯示時間,減小了計時誤差,這種表具有時、 分、秒顯示時間的功能,還可以進行時和分的校對,片選的靈活性好。時鐘電路在計算機系統(tǒng)中起著非常重要的作用,是保證系統(tǒng)正常工作的基礎(chǔ)。在一 個單片機應(yīng)用系統(tǒng)中,時鐘有兩方面的含義:一是指為保障系統(tǒng)正

5、常工作的基準振蕩定 時信號,主要由晶振和外圍電路組成,晶振頻率的大小決定了單片機系統(tǒng)工作的快慢; 二是指系統(tǒng)的標(biāo)準定時時鐘,即定時時間,它通常有兩種實現(xiàn)方法:一是用軟件實現(xiàn), 即用單片機內(nèi)部的可編程定時/計數(shù)器來實現(xiàn),但誤差很大,主要用在對時間精度要求不 高的場合;二是用專門的時鐘芯片實現(xiàn),在對時間精度要求很高的情況下,通常采用這 種方法。本文主要介紹用單片機內(nèi)部的定時/計數(shù)器來實現(xiàn)電子時鐘的方法,本設(shè)計由單片機 at89s52芯片和led數(shù)碼管為核心,輔以必要的電路,構(gòu)成了一個單片機電子時鐘。102設(shè)計任務(wù)與要求1.1. 設(shè)計題目利用單片機定時器制作數(shù)字時鐘并可以實現(xiàn)時鐘的控制。2. 2.設(shè)

6、計要求(1)基本要求制作數(shù)字時鐘系統(tǒng);可以控制時鐘電路,plo選擇時、分、秒,pl1對時、分、秒進行自加; 燈的亮滅顯示控制端,p3.7 口黃燈亮表示控制時,p3.3 口紅燈亮表示控制分, 紅燈、黃燈一起亮表示控制秒。(2)發(fā)揮部分時間精度為0.5秒。3系統(tǒng)的功能分析與設(shè)計方案3.1.系統(tǒng)的主要功能利用at89s52單片機內(nèi)部的定時/計數(shù)器、中斷系統(tǒng)、以及行列鍵盤和led顯示器 等部件,設(shè)計一個單片機電子時鐘。設(shè)計的電子時鐘通過數(shù)碼管顯示,并能通過按鍵實 現(xiàn)設(shè)置時間和復(fù)位控制等。此外還要實現(xiàn)對時間的調(diào)整功能,at89s5的pl.o、pl.l、rst外接三個獨立按鍵, 當(dāng)按下p1.0按鍵時,系統(tǒng)

7、進入調(diào)時間的狀態(tài)或啟動時間顯示的功能;當(dāng)按下p1.1按鍵時, 對顯示的數(shù)碼管進行加一的功能,達到調(diào)整時間的目的;當(dāng)按下rst按鍵時,實現(xiàn)對電 子時鐘進行復(fù)位的功能。3. 2.系統(tǒng)的設(shè)計方案整個系統(tǒng)采用應(yīng)用廣泛的at89s52作為時鐘控制芯片,利用單片機內(nèi)部的定時器' 計數(shù)器來實現(xiàn)的,它的處理過程如下:首先設(shè)定單片機內(nèi)部的一個定時器'計數(shù)器工作于 定時方式,對機器周期計數(shù)形成基準時間,然后用另一個定時器,計數(shù)器或軟件計數(shù)的方 法對基準時間計數(shù)形成秒,秒計60次形成分,分計60次形成小時,小時計24次則計滿 一天。然后通過數(shù)碼管把它們的內(nèi)容在相應(yīng)位置顯示出來即可。數(shù)碼管顯示可以采用

8、靜態(tài)顯示方法或動態(tài)顯示方法。靜態(tài)顯示方法需要數(shù)據(jù)鎖存器 等硬件,接口復(fù)雜,時鐘顯示一般用6個或8個數(shù)碼管。由于系統(tǒng)沒有其他的復(fù)雜的任 務(wù)處理,而且顯示的時鐘信息隨時都可能變化,一般采用動態(tài)顯示方式。動態(tài)顯示方法 線路相對簡單,但需動態(tài)掃描,掃描頻率要大于人眼視覺暫留頻率,信息看起來才穩(wěn)定。 譯碼方式可分為軟件譯碼和硬件譯碼,軟件譯碼通過譯碼程序查得顯示信息的字段碼; 硬件譯碼通過硬件譯碼器得到顯示信息的字段碼,實際中通常采用軟件譯碼。在具體處理時,定時器計數(shù)器采用中斷方式工作,對時鐘的形成在中斷服務(wù)程序中 實現(xiàn)。在主程序中只需對定時器計數(shù)器初始化、調(diào)用顯示子程序和控制子程序。另外, 為了使用方

9、便,設(shè)計了簡單的按鍵,可以通過按鍵實現(xiàn)時間調(diào)整和復(fù)位。3. 3. 數(shù)碼管顯示工作原理數(shù)碼管是一種把多個led顯示段集成在一起的顯示設(shè)備。有兩種類型,一種是共陽 型,一種是共陰型。共陽型就是把多個led顯示段的陽極接在一起,乂稱為公共端。共 陰型就是把多個led顯示段的陰極接在一起,即為公共商。陽極即為二極管的正極,乂 稱為正極,陰極即為二極管的負極,乂稱為負極。通常的數(shù)碼管乂分為8段,即8個led 顯示段,這是為工程應(yīng)用方便如設(shè)計的,分別為a、b、c、d、e、f、g、dp,其中dp 是小數(shù)點位段。而多位數(shù)碼管,除某一位的公共端會連接在一起,不同位的數(shù)碼管的相 同端也會連接在一起。即,所有的a段

10、都會連在一起,其它的段也是如此,這是實際最 常用的用法。數(shù)碼管顯示方法可分為靜態(tài)顯示和動態(tài)顯示兩種。靜態(tài)顯示:所謂靜態(tài)顯示,就是當(dāng)顯示器顯示某一字符時,相應(yīng)的發(fā)光二極管恒定 的導(dǎo)通或截止。該方式每一位都需要一個8位輸出口控制。靜態(tài)顯示時較小的電流能獲 得較高的亮度,且字符不閃爍。但當(dāng)所顯示的位數(shù)較多時,靜態(tài)顯示所需的i/o 口太多, 造成了資源的浪費。動態(tài)顯示:所謂動態(tài)顯示,就是一位一位的輪流點亮各個位,對于顯示器的每一位 來說,每隔一段時間點亮一次。利用人的視覺暫留功能可以看到整個顯示,但必須保證 掃描速度足夠快,字符才不閃爍。顯示器的亮度既與導(dǎo)通電流有關(guān),也于點亮?xí)r間與間 隔時間的比例有關(guān)

11、。調(diào)整參數(shù)可以實現(xiàn)較高穩(wěn)定度的顯示。動態(tài)顯示節(jié)省了 i/o 口,降 低了能耗。從節(jié)省i/o 口和降低能耗出發(fā),本設(shè)計采用動態(tài)顯示。3.1. 電路硬件設(shè)計3. 4. 1.設(shè)計原理框圖此設(shè)計原理框圖如圖1所示,此電路包括以下六個部分:單片機,按鍵,指示燈, 復(fù)位電路,晶振及顯示電路。圖1設(shè)計原理框圖3.4. 2.電源部分如圖2所示,從外部引入5.0v的直流電,為單片機、復(fù)位電路等提供電源。j1vcc丁40vcq0c0n2vccgnd圖2電源部分3. 4. 3.復(fù)位電路如圖3所示,復(fù)位電路采用上電自動復(fù)位和按鍵手動復(fù)位設(shè)計在一起,主要由型號 為10uf的電解電容,8.2k和220的電阻以及按鍵s3構(gòu)

12、成,當(dāng)開關(guān)按下時引腳rst為高 電平1,斷開時引腳為低電平0。vccj_rstcfiiiouft ts3r8 r9 220 8.2k to o1sw-pb圖3復(fù)位電路3.4.4.指示燈電路如圖4所示,指示燈電路主要由兩個發(fā)光二極管組成,端口低電平有效。燈的亮滅顯 示控制端,p3.7 口黃燈亮表示控制時,p3.3 口紅燈亮表示控制分,紅燈、黃燈一起 亮表示控制秒。vcc3. 4. 5.按鍵電路如圖5所示,按鍵開關(guān)si、s2分別接plo、pl1端,s1選擇時、分、秒,s2對時、 分、秒進行自加,低電平有效。sisw-pbl5_pl。圖5按鍵電路3. 4. 6.時鐘電路如圖6所示,單片機外接石英晶體

13、和微調(diào)電容實現(xiàn)了使用其內(nèi)部時鐘產(chǎn)生的時鐘脈 沖,其中晶振為12m,電容均為30pf無極性電容。3. 4. 7.驅(qū)動電路如圖7所示,從實物制作簡易程度與驅(qū)動數(shù)碼管段碼能力角度出發(fā),本數(shù)字電子鐘 設(shè)計采用數(shù)碼管位選端與三極管集電極相連,三極管發(fā)射極接5v直流電源,三極管基極 與單片機芯片pod,數(shù)碼管段選端與p2 口相連。通過編程,單片機芯片即可通過控制 端口電平來控制數(shù)碼管位、段的控制。3. 4. 8.數(shù)碼管連接電路圖8為三位一體數(shù)碼管的引腳功能圖,數(shù)碼管引腳與單片機芯片引腳和三極管對應(yīng) 相接。數(shù)字電子鐘的顯示模塊用2個三位一體數(shù)碼管實現(xiàn),數(shù)碼管從左到右依次顯示時 十位、個位,分十位、個位,秒十

14、位和個位,采用軟件譯碼動態(tài)顯示。z i o丁仔仔rbi z s 寸 si z g b s圖8數(shù)碼管連接電路3. 4. 9.主控模塊 at89s52at89s52是美國atmel公司生產(chǎn)的低功耗,高性能cmos八位單片機,片內(nèi)rom 全部采用flash rom技術(shù),片內(nèi)含4k bytes的可系統(tǒng)編程的flash只讀程序存儲器, 器件采用atmel公司的高密度,非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準8051指令系統(tǒng)及引 腳。at89s52提供以下標(biāo)準功能:4k字節(jié)flash閃速存儲器,128字節(jié)內(nèi)部ram, 32do 口線,看門狗(wdt),兩個數(shù)據(jù)指針,兩個16位定時/計數(shù)器,一個5向量兩級中斷結(jié) 構(gòu),

15、一個全雙工串行通信口,片內(nèi)振蕩器及時鐘電路。它是標(biāo)準的40引腳雙列直插式集 成電路芯片,晶振時鐘為12mhz,第31引腳需要接高電位使單片機選用內(nèi)部程序存儲 器;第40腳為電源端vcc,接5v電源,第20引腳為接地端gnd。單片機電子時鐘的設(shè)計3. 4. 10. 材料清單bill of material foi 電子鐘原理圖.bomused part typedesignator footprint64.7kri r2r3axial0.4r4 r5 r618.2kr9axial0.41loufclrb.2/.4112mhzy1xtal1230pfc2 c3rad0.22220r7 r8axia

16、l0.42arkari ar2sp410361k1at89s52uidip401con2jisip21header 5x2jp1dip101redled2diodeo.46s8550qi q2 q3to-92bq4 q5 q63sw-pbsi s2 s3sw1yellowled1diodeo.411單片機電子時鐘的設(shè)計183. 4. 11. 電路原理圖、pcb圖及實物圖為其pcb圖,圖11為實物圖。圖9為單片機電子時鐘的電路原理圖,圖10ilihiil圖9電路原理圖y.0.t2p 2.t2zx pl2*,3*,4*£s.o.r0 s-rd8 s.2 cs.f eg閡 e-.抑 就jl

17、5tvcg:pm 5工 ej.ac x.4a1; x.n l xa.a-o s.o-fc口ale 苦au圖10 pcb圖圖11實物圖3. 5. 軟件設(shè)計3. 5. 1.軟件設(shè)計流程電子時鐘的軟件系統(tǒng)由主程序和子程序組成,主程序程序包含初始化參數(shù)設(shè)置、按 鍵處理、數(shù)碼管顯示模塊等,(1)主程序主程序先對顯示單元和定時器/計數(shù)器初始化,然后重復(fù)調(diào)用數(shù)碼管顯示模塊和按鍵 處理模塊,當(dāng)有鍵按下,則轉(zhuǎn)入相應(yīng)的功能程序。主程序執(zhí)行流程如圖12。圖12主程序流程圖(2)定時器/計數(shù)器to中斷程序定時器/計數(shù)器to用于時間計時。選擇方式1,重復(fù)定時,定時時間設(shè)為20ms,定 時時間到則中斷,在中斷程序中用一個

18、計數(shù)器對20ms計數(shù),計50次則對秒單元加1, 秒單元加到60則對分單元加1,同時秒單元清0;分單元加到60則對時單元加1,同時 分單元清0;時單元加到24則對時單元清0,標(biāo)志一天時間計滿。在對各單元計數(shù)的同 時,把它們的值放到存儲單元的指定位置。定時器/計數(shù)器t0中斷程序流程圖如圖13。圖13中斷程序流程圖3. 5. 2.完整源程序#include <ieg52.h>#defuie uchar unsigned char#defuie unit unsigned mtvoid keyhandle(void);/* 按鍵處理模塊*/void delay ();/* 10ms 延時*

19、/void dispclocko;uchar contol6=0xdf,0xef,0xf7,0xfb,0xfd,0xf; 數(shù)碼管控制選通uchar displayaiiay6=0x00,0x00,0x00,0x00,0x00,0x00;/中間存儲變量uchar code codenuni16=0x28,0xeb,0x32,0xa2,0xel,0xa4,0x24,0xe8,0x20,0xa0;/0-f 段碼uchar keyflag=0;/* 按鍵處理標(biāo)記*/uchar setflag=0;=0,no【mal;=l,調(diào)秒;=2,調(diào)分;=3,調(diào)時;uchar msecond, second,min

20、i te,hour;sbitpl_o = plao;sbitpl_l =p1a1;sbit p3_7 = p3a7;sbit p3_3 = p3八3;void main(void)(ea=1;et0=l;et1=1;pl_l=l;p3_7=l;p3_3=l;tmod = oxll;th0=(65536-20000)/256;tl0=(65536-20000)%256; /設(shè)定時值為 20msthl=(65536-500)/256;tll=(65536-500)%256; 設(shè)定時值為 500ustr0=l;tr1=1;開始定時fbr(;)/whue(l)(dispclockq;keyhandle

21、();)void timeo(void) intenupt 1(th0=(65536-20000)/256;tl0=(65536-20000)%256;msecond-h-;if(msecond>=50)(msecond=0;second+;if(second>=60)(second=0;minite+;if(minite>=60)minite=0;hour+;if(hour>=24)(hour=0;)void time 1 (void) intemipt 3(static ucliar s_count=0;變量定義在其它語句之前,keil c (非c語言規(guī)則) uch

22、ar temp;thl=(65536-500)/256;tll=(65536-500)%256; 設(shè)定時值為 500usp0=c ontrol s_count;temp=displayanays_count;p2=codenumtemp;s_count+;if(s_count>5)(s_count=0;)void keyhandle(void)/*按鍵處理*/(pl_0=l;if(pl_o=o)delayo; if(pl_o=o)單片機電子時鐘的設(shè)計setflag+;if(setflag>3)setflag=o;switch (setflag) case 1:p3_7 = 0;p3

23、_3 = 0;break;case 2:p3_7=l;p3_3 = 0;break;case 3:p3_7 = 0;p3_3 = l;break;default:p3_7=l;p3_3 = l; break; pl_o=l;/防止按鍵不放wlule(pl_0&0x0 l)!=0x01); )加法處理if(pl_l=0)delayo;if(pl_l=o)(switch (setflag)(case 1:second-h-;if(second>=60) second=0;break;case 2:minite+;if(miihte>=60) miihte=0;break;cas

24、e 3:houi+;if(houi>=24) hom=0;bieak; default: break;)pl_l=l;防止按鍵不放wliile(pl_l&0x01)! =0x01);)void dispclockq(uchar tempdata=0;tempdata=second; 秒鐘分解displayaitay0=tempdata%10;displayaitayl =tempdata/l 0;tempdata=minite;/分鐘分解displayaitay2=tempdata% 10;displayaitay3=tempdata/l 0; tempdata=houi; 小時

25、分解 displayaitay4=tempdata% 10; displayaitay5=tempdata/10;void delay()/10ms 延時(uchai i,j;fbi(i=20;i>0;i-) fbi(j=249;j>0;j-);254系統(tǒng)安裝與調(diào)試4.1. 硬件電路的安裝按照電路pcb圖把元器件安裝到已腐蝕好的銅板對應(yīng)的位置,再用電烙鐵和焊錫將 元器件各引腳焊接好。注意事項:(1)元器件的布局在合理的前提下應(yīng)盡量集中,盡量使用單面板,雙面 板頂層走線要盡量少,各個元器件間引腳的連線應(yīng)盡量短。(2)各個元器件引腳的安裝 要正確,焊接時不要有虛焊。4. 2.軟件調(diào)試將電路板接上5v直流電源,再將用程序調(diào)試軟件keil編譯好的目標(biāo)程序代碼下 載到單片機芯片at89s52,即開始進行軟件的調(diào)試工作。如果顯示結(jié)果不符合設(shè)計要求, 先檢查電路各連接點是否正確連接、是否有虛焊,硬件無問題再檢查程序代碼是否符合 硬件電路的設(shè)計,再進行硬件電路的調(diào)試工作

溫馨提示

  • 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論