日本欧美一区-日本欧美一区二区三区片-日本强好片久久久久久AAA-日本-区一区二区三区A片-日本人伦一区二区三区-日本人妻A片成人免费看

電子開(kāi)發(fā)網(wǎng)

電子開(kāi)發(fā)網(wǎng)電子設(shè)計(jì) | 電子開(kāi)發(fā)網(wǎng)Rss 2.0 會(huì)員中心 會(huì)員注冊(cè)
搜索: 您現(xiàn)在的位置: 電子開(kāi)發(fā)網(wǎng) >> 電子開(kāi)發(fā) >> 單片機(jī) >> 正文

51單片機(jī)定時(shí)系統(tǒng)

作者:佚名    文章來(lái)源:本站原創(chuàng)    點(diǎn)擊數(shù):    更新時(shí)間:2011/4/11

        定時(shí)/計(jì)數(shù)器和中斷源的多少直接決定單片機(jī)的性能。MCS-51單片機(jī)內(nèi)部有兩個(gè)可編程的16位定時(shí)/計(jì)數(shù)器和5個(gè)中斷源,具有較強(qiáng)的實(shí)時(shí)處理能力和對(duì)外部應(yīng)急事件的處理能力。要充分發(fā)揮單片機(jī)的功能,必須充分利用定時(shí)和中斷。
定時(shí)器/計(jì)數(shù)器
一、定時(shí)和延時(shí)的區(qū)別
在單片機(jī)程序清單中,經(jīng)常看到延時(shí)子程序和定時(shí)(中斷)子程序。它們都能使單片機(jī)間隔一段時(shí)間后再做另一件事。例如,控制兩組燈的交替閃亮。以1999年第38期九版圖13為例,下面分別是用延時(shí)和定時(shí)方法的源程序。
程序1:
ORG 0000H
AJMP MAIN
ORG 50H
MAIN:MOV P1,#0AAH;第一組燈亮
ACALL DELAY ;調(diào)延時(shí)子程序
MOV P1,#55H ;第二組燈亮
ACALL DELAY ;調(diào)延時(shí)子程序
AJMP MAIN ;循環(huán)
DELAY:MOV R0,#08H ;延時(shí)子程序,當(dāng)fc=6MHz時(shí),約延時(shí)1秒
L1:MOV R1,#0FFH ;
L2:MOV R2,#0FFH;
L3:DJNZ R2,L3
DJNZ R1,L2
DJNZ R0,L1
RET
END
程序2:
ORG 0000H
AJMP MAIN
ORG 0 WT0;轉(zhuǎn)T0中斷服務(wù)子程序
ORG 50H
MAIN:MOV 21 TL0,#6;裝入定時(shí)初值
MOV TH0,#6;裝入重置定時(shí)初值
MOV TMOD,#02H;設(shè)T0為工作方式2
SETB EA;允許CPU中斷
SETB ETO;允許TO中斷
SETB TRO;允許TO計(jì)數(shù)
MOV P1,#55H;
CLR 00H
M:P1,#55H;CPU去執(zhí)行其他任務(wù)
JNB 0 P1;定時(shí)到1秒,燈的狀態(tài)翻轉(zhuǎn)
CLR 0 M;循環(huán)
WTO:PUSH ACC;定時(shí)中斷服務(wù)子程序
PUSH PSW;
INC 21H
MOV A,21H
CJNE A,#200,TORETI
MOV 21 22 A,22H
CJNE A,#10,TORETI
MOV 22 0 PSW
POP ACC
RETI
END
       程序1中,點(diǎn)亮一組燈后,調(diào)用延時(shí)子程序,延時(shí)子程序結(jié)束后再點(diǎn)亮另一組燈,循環(huán)進(jìn)行,單片機(jī)除能交替點(diǎn)亮兩組燈以外,全部時(shí)間都在運(yùn)行延時(shí)子程序,別的什么事件都不能做了。程序2中,單片機(jī)絕大部分時(shí)間都在做其它事,只在定時(shí)到1秒鐘時(shí)改變燈的工作狀態(tài),充分發(fā)揮了單片機(jī)的功能。因此,在實(shí)際應(yīng)用中,“延時(shí)”只適用于特定的場(chǎng)合,而“定時(shí)”是靈活多變的。
二、定時(shí)器的結(jié)構(gòu)
        初學(xué)者不必去深入研究單片機(jī)的內(nèi)部硬件電路,只要掌握單片機(jī)的使用方法,通過(guò)實(shí)際編程,充分發(fā)揮單片機(jī)的特定功能即可。與定時(shí)器有關(guān)的特殊功能寄存器之間的信號(hào)關(guān)系示于圖1。圖中,TLO、THO、TL1、TH1以及TMOD和TCON都是單片機(jī)的特殊功能寄存器。TLO和THO組成16位的定時(shí)/計(jì)數(shù)器(T0),TL1和TH1組成16位的定時(shí)/計(jì)數(shù)器(T1),TMOD是T0和T1的工作方式控制寄存器,TCON是T0和T1的運(yùn)行狀態(tài)控制寄存器,這些寄存器在程序2中已多次出現(xiàn)。在實(shí)際應(yīng)用時(shí),應(yīng)首先根據(jù)需要對(duì)這些寄存器進(jìn)行初始化,即設(shè)置T0和T1的工作方式并對(duì)T0和T1定時(shí)器裝入初始值以得到精確的定時(shí)時(shí)間。T0和T1的工作方式及運(yùn)行狀態(tài)是由TMOD和TCON兩個(gè)特殊功能寄存器控制的,而TMOD和TCON是由用戶所編的程序控制的。因此,學(xué)好用好定時(shí)/計(jì)數(shù)器必須掌握這些寄存器的功能及使用方法。
 
