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

 找回密码
 立即注册
搜索
查看: 743|回复: 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++;
       
}


最佳答案

陈斌 发表于 2019-7-21 15:39 逻辑理解不了   求助   这个程序确实是比较难懂, 但是这只是一个输出的条件, 为了方便理解的话你可以改成value&lt;timer1 效果是一样的

回复

使用道具 举报

1

主题

2

帖子

16

积分

新手上路

Rank: 1

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

使用道具 举报

4

主题

157

帖子

518

积分

高级会员

Rank: 4

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

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

使用道具 举报

1

主题

2

帖子

24

积分

新手上路

Rank: 1

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

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

使用道具 举报

*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

Archiver|手机版|小黑屋|普中开源电子分享网 粤ICP备16123577号-2

GMT+8, 2020-2-24 03:48 , Processed in 0.078125 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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