pwm switching program

Upload: chau-phan-giang

Post on 14-Jan-2016

216 views

Category:

Documents


0 download

DESCRIPTION

PWM switching program

TRANSCRIPT

  • 7/18/2019 PWM switching program

    1/1

    #include "p30f6010A.h"

    /* PWM switching program */

    const signed int sinetable[] = {0,19,37,55,73,91,109,127,145,163,181,198,216,233,250,268,284,301,318,334,350,366,382,397,413,428,443,457,471,485,499,512,525,538,550,562,574,585,596,607,617,627,637,646,655,663,671,679,686,693,699,705,711,716,720,724,728,732,734,737,739,740,742,740,739,737,734,732,728,724,720,716,711,705,699,693,686,679,671,663,655,646,637,627,617,607,596,585,574,562,550,538,525,512,499,485,471,457,443,428,413,397,382,366,350,334,318,301,284,268,250,233,216,198,181,163,145,127,109,91,73,55,37,19,1,-1,0,-19,-37,-55,-73,-91,-109,-127,-145,-163,-181,-198,-216,-233,-250,-268,-284,-301,-318,-334,-350,-366,-382,-397,-413,-428,-443,-457,-471,-485,-499,-512,-525,-538,-550,-562,-574,-585,-596,-607,-617,-627,-637,-646,-655,-663,-671,-679,-686,-693,-699,-705,-711,-716,-720,-724,-728,-732,-734,-737,-739,-740,-742,-740,-739,-737,-734,-732,-728,-724,-720,-716,-711,-705,-699,-693,-686,-679,-671,-663,-655,-646,-637,-627,-617,-607,-596,-585,-574,-562,-550,-538,-525,-512,-499,-485,-471,-457,-443,-428,-413,-397,-284,-268,-250,-233,-216,-198,-181,-163,-145,-127,-109,-91,-73,-55,-37,-19,-1}; // 256 Value sinetable

    // const signed int sinetable[] = {0,37,74,110,144,178,209,238,266,290,312,330,345,357,366,370,371,369,363,353,339,323,303,280,254,226,196,164,130,95,59,22,-16,-53,-89,-124,-158,-191,-222,-250,-276,-299,-320,-337,-351,-361,-368,-371,-371,-367,-359,-348,-333,-315,-294,-270,-243,-214,-183,-150,-115,-80,-43,-6}; // 64 Va

    lue sine table

    int i=0;

    int main (){// while(1){// OSCCON = 0x37B0;PTPER = 371; // This value is for cycle of 100Khz frequencyPWMCON1 = 0x0077; // enabling all PWM H and L pinsPWMCON2 = 0x0000;

    DTCON1 = 0x0202;DTCON2 = 0x000F;// PDC1 = 340;PDC2 = sine_table[i];PTCON = 0x8000;TRISD = 0xFFFF;i = i+1;if(i>63)i = 0;} while (1);}