版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、單片機課程設(shè)計-況明書題目名稱:定時器時鐘數(shù)碼管顯示姓 名:班 級:學(xué) 號:日 期: 2022年6月29日單片機時鐘1摘要:時鐘是人類生活中必不可少的的工具,本設(shè)計從日常生活中的事物入手,通過對時鐘 計時器的設(shè)計,讓我們認(rèn)識到單片機已經(jīng)深入到我們生活的每個領(lǐng)域,該設(shè)計不僅可以鍛 煉我們的動手能力,而且可以加深我們對單片機的認(rèn)識和激發(fā)我們隊位置科學(xué)領(lǐng)域的探 索。利用單片機實現(xiàn)教學(xué)數(shù)字時鐘計時的主要功能,采用獨立式按鍵進(jìn)行時間調(diào)整,其中 AT89C52是核心元件同是采用數(shù)碼管LED動態(tài)顯示“時,“分,“秒的現(xiàn)代計時裝置。 與傳統(tǒng)機械表相比,它具有走時精確,顯示直觀等特點。它的計時周期為24 小時,
2、顯滿刻度為“ 23時 59分 59秒。該系統(tǒng)同時具有硬件設(shè)計簡單,工作穩(wěn)定性高,價格低廉等 優(yōu)點。1.1. 關(guān)鍵詞AT89C52、LED顯示1.2. 功能要求1七位數(shù)碼管顯示時、分、秒,以 24 小時運算2可實現(xiàn)時分調(diào)整1.3. 主要硬件元器件的介紹1.3.1 51 單片機芯片根據(jù)初步這幾方案的分析,設(shè)計這樣一個簡單的應(yīng)用系統(tǒng),可以選擇帶有EPRO的單片機,應(yīng)用程序直接存儲在片內(nèi),不用在外部擴(kuò)展程序存儲器,電路可以簡化。該系統(tǒng)的 設(shè)計我們采用 8051 芯片。以下圖所示為雙列直插式封裝的8051AH芯片的管腳圖,功能如下:盂帶駕SSFDS他5!益懾8051AH芯片的管腳圖Vcc 40 腳:接
3、+5V; Vss20腳:接地。X1 19腳,X2 18腳:外部時鐘信號的兩個管腳。3.控制線1RESET9腳:用作復(fù)位輸入端。2EA /VP31腳:EA為訪問內(nèi)部或外部程序存儲器的選擇信號。對片內(nèi)EPROM編程時,此管腳作VP接入21V編程電壓。3ALE/P' 30腳:當(dāng)訪問外部存儲器時,ALE信號的負(fù)跳變將P0 口上的低8位地址 送入鎖存器。當(dāng)對內(nèi)EPRO編程時,該管腳P'用于輸入編程脈沖。4PSEN 29腳:外部程序存儲器讀選通控制信號。1P0 口 32-39腳:8路漏極開路型雙向并行I/O 口。在訪問外部存儲器時,P0 口作 為低8位地址/數(shù)據(jù)總線復(fù)用口,通過分時操作,先
4、傳送低 8位地址,利用ALE信號的下 降沿將地址鎖存,然后作為8位數(shù)據(jù)總線使用,用來傳送8位數(shù)據(jù)。在對片內(nèi)EPRO編程 時,P0口接受指令代碼;而在內(nèi)部程序校驗時,那么輸出指令代碼,并要求外接上拉電阻。外部不拓展位單片應(yīng)用,那么作雙向I/O 口用,P0 口能以吸收電流的方式驅(qū)動8個LSTTL負(fù) 載。2P1 口 1-8腳:具有內(nèi)部上拉電阻的8位準(zhǔn)雙向I/O 口。在對片內(nèi)EPRO編程及校 驗時,它接收低8位地址。P1 口能驅(qū)動4個LETTL負(fù)載3P2 口 21-28腳:具有內(nèi)部上拉電阻的8位準(zhǔn)雙向I/O 口。在外接存儲器時,P2 口 作為高8位地址總線。在對片內(nèi)EPRO編程及校驗時,它接受高8位地
5、址。P2 口驅(qū)動4個 LETTL負(fù)載。4P3 口 10-17腳:8位帶有內(nèi)部上拉電阻的準(zhǔn)雙向I/O 口。每一位有具有如下的特 殊功能或稱第二功能:P3.0(RXD):串行輸入端P3.1(TXD):串行輸入端P3.2(INT0 '):外部中斷0輸入端,低電平有效。P3.3(INT1 '):外部中斷1輸入端,低電平有效。P3.4(T0):定時/計數(shù)器0外部事件計數(shù)輸入端。P3.5(T1):定時/計數(shù)器1外部事件計數(shù)輸入端。P3.6(WR ):外部數(shù)據(jù)存儲器寫選通信號,低電平有效。P3.7(RD'):外部數(shù)據(jù)存儲器讀選通信號,低電平有效。LED數(shù)碼管數(shù)碼管是單片機系統(tǒng)中常用的
6、顯示界面,可以顯示“1、2、3、4、5、6、7、8、9、0和十六進(jìn)制中的“ A B C D E、F及小數(shù)點“.,數(shù)碼管怎樣來顯示1,2,3,4呢?數(shù) 碼管實際上是由7個發(fā)光管組成8字形構(gòu)成的,加上小數(shù)點就是8個。分別被命名為A,B,C,D,E,F,G,H(小數(shù)點)和DR如果要顯示一個數(shù)字2,那么A,B,G,E,D這5個段的發(fā) 光管亮,C,F, H不亮,就可以了。1A 5F*b» E F G H【4X i t,4 1 4 f 丿 4 1 共陽第構(gòu)OOH£J%4L丄*-沖1彳r f ¥ F基陰蠟構(gòu)CGULED數(shù)碼管內(nèi)部結(jié)構(gòu)由圖可知:要使數(shù)碼管發(fā)光必須滿足兩個條件,一、
7、COM端為高電平。二、在 A-G端的對應(yīng)局部輸入低電平。這樣電流流過相應(yīng)的字段,數(shù)碼管就會顯示相應(yīng)的字符了!由于 數(shù)碼管 A,B,CDP'端都并在一起,要使每一個數(shù)碼管顯示各自的內(nèi)容,使用動靜態(tài)掃描方式都可以F面是共陰極數(shù)碼管字型碼表:LJAc0EFrw優(yōu)碼0Q0Q09Q1i03HLI0011i9FH20DI00Ifl25H30000II0iODH1I0Q11C01測50!fl0I00i1DH601Q0000UHR! i00b111111FHg000000di01HgQQQ01QgI呦|A00Q10fl0iHHHI1dQ904iriHc011QQQ1i63HT0u0004iR5HE0)
8、I000iGUIF0i1aQ4!71H1I1i11DFEH外部時鐘源振蕩器和時序程序存儲器4 K BROM數(shù)擁存儲器256B RAVI/S1 K2X16 位定時器d計數(shù)器89C51CPV64KB總線擴(kuò)展控制器控制可編穢I/O可編程全雙丄串行口tltl外部事件計數(shù)輸入并行口51單片機結(jié)構(gòu)框圖1.4. 程序設(shè)計1.4.1.主程序設(shè)計中計時采用定時器TO中斷完成。主程序循環(huán)調(diào)用顯示子程序和查鍵,當(dāng)端口有開 關(guān)按下時,轉(zhuǎn)入相應(yīng)的功能程序。流程圖如圖2-4-1所示。圖1-4-1主程序流程1.42顯示子程序顯示子程序每次顯示6個連續(xù)內(nèi)存單元的十進(jìn)制BCD碼數(shù)據(jù)。由于采用7段共陽LED數(shù) 碼管動態(tài)掃描實現(xiàn)數(shù)
9、據(jù)顯示,顯示十進(jìn)制 BCD碼數(shù)據(jù)對應(yīng)段碼存放在 ROh中。流程圖如圖 2-4-2所示。顯示時取內(nèi)存地址中數(shù)據(jù),然后查表得對應(yīng)顯示段碼從P0 口輸出,P2 口將為對應(yīng)的數(shù)碼管供電,于是數(shù)碼管就會顯示該地址單元的數(shù)據(jù)。圖2-4-2顯示子程序1.4.3.定時器T0中斷效勞程序定時溢出中斷周期設(shè)為50MS中斷進(jìn)入后先進(jìn)行定時中斷初值校正,當(dāng)中斷累加到 20 次時,對秒計數(shù)單元進(jìn)行加1操作。時鐘最大計時值為23時59分59秒。#7FH存放“熄 滅符在程序中采用12MHZ晶振頻率,精度為1MS定時初值為50MS用循環(huán)程序進(jìn)行20次 循環(huán)可到1S。當(dāng)1S到時調(diào)用加1程序并判斷秒、分是否為60,當(dāng)秒為60時,
10、秒清零,分加1;當(dāng)分為60時,分清零。終端結(jié)束時,分時計時單兀數(shù)據(jù)移入對應(yīng)顯示單兀圖3.3 定時器T0中斷效勞程序1.5. 按鍵設(shè)置采用共陽七段LED顯示器,其管腳a-g,ap與單片機AT89C52勺P0 口相連;P0口輸出 段碼數(shù)據(jù);為保證其輸出的電平和 LED顯示器所需的電平相匹配;作為列掃 描輸出; P3.0, P3.1 , P3.2, P3.3,接4個按鈕開關(guān),用于調(diào)時。1.6. 數(shù)碼管顯示結(jié)果此圖顯示的是:17點12分03秒JttrlWl: Stl±ct W:u "m 選 15羊片F(xiàn)l犁昱MO T0 KF Hen orv|S預(yù)總M>三 OOIM 翻顯J歩累7
11、吟呻Fil* /打利件丈件芫SIB =用衛(wèi)卿Pl 裂制tH問:¥1IT- ' iwq冠朗P打產(chǎn)衛(wèi)母fr潔竣沖jejii寸打問件| |5IF打和酣帛OS沖沏贏主半"5程吊兀詩輕|車口調(diào)京片打I1zXMFr>3£Tsi File: C= D:ciu enl'S aiid, 3eL%iis .dninL ±ir at<17<dz垃址 0tllCt233ZH33B37MSlA(IEOCODO3O5 0032 L? do衛(wèi)曲 011123006nEFJb打_rl7fTH黑77X22 aE 07 ts ob or FE FD FB5
12、«iloci COfl F «r if 世 > auU# If ij IH,CO:gratiT lismo 2_甬言用第耳慢氈貶裕平農(nóng)世眼屋湮耗不-瑕隱昨雲(yún)|T?nfl 7Stfj4/tF3C4 囲毘五ftt和右下萬,隹取 中的匱頂Do-JiLs lEKii / 期倍if 廣 BTJ齊倍it 127/aif娠底jlJC大總塔益C iZ c*iiL 廬full cm a垃需任F 161*>11以下耳£當(dāng)螂fi!可這/i沖口下rtJHri n F1 1 v勻下我壬去耳干口才可下也快広RM內(nèi)tr礦睫:-sr蕙止訪甘fff允許誼可鯽Jt初下岀下矣盡戶強同柱序劉
13、梅故垢吐粘運一井輙廣YK總和如冋吵釀計昭皿站下我比點弋蘇匡恥吐更夏匕Cov J.ad/ L ftRe-Do'hJ. :f 秋 |酚t下弐前5時區(qū)入巳打和 帯樞前r(+, m原調(diào)說件用 i -肖目味氏理歸z變-圧自動芝入乂4,笄生即去送卞抵直令他啖| b定艮下螢IS科下處|曦軌腥級|自RM址|曲If帆* F級p功能R悴劃訂加凸丄;肚",貫乩単匕機翳震花氏屯哉用尸KEatjBPsnn后廣只有浄電關(guān)污nra 疔握泣關(guān)假設(shè)門由il /:舲®用 tt % lEiTT孔 A環(huán)則阿 Ft w 新飾 f Tft ns V片i fj OE /苦監(jiān)DE 戰(zhàn)業(yè)材m二邂軒(耳. pr ij
14、ifMiTi tin-E/ rflc3jlnKI D1 )If 111 LS illize iLr ±ady cjxct rptJJ DlDO DIKltfttttJ 3旦0甘|話芙注H 仙燈Efl陀晰期下碗如昔拽示:擰 ng r im S£T*f= ISPTf- ®) |s 二|SIC-ISF-ckcttttf>£/m.lCU-10B0r tra* 扭術(shù)支甘汀;W裁列砧 UlH*平)1.7. 程序#include<reg52.h> /包含頭文件,一般情況不需要改動,頭文件包含特殊功能存放器的定義#define KeyPort P3 /
15、 定義按鍵端口#define DataPort P0 /定義數(shù)據(jù)端口程序中遇到 DataPort那么用P0替換sbit LATCH1=P2A2;/定義鎖存使能端口段鎖存sbit LATCH2=P2A3;位鎖存un sig ned char hour,m inu te,secon d;/ 定義時分秒bit UpdateTimeFlag;/定義讀時間標(biāo)志un sig ned char code dofly_Dua nM a10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;顯示段碼值09unsigned char code dofly_WeiM
16、a=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;分別對應(yīng)相應(yīng)的數(shù)碼管點亮,即位碼un sig ned char TempData8; /存儲顯示值的全局變量void DelayUs2x(unsigned char t);/us 級延時函數(shù)聲明void DelayMs(unsigned char t); /ms 級延時void Display(unsigned char FirstBit,unsigned char Num);/ 數(shù)碼管顯示函數(shù) unsigned char KeyScan(void);/ 鍵盤掃描void Init_Timer0(void);/
17、 定時器初始化/*主函數(shù)*/void main (void)unsigned char num;Init_Timer0();while (1)/主循環(huán)num=KeyScan();switch(num)case 1:hour+;if(hour=24)hour=0;/ 正常時間 小時 加 1break;case 2:hour-;if(hour=255)hour=23;/正常時間 小時減 1break;case 3:minute+;if(minute=60)minute=0;/ 分鐘加 1break;case 4:minute-;if(minute=255)minute=59;/ 分鐘減 1brea
18、k;default:break;if(UpdateTimeFlag=1)UpdateTimeFlag=0;/數(shù)據(jù)的轉(zhuǎn)換, 因我們采用數(shù)碼管 09的顯示 ,將數(shù)據(jù)TempData0=dofly_DuanMahour/10; / 時 分開/參加 "-"TempData1=dofly_DuanMahour%10;TempData2=0x40;TempData3=dofly_DuanMaminute/10;/ 分TempData4=dofly_DuanMaminute%10; TempData5=0x40;TempData6=dofly_DuanMasecond/10;/ 秒Tem
19、pData7=dofly_DuanMasecond%10;/*uS延時函數(shù),含有輸入?yún)?shù)un sig ned char t,無返回值unsigned char 是定義無符號字符變量,其值的范圍是0255 這里使用晶振 12M ,精確延時請使用匯編 ,大致延時 長度如下 T=tx2+5 uS*/void DelayUs2x(unsigned char t)while(-t);/*mS延時函數(shù),含有輸入?yún)?shù)unsigned char t,無返回值unsigned char 是定義無符號字符變量,其值的范圍是0255 這里使用晶振 12M ,精確延時請使用匯編 */void DelayMs(unsi
20、gned char t)while(t-)/大致延時 1mSDelayUs2x(245);DelayUs2x(245);/*顯示函數(shù),用于動態(tài)掃描數(shù)碼管 輸入?yún)?shù) FirstBit 表示需要顯示的第一位,如賦值 2 表示從第三個數(shù)碼管開始顯示 如輸入 0 表示從第一個顯示。Num 表示需要顯示的位數(shù),如需要顯示 99 兩位數(shù)值那么該值輸入 2 */void Display(unsigned char FirstBit,unsigned char Num)static unsigned char i=0;DataPort=0; /清空數(shù)據(jù),防止有交替重影LATCH1=1;/ 段鎖存LATCH1=
21、0;DataPort=dofly_WeiMai+FirstBit; / 取位碼LATCH2=1;/ 位鎖存LATCH2=0;DataPort=TempDatai; / 取顯示數(shù)據(jù),段碼LATCH1=1;/ 段鎖存LATCH1=0;i+;if(i=Num)i=0;/*定時器初始化子程序*/void Init_Timer0(void)TMOD |= 0x01;/使用模式 1,16 位定時器,使用 "|"符號可以在使用多個定時器時不受影響/TH0=0x00;/給定初值/TL0=0x00;EA=1;/總中斷翻開ET0=1;/定時器中斷翻開TR0=1;/定時器開關(guān)翻開/*定時器中斷子程序*/ void Timer0_isr(void) interrupt 1 static unsigned int num,i;TH0=(65536-2000)/256;/ 重新賦值 2msTL0=(65536-2000)%256;Display(0,8); / 調(diào)用數(shù)碼管掃描 i+;if(i=10) /20ms 更新一次i
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《環(huán)境安全教育資料》課件
- 2024年隔離酒店消防安全應(yīng)急預(yù)案
- 單位管理制度合并匯編人員管理篇
- 單位管理制度分享大全【職工管理】十篇
- 《種按摩康復(fù)療法》課件
- 單位管理制度呈現(xiàn)合集【職員管理篇】十篇
- 單位管理制度呈現(xiàn)大合集【員工管理篇】十篇
- 《電子商務(wù)新技術(shù)》課件
- 2024年地稅個人年度工作總結(jié)
- 《硬筆書法講》課件
- GB/T 750-2024水泥壓蒸安定性試驗方法
- 16種(卡特爾)人格測評試題及答案
- 蛋雞養(yǎng)殖場管理制度管理辦法
- 螺內(nèi)酯在腎臟病中的應(yīng)用演示教學(xué)
- 市政工程計量與計價講義
- 小孩出生后視力發(fā)展過程
- X62W萬能銑床
- 供應(yīng)商年度審核計劃及現(xiàn)場審核表
- 環(huán)甲膜穿刺ppt課件
- 裝配基礎(chǔ)知識要點
- 電腦全自動插拔力試驗機操作指導(dǎo)書
評論
0/150
提交評論