用定时器计数器输出2ms的方波(c语言)

发布网友 发布时间:2022-04-20 10:07

我来回答

2个回答

热心网友 时间:2023-07-12 12:08

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

TH0=(65536-250)/256
TL0=(65536-250)%256
即可,初始化什么的我想你知道吧,反正最大可以定时65536us,减去的数就是你想定时时间

热心网友 时间:2023-07-12 12:09

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;
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com