Elektrotekno.com Ana Sayfa || Programlanabilir Cihaz ve Elemanlar || Microchip Pic Serisi


Açıklama:
Elektrik, Elektronik, Haberleşme ve Otomasyon konularının ağırlıklı olarak konuşulduğu, tartışıldığı ve bilgi paylaşımı yapıldığı forumumuza hoşgeldiniz.
Şu an Kod Paylaşım ve Soru Cevap Alanı kategorisi içerisindeki Microchip Pic Serisi forumunda bulunuyorsunuz.
Bu sayfada üyelerimizin "programda yardım" konusundaki problem, görüş ve önerileri okuyabilir ayrıca konu hakkındaki doküman, resim, proje, devre ve programlara ücretsiz olarak ulaşabilirsiniz. Üye olduktan sonra sizler de konu hakkında sorular sorabilir ya da yorum ve paylaşım yaparak birikimlerinizi aktarabilirsiniz.
Forumdan tam olarak yararlanabilmek için üye olmayı unutmayınız!

programda yardım

Kayıt: 23 Ekm 2007
Mesajlar: 8
Konum: KONYA
Offline
turcox
Tarih: 11 02 2008 21:29

#include <18f452.h>
#device adc=10

#fuses nowdt
#fuses wdt128
#fuses h4
#fuses noprotect
#fuses nooscsen
#fuses nobrownout
#fuses borv42
#fuses noput
#fuses nostvren
#fuses nodebug
#fuses nolvp
#fuses nowrt
#fuses nowrtd
#fuses nowrtb
#fuses nowrtc
#fuses nocpd
#fuses nocpb
#fuses noebtr
#fuses noebtrb

#use delay(clock=40000000,restart_wdt)

#define r_fazı pın_b1


const unsigned int16 usn1[128]={
9990,9850,9766,9694,9627,
9566,9511,9461,9411,9361,9316,9272,9227,
9183,9144,9099,9061,9022,8983,8944,8911,
8872,8838,8800,8766,8733,8699,8661,8627,
8594,8566,8533,8499,8466,8433,8405,8372,
8338,8311,8277,8250,8216,8188,8161,8127,
8100,8072,8038,8011,7983,7955,7927,7894,
7866,7838,7811,7783,7755,7727,7700,7672,
7644,7616,7588,7561,7533,7505,7477,7450,
7422,7394,7366,7344,7316,7288,7261,7233,
7205,7177,7155,7127,7099,7072,7044,7016,
6994,6966,6938,6911,6883,6861,6833,6805,
6777,6750,6722,6699,6672,6644,6616,6588,
6566,6538,6511,6483,6455,6427,6400,6377,
6350,6322,6294,6266,6238,6211,6183,6155,
6127,6099,6072,6044,6016,5988,5961,5933,
5905,5877,5849};

const unsigned int16 usn2[103]={
5822,5794,5766,5738,5711,
5677,5650,5622,5594,5566,5533,5505,5477,
5444,5416,5388,5355,5327,5294,5266,5233,
5205,5172,5144,5111,5077,5049,5016,4983,
4950,4916,4883,4850,4816,4783,4750,4716,
4683,4650,4616,4577,4544,4505,4472,4433,
4400,4361,4322,4283,4244,4205,4166,4127,
4088,4050,4005,3966,3922,3877,3833,3788,
3744,3700,3650,3605,3555,3505,3455,3400,
3350,3294,3238,3177,3122,3061,2994,2933,
2861,2794,2722,2644,2561,2477,2388,2288,
2183,2072,1944,1799,1627,1416,1016,1010,
1000,950,900,850,700,600,400,300,200,0};



int16 value=0x00;
const float katsayi=0.21484375;
float gercek_deger=0x00;
int16 tablo=0x00;
int16 gecikme=0x00;
int16 ilk_tetikleme=0;
const int16 periyot=55535; //simetrik tetikleme için bekleme süresi
char timer0_sayac0=0;
char mod_r=2; // '0' iken pozitif tetikleme '1' iken negatif palsi tetikleme

void gecik()
{
value = read_adc();
gercek_deger=value*katsayi;
tablo=(int16)gercek_deger; //sayıyı virgülden kurtarıyor.
if(tablo<128)
gecikme=usn1[tablo];
else
gecikme=usn2[tablo-128];
}



