DIY区里面大神的资料做出来的 希望大家多多提建议  多多鼓励

我用的是自己买的开发板上的52单片机,  晶振采用11.0592M,  光耦用了MOC3023 和P521-1两个  可控硅用的是BTA41   跟一块整流桥  电容用的是CBB 0.06μF  电阻那些由于我没有那么多 所以就找了相近值的 然后自己加了一个电源指示灯 和工作指示灯  按键我就直接修改成开发板上的独立按键
通电调节过后那几个电阻发烫都挺严重的。   但过零检测那部分还是不大明白  之前我做了个点焊机根本没有过零检测  但是加了有脉冲宽度调节和电流调节。特别提醒各位爱好者在做的过程中千万要注意安全  检测检测再检测确认对了之后再通电  我也是新手 初次做  希望能够得到大家的鼓励让我更加有信心去做下一个作品 提高自己  也希望能够跟同基础的小伙伴共同成长


实物图与实验效果图:
image.png

image.png


image.png

image.png
可控硅调光的单片机源程序如下:

#include "reg52.h"
  • sbit lamp_pwm=P0^0;//可控硅位
  • sbit key0=P3^4;//降低亮度按键位
  • sbit key1=P3^5;//增加亮度按键位
  • unsigned int inc;
  • void INT0s()interrupt 0        using 0//INT0外部中断,过零检测触发
  • {
  •         TR0=0;
  •         if(!key0)//降低亮度
  •         {
  •                 inc+=50;
  •                 if(inc>=8000)inc=8000;
  •         }
  •         if(!key1)//增加亮度
  •         {
  •                 inc-=50;
  •                 if(inc<=800)inc=800;
  •         }
  •         TH0=(65536-inc)/256;
  •         TL0=(65536-inc)%256;
  •         TR0=1;
  • }
  • void timer1()interrupt 1 using 0//可控硅触发中断
  • {
  •         unsigned char i;
  •         lamp_pwm=0;//灯亮
  •         for(i=0;i<2;i++);//延时2us
  •         lamp_pwm=1;//灯灭
  • }
  • /************STC不断电下载用******************/
  • sfr ISP_DOWNS=0xe7;//ISP软复位地址
  • sbit ISP_SW=P3^0;//串口数据接收
  • void DebugDownISP()//软复位
  • {
  • ……………………
  • 复制代码