电子产业
数字化服务平台

扫码下载
手机洽洽

  • 微信小程序

    让找料更便捷

  • 扫码下载手机洽洽

    随时找料

    即刻洽谈

    点击下载PC版
  • 华强电子网公众号

    电子元器件

    采购信息平台

  • 华强电子网移动端

    生意随身带

    随时随地找货

  • 华强商城公众号

    一站式电子元器件

    采购平台

  • 芯八哥公众号

    半导体行业观察第一站

51单片机来做的PWM来无级调光程序

来源:-- 作者:-- 浏览:2035

标签:

摘要: 51 单片机 来做的PWM来无级调光程序通过光耦可控硅来控制可控硅的导通角,从而实现白炽灯亮度的变化。 #include "reg51.h"#include "user.h"#define uchar unsigned char unsigned int value=100;unsigned int del=0;uchar value_temp=4; uchar temp=0

51 单片机 来做的PWM来无级调光程序通过光耦可控硅来控制可控硅的导通角,从而实现白炽灯亮度的变化。

#include "reg51.h"
#include "user.h"
#define uchar unsigned char

unsigned int value=100;
unsigned int del=0;
uchar value_temp=4;

 

uchar temp=0;
uchar code Tab[11]={0x88,0xbe,0xc4,0x94,0xb2,0x91,0x81,0xbc,0x80,0x90,0xf7};
sbit PWM_PORT=P3^1;
sbit key=P3^7;
bit lamp_enable=0;

void display(uchar dat)
{
 P1=Tab[dat];
}

void timer_init()
{
 TMOD=0x02;
 TH0=0xff;
 TL0=0xff;
 PX1=1;
 IT1=1;

 ET0=1;
 EX1=1;
 EA=1;
 display(10);
}

void INT_T0() interrupt 1
{
 temp++;
 if(temp<value)
 {
  PWM_PORT=1;
 }
 else
 {
  PWM_PORT=0;
 }
}

void INT_X1() interrupt 2 
{
 lamp_enable=1;
 del=0;
}

void main()
{
 
 timer_init();
 while(1)
 {
 
  key=1;
  if(key==0)
  {
   value=value+25;
   value_temp++;
   if(value==250)
   {
    value=0;
    value_temp=0;
   }
   display(value_temp);
    delay(20);
  }
 
  if(lamp_enable==0)
  {
   PWM_PORT=0;
   display(10);
   TR0=0;
  }
  else
  {
   TR0=1;
   display(value_temp);
  }
  if(++del==40000)
  {
   lamp_enable=0;
   del=0;
  } 
 }
}


 

型号 厂商 价格
EPCOS 爱普科斯 /
STM32F103RCT6 ST ¥461.23
STM32F103C8T6 ST ¥84
STM32F103VET6 ST ¥426.57
STM32F103RET6 ST ¥780.82
STM8S003F3P6 ST ¥10.62
STM32F103VCT6 ST ¥275.84
STM32F103CBT6 ST ¥130.66
STM32F030C8T6 ST ¥18.11
N76E003AT20 NUVOTON ¥9.67