找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1927|回复: 4
打印 上一主题 下一主题
收起左侧

渐明渐暗用定时器控制20S完成渐明渐暗

[复制链接]
跳转到指定楼层
楼主
ID:109460 发表于 2016-3-18 09:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好,请教下想在20S完成渐变,怎么调时间,我怎么调亮度变化值到0-400总时间怎么和0-100一样
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:109460 发表于 2016-3-21 16:16 | 只看该作者
#include<reg52.h>
//#include "MacroAndConst.h"
#define uint unsigned int
#define uchar unsigned char
//#define LED_PWM_LIMIT_MAX  9999
//#define LED_PWM_LIMIT_MIN 0
#define uchar unsigned char
sbit ledr=P1^0;
sbit ledg=P1^1;
sbit ledb=P1^2;
bit LEDDirection=0;//LED控制方向0:渐亮1:渐灭
uchar pwm=0;
uchar pwmr=0;
uchar scw=0;//中断记数
uchar tt=0;
//void dealy(uint z);
void Timer0Init(void)
{
  TMOD=0x01;
  TH0=0xff;
  TL0=0x47;
  ET0=1;
  TR0=1;
  EA=1;
}
void main()
{
  Timer0Init();
  while(1);
     
}
void Time0Isr(void) interrupt 1
{  static uint
     pwm=0;
     TH0=0xff;
     TL0=0x47;
     
   scw++;
  if(scw>100)
  {
    scw=0;
    tt++;
    if(tt>5)
    {
        tt=0;
      
      
   
    if((pwmr<=99)&&(0==LEDDirection))
      {  
         pwmr++;
         
      if(pwmr>99)
       {
         LEDDirection=1;
         pwmr=99;
           
       }
        
      }
      if((pwmr>=0 )&&(1==LEDDirection))
         {
                 pwmr--;
            
              if(pwmr<0 )
               {
                 LEDDirection=0;
                 pwmr=0 ;
               }
            
         }
       }
            pwm=pwmr;
      
  }
            
         if(pwm>0)
            {
              ledr=0;
              pwm--;
              
            }
         
        
           else
             {
                ledr=1;
                 
             }
          求大神指点,这个程序先由暗渐变亮,再由亮渐变暗,之后怎么由暗直接变全亮,是哪里的问题
回复

使用道具 举报

板凳
ID:97867 发表于 2016-3-22 08:21 | 只看该作者
你这灯 就0  1 两种个状态  怎么能看到亮灭变化的过程
回复

使用道具 举报

地板
ID:97438 发表于 2016-3-22 09:41 | 只看该作者
楼上误解了吧,这是pwm调的
回复

使用道具 举报

5#
ID:97438 发表于 2016-3-22 09:41 | 只看该作者
不过程序我就没有认真看了,这个简单的问题你认真跟踪一下变量的变化就就行了
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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