求助单片机问题,请高手帮忙,谢谢!

1.编写完整C语言程序。已知AT89S51单片机系统时钟频率为fOSC=12MHz,试利用定时器T1作为定时器,工作方式1,实现P0.2输出矩形脉冲(采用查询方式实现)。

2. 编写汇编语言程序段,T1作为定时器,工作方式0,从P0.2输出10MS方波,机内晶振为12MHz 。

1/
#include<reg51.h>
sbit pluse=P0^2;
main()
{
TMOD=0x20;
TH1=56;
TL1=56;
TR1=1;
whlile(1)
    {
    while(TF1==1);
    pluse=~pluse;
    TF1=0;
    }
}


2/
ORG 0000H
LJMP MAIN
ORG 001BH
LJMP T1ISR
ORG 0030H
MAIN:
    MOV TMOD,#00H
    MOV TH1,#(8192-5000)/32;
    MOV TL1,#(8192-5000) MOD 32
    SETB TR1
    SETB ET1
    SETB EA
    SJMP $
T1ISR:
    CLR TR1
    MOV TH1,#(8192-5000)/32;
    MOV TL1,#(8192-5000) MOD 32
    SETB TR1
    CPL P0.2
    RETI
    END
温馨提示:答案为网友推荐,仅供参考
相似回答