#ınt_ext
void r_zero_cros()
{
/*
delay_us(gecikme);
output_high(pın_b1);
delay_us(50);
output_low(pın_b1);

delay_us(9950);
output_high(pın_b1);
delay_us(50);
output_low(pın_b1);
*/
ilk_tetikleme=0xff-gecikme;
mod_r=0;
timer0_sayac0=0;
enable_interrupts(ınt_tımer0);

set_timer0(ilk_tetikleme);
}

#ınt_tımer0
void r_tetikleme()
{
timer0_sayac0++;

if(mod_r==0)
{
if(timer0_sayac0==10)
{
timer0_sayac0=0;
mod_r=1;
set_timer0(periyot);
/**tetikle**/
output_high(r_fazı);
delay_us(100);
output_low(r_fazı);
/***********/
}
set_timer0(ilk_tetikleme);
}

if(mod_r==1)
{
set_timer0(periyot);
if(timer0_sayac0==10)
{
timer0_sayac0=0;
mod_r=0;
disable_interrupts(ınt_tımer0);
/**tetikle**/
output_high(r_fazı);
delay_us(100);
output_low(r_fazı);
/***********/
}
set_timer0(periyot);
}
}

void main()
{
setup_adc_ports(an0);
setup_adc(adc_clock_dıv_2);
setup_timer_0(rtcc_dıv_1);
setup_timer_1(t1_dısabled);
setup_timer_2(t2_dısabled,0,1);
setup_timer_3(t3_dısabled|t3_dıv_by_1);
enable_interrupts(global);
enable_interrupts(ınt_ext);
disable_interrupts(ınt_tımer0);
ext_int_edge( 0, l_to_h);
setup_oscillator(40000000);
set_adc_channel(0);

gecik();

set_tris_b(0x01);
set_tris_a(0x01);
set_timer0(0);
//output_low(r_fazı);


while(true)
{
gecik();
}
}


bu programı 16f877 için kullanılır hale getirmek için uğraşıyorum ama bir ilerleme kaydedemedim yardımcı olursanız sevinirizm...(h4 osilatör yerine 4mhz'lık kristal kullanıcam..
Kayıt: 23 Şub 2007
Mesajlar: 130
Konum: erciyes univ.
Offline
dadas15
Tarih: 13 02 2008 12:47

arkadasim bence oturup programi kendin tekrar yazarsan daha rahat edersin.
sanirim bu baska birinin programi yani yeniden yazman senin icin daha kolay olur
tesekkurler...
Başa dön
Kayıt: 23 Ekm 2007
Mesajlar: 8
Konum: KONYA
Offline
turcox
Tarih: 20 02 2008 22:27

programlama


evet program başkasına aitti.Ama probemimi yani bir program yazarak hallettim. yardımcı olmak isteyen herkese teşekkür ederim.
Başa dön



programda yardım


Benzer Konular

- Ares'te autorouter'ın yapamadığı yerler - yardım

- 16F84A ile Çizgi İzleyen Robot Yapımı - yardım
- İki yıllık hangi dalı seçmeliyim yardım lütfen!!
- 877 programlama hatası yardım
- ds 1307 yada ds1302 driver yardım
- iki ayrı trafo merkezinden gelen iki hat - yardım
- c# ile yazılmış sürücü kursu otomasyon programı -yardım
- hi-tech pıcc lite'da hata - yardım
- Ansoft MAxwell 3D kullanımı - yardım

- isis ile paralel port simulasyonu - yardım

- pascal açılımındaki katsayıları verecek bir kod - yardım


Sitemize üyelik ve içeriğin indirilmesi tamamen ücretsizdir. Sitemizde paylaşılan tüm dokümanlar (Tezler, makaleler, ders notları, sınav soru cevaplar, projeler) paylaşımcıların bireysel çalışmaları olup telif hakları kendilerine aittir ya da açık bir şekilde kamusal alana yerleştirilmiş dokümanların birer kopyalarıdır. Kişilerin bireysel çalışmalarını sitemizde yüklemesinde, sitemizde paylaşıma teşvik eden puanlama sisteminin de etkisi büyüktür. Bunlara rağmen hala size ait olan ve burada bulunmasına izin vermediğiniz dokümanlar varsa iletişim bölümünden yöneticilere bildirmeniz durumunda derhal silineceklerdir.
Powered by phpBB | Translated by phpBB Türkiye | Ads by Google Adsense | Design by Crazy Bat based
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71