PIC C Compiler ile Gelen voltaj bilgisine göre triyak tetikleme programı

Başlatan mehmetsahan42, 02 Mayıs 2015, 15:29:01

mehmetsahan42

Merhaba arkadaslar,
C compiler ile gelen voltaj bilgisine göre optokupler ile triyak tetiklemesi yapacagım.Bununla ilgili bi program buldum ama tetikleme yapmıyor devre.Yardımcı olurmusunuz.
#include <16F877A.h>
#device adc=10
#FUSES NOWDT //No Watch Dog Timer
#FUSES LP //Low power osc < 200 khz
#FUSES NOPUT //No Power Up Timer
#FUSES NOPROTECT //Code not protected from reading
#FUSES NODEBUG //No Debug mode for ICD
#FUSES NOBROWNOUT //No brownout reset
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD //No EE protection
#use delay(clock=4000000)
long int T=2000;
#int_EXT
void EXT_isr(void)
{
delay_us(T);//Triyak tetikleme için bekleme süresi
output_high(PIN_C3);//Triac tetikleme sinyali
delay_us(100);
output_low(PIN_C3);
}
void main()
{
setup_adc_ports(ALL_ANALOG);
setup_adc(ADC_CLOCK_DIV_32);
setup_psp(PSP_DISABLED);
setup_spi(SPI_SS_DISABLED);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
set_adc_channel(0);
delay_us(20);
output_high(PIN_C2);
delay_ms(1000);
output_low(PIN_C2);
delay_ms(1000);
while(true){
//AN1=read_adc(); //analog değer okunuyor (10 bit, 0-5 V 0-1023 olarak okunuyor.
//T=9*AN; //Bekleme süresi(tetikleme açısı) ayarlanıyor- 0-9000 mikrosaniye arası
T=T+2;
if (T>7000){
T=2000;
}
enable_interrupts(INT_EXT);
ext_int_edge(0,L_TO_H);
enable_interrupts(GLOBAL);
}
}