-
大小: 3KB文件类型: .rar金币: 2下载: 0 次发布日期: 2021-05-14
- 语言: 其他
- 标签: stc12c5a60s2 PID PWm
资源简介
采用STC12C5A60S2单片机实现,PID运算,产生PWM波。实现Boost电路闭环调节。
![](http://www.nz998.com/pic/67728.jpg)
代码片段和文件信息
#include
#include “intrins.h“
#include
#include
/*#include “define.h“
#include “delay.h“
#include “lcd.h“
#include “ad.h“
#include “pid.h“
#include “pwm.h“ */
/*……………………………………………… define.h…………………………….*/
#define uint unsigned int
#define uchar unsigned char
#define N 14
sbit pwmout=P3^7;
sbit lcden=P2^6;
sbit lcdrs=P2^4;
sbit lcdrw=P2^5;
//uchar a;
uchar code table[]=“The Vol is:.V “;
/*…………………………………………..delay.h……………………………….*/
void delay(uint z) //12M晶振 毫秒级延时
{
uint xy;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
/*…………………………………………lcd 1602显示……………………………………*/
void write_com(uchar com) //写控制字
{
lcdrs=0;
delay(5);
P0=com;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void write_data(uchar date) //写数据
{
lcdrs=1;
delay(5);
P0=date;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void lcdinit() //lcd初始化
{
lcden=0;
lcdrw=0;
write_com(0x38);
write_com(0x01);
write_com(0x0e);
write_com(0x06);
}
void display(uchar adduint num)
{
/*uchar i;
write_com(0x80);
for(i=0;i<11;i++) //显示字符
{
write_data(table[i]);
delay(1);
}
write_com(0x80+0x40); //显示电压数据
if(num/10000==0)
{
write_data(table[13]);
}
else
write_data(0x30+num/10000);
write_data(0x30+num%10000/1000);
write_data(table[11]);
write_data(0x30+num%1000/100);
write_data(0x30+num%100/10);
write_data(0x30+num%10);
write_data(table[12]);*/
if(add==1)
{
write_com(0x80);
write_data(0x30+num/10000);
write_data(0x30+num%10000/1000);
write_data(0x30+num%1000/100);
write_data(0x30+num%100/10);
write_data(0x30+num%10);
}
if(add==3)
{
write_com(0x80+0x07);
write_data(0x30+num/10000);
write_data(0x30+num%10000/1000);
write_data(0x30+num%1000/100);
write_data(0x30+num%100/10);
write_data(0x30+num%10);
}
if(add==2)
{
write_com(0x80+0x40);
write_data(0x30+num/10000);
write_data(0x30+num%10000/1000);
write_data(0x30+num%1000/100);
write_data(0x30+num%100/10);
write_data(0x30+num%10);
}
if(add==4)
{
write_com(0x80+0x40+0x06);
write_data(0x30+num/10000);
write_data(0x30+num%10000/1000);
write_data(0x30+num%1000/100);
write_data(0x30+num%100/10);
write_data(0x30+num%10);
}
if(add==5)
{
write_com(0x80+0x40+0x0b);
write_data(0x30+num/10000);
write_data(0x30+num%10000/1000);
write_data(0x30+num%1000/100);
write_data(0x30+num%100/10);
write_data(0x30+num%10);
}
}
/*…………………………………..A/D程序…………………………………….*/
void AD_init() //AD转化初始化
{
P1ASF=0x01;
P1M0=0x03;
P1M1=0x03; //P1.0为开漏模式,用来A/D采集
ADC_CONTR=0xe0;
delay(10);
}
int GetAD(uchar channel)
{
uchar AD_finished=0;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 10328 2013-08-06 22:30 buckboost.c
----------- --------- ---------- ----- ----
10328 1
相关资源
- FPGA实现PID.v
- DV泵加罗茨泵独立控制系统PID.smart
- 模糊PID控制 c
- 51单片机PWM程序,占空比、周期可调整
- SG3525频率PWM控制均可调模块
- STC12C5A60S2 CH4521 驱动数码管 显示
- 课程设计蔬菜大棚自动控制系统,包
- STC12C系列单片机函数库
- (温度PID)实验指导书(三菱)
- PLCS7-1200PID参数自整定
- PLCS7-1200PID闭环控制
- RapidIO 2.2 Specification
- RapidIO_Rev_2.2_Specification
- 基于DSP的大功率开关电源的设计方案
- 基于DSP的大功率开关电源设计
- 基于ARM7 PWM定时器的图像传感器时序信
- BLDC电机PID算法
- 电力电子技术(第4版)_王兆安_带目
- 基于FAN6754A的PWM反激式开关电源的设计
- 采用双闭环控制提高PWM的电源纹波抑
- 基于双闭环模糊PID控制器的开关电源
- pid 模拟测试软件
- FPGA实现单极性SPWM调制
- LCL滤波器在三相PWM整流器中的应用
- 基于RBF神经网络在线辨识的永磁同步
- CPS―SPWM调制方法在H桥多电平变流器中
- 基于FPGA的多电平载波移相SPWM方法实现
- 正弦波逆变器正弦波逆变器的工作原
- 基于DSP的SVPWM变频调速系统
- 采用单片机SPWM的控制应急电源逆变电
评论
共有 条评论