怎样编程设置K60PWM输出引脚

2026年09月26日 07:47
有1个网友回答
网友(1):

(1)计算计数初值X
50Hz对应周期为20mS,P1.0需要10mS反相一次。
12MHz晶振对应机器周期 = 1us
10mS需要机器周期数:10mS/1uS=10000
设需要装入T0的初值为X: X = 65536 − 10000 = 55536。
X 化为十六进制数: 55536 = D8F0H 。
T0的初值为TH0 =0D8H,TL0 = 0F0H。
(2)程序
ORG 0000H ;程序入口
BEGIN: AJMP MAIN ;转主程序
ORG 000BH ;T0中断入口
AJMP IT0P ;转T0中断处理程序IT0P

ORG 0100H ;主程序入口
MAIN: MOV TMOD,#01H ;设置T0为方式1定时
MOV TL0,#0F0H ;T0初始化,装初值的低8位
MOV TH0,#0D8H ;装初值的高8位
SETB ET0 ;允许T0中断
SETB EA ;总中断允许
SETB TR0 ;启动T0

SJMP $ ;原地循环,等待中断

IT0P: MOV TL0,#0F0H ;中断子程序,T0重装初值
MOV TH0,#0D8H
CPL P1.0 ;P1.0的状态取反
RETI
END