【正确答案】TL1初值=28-120μs/1μs=256-120=136=88H
TH1初值=28-240μs/1μs=256-240=16=10H
编制程序如下:
ORG 0000H ;复位地址
LJMP STAT ;转初始化程序
ORG 001BH ;T1中断入口地址
LJMP IT1 ;转T1中断服务程序
ORG 1000H ;初始化程序首地址
STAT:CLR P1.7 ;输出低电平
MOV TMOD,#20H ;置T1定时器方式2
MOV TH1,#10H ;置TH1初值,定时240μs
MOV TL1,#88H ;置TL1初值,定时120μs
SETB PT1 ;置T1为高优先级
SETB TR1 ;T1启动
SETB P1.7 ;输出高电平
MOV IE,#10001000B;T1开中
LJMP MAIN ;转主程序,并等待中断
ORG 2000H ;T1中断服务程序首地址
IT1:CPL P1.7 ;输出波形取反
JB P1.7,IT11 ;P1.7=1,转置TH1初值240μs
MOV TH1,#88H ;P1.7=0,置TH1初值120μs
RETI ;中断返回
IT11:MOV TH1,#10H ;置TH1初值240μs
RETI ;中断返回
【答案解析】