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


programda yardım

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 "Proteus library eksik" 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!
Kayıt: 23 Ekm 2007
Mesajlar: 8
Konum: KONYA
Offline
turcox
Tarih: 11 02 2008 20: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: 153
Konum: erciyes univ.
Offline
dadas15
Tarih: 13 02 2008 11: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 21: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

- MOSFET ile Dimmer (Yardım)

- Proteus ve USB kullanımı hakkkında yardım.
- 8051 robot projesi yardım!!
- Generatör talep gücü hesaplama - yardım
- Ustalardan Acil yardım Lazım (step motor daha çok elektronikle ilgili)
- PİC 16F73 kullananlardan yardım lazım
- sd card okuma yardım ????
- Matlab da histogram,yardım
- PIC16F84 Haftaya perşembeye kadar Yardım!!!(çok Önemli)

- Analog Haberleşme projesi yardım!

- devre blok diyagram acil 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 72