作者h80053 (cyc)
看板Electronics
标题[问题] C语言问题
时间Tue Jan 13 18:56:52 2009
这一个程式是配合PIC晶片所写的马达正反转兼加减速程式,但是有一个问题就是马达反
转时无法加减速。其中0-530是反转(快到慢)531-1024是正转(慢到快)。
==============================================================
程式如下:
==============================================================
#include<p18f8720.h>
#include<capture.h>
#include<delays.h>
#include<pwm.h>
#include<math.h>
#include <adc.h>
#include <timers.h>void main()
{
int x,y,i=0,q,b,result,a,v,motor_speed,j=512,k=0,kk=0,speed=0,fc;
int motor[2][16]={
{480,448,416,384,352,320,288,256,224,192,160,128,96,64,32,0},
{544,576,608,640,672,704,736,768,800,832,864,896,928,960,992,1024}
};
//,i=0
//unsigned OpenADC( ADC_FOSC_32 & ADC_RIGHT_JUST & ADC_5ANA,ADC_CH0 &
ADC_INT_OFF &ADC_VREFPLUS_VDD&ADC_VREFMINUS_VSS);
OpenTimer2(TIMER_INT_OFF&T2_PS_1_1&T2_POST_1_8);
//===========================================接脚输出入
TRISD=0X00;
TRISE=0X00;
PORTE=0X18;
PORTD=0X00;
PORTD=0xFF;
//========================================按钮开关的设定
TRISBbits.TRISB0=1;//S1
TRISBbits.TRISB1=1;//S2
TRISBbits.TRISB2=1;//S3
TRISBbits.TRISB3=1;//S4 OpenPWM1(0xff);
//=======================================================马达设定与PWM频率
OpenPWM3(0x7f);
OpenPWM5(0xff);
TRISGbits.TRISG0=1;//打开pwm3的功能
TRISGbits.TRISG4=0;//打开pwm5的功能 为马达
TRISCbits.TRISC2=0;// 打开pwm1的功能
TRISAbits.TRISA5=0;//
PORTAbits.RA5=1;
//==============================================================
while(1)
//===================================马达正反转OK
{int i=530,qq=0;
if(PORTBbits.RB0==0&&i>=530&&i<=1000)
{ i=500;
SetDCPWM5(i);
Delay10KTCYx(100);
if(PORTBbits.RB0==0&&i>=20&&i<=500)
{ i=530;
SetDCPWM5(i);
Delay10KTCYx(100);
}
}
====================================//设定马达加速,但反转时无法控制
if(PORTBbits.RB1==0&&speed!=15)
{
speed=speed+1;
fc=motor[speed]; i为设定正反转 speed为加减速
TRISGbits.TRISG4=0;
}
//===========================================//马达停止 OK
else if(PORTBbits.RB2==0) //SW3 motor stop
{
OpenPWM5(0xff);
Delay10KTCYx(100);
PORTAbits.RA5=0;//disable双极性马达
TRISGbits.TRISG4=0;
}
//================================================
SetDCPWM5(0x3ff);//可以输出pwm的工作周期}
}
找不到问题的所在所以贴上来询问大家地看法,还请指教谢谢。
--
北京太阳有 ▁Tejada▂▃▂林 ▂▃▂蒋 ▂▃▂ 晒得比黑人还要黑了
这麽大喔?◤ ◥ ▌ CT ▌ CT ▌
B ▂▃▂ ▂▃▂
\ ︵ ︵ ▄▃▃▂ ▄▃▃▂ ▄▃▃▂∕ ▌
B B
▍ ▄ ▄▏▉′ ‵
▋ ▉– –
▋ ▉▆.▆ ▋ ▄▃▃▂ ▄▃▃▂
◣ ㄖ◢ ◣ -
◢ ◣ㄧ
◢ ◣ 。 ◤ ▉⊙ ⊙ ▋▉⊙ ⊙ ▋
φJeAnnWu ◤◣\▇◣ ◤◤/◤◥ ◤◤/◤◥ ◤◤/◤◣ ◣ O ◤ ◣ O ◤
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.140.124.91