使用定時器實現(xiàn)長時間的延時
;知識要點:計數(shù)器的應(yīng)用
;把定時器設(shè)置為50ms, 另外設(shè)置兩個軟件計數(shù)器20,60 總時間
;為50ms*20*60=60000ms=1分鐘
;t1為方式1則m1m0=01h,使用定時器c/t=0 gate=0 TMOD=10H
;方式1為16位計數(shù)器,一共65535, 減去50000等于15536則計數(shù)器初值為3cb0h
ORG 0000H;程序開始
LJMP MAIN
ORG 030H
MAIN: MOV 30H,#20;30h,31h分別置常數(shù)20,60
MOV 31H,#60;
MOV TMOD,#10H;定時器方式1
MOV TH1,#03CH;置定時器初值
MOV TL1,#0B0H
MOV IE,#00H;禁止中斷
SETB TR1;起動定時器
LOOP: JBC TF1,LOOP1;查詢定時器時間到轉(zhuǎn)loop1
AJMP LOOP
LOOP1: MOV TH1,#03CH;重置定時器
MOV TL1,#0B0H
DJNZ 30H,LOOP;定時是否到了20次
MOV 30H,#20
DJNZ 31H,LOOP;定時是否到了60次
MOV 31H,#60
CPL P1.0;取反p1.0
AJMP LOOP
END
程序在倚天版運行的狀態(tài):程序運行后全滅
程序在倚天版運行的狀態(tài):1分鐘后p10點亮, 實現(xiàn)長時間的延時
51單片機相關(guān)文章:51單片機教程
塵埃粒子計數(shù)器相關(guān)文章:塵埃粒子計數(shù)器原理
評論