单片机学习小组
直播中

张亮

7年用户 1295经验值
私信 关注

如何利用51单片机去实现一种可控硅调光的设计

如何利用51单片机去实现一种可控硅调光的设计?其源代码该怎样去实现呢?

回帖(1)

刘颖

2022-1-17 14:52:53
有人托我做一个关于可控硅调光的毕业设计,我用51单片机做了一个,发出来和大家一起学习一下。
我用的是自己买的开发板上的52单片机, 晶振采用11.0592M, 光耦用了MOC3023 和P521-1两个 可控硅用的是BTA41 跟一块整流桥 电容用的是CBB 0.06μF 电阻那些由于我没有那么多 所以就找了相近值的 然后自己加了一个电源指示灯 和工作指示灯 按键我就直接修改成开发板上的独立按键。
通电调节过后那几个电阻发烫都挺严重的。 但过零检测那部分还是不大明白 之前我做了个点焊机根本没有过零检测 但是加了有脉冲宽度调节和电流调节。特别提醒各位爱好者在做的过程中千万要注意安全 检测检测再检测确认对了之后再通电 我也是在尝试中和大家共同进步。
原理图

C语言参考源代码
#include “reg52.h”
***it lamp_pwm=P0^0;//可控硅位
***it key0=P3^4;//降低亮度按键位
***it 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软复位地址
***it ISP_SW=P3^0;//串口数据接收
void DebugDownISP()//软复位
{
举报

更多回帖

发帖
×
20
完善资料,
赚取积分