解:50HZ的方波周期为20ms,可以用定时器产生10ms的定时,每隔10ms改变一次P1.0的电平,即可得到50HZ的方波。此时,应使定时器T0工作在方式1。工作在方式1时的T0初值,根据下式计算:
t=(216-T0初值)´ 机器周期
解得t=55536= 11011000 11001100B=D8CCH,其中将高8位D8H赋给TH0,低8位CCH赋给TL0。
采用中断工作方式,编程如下:
ORG 0000H
AJMP MAIN
ORG 000BH
AJMP T0INT
ORG 0100H
MAIN: MOV TMOD , #01H
MOV TH0 , #0D8 H
MOV TL0 , #0CC H
MOV IE , #82H
SETB TR0
SJMP $
中断服务程序;
ORG 0300H
T0INT:CPL P1.0
MOV TH0 , #0D8H
MOV TL0 , #0CCH
RETI
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』