Nov 3, 2013

Artificial PWM & Sine Wave


Sine wave using timer only(no pwm used)
This program will help what is timer,pwm and its applications





#include<pic.h>
#define _XTAL_FREQ 16000000
__CONFIG(0x3f7a);
void main()
{
TRISA=0;
PORTA=0;
while(1)
{
PORTA=0xff;
__delay_us(5);
PORTA=0;
__delay_us(95);
PORTA=0xff;
__delay_us(10);
PORTA=0;
__delay_us(90);
PORTA=0xff;
__delay_us(15);
PORTA=0;
__delay_us(85);
PORTA=0xff;
__delay_us(20);
PORTA=0;
__delay_us(80);
PORTA=0xff;
__delay_us(25);
PORTA=0;
__delay_us(75);
PORTA=0xff;
__delay_us(30);
PORTA=0;
__delay_us(70);
PORTA=0xff;
__delay_us(35);
PORTA=0;
__delay_us(65);
PORTA=0xff;
__delay_us(40);
PORTA=0;
__delay_us(60);
PORTA=0xff;
__delay_us(45);
PORTA=0;
__delay_us(55);
PORTA=0xff;
__delay_us(50);
PORTA=0;
__delay_us(50);
PORTA=0xff;
__delay_us(55);
PORTA=0;
__delay_us(45);
PORTA=0xff;
__delay_us(60);
PORTA=0;
__delay_us(40);
PORTA=0xff;
__delay_us(55);
PORTA=0;
__delay_us(45);
PORTA=0xff;
__delay_us(50);
PORTA=0;
__delay_us(50);
PORTA=0xff;
__delay_us(45);
PORTA=0;
__delay_us(55);
PORTA=0xff;
__delay_us(40);
PORTA=0;
__delay_us(60);
PORTA=0xff;
__delay_us(35);
PORTA=0;
__delay_us(65);
PORTA=0xff;
__delay_us(30);
PORTA=0;
__delay_us(70);
PORTA=0xff;
__delay_us(25);
PORTA=0;
__delay_us(75);
PORTA=0xff;
__delay_us(20);
PORTA=0;
__delay_us(80);
PORTA=0xff;
__delay_us(15);
PORTA=0;
__delay_us(85);
PORTA=0xff;
__delay_us(10);
PORTA=0;
__delay_us(90);
PORTA=0xff;
__delay_us(5);
PORTA=0;
__delay_us(95);
}
}