三、TMOD
TMOD是定時(shí)器的工作方式控制寄存器,其格式見(jiàn)表1。
表1 定時(shí)器工作方式寄存器格式

TMOD是8位的控制寄存器,低4位控制T0的工作方式,高4位控制T1的工作方式,其中:
M1、M0是工作方式選擇位。決定定時(shí)器的4種工作方式。
方式0:(M1=0、M0=0):13位定時(shí)/計(jì)數(shù)器
方式1:(M1=0、M0=1):16位定時(shí)/計(jì)數(shù)器
方式2:(M1=1、M0=0):8位定時(shí)/計(jì)數(shù)器(定時(shí)常數(shù)自動(dòng)裝入)
方式3:(M1=1、M0=1):把T0分為兩個(gè)8位計(jì)數(shù)器
C/T:定時(shí)/計(jì)數(shù)方式選擇位
C/T=0時(shí)為定時(shí)工作方式,在此方式下,計(jì)數(shù)脈沖來(lái)自單片機(jī)內(nèi)部,計(jì)數(shù)脈沖頻率為一個(gè)機(jī)器周期,機(jī)器周期的時(shí)間是固定的,所以就可根據(jù)計(jì)數(shù)值算出計(jì)數(shù)時(shí)間。如程序2中,TL0初值為6,256-6=250,當(dāng)計(jì)數(shù)器計(jì)250個(gè)脈沖后,計(jì)數(shù)器溢出。當(dāng)fc=6MHz時(shí),一個(gè)機(jī)器周期為2μs,因此T0溢出時(shí),時(shí)間為500μs,T0定時(shí)時(shí)間為500μs。
C/T=1時(shí)為計(jì)數(shù)工作方式,在這種方式下,計(jì)數(shù)脈沖來(lái)自外部引腳(T0對(duì)應(yīng)P3??4腳,T1對(duì)應(yīng)P3??5腳)。當(dāng)T0腳(或T1腳)發(fā)生從高電平到低電平的跳變時(shí),計(jì)數(shù)器加1。
GATE:計(jì)數(shù)器工作方式控制位,當(dāng)定時(shí) / 計(jì)數(shù)器工作在計(jì)數(shù)方式時(shí),由GATE設(shè)定計(jì)數(shù)器是否受外部控制。當(dāng)GATE=0時(shí),不受外部控制。當(dāng)GATE=1時(shí),計(jì)數(shù)器T0和T1分別受P3??2和P3??3腳上電平控制。當(dāng)P3??2(或P3??3)腳為低電平時(shí),計(jì)數(shù)器T0(或T1)開(kāi)始計(jì)數(shù),P3??2(或P3??3)腳為高電平時(shí),T0(或T1)停止計(jì)數(shù)。

Tags:單片機(jī),定時(shí)系統(tǒng),51單片機(jī)  
責(zé)任編輯:admin
相關(guān)文章列表
51單片機(jī)零基礎(chǔ)入門
基于AT89C52單片機(jī)控制的雙軸太陽(yáng)自動(dòng)跟蹤系統(tǒng)設(shè)計(jì)
基于51單片機(jī)的數(shù)字電壓表設(shè)計(jì)_Proteus仿真+程序
基于51單片機(jī)的數(shù)字電壓表(ADC0832)(Proteus仿真+程序)_基于
ESP32單片機(jī)入門篇
超聲波測(cè)距+溫度+報(bào)警的單片機(jī)代碼_51單片機(jī)超聲波測(cè)距C語(yǔ)言程序
基于51單片機(jī)的SHT11溫濕度測(cè)量?jī)x設(shè)計(jì)(源碼+仿真+文檔)
基于51單片機(jī)的恒溫控制器系統(tǒng) protues+keil c
51單片機(jī)數(shù)碼管顯示程序, 共陰數(shù)碼管顯示程序 數(shù)碼管原理(顯示
七段數(shù)碼管顯示原理研究_數(shù)碼管顯示0~9對(duì)應(yīng)的段碼
單片機(jī)C語(yǔ)言編程入門教程  流水燈程序示例
51單片機(jī)學(xué)習(xí)筆記直流電機(jī)驅(qū)動(dòng)(PWM)C語(yǔ)言程序
MCU-51單片機(jī)直流電機(jī)驅(qū)動(dòng)(PWM)51單片機(jī)驅(qū)動(dòng)直流電機(jī)
基于51單片機(jī)—多功能秒表,多功能計(jì)時(shí)器C語(yǔ)言程序
STC89C52單片機(jī)數(shù)字電流表電壓表源碼與電路圖  51單片機(jī)電流電壓
自學(xué)stm32單片機(jī)四個(gè)步驟,實(shí)用又高效!
先學(xué)51還是先學(xué)STM32?STM32和51單片機(jī)的區(qū)別
單片機(jī)最小系統(tǒng)介紹及電路設(shè)計(jì) STM32單片機(jī)最小系統(tǒng)
什么是PIC單片機(jī)
51單片機(jī)和STM32單片機(jī)的結(jié)構(gòu)有什么不同
請(qǐng)文明參與討論,禁止漫罵攻擊,不要惡意評(píng)論、違禁詞語(yǔ)。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個(gè)字
[ 查看全部 ] 網(wǎng)友評(píng)論
最新推薦
關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁(yè)面
下到頁(yè)底
晶體管查詢