版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、目錄1 引言12 設(shè)計任務(wù)與要求22.1. 設(shè)計題目22.2. 設(shè)計要求23 系統(tǒng)的功能分析與設(shè)計方案33.1. 系統(tǒng)的主要功能33.2. 系統(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. 按鍵電路63.4.6. 時鐘電路83.4.7. 驅(qū)動電路83.4.8. 數(shù)碼管連接電路93.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世紀(jì)70年代問世以來,以其極高的性能價格比,受到人們的重視和關(guān)注,應(yīng)用很廣、發(fā)展很快。單片機體積小、重量輕、抗干擾能力強、環(huán)境要求不高、價格低廉、可靠性高、靈活性好、開發(fā)較為容易。由于具有上述優(yōu)點,在我國,單片機已廣泛地應(yīng)用在工業(yè)自動化控制、自動檢測、智能儀器儀表、家用電器、電力電子、機電一體化設(shè)備等各個方面。這次課程設(shè)計通過對它的學(xué)習(xí)、應(yīng)用,以AT89S52芯片為核心,輔以必要的電路,設(shè)計了一個簡易的單片機電子時鐘,包括硬件電路原理的實現(xiàn)方案設(shè)計、軟件程序
3、編輯的實現(xiàn)、電子時鐘正常工作的流程、硬件的制作與軟件的調(diào)試過程。電子時鐘由5.0V直流電源供電,數(shù)碼管能夠比較準(zhǔn)確顯示時間,通過按鍵能夠調(diào)整時間,從而到達學(xué)習(xí)、設(shè)計、開發(fā)軟、硬件的能力。關(guān)鍵詞:單片機;AT89S52;電子時鐘;數(shù)碼管;按鍵1 引言1957年,Ventura發(fā)明了世界上第一個電子表,從而奠定了電子時鐘的基礎(chǔ)。隨著時間的推移,科學(xué)技術(shù)的不斷發(fā)展,人們對時間計量的精度要求越來越高,為了讓時鐘更好的為人民服務(wù),就要求人們不斷設(shè)計出新型時鐘?,F(xiàn)代的電子時鐘是基于單片機的一種計時工具,采用延時程序產(chǎn)生一定的時間中斷,用于一秒的定義,通過計數(shù)方式進行滿六十秒分鐘加一,滿六十分小時加一,滿二
4、十四小時小時清零。從而達到計時的功能,是人民日常生活補課缺少的工具。、如今高精度的計時工具大多數(shù)都使用了石英晶體振蕩器,由于電子鐘,石英表,石英鐘都采用了石英技術(shù),因此走時精度高,穩(wěn)定性好,使用方便,不需要經(jīng)常調(diào)校,數(shù)字式電子鐘用集成電路計時時,譯碼代替機械式傳動,用LED顯示器代替顯示器代替指針顯示進而顯示時間,減小了計時誤差,這種表具有時、分、秒顯示時間的功能,還可以進行時和分的校對,片選的靈活性好。時鐘電路在計算機系統(tǒng)中起著非常重要的作用,是保證系統(tǒng)正常工作的基礎(chǔ)。在一個單片機應(yīng)用系統(tǒng)中,時鐘有兩方面的含義:一是指為保障系統(tǒng)正常工作的基準(zhǔn)振蕩定時信號,主要由晶振和外圍電路組成,晶振頻率的
5、大小決定了單片機系統(tǒng)工作的快慢;二是指系統(tǒng)的標(biāo)準(zhǔn)定時時鐘,即定時時間,它通常有兩種實現(xiàn)方法:一是用軟件實現(xiàn),即用單片機內(nèi)部的可編程定時/計數(shù)器來實現(xiàn),但誤差很大,主要用在對時間精度要求不高的場合;二是用專門的時鐘芯片實現(xiàn),在對時間精度要求很高的情況下,通常采用這種方法。本文主要介紹用單片機內(nèi)部的定時/計數(shù)器來實現(xiàn)電子時鐘的方法,本設(shè)計由單片機AT89S52芯片和LED數(shù)碼管為核心,輔以必要的電路,構(gòu)成了一個單片機電子時鐘。2 設(shè)計任務(wù)與要求2.1. 設(shè)計題目利用單片機定時器制作數(shù)字時鐘并可以實現(xiàn)時鐘的控制。2.2. 設(shè)計要求(1) 基本要求1 制作數(shù)字時鐘系統(tǒng);2 可以控制時鐘電路,P1.0選
6、擇時、分、秒,P1.1對時、分、秒進行自加;3 燈的亮滅顯示控制端,P3.7口黃燈亮表示控制時,P3.3口紅燈亮表示控制分,紅燈、黃燈一起亮表示控制秒。(2) 發(fā)揮部分1 時間精度為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的P1.0、P1.1、RST外接三個獨立按鍵,當(dāng)按下P1.0按鍵時,系統(tǒng)進入調(diào)時間的狀態(tài)或啟動時間顯示的功能;當(dāng)按下P1.1按鍵時,對
7、顯示的數(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ù)形成基準(zhǔn)時間,然后用另一個定時器計數(shù)器或軟件計數(shù)的方法對基準(zhǔn)時間計數(shù)形成秒,秒計60次形成分,分計60次形成小時,小時計24次則計滿一天。然后通過數(shù)碼管把它們的內(nèi)容在相應(yīng)位置顯示出來即可。數(shù)碼管顯示可以采用靜態(tài)顯示方法或動態(tài)顯示方法。靜態(tài)顯示方法需要數(shù)據(jù)鎖存器等硬件,接口復(fù)雜,時鐘顯示一般用6個或8個
8、數(shù)碼管。由于系統(tǒng)沒有其他的復(fù)雜的任務(wù)處理,而且顯示的時鐘信息隨時都可能變化,一般采用動態(tài)顯示方式。動態(tài)顯示方法線路相對簡單,但需動態(tài)掃描,掃描頻率要大于人眼視覺暫留頻率,信息看起來才穩(wěn)定。譯碼方式可分為軟件譯碼和硬件譯碼,軟件譯碼通過譯碼程序查得顯示信息的字段碼;硬件譯碼通過硬件譯碼器得到顯示信息的字段碼,實際中通常采用軟件譯碼。在具體處理時,定時器計數(shù)器采用中斷方式工作,對時鐘的形成在中斷服務(wù)程序中實現(xiàn)。在主程序中只需對定時器計數(shù)器初始化、調(diào)用顯示子程序和控制子程序。另外,為了使用方便,設(shè)計了簡單的按鍵,可以通過按鍵實現(xiàn)時間調(diào)整和復(fù)位。3.3. 數(shù)碼管顯示工作原理數(shù)碼管是一種把多個LED顯示
9、段集成在一起的顯示設(shè)備。有兩種類型,一種是共陽型,一種是共陰型。共陽型就是把多個LED顯示段的陽極接在一起,又稱為公共端。共陰型就是把多個LED顯示段的陰極接在一起,即為公共商。陽極即為二極管的正極,又稱為正極,陰極即為二極管的負極,又稱為負極。通常的數(shù)碼管又分為8段,即8個LED顯示段,這是為工程應(yīng)用方便如設(shè)計的,分別為A、B、C、D、E、F、G、DP,其中DP 是小數(shù)點位段。而多位數(shù)碼管,除某一位的公共端會連接在一起,不同位的數(shù)碼管的相同端也會連接在一起。即,所有的A段都會連在一起,其它的段也是如此,這是實際最常用的用法。數(shù)碼管顯示方法可分為靜態(tài)顯示和動態(tài)顯示兩種。靜態(tài)顯示:所謂靜態(tài)顯示,
10、就是當(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)。調(diào)整參數(shù)可以實現(xiàn)較高穩(wěn)定度的顯示。動態(tài)顯示節(jié)省了I/O口,降低了能耗。從節(jié)省I/O口和降低能耗出發(fā),本設(shè)計采用動態(tài)顯示。3.4. 電路
11、硬件設(shè)計3.4.1. 設(shè)計原理框圖此設(shè)計原理框圖如圖1所示,此電路包括以下六個部分:單片機,按鍵,指示燈,復(fù)位電路,晶振及顯示電路。按鍵單片機顯示電路指示燈晶振復(fù)位電路圖1設(shè)計原理框圖3.4.2. 電源部分如圖2所示,從外部引入5.0V的直流電,為單片機、復(fù)位電路等提供電源。圖2電源部分3.4.3. 復(fù)位電路如圖3所示,復(fù)位電路采用上電自動復(fù)位和按鍵手動復(fù)位設(shè)計在一起,主要由型號為10uF的電解電容,8.2K和220的電阻以及按鍵S3構(gòu)成,當(dāng)開關(guān)按下時引腳RST為高電平1,斷開時引腳為低電平0。圖3復(fù)位電路3.4.4. 指示燈電路如圖4所示,指示燈電路主要由兩個發(fā)光二極管組成,端口低電平有效。
12、燈的亮滅顯示控制端,P3.7口黃燈亮表示控制時,P3.3口紅燈亮表示控制分,紅燈、黃燈一起亮表示控制秒。圖4指示燈電路3.4.5. 按鍵電路如圖5所示,按鍵開關(guān)S1、S2分別接P1.0、P1.1端,S1選擇時、分、秒,S2對時、分、秒進行自加,低電平有效。圖5按鍵電路3.4.6. 時鐘電路如圖6所示,單片機外接石英晶體和微調(diào)電容實現(xiàn)了使用其內(nèi)部時鐘產(chǎn)生的時鐘脈沖,其中晶振為12M,電容均為30pF無極性電容。圖6時鐘電路3.4.7. 驅(qū)動電路如圖7所示,從實物制作簡易程度與驅(qū)動數(shù)碼管段碼能力角度出發(fā),本數(shù)字電子鐘設(shè)計采用數(shù)碼管位選端與三極管集電極相連,三極管發(fā)射極接5V直流電源,三極管基極與單
13、片機芯片P0口,數(shù)碼管段選端與P2口相連。通過編程,單片機芯片即可通過控制端口電平來控制數(shù)碼管位、段的控制。圖7驅(qū)動電路3.4.8. 數(shù)碼管連接電路圖8為三位一體數(shù)碼管的引腳功能圖,數(shù)碼管引腳與單片機芯片引腳和三極管對應(yīng)相接。數(shù)字電子鐘的顯示模塊用2個三位一體數(shù)碼管實現(xiàn),數(shù)碼管從左到右依次顯示時十位、個位,分十位、個位,秒十位和個位,采用軟件譯碼動態(tài)顯示。圖8數(shù)碼管連接電路3.4.9. 主控模塊AT89S52AT89S52是美國ATMEL公司生產(chǎn)的低功耗,高性能CMOS八位單片機,片內(nèi)ROM全部采用FLASH ROM技術(shù),片內(nèi)含4K bytes的可系統(tǒng)編程的Flash只讀程序存儲器,器件采用A
14、TMEL公司的高密度,非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)8051指令系統(tǒng)及引腳。AT89S52提供以下標(biāo)準(zhǔn)功能:4K字節(jié)Flash閃速存儲器,128字節(jié)內(nèi)部RAM,32I/O口線,看門狗(WDT),兩個數(shù)據(jù)指針,兩個16位定時/計數(shù)器,一個5向量兩級中斷結(jié)構(gòu),一個全雙工串行通信口,片內(nèi)振蕩器及時鐘電路。它是標(biāo)準(zhǔn)的40引腳雙列直插式集成電路芯片,晶振時鐘為12MHz,第31引腳需要接高電位使單片機選用內(nèi)部程序存儲器;第40腳為電源端VCC,接5V電源,第20引腳為接地端GND。3.4.10. 材料清單Bill of Material for 電子鐘原理圖.BomUsed Part Type Desi
15、gnator Footprint= = = =6 4.7k R1 R2 R3 AXIAL0.4 R4 R5 R61 8.2k R9 AXIAL0.41 10uF C1 RB.2/.41 12MHz Y1 XTAL12 30pF C2 C3 RAD0.22 220 R7 R8 AXIAL0.42 ARK AR1 AR2 SPK1 AT89S52 U1 DIP401 CON2 J1 SIP21 HEADER 5X2 JP1 DIP101 RED LED2 DIODE0.46 S8550 Q1 Q2 Q3 TO-92B Q4 Q5 Q63 SW-PB S1 S2 S3 SW1 YELLOW LED1
16、 DIODE0.43.4.11. 電路原理圖、PCB圖及實物圖圖9為單片機電子時鐘的電路原理圖,圖10為其PCB圖,圖11為實物圖。圖9電路原理圖圖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ù)器T0中斷程序定時器/計數(shù)器T0用于時間計時。選擇方式1,重復(fù)定時,定時時間設(shè)為20ms,定時
17、時間到則中斷,在中斷程序中用一個計數(shù)器對20ms計數(shù),計50次則對秒單元加1,秒單元加到60則對分單元加1,同時秒單元清0;分單元加到60則對時單元加1,同時分單元清0;時單元加到24則對時單元清0,標(biāo)志一天時間計滿。在對各單元計數(shù)的同時,把它們的值放到存儲單元的指定位置。定時器/計數(shù)器T0中斷程序流程圖如圖13。圖13中斷程序流程圖3.5.2. 完整源程序#include #define uchar unsigned char#define uint unsigned intvoid KeyHandle(void); /*按鍵處理模塊*/void Delay (); /*10ms延時*/vo
18、id DispClock();uchar Control6=0xdf,0xef,0xf7,0xfb,0xfd,0xfe;/數(shù)碼管控制選通uchar DisplayArray6=0x00,0x00,0x00,0x00,0x00,0x00;/中間存儲變量uchar code CodeNum16=0x28,0xEB,0x32,0xA2,0xE1,0xA4,0x24,0xE8,0x20,0xA0;/0-f段碼 uchar Keyflag=0;/*按鍵處理標(biāo)記*/uchar SetFlag=0;/=0,Normal;=1,調(diào)秒; =2,調(diào)分;=3,調(diào)時;uchar Msecond,Second,Mini
19、te,Hour;sbit P1_0 = P10;sbit P1_1 = P11;sbit P3_7 = P37;sbit P3_3 = P33;void main(void) EA=1; ET0=1; ET1=1; P1_1=1; P3_7=1; P3_3=1; TMOD = 0x11; TH0=(65536-20000)/256; TL0=(65536-20000)%256; /設(shè)定時值為20ms TH1=(65536-500)/256; TL1=(65536-500)%256; /設(shè)定時值為500us TR0=1; TR1=1; /開始定時 for(;)/while(1) DispCloc
20、k(); KeyHandle(); void Time0(void) interrupt 1 TH0=(65536-20000)/256; TL0=(65536-20000)%256; Msecond+; if(Msecond=50) Msecond=0;Second+;if(Second=60) Second=0; Minite+; if(Minite=60) Minite=0; Hour+; if(Hour=24) Hour=0; void Time1(void) interrupt 3 static uchar s_count=0;/變量定義在其它語句之前,keil c(非C語言規(guī)則)
21、uchar temp; TH1=(65536-500)/256; TL1=(65536-500)%256; /設(shè)定時值為500us P0=Controls_count; temp=DisplayArrays_count; P2=CodeNumtemp; s_count+; if(s_count5) s_count=0; void KeyHandle(void) /*按鍵處理*/ P1_0=1; if(P1_0=0) Delay(); if(P1_0=0) SetFlag+; if(SetFlag3) SetFlag=0; switch (SetFlag) case 1: P3_7 = 0; P
22、3_3 = 0; break; case 2: P3_7 = 1; P3_3 = 0; break; case 3: P3_7 = 0; P3_3 = 1; break; default: P3_7 = 1; P3_3 = 1; break; P1_0=1; /防止按鍵不放 while(P1_0&0x01)!=0x01); /加法處理 P1_1=1; if(P1_1=0) Delay(); if(P1_1=0) switch (SetFlag) case 1: Second+; if(Second=60) Second=0; break; case 2: Minite+; if(Minite=
23、60) Minite=0; break; case 3: Hour+; if(Hour=24) Hour=0;break; default:break; P1_1=1; /防止按鍵不放 while(P1_1&0x01)!=0x01); void DispClock() uchar tempData=0; tempData=Second;/秒鐘分解 DisplayArray0=tempData%10; DisplayArray1=tempData/10; tempData=Minite;/分鐘分解 DisplayArray2=tempData%10; DisplayArray3=tempData
24、/10; tempData=Hour;/小時分解 DisplayArray4=tempData%10; DisplayArray5=tempData/10;void Delay()/10ms延時uchar i,j;for(i=20;i0;i-)for(j=249;j0;j-);4 系統(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)試工作。如此反復(fù)操作,直到調(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. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2021班長工作總結(jié)
- 我國高等醫(yī)學(xué)教育專業(yè)認證與教育評估制度探析
- 2021辦公室文員轉(zhuǎn)正工作總結(jié)
- 財務(wù)個人年度工作總結(jié)范文
- 超級演說家勵志演講稿
- 萬圣節(jié)活動策劃方案(匯編15篇)
- 城鎮(zhèn)老舊小區(qū)改造項目可行性分析報告
- 大學(xué)生社會實踐報告與心得
- 物理化學(xué)基礎(chǔ)知識復(fù)習(xí)試題及答案
- 站臺門試題復(fù)習(xí)試題及答案
- 2025年中小學(xué)春節(jié)安全教育主題班會課件
- 工商注冊租房合同范例
- GB/T 18281.3-2024醫(yī)療保健產(chǎn)品滅菌生物指示物第3部分:濕熱滅菌用生物指示物
- 班會課件高中
- 《設(shè)計實訓(xùn)2》課程教學(xué)大綱
- 部編版一年級上冊語文第一單元-作業(yè)設(shè)計
- 陜西省西安市高新第一中學(xué)2023-2024學(xué)年八年級上學(xué)期期末歷史試題
- 計量經(jīng)濟學(xué)練習(xí)題
- 2024-2025學(xué)年統(tǒng)編版八年級語文上學(xué)期期末文言文復(fù)習(xí)(知識清單)
- 2025年護理人員繼續(xù)教育培訓(xùn)計劃
- 灌腸護理業(yè)務(wù)學(xué)習(xí)
評論
0/150
提交評論