انفرتر 12V إلى 220V باستخدام PIC16F628


لاول مره علي المنتديات العربيه دائره انفرتر 12 فولت 220 فولت تستخدم الميكرو كنترولPIC16F628


الكود المستخدم كود مثال بلغة C (XC8, PIC16F628)



#include <xc.h>

#pragma config FOSC = XT
#pragma config WDTE = OFF
#pragma config PWRTE = ON
#pragma config MCLRE = ON
#pragma config BOREN = ON
#pragma config LVP = OFF
#pragma config CPD = OFF
#pragma config CP = OFF

#define _XTAL_FREQ 4000000 // تردد المذبذب 4MHz

// تقسيم نصف الدورة (10ms) إلى 8 مستويات تقريبية لموجة شبه جيبية
unsigned int pwm_table[8] = {1000, 2000, 3000, 4000, 4000, 3000, 2000, 1000}; // microseconds

void main(void) {
    TRISB = 0x00; // جميع أطراف PORTB كمخرج
    PORTB = 0x00;

    while(1) {
        for(int i = 0; i < 8; i++) {
            PORTBbits.RB0 = 1;          // MOSFET ON
            __delay_us(pwm_table[i]);   // طول النبضة حسب الجدول
            PORTBbits.RB0 = 0;          // MOSFET OFF
            __delay_us(1250 - pwm_table[i]); // تكملة الفترة (تعديل حسب التجربة)
        }
    }
}
{codeBox}


ولكم تحياتي

1 تعليقات

  1. م / فادي السعيد21 أبريل 2014 في 1:39 ص

    لاتوجد فيه هذه الخاصيه للاسف

    ردحذف
أحدث أقدم