| Yash Chitalia 01/18/10 15:28 Read: 123 times Mumbai India |
#172569 - Here is the code... Responding to: Andy Neil's previous message |
Hello Everyone,
Here is the code I wrote using Mr. Ferlemann's suggestions. Am I making a mistake anywhere? Also, I couldn't understand a word of the code posted by Mr. Murray R. Van Luyn ( unfortunately my knowledge of embedded C is quite poor). Can someone please explain the algorithm of the code or the concept used in his code? Thanks a lot, in advance.
#include<reg51.h>
#include<stdio.h>
sbit MTRS=P2^0;
sbit MTRE=P2^1;
sbit MTRW=P2^2;
sbit MTRH=P2^3;
static unsigned char ms_tenth;
static unsigned char target1;
static unsigned char target2;
static unsigned char target3;
static unsigned char target4;
void servo(char,char,char,char);
void msdel(unsigned int);
void Timer0_ISR (void) interrupt 1
{
MTRS=(ms_tenth < target1);
MTRE=(ms_tenth < target2);
MTRW=(ms_tenth < target3);
MTRH=(ms_tenth < target4);
if (++ms_tenth == 200)
ms_tenth = 0;
TF0 = 0;
}
void servo(char w,char x,char y,char z)
{
TR0=1;
target1=w;
target2=x;
target3=y;
target4=z;
msdel(8000);
}
void msdel(unsigned int major)
{unsigned int i,j;
for(i=1;i<major;i++)
for(j=1;j<10;j++);
}
void main(void)
{TMOD=0x02;
IE=0x82;
TH0=0xA3;
MTRS=0;
MTRE=0;
MTRW=0;
MTRH=0;
ms_tenth = 0;
target1=0;
target2=0;
target3=0;
target4=0;
{servo(21,10,14,23);
servo(20,12,14,23);
servo(20,14,14,23);
servo(20,17,14,23);
servo(20,17,17,23);
servo(20,14,14,16);
servo(20,10,12,16);
servo(21,10,14,16);
}
for(;;);
}
|
| Topic | Author | Date |
| Controlling multiple servo motors | Yash Chitalia | 01/17/10 14:47 |
| executing code takes time | Erik Malund | 01/17/10 15:27 |
| PWM code | Steve M. Taylor | 01/17/10 15:35 |
| Thanks...now, about the PCA timer.. | Yash Chitalia | 01/17/10 16:06 |
| If SDCC Then Keil | Michael Karas | 01/17/10 16:15 |
| PWM IRQ code in C, bitops, 45 byte | Frieder Ferlemann | 01/18/10 05:19 |
| Optimization having no effect. | Yash Chitalia | 01/18/10 11:36 |
| PWM IRQ code in C, lookup table, 32 byte | Frieder Ferlemann | 01/18/10 05:29 |
| I haven't understood the table lookup concept very well... | Yash Chitalia | 01/19/10 00:55 |
| table lookup | Frieder Ferlemann | 01/19/10 02:39 |
| PWM IRQ code in C, lookup table, 30 byte | Frieder Ferlemann | 01/19/10 03:07 |
| Compiler specifics | Andy Neil | 01/19/10 04:35 |
| absolutely-locating xdata at 256 byte boundary | Frieder Ferlemann | 01/19/10 05:00 |
| I see. | Andy Neil | 01/19/10 06:34 |
| An example code.. | Yash Chitalia | 01/20/10 02:20 |
| Keil: Specifics and non-specifics | Andy Neil | 01/20/10 02:50 |
| Not really working... | Yash Chitalia | 01/20/10 03:55 |
| Enough power? | Per Westermark | 01/20/10 09:45 |
| RE: running 32 servo motors | Andy Neil | 01/20/10 10:34 |
| The chip sounds perfect... | Yash Chitalia | 01/18/10 11:47 |
| not worth it | Erik Malund | 01/18/10 12:10 |
| Servo control will become difficult then... | Yash Chitalia | 01/18/10 12:42 |
| output | Andy Peters | 01/18/10 12:52 |
| HCT chips have ... | Erik Malund | 01/18/10 14:12 |
| Eval a concept with a single PCA and 3:8 HCT multiplexer? | Frieder Ferlemann | 01/18/10 14:36 |
| Check their website | Andy Neil | 01/18/10 14:44 |
| Here is the code... | Yash Chitalia | 01/18/10 15:28 |
| "sbit MTRS=P2^0;" is not OK here | Frieder Ferlemann | 01/18/10 16:11 |
| Keil syntax? | Andy Neil | 01/18/10 17:36 |
| "#define" not working.."sbit" works | Yash Chitalia | 01/18/10 23:32 |
| Yes, you were correct originally! | Andy Neil | 01/19/10 01:22 |
| Seconded | Andy Neil | 01/18/10 12:45 |
| Servo_0.1.zip | Murray R. Van Luyn | 01/18/10 15:02 |
links | James Hinnant | 02/18/10 21:10 |
| Eventually feed the guys at http://servomaster.sf.net ? | Frieder Ferlemann | 01/18/10 15:12 |
| servomaster.sf.net FLOSS | James Hinnant | 02/04/10 11:48 |
| Maybe of some use... | James Bowmaster | 02/10/10 14:40 |
| Whoops... found a bug | James Bowmaster | 02/10/10 16:35 |
| What bug? | Andy Neil | 02/10/10 16:41 |
| Bug | James Bowmaster | 02/10/10 18:47 |
| Improved version uploaded | James Bowmaster | 02/12/10 21:26 |



