用單片機(jī)定時(shí)器T0產(chǎn)生50HZ的方波
解:50HZ的方波周期為20ms,可以用定時(shí)器產(chǎn)生10ms的定時(shí),每隔10ms改變一次P1.0的電平,即可得到50HZ的方波。此時(shí),應(yīng)使定時(shí)器T0工作在方式1。工作在方式1時(shí)的T0初值,根據(jù)下式計(jì)算:
t=(216-T0初值)′機(jī)器周期
解得t=55536= 11011000 11001100B=D8CCH,其中將高8位D8H賦給TH0,低8位CCH賦給TL0。
采用中斷工作方式,編程如下:
ORG0000H
AJMPMAIN
ORG000BH
AJMPT0INT
ORG0100H
MAIN:MOVTMOD , #01H
MOVTH0 , #0D8 H
MOVTL0 , #0CC H
MOVIE , #82H
SETBTR0
SJMP$
中斷服務(wù)程序;
ORG0300H
T0INT:CPLP1.0
MOVTH0 , #0D8H
MOVTL0 , #0CCH
RETI