在8051单片机中已知系统时钟fOSC=6MHz,采用系统12分频作为定时器时钟,

使用定时器产生周期为1ms的等宽方波,由P2.0输出。要求使用定时器0以工作方式1,采用查询方式。(本题15分),计算初值,写出程序。

fosc=6mhz,所以机器周期为2us,产生周期为1ms的等宽脉冲,那么定时时间为0.5ms,所以初值为65536-250;程序如下:

ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
    MOV TMOD,#01H
    MOV TH0,#HIGH(65536-250)
    MOV TL0,#LOW(65536-250)
    SETB TR0
LOOP:
    JNB TF0,$
    MOV TH0,#HIGH(65536-250)
    MOV TL0,#LOW(65536-250) 
    CLR TF0
    CPL P2.0
    SJMP LOOP
    END
温馨提示:答案为网友推荐,仅供参考
相似回答