【正确答案】TL0初值=28-200μs/2μs=256-100=156=9CH
TH0初值=28-500μs/2μs=256-250=6
编制程序如下:
ORG 0000H ;复位地址
LJMP STAT ;转初始化程序
ORG 000BH ;T0中断入口地址
IJMP IT0 ;转T0中断服务程序
ORC 1000H ;初始化程序首地址
STAT:CLR P1.7 ;输出低电平
MOV TMOD,#02H ;置T0定时器方式2
MOV TH0,#06H ;置TH0初值,定时500μs
MOV TL0,#9CH ;置TL0初值,定时200μs
SETB PT0 ;置T0为高优先级
SETB TR0 ;T0启动
SETB P1.7 ;输出高电平
MOV IE,#10000010B ;T0开中
LJMP MAIN ;转主程序,并等待中断
ORG 2000H ;T0中断服务程序首地址
IT0: CPL P1.7 ;输出波形取反
JB P1.7,IT01 ;P1.7=1,转置TH0初值500μs
MOV TH0,#9CH ;P1.7=0,置TH0初值200μs
RETI ;中断返回
IT01:MOV TH0,#06H ;置TH0初值500μs
RFTI ;中断返回
【答案解析】