51单片机控制半桥逆变电路的程序
时间: 2023-05-29 18:02:04 浏览: 102
51单片机 控制程序
本程序基于51单片机,使用C语言编写,控制半桥逆变电路,实现直流电源到交流电源的转换。
#include<reg52.h>
#define FREQ 10000 //设置PWM频率为10kHz
#define C_PWM_TH (65535-(11059200/FREQ/2)) //计算TH值
#define C_PWM_TL (65535-(11059200/FREQ/2))
sbit gata=P3^7; //控制晶闸管的引脚
void delay_us(unsigned int us) //延时函数,单位为微秒
{
unsigned int i,j;
for(i=0;i<us;i++)
for(j=0;j<11;j++);
}
void InitPWM() //初始化PWM
{
TMOD &= 0x0F; //清空计数器
TMOD |= 0x10; //定时器1为模式1
TH1 = C_PWM_TH/256; //设置计时器1的高8位
TL1 = C_PWM_TL%256; //设置计时器1的低8位
EA = 1; //使能总中断
ET1 = 1; //使能定时器1中断
TR1 = 1; //启动定时器1
}
void PWM_ISR() interrupt 3 //定时器1中断服务函数
{
gata=!gata; //取反引脚状态控制晶闸管
TH1 = C_PWM_TH/256; //设置下一次中断的高8位
TL1 = C_PWM_TL%256; //设置下一次中断的低8位
}
void main()
{
InitPWM(); //初始化PWM
while(1);
}
阅读全文