资源简介
纯正正弦波源程序// spwm信号调制
//------------------------------------------------------------
#include
#include
//系统配置
__CONFIG(HS&PWRTEN&BOREN&PROTECT&WDTEN);
//打开看门狗,选择高速晶振,上电延时复位,掉电复位使能,代码保护
//------------------------------------------------------------
//指示灯宏定义
#define L1_RED_ON RB1=1;RB2=0;//L1红灯亮
#define L1_OFF RB1=0;RB2=0;
#define L2_RED_ON RB4=1;RB3=0;//L2红灯亮
#define L2_OFF RB4=0;RB3=0;
#define L3_RED_ON RB7=1;RB5=0;//L3红灯亮
#define L3_OFF RB7=0;RB5=0;
#define L1_GREE_ON RB2=1;RB1=0;//L1绿灯亮
#define L2_GREE_ON RB3=1;RB4=0;//L2绿灯亮
#define L3_GREE_ON RB5=1;RB7=0;//L3绿灯亮
代码片段和文件信息
#include
#include
//系统配置
__CONFIG(HS&PWRTEN&BOREN&PROTECT&WDTDIS);
//关闭看门狗选择高速晶振上电延时复位掉电复位使能代码保护
//变量定义
//------------------------------------------------------------
//指示灯宏定义
#define L1_RED_ON RB1=1;RB2=0;//L1红灯亮
#define L1_RED_OFF RB1=0;RB2=0;
#define L2_RED_ON RB4=1;RB3=0;//L2红灯亮
#define L2_RED_OFF RB4=0;RB3=0;
#define L3_RED_ON RB7=1;RB5=0;//L3红灯亮
#define L3_RED_OFF RB7=0;RB5=0;
#define L1_GREE_ON RB2=1;RB1=0;//L1绿灯亮
#define L1_GREE_OFF RB2=0;RB1=0;
#define L2_GREE_ON RB3=1;RB4=0;//L2绿灯亮
#define L2_GREE_OFF RB3=0;RB4=0;
#define L3_GREE_ON RB5=1;RB7=0;//L3绿灯亮
#define L3_GREE_OFF RB5=0;RB7=0;
//-----------------------------------------------------------
//模拟输入通道宏定义
#define AN0 CHS0=CHS1=HS2=0;
#define AN1 CHS=0;CHS1=CHS2=1;
#define AN2 CHS0=CHS2=1;CHS1=1;
//-----------------------------------------------------------
bit ccp1kccp2;
unsigned char mode;
//-----------------------------------------------------------
//软件延时子程序*/
void DELAY()
{
unsigned int i;
for(i=10000;i>0;i--);
}
//-----------------------------------------------------------
void adc_init()
{
//ad时钟选择
ADCS1=1;//FOSC/32
ADCS0=0;
//
PCFG0=0;
PCFG1=0;
PCFG2=0;//RA0=AN0RA1=AN1RA2=AN2VREF=VDD-VSS
ADON=1;//打开ad模块
ADIF=0;//清除ad中断标志
ADIE=1;//打开ad模块中断
PEIE=1;//打开外围模块中断
GIE=1;//打开总中断
}
//-----------------------------------------------------------
void port_init()//端口初始化
{
//端口b设置
TRISB0=0;TRISB1=0;TRISB2=0;TRISB3=0;TRISB4=0;TRISB5=0;
TRISB6=1;//输入
TRISB7=0;//RB端口方向设置
PORTB=0;//输出0
RBPU=0;//使能内部弱上拉
INTE=0;//禁止RB0中断
RBIF=0;
RBIE=1;//允许RB端口电平变化中断
//端口c设置
TRISC=0X00;//PORTC are outputs
PORTC=0;//输出为0
RC1=RC2=1;
//timer0 init
T0CS=0;//选择内部指令时钟
T0IF=0;
//T0IE=1;//在第一次ccp1比较后打开中断使能
//timer1
TMR1CS=0;//定时器模式
}
//----------------------------------------------------------
void init_start()//开始
{
L1_RED_ON;
L2_RED_ON;
L3_RED_ON;
DELAY();DELAY();DELAY();
L1_GREE_ON;
L2_GREE_ON;
L3_GREE_ON;
DELAY();DELAY();DELAY();
L1_GREE_OFF;
L2_GREE_OFF;
L3_GREE_OFF;
L1_GREE_ON;
}
//----------------
void CCP2_pwm()//ccp2 pwm初始化CCP1比较初始化
{
TMR2ON=0;
//复位ccp
//CCP2M3=0;CCP2M2=0;CCP2M1=0;CCP2M0=0;
CCP1M3=0;CCP1M2=0;CCP1M1=0;CCP1M0=0;
GIE=0;PEIE=0;//禁止总中断和外围中断
CCP1IF=0;
CCP1M3=1;CCP1M2=0;CCP1M1=0;CCP1M0=1;//比较模式
CCPR1H=0x17;
CCPR1L=0xe8;//每隔6个指令周期发生比较操作
TMR1L=TMR1H=0;
//--------
CCP2IF=0;
CCPR2L=0X6;//设置80%的脉宽输出
CCP2X=CCP2Y=0;
CCP2M3=CCP2M2=1;//PWM模式
PR2=0Xff;//设置PWM的工作周期20mhzPWM周期=(PR2+1)*4*TOSC*TIMER2预分频比=19.531khz
T2CKPS1=T2CKPS0=0;//timer2预分频器1
TOUTPS3=TOUTPS2=TOUTPS1=TOUTPS0=0;//后分频器1
//-------------------
CCP1IE=1;
TMR2ON=1;
GIE=1;
}
//---------------
void CCP1_pwm()//ccp1 pwm初始化CCP2比较初始化
{
TMR2ON=0;
//复位ccp
CCP2M3=0;CCP2M2=0;CCP2M1=0;CCP2M0=0;
//CCP1M3=0;CCP1M2=0;CCP1M1=0;CCP1M0=0;
GIE=0;PEIE=0;//禁止总中断和外围中断
//-------------------设置CCP2比较模式
CCP2IF=0;
CCP2M3=1;CCP2M2=0;CCP2M1=0;CCP2M0=1;//比较模式
CCPR2H=0x17;
CCPR2L=0xe8
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 93256 2005-12-26 15:33 pic_nibian程序\iss_picnibian\Last Loaded pic_spwm.DBK
文件 93263 2006-01-05 10:02 pic_nibian程序\iss_picnibian\pic_spwm.DSN
文件 852 2006-01-11 22:16 pic_nibian程序\iss_picnibian\pic_spwm.PWI
文件 4215 2005-12-27 12:56 pic_nibian程序\nibian.c
文件 31139 2005-12-27 12:56 pic_nibian程序\nibian.lst
文件 39739 2005-12-27 12:56 pic_nibian程序\nibian.rlf
文件 7685 2005-12-27 12:56 pic_nibian程序\nibian.sdb
文件 13824 2006-01-15 13:28 pic_nibian程序\PIC_NIBIAN.cod
文件 19858 2006-01-15 13:28 pic_nibian程序\PIC_NIBIAN.cof
文件 7338 2006-01-15 13:28 pic_nibian程序\PIC_NIBIAN.hex
文件 86 2006-01-15 13:28 pic_nibian程序\PIC_NIBIAN.lde
文件 16468 2006-01-15 13:28 pic_nibian程序\PIC_NIBIAN.map
文件 689 2006-01-06 09:55 pic_nibian程序\PIC_NIBIAN.mcp
文件 656 2006-01-15 13:38 pic_nibian程序\PIC_NIBIAN.mcs
文件 23552 2006-01-15 13:38 pic_nibian程序\PIC_NIBIAN.mcw
文件 8021 2006-01-15 13:28 pic_nibian程序\PIC_NIBIAN.sym
文件 3584 2005-12-26 16:57 pic_nibian程序\unti
文件 8641 2006-01-15 13:38 pic_nibian程序\www.c.c
文件 169 2006-01-15 13:28 pic_nibian程序\www.c.cce
文件 73580 2006-01-15 13:28 pic_nibian程序\www.c.lst
文件 21016 2006-01-15 13:28 pic_nibian程序\www.c.obj
文件 110269 2006-01-15 13:28 pic_nibian程序\www.c.rlf
文件 8396 2006-01-15 13:28 pic_nibian程序\www.c.sdb
目录 0 2010-08-16 23:09 pic_nibian程序\iss_picnibian
目录 0 2010-08-16 23:09 pic_nibian程序
----------- --------- ---------- ----- ----
586296 25
- 上一篇:STC89C52芯片的模拟路灯控制系统
- 下一篇:小编译器 词法语法语义分析
相关资源
- 数字控制矿用应急电源三相逆变器的
- 高手教你如何计算逆变器输出滤波电
- 正弦波逆变器正弦波逆变器的工作原
- 纯正弦波逆变器电路图大全
- 逆变器电路图及工作原理
- PIC16F716正弦波逆变器原理图
- 并网光伏逆变器并网特性研究
- 单相逆变器的saber仿真
- 40W荧光灯逆变器12V电源
- 三相H桥级联逆变器的错时采样单周期
- 微电网逆变器自适应下垂控制策略
- MMC逆变器仿真模型
- 三电平逆变器SVPWM控制
- 采用LCL滤波器的并网逆变器双闭环入
- STM32 逆变器程序
- 基于DSP锁相技术的光伏并网逆变器控
- 单相光伏并网逆变器设计
- 电子图书《正弦波逆变器》
- 高频开关型逆变器及其并联并网技术
- 基于级联H桥的多电平逆变器的研究
- 三电平逆变器的电机控制3M的经典硕士
- saber教程用于逆变器设计
- LCL滤波并网逆变器的数字单环控制技
- 微电网三相并网逆变器硬件研究与设
- EG8030三相SPWM逆变器资料汇总.rar
- DSP单相逆变器光伏并网程序
- 三相Boost并网逆变器的离散时间预测控
- 三相逆变器
- DSP28335控制单相逆变器双闭环控制程序
- LCL型并网逆变器的控制技术--阮新波
评论
共有 条评论