版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
..目錄1設(shè)計方案11.1設(shè)計目的11.2設(shè)計任務(wù)12設(shè)計總體框圖12.1系統(tǒng)設(shè)計方框圖12.2程序流程圖23設(shè)計單元電路33.1AT89C51的時鐘電路33.2AT89C51的復(fù)位電路設(shè)計43.3AT89C51的顯示電路設(shè)計43.4AT89C51的按鍵電路設(shè)計54電路原理說明64.1AT89C51芯片管腳及其功能64.2電路總原理及硬件原理圖84.3軟件設(shè)計95參考文獻206設(shè)計心得20附錄:21附錄1:調(diào)試報告21附錄2:元器件清單22定時鬧鈴的設(shè)計1設(shè)計方案1.1設(shè)計目的本設(shè)計是一個定時鬧鐘,它僅使用單片的20引腳單片機完成鬧鐘的全部功能。設(shè)計目的是為了學(xué)習(xí)和鞏固單片機知識,使對已學(xué)過的基礎(chǔ)知識能有更深入的理解,學(xué)會獨立思考、獨立思考、獨立工作,以及提高對所學(xué)應(yīng)用基本理論分析和解決實際問題的能力。1.2設(shè)計任務(wù)本設(shè)計是一個定是鬧鐘,它僅使用單片40個引腳單片機AT89C51完成鬧鐘的全部功能,包括時鐘顯示,時鐘設(shè)置,鬧鐘設(shè)定和鬧鐘報時。設(shè)計目的是學(xué)習(xí)和鞏固單片機知識,使用學(xué)習(xí)過的關(guān)于AT89C51的基礎(chǔ)知識能有更深入的理解,學(xué)會獨立思考,獨立工作,以及提高對所學(xué)習(xí)的應(yīng)用基本理論分析和解決實際問題的能力。2設(shè)計總體框圖2.1系統(tǒng)設(shè)計方框圖6位共陽數(shù)碼管6位共陽數(shù)碼管顯示單片機AT89C51限流電阻晶振晶振及復(fù)位按鈕LED指示燈按鈕LED指示燈圖1系統(tǒng)設(shè)計框圖開始2.2程序流程圖開始有關(guān)變量的初始化有關(guān)變量的初始化啟動走時啟動走時顯示時間顯示時間判斷是否鬧鐘時間到判斷是否鬧鐘時間到Y(jié)YLED亮LED亮NNNS4是否按下S3是否按下NS4是否按下S3是否按下YYYNN按S3?按S2?按S2?按S4?YNN按S3?按S2?按S2?按S4?YYYYYYYY調(diào)整時鐘分調(diào)整時鐘分調(diào)整時鐘時設(shè)置鬧鐘時設(shè)置鬧設(shè)置鬧鐘時設(shè)置鬧鐘分NNNN按S1?按S1?按S1?按S1?NNNN按S1?按S1?按S1?按S1?YYYYYYYY圖2程序流程圖3設(shè)計單元電路3.1AT89C51的時鐘電路AT89C51系列的單片機時鐘方式分為內(nèi)部和外部方式,外部方式是把外部已經(jīng)有的時鐘信號引入到單片機內(nèi)部。時鐘電路在計算機系統(tǒng)中起著非常重要的作用,是保證系統(tǒng)正常工作的基礎(chǔ)。在一個單片機應(yīng)用系統(tǒng)中,時鐘有兩方面的含義:一是指為保障系統(tǒng)正常工作的基準(zhǔn)振蕩定時信號,主要有晶振和外圍電路組成,晶振頻率的大小決定了單片機系統(tǒng)工作的快慢;而是指系統(tǒng)的標(biāo)準(zhǔn)定時時鐘,即定時時間,它通常有兩種實現(xiàn)方法:一是用軟件實現(xiàn),即用單片機內(nèi)部的可編程定時/計數(shù)器來實現(xiàn),但誤差很大,主要用在對時間精度要求不高的場合;二是用專門的時鐘芯片實現(xiàn)。本設(shè)計的采用內(nèi)部時鐘方式。時鐘電路如圖3所示。圖3時鐘電路3.2AT89C51的復(fù)位電路設(shè)計復(fù)位是單片機的初始化操作,起主要功能是把PC初始化為0000H,使單片機從0000H單元開始執(zhí)行程序。除進入系統(tǒng)的正常初始化之外,當(dāng)由于程序運行出錯禍操作錯誤使系統(tǒng)處于死鎖狀態(tài)時,為擺脫困境,可以使復(fù)位鍵以重新啟動,也可以通過監(jiān)視定時器來強迫復(fù)位。RET引腳是復(fù)位信號的輸入端,如圖4所示。圖4復(fù)位電路3.3AT89C51的顯示電路設(shè)計分段式顯示器〔LED數(shù)碼管由7條線段圍成8字型,每一段包含一個發(fā)光二極管。外加正向電壓時二極管導(dǎo)通,發(fā)出清晰的光。只要按規(guī)律控制各發(fā)光段亮、滅,就可以顯示各種字形或符號。LED數(shù)碼管有共陽、共陰之分。圖是共陽式、共陰式LED數(shù)碼管的原理圖和符號,如圖5所示。顯示電路顯示模塊需要實時顯示當(dāng)前的時間,即時、分、秒,因此需要6個數(shù)碼管。LED顯示器的顯示控制方式按驅(qū)動方式可分成靜態(tài)顯示方式和動態(tài)顯示方式兩種。對于多位LED顯示器,通常都是采用動態(tài)掃描的方法進行顯示,其硬件連接方式如圖6所示,時的十位和個位分別顯示在第一個和第二個數(shù)碼管,分的十位和個位分別顯示在第三個和第四個數(shù)碼管,秒的十位和個位分別顯示在第五個和第六個數(shù)碼管。定時時間到后,P3.7被置位,二極管發(fā)光,提醒鬧鐘時間到。圖5共陽式、共陰式LED數(shù)碼管的原理圖和數(shù)碼管的符號圖圖6數(shù)碼管硬件連接圖3.4AT89C51的按鍵電路設(shè)計S1按鍵接在P2.0口,用于切換正常走時、調(diào)時間、設(shè)定鬧鐘;S2按鍵接在P2.1口,用于調(diào)整時間分加一和設(shè)置鬧鈴分加一功能鍵;S3按鍵接在P2.2口,按下后進入鬧鐘設(shè)置狀態(tài);S4按鍵接在P2.3口,按下后進入時間調(diào)整狀態(tài)。按鍵連接如圖7所示。圖7按鍵硬件連接圖4電路原理說明4.1AT89C51芯片管腳及其功能AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器的低電壓,可穩(wěn)定地工作于5V的電源下.該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器。AT89C51芯片引腳圖如圖8所示。圖8AT89C51芯片引腳圖AT89C51管腳說明:
VCC:供電電壓。GND:接地。
P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0口作為原碼輸入口,當(dāng)FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。
P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。
P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫"1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址"1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。
P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫入"1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流〔ILL這是由于上拉的緣故。
P3口也可作為AT89C51的一些特殊功能口:管腳備選功能
P3.0RXD〔串行輸入口
P3.1TXD〔串行輸出口
P3.2/INT0〔外部中斷0
P3.3/INT1〔外部中斷1
P3.4T0〔記時器0外部輸入
P3.5T1〔記時器1外部輸入
P3.6/WR〔外部數(shù)據(jù)存儲器寫選通
P3.7/RD〔外部數(shù)據(jù)存儲器讀選通
P3口同時為閃爍編程和編程校驗接收一些控制信號。
RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機器周期的高電平時間。
ALE/PROG:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時,ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。
/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。
/EA/VPP:當(dāng)/EA保持低電平時,則在此期間外部程序存儲器〔0000H-FFFFH,不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源〔VPP。XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。
XTAL2:來自反向振蕩器的輸出。4.2電路總原理及硬件原理圖電路總原理:將軟件.hex文件添加到芯片后,就可開始仿真。此設(shè)計中數(shù)碼管顯示時分秒,時為24進制,分和秒都為60進制。當(dāng)按下S3時進入鬧鐘設(shè)置狀態(tài),此時再按下S3則設(shè)置鬧鐘時,每按一下鬧鐘時加一,到23h時回到0h,接著按下S2則設(shè)置鬧鐘分,每按一下鬧鐘分加一,之后按下S1回到時間顯示狀態(tài);當(dāng)按下S4時進入時鐘調(diào)整狀態(tài),此時再按下S4則調(diào)整時鐘時,每按一下時鐘時加一,到23h時回到0h,接著按下S2則設(shè)置時鐘分,每按一下時鐘分加一,之后按下S1回到時間顯示狀態(tài)。電路總原理圖如圖9所示。圖9電路總原理圖4.3軟件設(shè)計設(shè)計程序如下:ORG0000HLJMPSTARTORG000BHLJMPTIMESTART:MOVSP,#51HMOV20H,#00H;定義秒MOV21H,#00H;定義分MOV22H,#00H;定義時MOV23H,#00H;定義鬧鐘分MOV24H,#00H;定義鬧鐘時MOV25H,#00HMOV26H,#00HMOV30H,#00H;BCD顯示時間秒MOV31H,#00HMOV32H,#00H;BCD顯示時間分MOV33H,#00HMOV34H,#00H;BCD顯示時間時MOV35H,#00HMOV36H,#00H;BCD鬧鐘分MOV37H,#00HMOV38H,#00H;BCD鬧鐘時MOV39H,#00HMOV50H,#00H;按鍵次數(shù)MOVTMOD,#01HMOVTH0,#03CHMOVTL0,#0B0HMOVIE,#82H;中斷允許SETBTR0;啟動T0MOVR2,#14HMOVP2,#0FFHCLRP3.7MAIN:LCALLTIMEPRO;判斷是否為鬧鐘GB:LCALLDISPLAY1;顯示時間P1.3,M1LCALLSETTIMELJMPMAINM1:P1.2,M2LCALLSETATIMELJMPMAINM2:P1.0,M4LCALLLOOKATIMEM4:LJMPMAINDELAY:MOVR4,#030H;延時子程序DL00:MOVR5,#0FFHDL11:MOVR6,#09HDL12:DJNZR6,DL12DJNZR5,DL11DJNZR4,DL00RETSETTIME:;設(shè)置時間L0:LCALLDISPLAY1MM1:P1.3,L1;進入時間設(shè)置狀態(tài)MOVC,P1.3JCMM1LCALLDELAY1JCMM1MSTOP1:MOVC,P1.3;設(shè)置時鐘時JNCMSTOP1LCALLDELAY1MOVA,50HINC50HCJNEA,#00H,HJ1LJMPL0HJ1:MOVC,P1.3JNCMSTOP1INC22HMOVA,22HCJNEA,#18H,GO12;時為24h時清零MOV22H,#00HMOV34H,#00HMOV35H,#00HLJMPL0L1:P1.1,L2MOVC,P1.1JCL1LCALLDELAY1JCL1MSTOP2:MOVC,P1.1;設(shè)置時鐘分JNCMSTOP2LCALLDELAY1MOVC,P1.1JNCMSTOP2INC21HMOVA,21HCJNEA,#3CH,GO11;分為60s時清零MOV21H,#00HMOV32H,#00HMOV33H,#00HLJMPL0GO11:MOVB,#0AHDIVABMOV32H,BMOV33H,ALJMPL0GO12:MOVB,#0AHDIVABMOV34H,BMOV35H,ALJMPL0L2:P1.0,L0MOVC,P1.0JCL2LCALLDELAY1MOVC,P1.0JCL1STOP1:MOVC,P1.0;回到時間顯示JNCSTOP1LCALLDELAY1MOVC,P1.0JNCSTOP1MOV50H,#00HLJMPMAINSETATIME:LCALLDISPLAY2;設(shè)置鬧鐘N0:LCALLDISPLAY2MM2:P1.2,N1MOVC,P1.2JCMM2LCALLDELAY1JCMM2MSTOP3:MOVC,P1.2;設(shè)置鬧鐘時JNCMSTOP3LCALLDELAY1MOVA,50HINC50HCJNEA,#00H,HJ2LJMPN0HJ2:MOVC,P1.2JNCMSTOP3INC24HMOVA,24HCJNEA,#18H,GO22;時為24h時清零MOV24H,#00HMOV38H,#00HMOV39H,#00HLJMPN0N1:P1.1,N2MOVC,P1.1JCN1LCALLDELAY1MOVC,P1.1JCN1MSTOP4:MOVC,P1.1;設(shè)置鬧鐘分JNCMSTOP4LCALLDELAY1MOVC,P1.1JNCMSTOP4INC23HMOVA,23HCJNEA,#3CH,GO21;分為60s時清零MOV23H,#00HMOV36H,#00HMOV37H,#00HLJMPN0GO21:MOVB,#0AHDIVABMOV36H,BMOV37H,ALJMPN0GO22:MOVB,#0AHDIVABMOV38H,BMOV39H,ALJMPN0N2:P1.0,N0MOVC,P1.0JCN2LCALLDELAY1MOVC,P1.0JCN1STOP2:MOVC,P1.0;回到時間顯示JNCSTOP2LCALLDELAY1MOVC,P1.0JNCSTOP2MOV50H,#00HLJMPMAINTIMEPRO:MOVA,21H;判斷是否為鬧鐘MOVB,23HCJNEA,B,BKMOVA,22HMOVB,24HCJNEA,B,BKSETB25H.0MOVC,25H.0LCALLTIMEOUTJMPBK1BK:CLRP3.7BK1:RETTIMEOUT:SETBP3.7RETLOOKATIME:LCALLDISPLAY2;判斷S1是否按下,若按下則顯示時間,否則顯示鬧鐘MM:JNBP1.0,LOOKATIMELCALLDELAY1LJMPMAINDELAY1:MOVR4,#14HDL001:MOVR5,#0FFHDL111:DJNZR5,DL111DJNZR4,DL001RETTIME:PUSHACC;定時PUSHPSWMOVTH0,#0E0HMOVTL0,#0B0HDJNZR2,RET0MOVR2,#14HMOVA,20HCLRCINCA;秒自加1CJNEA,#3CH,GO1;秒計數(shù)循環(huán)MOV20H,#00H;復(fù)位MOV30H,#00HMOV31H,#00HMOVA,21HINCA;分自加1CJNEA,#3CH,GO2;分計數(shù)循環(huán)MOV21H,#00H;復(fù)位MOV32H,#00HMOV33H,#00HMOVA,22HINCA;時自加1CJNEA,#18H,GO3;時計數(shù)循環(huán)MOV22H,#00H;復(fù)位MOV34H,#00HMOV35H,#00HMOVA,21HAJMPRET0GO1:MOV20H,AMOVB,#0AHDIVABMOV31H,A;秒高位MOV30H,B;秒低位AJMPRET0GO2:MOV21H,AMOVB,#0AHDIVABMOV3H,A;分高位MOV32H,B;分低位AJMPRET0GO3:MOV22H,AMOVB,#0AHDIVABMOV35H,A;時高位MOV34H,B;時低位AJMPRET0RET0:POPPSWPOPACCRETIDISPLAY1:MOVR0,#30H;顯示子程序MOVR3,#01HPLAY1:MOVA,R3MOVP2,AMOVA,R0MOVDPTR,#DSEG1MOVCA,A+DPTRMOVP0,ALCALLDL1MOVA,R3RLAMOVR3,AMOVC,ACC.6JCLD1INCR0LJMPPLAY1LD1:RETDISPLAY2:PUSHACCPUSHPSWMOVR0,#36HMOVR3,#04HPLAY2:MOVA,R3MOVP2,AMOVA,R0MOVDPTR,#DSEG1MOVCA,A+DPTRMOVP0,ALCALLDL1MOVA,R3;判斷是否顯示到最低位RLA
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- YY/T 1950-2024組織工程醫(yī)療器械絲素蛋白
- YY/T 0860-2024心臟射頻消融治療設(shè)備
- 貴州財經(jīng)職業(yè)學(xué)院《小組工作》2023-2024學(xué)年第一學(xué)期期末試卷
- 貴陽職業(yè)技術(shù)學(xué)院《建筑風(fēng)景表現(xiàn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025陜西省安全員-B證考試題庫附答案
- 紅棗小鎮(zhèn)建設(shè)項目可行性研究報告-紅棗市場需求持續(xù)擴大
- 廣州中醫(yī)藥大學(xué)《食品微生物學(xué)(雙語)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年湖南省安全員考試題庫及答案
- 2025年山東省安全員《B證》考試題庫
- 廣州醫(yī)科大學(xué)《小學(xué)語文教學(xué)設(shè)計與實訓(xùn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2023-2024學(xué)年浙江省杭州市上城區(qū)教科版四年級上冊期末考試科學(xué)試卷
- 期末 (試題) -2024-2025學(xué)年外研版(三起)(2024)英語三年級上冊
- 2023年彌渡縣廣播電視臺(融媒體中心)招聘筆試題庫及答案解析
- 體能訓(xùn)練講解健身課件
- 2023年成都溫江興蓉西城市運營集團有限公司招聘筆試題庫及答案解析
- 地震工程學(xué)-反應(yīng)譜和地震時程波的相互轉(zhuǎn)化matlab編程
- 建筑工程施工現(xiàn)場視頻監(jiān)控布置實施方案
- 施工現(xiàn)場節(jié)前安全檢查表
- 松下vf100變頻器使用手冊
- 機械設(shè)計制造及其自動化實習(xí)總結(jié)報告——某
- 角的概念推廣說課課件.
評論
0/150
提交評論