写一个51三相全控整流桥程序
时间: 2023-11-20 14:05:33 浏览: 88
好的,以下是51单片机实现三相全控整流桥的程序,请参考:
```
#include <reg52.h>
sbit igbt1 = P3^0; //IGBT管1
sbit igbt2 = P3^1; //IGBT管2
sbit igbt3 = P3^2; //IGBT管3
sbit igbt4 = P3^3; //IGBT管4
sbit igbt5 = P3^4; //IGBT管5
sbit igbt6 = P3^5; //IGBT管6
void main()
{
int i;
while (1)
{
for (i = 0; i < 50; i++) //0-10ms 启动电路
{
igbt1 = 1;
igbt2 = 1;
igbt3 = 1;
igbt4 = 0;
igbt5 = 0;
igbt6 = 0;
delay(10);
}
for (i = 0; i < 200; i++) //10-50ms 正半周
{
igbt1 = 0;
igbt2 = 0;
igbt3 = 0;
igbt4 = 1;
igbt5 = 1;
igbt6 = 1;
delay(10);
}
for (i = 0; i < 50; i++) //50-60ms 关断电路
{
igbt1 = 1;
igbt2 = 1;
igbt3 = 1;
igbt4 = 1;
igbt5 = 1;
igbt6 = 1;
delay(10);
}
for (i = 0; i < 200; i++) //60-100ms 负半周
{
igbt1 = 1;
igbt2 = 1;
igbt3 = 1;
igbt4 = 0;
igbt5 = 0;
igbt6 = 0;
delay(10);
}
for (i = 0; i < 50; i++) //100-110ms 关断电路
{
igbt1 = 1;
igbt2 = 1;
igbt3 = 1;
igbt4 = 1;
igbt5 = 1;
igbt6 = 1;
delay(10);
}
}
}
void delay(int i)
{
int j,k;
for(j=0;j<i;j++)
{
for(k=0;k<120;k++);
}
}
```
请注意,在51单片机上实现三相全控整流桥需要外接大量的外围电路,例如触发电路、隔离电源等。同时,上述代码仅提供了基础的控制部分,具体的实现也需要根据具体电路结构进行调整。