设单片机fosc=12MHZ,利用定时/计数器1编程实现P1.0和P1.1引脚上分别输出周期为2ms和500μs的方波

求解答

周期是2ms和500us的方波,那么定时器的初值应该是1ms和250us,定时器初值分别设置为
TH0=(65536-1000)/256
TL0=(65536-1000)%256

TH0=(65536-250)/256
TL0=(65536-250)%256
即可,初始化什么的我想你知道吧,反正最大可以定时65536us,减去的数就是你想定时时间
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-06-19
sbit A=P1^0;
sbit B=P1^1;
unsigned char count;
void main()
{
    EA=1;
    ET1=1;
    TMOD=0x10;
    TL1=(65535-500)%256;
    TH1=(65535-500)/256;
    TR1=1;
    count=0;
}
void Tim1() interrupt 3
{
    TR1=0;
    TL1=(65535-500)%256;
    TH1=(65535-500)/256;
    if(count==4)
    {
        B~=B;
        count=0;
    }
    else
    {
        count++;
    }
    A~=A;
    TR1=1;
}