找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1602|回复: 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)
        {
        }
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
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;}
        
}
回复

使用道具 举报

5#
ID:1047343 发表于 2022-10-30 17:13 | 只看该作者
wulin 发表于 2022-10-30 06:27
#include

sbit P1_0= P1^0;

请问如果要 i=++i%3;直接改成定时2ms的应该要怎么改呢
回复

使用道具 举报

6#
ID:213173 发表于 2022-10-30 20:09 | 只看该作者
zephry 发表于 2022-10-30 17:13
请问如果要 i=++i%3;直接改成定时2ms的应该要怎么改呢

产生固定周期但非50%占空比的PWM波形的方法有很多,就产生高电平为2ms,低电平为1ms的方波而言,这个方法最简单。
回复

使用道具 举报

7#
ID:1047343 发表于 2022-10-30 20:35 | 只看该作者
wulin 发表于 2022-10-30 20:09
产生固定周期但非50%占空比的PWM波形的方法有很多,就产生高电平为2ms,低电平为1ms的方波而言,这个方法 ...

明白了,谢谢
回复

使用道具 举报

8#
ID:123289 发表于 2022-10-31 08:57 | 只看该作者
必须有两个计时的东东,能够分离出1mS和2mS,
再据之进行0,1切换就OK了。
回复

使用道具 举报

9#
ID:1047343 发表于 2022-10-31 09:31 来自手机 | 只看该作者
yzwzfyz 发表于 2022-10-31 08:57
必须有两个计时的东东,能够分离出1mS和2mS,
再据之进行0,1切换就OK了。

我理想中的就应该是这样,但不知道怎么做出来,能指导一下吗
回复

使用道具 举报

10#
ID:332444 发表于 2022-10-31 15:06 | 只看该作者
就是占空比
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表