请选择 进入手机版 | 继续访问电脑版

 找回密码
 立即注册

扫一扫,访问微社区

搜索
查看: 304|回复: 3

关于DA-PWM输出的程序不清楚

[复制链接]

1

主题

2

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2019-7-21 15:38:35 | 显示全部楼层 |阅读模式
1金钱
value是100us加一次 timer1是1us加一次  不可能timer1<value啊?????

#include "reg52.h"                       

typedef unsigned int u16;       
typedef unsigned char u8;


sbit PWM=P2^1;
bit DIR;


u16 count,value,timer1;

void Timer1Init()
{
        TMOD|=0X10;

        TH1 = 0xFF;
        TL1 = 0xff;   //1us
               
        ET1=1;
        EA=1;
        TR1=1;                       
}



void main()
{       
        Timer1Init();
        while(1)
        {
                if(count>100)                                                       
                {  
                        count=0;
                        if(DIR==1)                                          
                        {
                          value++;
                        }                       
                        if(DIR==0)
                        {
                          value--;
                        }
                               
                }

                if(value==1000)
                {
                  DIR=0;
                }
                if(value==0)
                {
                  DIR=1;
                }       
                               
                if(timer1>1000)
                {
                        timer1=0;
                }
                if(timer1 <value)       
                {
                        PWM=1;
                }
                else
                {
                        PWM=0;
                }               
        }               
}



void Time1(void) interrupt 3   
{
        TH1 = 0xFF;
        TL1 = 0xff;   //1us
        timer1++;
    count++;
       
}


回复

使用道具 举报

1

主题

2

帖子

16

积分

新手上路

Rank: 1

积分
16
 楼主| 发表于 2019-7-21 15:39:39 | 显示全部楼层
逻辑理解不了   求助
回复

使用道具 举报

4

主题

176

帖子

536

积分

高级会员

Rank: 4

积分
536
发表于 2019-7-22 14:42:23 | 显示全部楼层
陈斌 发表于 2019-7-21 15:39
逻辑理解不了   求助

  这个程序确实是比较难懂, 但是这只是一个输出的条件, 为了方便理解的话你可以改成value<timer1 效果是一样的
回复

使用道具 举报

1

主题

2

帖子

22

积分

新手上路

Rank: 1

积分
22
发表于 2019-10-8 21:11:49 | 显示全部楼层
YXUN 发表于 2019-7-22 14:42
这个程序确实是比较难懂, 但是这只是一个输出的条件, 为了方便理解的话你可以改成value

占空比是百分之50嘛?
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|51开发板专区 STM32开发板专区 PLC工控专区 PLC学习机专区 ( 粤ICP备18101765号 )

GMT+8, 2019-10-16 13:52 , Processed in 0.151524 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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