欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2488|回復: 9
收起左側

請問單片機程序怎么改變成高電平為2ms,低電平為1ms的方波?

[復制鏈接]
ID:1047343 發表于 2022-10-29 19:39 | 顯示全部樓層 |閱讀模式
#include <reg52.h>
sbit P1_0= P1^0;
void Init_ET_0()
{
        TMOD = 0x01;
        EA = 1
        ET0 = 1
        TR0 = 1
        TH0 = 0xfc
        TL0 = 0x18
}
void Servoce_ET_0() interrupt 1
{
        TH0 = (65536 - 500)/256
        TL0 = (65536 - 500)%256
        P1_0=!P1_0;
}
void main()
{
        Init_ET_0();
        while(1)
        {
        }
}

回復

使用道具 舉報

ID:213173 發表于 2022-10-30 06:27 | 顯示全部樓層
#include <reg52.h>

sbit P1_0= P1^0;

char i;

void Init_ET_0()
{
        EA = 1;
        ET0 = 1;
        TR0 = 1;
        TMOD = 0x01;
        TH0 = 0xfc;
        TL0 = 0x18;
}

void Servoce_ET_0() interrupt 1
{
        TH0 = 0xfc;
        TL0 = 0x18;
        if(!i)P1_0=0;
        else P1_0=1;
        i=++i%3;
}

void main()
{
        Init_ET_0();
        while(1);
}
回復

使用道具 舉報

ID:121859 發表于 2022-10-30 10:28 | 顯示全部樓層
void Servoce_ET_0() interrupt 1
{
        static,num;
        TH0 = (65536 - 500)/256
        TL0 = (65536 - 500)%256
        P1_0=!P1_0;
        if(num)P1_0=1;
        else P1_0=0;
        num++;
        num%=3;
}
回復

使用道具 舉報

ID:195496 發表于 2022-10-30 15:01 | 顯示全部樓層
void Servoce_ET_0() interrupt 1
{
        static cnt;
        TH0 = (65536 - 500)/256
        TL0 = (65536 - 500)%256
        cnt++;
        if(cnt<2)
        {
         P1_0=1;//
        }
       else
       {P1_0=0;}
       if(cnt==3){cnt=0;}
        
}
回復

使用道具 舉報

ID:1047343 發表于 2022-10-30 17:13 | 顯示全部樓層
wulin 發表于 2022-10-30 06:27
#include

sbit P1_0= P1^0;

請問如果要 i=++i%3;直接改成定時2ms的應該要怎么改呢
回復

使用道具 舉報

ID:213173 發表于 2022-10-30 20:09 | 顯示全部樓層
zephry 發表于 2022-10-30 17:13
請問如果要 i=++i%3;直接改成定時2ms的應該要怎么改呢

產生固定周期但非50%占空比的PWM波形的方法有很多,就產生高電平為2ms,低電平為1ms的方波而言,這個方法最簡單。
回復

使用道具 舉報

ID:1047343 發表于 2022-10-30 20:35 | 顯示全部樓層
wulin 發表于 2022-10-30 20:09
產生固定周期但非50%占空比的PWM波形的方法有很多,就產生高電平為2ms,低電平為1ms的方波而言,這個方法 ...

明白了,謝謝
回復

使用道具 舉報

ID:123289 發表于 2022-10-31 08:57 | 顯示全部樓層
必須有兩個計時的東東,能夠分離出1mS和2mS,
再據之進行0,1切換就OK了。
回復

使用道具 舉報

ID:1047343 發表于 2022-10-31 09:31 來自觸屏版 | 顯示全部樓層
yzwzfyz 發表于 2022-10-31 08:57
必須有兩個計時的東東,能夠分離出1mS和2mS,
再據之進行0,1切換就OK了。

我理想中的就應該是這樣,但不知道怎么做出來,能指導一下嗎
回復

使用道具 舉報

ID:332444 發表于 2022-10-31 15:06 | 顯示全部樓層
就是占空比
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表