| ??? 11/25/04 12:18 Read: times |
#81919 - Tried PCA! Responding to: ???'s previous message |
Dear Forum Members,
I have modified my hardware a bit by giving the zero cross pulse to PCA module 0 pin P1.3 and also modified my software to synchronize my timer 1 i.e. used for fire timing with zero cross using PCA module 0 capture feature. I have set the PCA module 0 to capture both negative and postive going transitions. Here is my Initialization code.
/*Initializing the envoirment*/
void init_ios(void)
{
ioport=0xf0;
P3=0xff;
FIREPORT=1;
IE=0;
RCAP2H=0xfa; //ADC sampling 20 samples per cycle
RCAP2L=0xca;
T2CON=0x00;
TMOD=0x21; //Timer 0 in 16 bit timer 1 8 bit autoreload.
CH=0x00; //clear PCA base counter.
CL=0x00;
CMOD=0x00; //PCA clock sourc Fosc/6;
CCAPM0=0x31; //Put module 0 in capture mode. both transistions.
CCON=0x40; //PCA start;
TH1=0x7a; //system timer ticks once 100us.
TF1=0;
IP=0x60; //PCA highest and timet 1 higher priority set.
IPH=0x48;
IE=0x00;
EA=1; //Enabling global interrupts.
EC=1; //Enabling PCA interrupt;
ET1=1; //Enabling timer 1 interrupt.
TR1=1; //Start timer 1.
}
and here are my ISR for PCA and timer 1. /*********Interrupt function for timer 1****************
This interrupt is always on and is 100us*/
void t1_isr(void) interrupt 3
{
SYSTIME++; //increament the SYSTIME variable used for fire timing
if (SYSTIME>firedly && firecount && ttbit && onfire)
{
FIREPORT=!FIREPORT; //Put the fire pulse
firecount--; //Reduce remining pulse counter.
}
else
FIREPORT=1; //Make fire pin 1 to keep transistor off.
ttbit=!ttbit; //fwbit to make firing pulse 200us
}
/*ISR for PCA modules 0 This interrupt is always ON*/
void cf_isr(void) interrupt 6 using 2
{
firecount=6; //set 6 pulses to be sent.
fwbit=!fwbit;
if (fwbit)
cycles++; //Increament cycles every 2 half cycles.
ioport=OPSTATUS; //Refresh Output ports.
SYSTIME=0x00; //Reset SYSTIME variable.
CCF0=0; //clear the interrupt flag.
}
Even after doing above ie. properly synchronising the timer 1 with zero cross flickering remains as it is there is no change at all I have been pulling my hairs for past 40 hours but still it is a big mystry. I will get balt within few days if the problem is not solved. Please help me friends. Thanks & Regards, Prahlad Purohit |



