直流无刷电机控制PIC程序(最新).doc

直流无刷电机控制PIC程序(最新).doc

ID:48565810

大小:64.00 KB

页数:8页

时间:2020-02-26

直流无刷电机控制PIC程序(最新).doc_第1页
直流无刷电机控制PIC程序(最新).doc_第2页
直流无刷电机控制PIC程序(最新).doc_第3页
直流无刷电机控制PIC程序(最新).doc_第4页
直流无刷电机控制PIC程序(最新).doc_第5页
资源描述:

《直流无刷电机控制PIC程序(最新).doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、#include//2008.4.24--14点00分#include#includeintcharge_delay,jm,lkk,trial,run_num,protect_num;charm,n,k,s,L,tri;charhall_num;//循环次数charhall_number;//1+3+2+10+8+9=33(一个循环和),hallless_protect()intpwm_hi;//pwm占空比上限intpwm_cycle;//pwm周期intpwm_lo;//pwm占空比

2、下限,由A/D结果确定intpwm_real;//pwm占空比实际intad_result;//A/D转换结果bitghy,run_flag;//运行标志---0,未运行,停止bitflag_autohand;//开始为-----自动voiddelay(delay_num)intdelay_num;{intj;for(j=delay_num;j>1;j--){asm("nop");}}unionadres{inty1;unsignedcharadre[2];}adresult;voidpara_chushihua(){protect_num=0;

3、trial=0b10110000;tri=0x00;lkk=10;hall_num=0x00;hall_number=0x00;run_flag=0;//运行标志---0,未运行,停止flag_autohand=1;//开始为-----自动pwm_cycle=240;//pwm周期//pwm_hi=pwm_cycle-5;//pwm占空比上限pwm_hi=pwm_cycle-1;//pwm占空比上限pwm_real=pwm_cycle;//实际pwm占空比为pwm周期上限pwm_lo=0x0A;//设定下限++++++++++++++++++++

4、+++++++++++++++++++++++++++}voidnointerupt_chushihua(){INTCON=0X00;//禁止中断}voidIo_chushihua(){//ADCON1=0x8e;//RA0/AN0--VOLTAGE电压采样,右对齐1ADCON1=0x86;//设定RA0--RA6设定为I/O口;TRISA=0x09;//RA0---PROTECT保护(电流保护和过温保护)--输出,0--不保护,1--保护;//RA1----PSW1,继电器,输出,0,电源接通//RA2----指示灯,输出0--->>//RA3

5、----按键,加,输入1//RA4----指示灯,输出0--->>//RA5----RSW1,继电器,输出0,软启充电PORTA=PORTA&0x09;//RA1=0,----输出低电平,PSW1,继电器断//RA2=0,----输出低电平,指示灯灭//RA4=0,----输出低电平,指示灯灭//RA5=0,----输出低电平,RSW1,继电器断RBPU=0;//RB端口内部弱上拉电路禁止TRISB=0xfe;//RB7=1,空----输入//RB6=1----HA,输入//RB5=1----HB,输入//RB4=1----HC,输入//RB3=

6、1----停,输入,按钮//RB2=1----启,输入,按钮//RB1=1----自/手选择,输入,开关//RB0=0----ST/STOP,输出,控制GALPORTB=PORTB&0xfe;//RB0=0,----输出低电平,禁止GAL输出TRISC=0x02;//RC7---A1+,PWMA1+,输出0//RC6---A1,输出0//RC5---B1+,输出0//RC4---B1,输出0//RC3---C1+,输出0//RC2---CCP1(PWM),输出,死区0//RC1----减,输入,按钮1//RC0---C1,输出0PORTC=0x0

7、6;}voidprotect(){//过流和过温保护GIE=0;//关全局中断pwm_real=pwm_hi;//PWM_real----PWM实时值CCPR1L=pwm_real;//设置PWM输出为最大CCPR1H=0x00;//CCP1CON=0x0c;//CCP1选择为PWM工作方式PR2=pwm_cycle;//设置PWM的周期TRISC=TRISC&0xfb;//设置RC2---PWM输出T2CON=0x00;//分频系数=0x00TMR2ON=1;//启用TMR2PORTC=0x00;//PORTB=PORTB&0xfe;//RB0

8、=0,----输出低电平,禁止GAL输出while(1){PORTA^=0b00010100;delay(15000);//延时}}vo

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。