




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、單片機定時器實驗實驗三單片機內(nèi)部定時器應用實驗目的1、理解單片機內(nèi)部定時器的工作原理及使用方法2、了解單片機定時中斷程序的編寫和調(diào)試方法3、掌握定時器的基本使用方法實驗儀器單片機開發(fā)板、萬利仿真機、穩(wěn)壓電源、計算機實驗原理1、單片機定時器的工原理MCS-51單片機內(nèi)部有兩個16位可編程的定時器/計數(shù)器T0和T1。它們即可用作定時器方式,又可用作計數(shù)器方式。其中T0由TH0和TL0計數(shù)器構成;T1由TH1和TL1計數(shù)器構成。工作于定時器方式時,通過對機器周期(新型51單片機可以對振蕩周期計數(shù))的計數(shù),即每一個機器周期定時器加1,來實現(xiàn)定時。故系統(tǒng)晶振頻率直接影響定時時間。如果晶振頻率為12MHz
2、,則定時器每隔(l/12MHZ)X12=lus加lo工作于計數(shù)器方式時,對P3.4或P3.5管腳的負跳變(1-0)計數(shù)。它在每個機器周期的S5P2時采樣外部輸入,當采樣值在這個機器周期為高,在下一個機器周期為低時,計數(shù)器加1。因此需要兩個機器周期來識別一個有效跳變,故最高計數(shù)頻率為晶振頻率的1/24。特殊功能寄存器TMOD用于定時器/計數(shù)器的方式控制。高4位用于設置T1,低4位用于設置T0。如圖4-7所示。GATEC/TMlM0GATEC/TMlMOT1方式控制TO方式控制/4/D7D6D5D4D3D2DID0TMOD圖47定時器模式控制字格式TCON寄存器用于定時器的計數(shù)控制和中斷標志。如圖
3、4-8所示。TFlTRITFOTROIE1IT1IE0ITOTCOND7D6D5D4D3D2DID0用于外部中斷圖4-8定時控制寄存器數(shù)據(jù)格式編寫程序控制這兩個寄存器就可以控制定時器的運行方式。單片機內(nèi)部定時器/計數(shù)器的使用,簡而概之:(1)如需用中斷,則將EA和相關中斷控制位置1;(2)根據(jù)需要設置工作方式,即對TMOD設置;(3)然后啟動計數(shù),即對TR0或TR1置1。(4)如使用中斷,則計數(shù)溢出后硬件會自動轉入中斷入口地址;如使用查詢,則必須對溢出中斷標志位TF0或TF1進行判斷。2、用定時器編寫一個秒計時器假設系統(tǒng)使用的晶振頻率為12MHz,即每個機器周期為1uso如使用方式1,則定時時
4、間最長是216X1us=65536us=65.536ms,小于1s。故必須設置一個軟件計數(shù)單元,即假設定時器定時中斷時間為50ms,則必須定時中斷20次才達到1s并對秒計時單元加1,20即為軟件計數(shù)次數(shù)。最后再把秒計時單元的值轉成顯示數(shù)碼送顯示緩沖區(qū)。定時學中斷保護現(xiàn)場Y-秒計時器加恢尋現(xiàn)場圖4-9定時器應用程序流程圖實驗內(nèi)容1、單片機定時器秒計時器LEDCLKBITP3.4;LEDDINBITP2.3;LEDDATADATAP0;DSEGAT30Hdispbuf:ds8;顯示緩沖區(qū)timetick:ds1second:ds1minute:ds1hour:ds1TIMECOUNTEQU5000
5、0CSEGat0000HSJMPMAINORG000BHLJMPP_T0ORG0030;中斷服務程序P_T0:PUSHPSWPUSHACCPUSHDPHPUSHDPLMOVTH0,#(65535-TIMECOUNT)/256MOVTL0,#(65535-TIMECOUNT)MOD256SETBRS0;后面所使用的R0r7DJNZtimetick,P_T02MOVtimetick,#20INCsecond;cjnesecond,#60,P_T01;MOVSECOND,#。;incminute;P_T01:MOVA,secondMOVB,#100DIVABMOVR0,#dispbuf+2MOVR0
6、,ADECR0MOVA,BMOVB,#10DIVABMOVR0,ADECR0MOVR0,BP_T02:CLRRS0POPDPLPOPDPHPOPACCPOPPSWRETIMAIN:movsp,#60hMOVdispbuf,#0MOVdispbuf+1,#0MOVdispbuf+2,#0MOVdispbuf+3,#0MOVdispbuf+4,#0MOVdispbuf+5,#0MOVdispbuf+6,#0MOVdispbuf+7,#0MOVTH0,#(65535-TIMECOUNT)/256;3CAFMOVTL0,#(65535-TIMECOUNT)MOD256;MOVTMOD,#01H;設定定
7、時器的工作方式SETBET0;允許T0溢出中斷SETBTR0;啟動t0SETBEA;開啟總中斷MAIN1:ACALLDISPSJMPMAIN1DISP:MOVR6,#8MOVR0,#dispbufCLRLEDCLKCLRLEDDINNOPDISP1:SETBLEDCLKMOVA,R0MOVDPTR,#LEDTABMOVCA,A+DPTRMOVLEDDATA,A;MOVR7,#5ACALLDelayNmsINCR0SETBLEDDINCLRLEDCLKDJNZR6,DISP1RET;大延時DelayNms:D1:ACALLDelay1msDJNZR7,D1RET;延時子程序Delay1ms:pu
8、sh07movR7,#250delayl:NOPNOPDJNZR7,delay1POP07RETLEDTAB:DB03H,9FH,25H,0DH;0,123DB99H,49H,41H,1FH;4,5,6,7DB01H,09H,11H,0C1H;8,9,A,BDB63H,85H,61H,71H;C,D,E,FEND2、修改上面的程序,設計一個N秒倒計時器(N為學號后兩位)。倒計時時間到后,重新開始計時。LEDCLKBITP3.4;LEDDINBITP2.3;LEDDATADATAP0;DSEGAT30Hdispbuf:ds8;顯示緩沖區(qū)timetick:ds1second:ds1minute:d
9、s1hour:ds1TIMECOUNTEQU50000CSEGat0000HSJMPMAINORG000BHLJMPP_T0ORG0030H;中斷服務程序P_T0:PUSHPSWPUSHACCPUSHDPHPUSHDPLMOVTH0,#(65535-TIMECOUNT)/256MOVTL0,#(65535-TIMECOUNT)MOD256SETBRS0;后面所使用的R0r7DJNZtimetick,P_T01MOVtimetick,#20decsecondMOVA,secondCJNEA,#00,P_T01MOVSECOND,#33P_T01:MOVA,secondMOVB,#100DIVAB
10、MOVR0,#dispbuf+2MOVR0,ADECR0MOVA,BMOVB,#10DIVABMOVR0,ADECR0MOVR0,BCLRRS0POPDPLPOPDPHPOPACCPOPPSWRETIMAIN:movsp,#60hMOVdispbuf,#0MOVdispbuf+1,#0MOVdispbuf+2,#0MOVdispbuf+3,#0MOVdispbuf+4,#0MOVdispbuf+5,#0MOVdispbuf+6,#0MOVdispbuf+7,#0movtimetick,#20movsecond,#33MOVTH0,#(65535-TIMECOUNT)/256;3CAFMOVTL
11、0,#(65535-TIMECOUNT)MOD256;MOVTMOD,#01HSETBET0;允許T0溢出中斷SETBTR0;啟動t0SETBEA;開啟總中斷MAIN1:ACALLDISPSJMPMAIN1DISP:MOVR6,#8MOVR0,#dispbufCLRLEDCLKCLRLEDDINNOPDISP1:SETBLEDCLKMOVA,R0MOVDPTR,#LEDTABMOVCA,A+DPTRMOVLEDDATA,A;MOVR7,#5ACALLDelayNmsINCR0SETBLEDDINCLRLEDCLKDJNZR6,DISP1RET;大延時DelayNms:D1:ACALLDelay
12、1msDJNZR7,D1RET;延時子程序Delaylms:push07movR7,#250delayl:NOPNOPDJNZR7,delay1POP07RETLEDTAB:DB03H,9FH,25H,0DH;0,123DB99H,49H,41H,1FH;4,5,6,7DB01H,09H,11H,0C1H;8,9,A,BDB63H,85H,61H,71H;C,D,E,FEND思考題1、在實驗程序基礎上編寫一個24小時計時時鐘。LEDCLKBITP3.4;LEDDINBITP2.3;LEDDATADATAP0;DSEGAT30Hdispbuf:ds8;顯示緩沖區(qū)timetick:ds1secon
13、d:ds1minute:ds1hour:ds1TIMECOUNTEQU50000CSEGat0000HSJMPMAINORG000BHLJMPP_T0ORG0030H;中斷服務程序P_T0:PUSHPSWPUSHACCPUSHDPHPUSHDPLMOVTH0,#(65535-TIMECOUNT)/256MOVTL0,#(65535-TIMECOUNT)MOD256SETBRS0;后面所使用的R0r7DJNZtimetick,P_T02MOVtimetick,#20INCsecondMOVA,secondCJNEA,#60,P_T01;秒MOVSECOND,#。incminute;MOVA,mi
14、nute;分CJNEA,#60,P-T01INCHOUR;時MOVA,HOURCJNEA,#12,P-T01MOVHOUR,#。P_T01:MOVA,secondMOVB,#100DIVABMOVR0,#dispbuf+2MOVR0,ADECR0MOVA,BMOVB,#10DIVABMOVR0,ADECR0MOVR0,BP_T02:CLRRS0POPDPLPOPDPHPOPACCPOPPSWRETIMAIN:movsp,#60hMOVdispbuf,#0MOVdispbuf+1,#0MOVdispbuf+2,#0MOVdispbuf+3,#0MOVdispbuf+4,#0MOVdispbuf+
15、5,#0MOVdispbuf+6,#0MOVdispbuf+7,#0MOVTH0,#(65535-TIMECOUNT)/256;3CAFMOVTL0,#(65535-TIMECOUNT)MOD256;MOVTMOD,#01H;設定定時器的工作方SETBET0;允許T0溢出中斷SETBTR0;啟動t0SETBEA;開啟總中斷MAIN1:ACALLDISPSJMPMAIN1DISP:MOVR6,#8MOVR0,#dispbufCLRLEDCLKCLRLEDDINNOPDISP1:SETBLEDCLKMOVA,R0MOVDPTR,#LEDTABMOVCA,A+DPTRMOVLEDDATA,A;MOVR7,#5ACALLDelayNmsINCR0SETBLEDDINCLRLEDCLKDJNZR6,DISP1RET;大延時DelayNms:D1:ACALLDelaylmsDJNZR7,D1RET;延時子程序Delaylms:push07movR7,#250
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)村衛(wèi)浴維修合同范本
- 專業(yè)護欄安裝合同范本
- 住建部合同范本0204
- 北京農(nóng)村土地租賃合同范本
- 兼職app推廣合同范本
- 交房質(zhì)量糾紛合同范本
- 公司貸款抵押合同范本
- 全國青島版信息技術七年級下冊專題二第6課《閱讀材料 濾鏡》教學設計
- 包裝木箱合同范本
- 劇團戲服贈與合同范本
- 掩體構筑與偽裝教學法教案
- 讓我們一起去追“星”!兩彈一星之核彈老人魏世杰課件高二下學期愛國主義教育主題班會
- 2024年日歷表電子版(帶農(nóng)歷-含周數(shù)-周一開始-打印版)
- 2024年計算機組成原理期末考試試題及答案共五套
- DB32T-認知障礙老年人康復訓練服務規(guī)范編制說明
- 三年級上冊科學全冊知識點2024年新青島版六三制
- 網(wǎng)絡營銷(第三版) 課件 項目一 網(wǎng)絡營銷概述
- 【小米公司手機市場營銷策略8700字(論文)】
- JGJT163-2008 城市夜景照明設計規(guī)范
- 期末情境卷考核-2023-2024學年語文二年級下冊統(tǒng)編版
- 【紅樓夢中的林黛玉性格探析5200字(論文)】
評論
0/150
提交評論