花生漫画

ADuC7026产生PWM信号

0
阅读(2605)
#include 

void IRQ_Handler() __irq;
void ProPPM(int time);
void ADCpoweron(int time);
int PeriodCount=0;
int PPM=0;

int main(void){

	   T1LD=0x1A2;
      
	   
	   
	    GP3DAT = 0x01010000; 
	   T1CON=0xC0;
	    IRQEN |= 0x08;	
	   GP4DAT = 0x04000000;
	   	while (1)
	{
	}	
}

void IRQ_Handler() __irq {
        if ((IRQSTA & GP_TIMER_BIT) !=0)
        {
               

				PPM++;
	     		PeriodCount++;
                ProPPM(100);
                T1CLRI = 0;	
        }
         
  
        return;
}

void ProPPM(int time)
{
    if(PPM==time)
    { 
                GP3DAT=GP3DAT&0x0F0E0000;
        }
    

        if(PeriodCount > 2000)
        {
                GP3DAT = 0x01010000; 		
                PPM = 0;
               	PeriodCount=0;

        	
        }
}