<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 定時(shí)計數器T0作定時(shí)應用技術(shù)(二)

定時(shí)計數器T0作定時(shí)應用技術(shù)(二)

作者: 時(shí)間:2011-02-27 來(lái)源:網(wǎng)絡(luò ) 收藏

1. 實(shí)驗任務(wù)

AT89S51的定時(shí)/計數器T0產(chǎn)生2秒鐘的定時(shí),每當2秒定時(shí)到來(lái)時(shí),更換指示燈閃爍,每個(gè)指示閃爍的頻率為0.2秒,也就是說(shuō),開(kāi)始L1指示燈以0.2秒的速率閃爍,當2秒定時(shí)到來(lái)之后,L2開(kāi)始以0.2秒的速率閃爍,如此循環(huán)下去。0.2秒的閃爍速率也由定時(shí)/計數器T0來(lái)完成。

2. 電路原理圖

4.16.1

3. 系統板硬件連線(xiàn)

(1. 把“系統”區域中的P1.0P1.3用導線(xiàn)連接到“八路發(fā)光二極管指示模塊”區域中的L1L4

4. 程序設計內容

(1. 由于采用中斷方式來(lái)完成,因此,對于中斷源必須它的中斷入口地址,對于定時(shí)/計數器T0來(lái)說(shuō),中斷入口地址為000BH,因此在中斷入口地方加入長(cháng)跳轉指令來(lái)執行中斷服務(wù)程序。書(shū)寫(xiě)匯編源程序格式如下所示:

ORG 00H

LJMP START

ORG 0BH ;定時(shí)/計數器T0中斷入口地址

LJMP INT_T0

START: NOP ;主程序開(kāi)始

.

.

INT_T0: PUSH ACC ;定時(shí)/計數器T0中斷服務(wù)程序

PUSH PSW

.

.

POP PSW

POP ACC

RETI ;中斷服務(wù)程序返回

END

(2. 定時(shí)2秒,采用16位定時(shí)50ms,共定時(shí)40次才可達到2秒,每50ms產(chǎn)生一中斷,定時(shí)的40次數在中斷服務(wù)程序中完成,同樣0.2秒的定時(shí),需要4次才可達到0.2秒。對于中斷程序,在主程序中要對中斷開(kāi)中斷。

(3. 由于每次2秒定時(shí)到時(shí),L1L4要交替閃爍。采用ID來(lái)號來(lái)識別。當ID0時(shí),L1在閃爍,當ID1時(shí),L2在閃爍;當ID2時(shí),L3在閃爍;當ID3時(shí),L4在閃爍

5. 程序框圖

T0中斷服務(wù)程序框圖

主程序框圖

4.16.2

6. 匯編源程序

TCOUNT2S EQU 30H

TCNT02S EQU 31H

ID EQU 32H

ORG 00H

LJMP START

ORG 0BH

LJMP INT_T0

START: MOV TCOUNT2S,#00H

MOV TCNT02S,#00H

MOV ID,#00H

MOV TMOD,#01H

MOV TH0,#(65536-50000) / 256

MOV TL0,#(65536-50000) MOD 256

SETB TR0

SETB ET0

SETB EA

SJMP $

INT_T0: MOV TH0,#(65536-50000) / 256

MOV TL0,#(65536-50000) MOD 256

INC TCOUNT2S

MOV A,TCOUNT2S

CJNE A,#40,NEXT

MOV TCOUNT2S,#00H

INC ID

MOV A,ID

CJNE A,#04H,NEXT

MOV ID,#00H

NEXT: INC TCNT02S

MOV A,TCNT02S

CJNE A,#4,DONE

MOV TCNT02S,#00H

MOV A,ID

CJNE A,#00H,SID1

CPL P1.0

SJMP DONE

SID1: CJNE A,#01H,SID2

CPL P1.1

SJMP DONE

SID2: CJNE A,#02H,SID3

CPL P1.2

SJMP DONE

SID3: CJNE A,#03H,SID4

CPL P1.3

SID4: SJMP DONE

DONE: RETI

END

7. C語(yǔ)言源程序

#include AT89X51.H>

unsigned char tcount2s;

unsigned char tcount02s;

unsigned char ID;

void main(void)

{

TMOD=0x01;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

TR0=1;

ET0=1;

EA=1;

while(1);

}

void t0(void) interrupt 1 using 0

{

tcount2s++;

if(tcount2s==40)

{

tcount2s=0;

ID++;

if(ID==4)

{

ID=0;

}

}

tcount02s++;

if(tcount02s==4)

{

tcount02s=0;

switch(ID)

{

case 0:

P1_0=~P1_0;

break;

case 1:

P1_1=~P1_1;

break;

case 2:

P1_2=~P1_2;

break;

case 3:

P1_3=~P1_3;

break;

}

}

塵埃粒子計數器相關(guān)文章:塵埃粒子計數器原理


評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>