Picproje Elektronik Sitesi

DERLEYİCİLER => MikroC - PIC => Konuyu başlatan: EmaNet - 19 Eylül 2012, 16:40:23

Başlık: Yeni Başlayanlar için MikroC ile PIC PROGRAMLAMA (16F628A) Kitabı
Gönderen: EmaNet - 19 Eylül 2012, 16:40:23
Evet yeni mikroC kitabı çıkmış.

(http://www.feyzateknik.com/images/detailed/0/Yeni_Bas_MikroC_on_belge.jpg)

Elektronik alanında mikroişlemcilerin ve ardından da mikrodenetleyicilerin keşfi, teknolojinin inanılmaz bir hızla gelişmesine sebep olmuştur. Microchip firmasının üretmiş olduğu PIC'lerin piyasada kolay temin edilebilmesi ve derleyici alternatifinin çokluğu sebebiyle yaygın bir kullanım alanına sahip olmuştur. Bu gibi nedenlerden dolayı kitapta; gelişmiş donanım özelliklerine sahip ve fiyatı da çok uygun olan PIC16F628A ile aynı donanım özelliklerine sahip olan PIC16F648A mikrodenetleyicisi tercih edilmiştir. Programlar ise günümüzün popüler programlama dillerinden birisi olan C dili esas alınarak oluşturulan MikroC PRO'da yazılmıştır.

Kitapta verilen uygulamalar; kullanıcının PIC programlamaya yeni başladığı düşünülerek, basitten gelişmiş proje uygulamalarına doğru hazırlanmıştır.
Ayrıca kullanıcının ihtiyaç duyacağı USB Pic Programlayıcısını kendisinin yapması amaçlanmış olup, kitap içerisinde devre ve PCB şeması verilmiştir. Yine kullanıcının kitap içerisinde verilen bütün uygulamaları yapabileceği bir PIC Deneme Kartının devre ve PCB şeması verilerek, kullanıcının kendi başına yapabilmesi için yol gösterilmiştir.

Kitap içeriği;

BÖLÜM 1. MIKROISLEMCILER ve MIKRODENETLEYICILER
BÖLÜM 2. PIC16F628A ve PIC16F648A DONANIM MIMARISI
BÖLÜM 3. SAYISAL ELEKTRONIK
BÖLÜM 4. USB PIC PROGRAMLAMA KARTI (USB Pic-OS)
BÖLÜM 5. PIC DENEME KARTI (PiC-OS)
BÖLÜM 6. MikroC PRO
BÖLÜM 7. ILK MikroC PROJEM
BÖLÜM 8. BASIT MikroC UYGULAMALARI
BÖLÜM 9. ÇEVRE BIRIMI ELEMANLARI ve UYGULAMALARI
BÖLÜM 10. KESME (INTERRUPT) UYGULAMALARI

Ufak bir dipnot: Altaş yakında mikroC ARM ile ilgili kitabını piyasaya sürecek. Hayırlısı bakalım.
Başlık: Ynt: Yeni Başlayanlar için MikroC ile PIC PROGRAMLAMA (16F628A) Kitabı
Gönderen: Firzen - 09 Kasım 2012, 18:19:20
Hocam kitabınızı ilk alanlardanım.
Yalnız ben yine yapamadım nerede hata yapıyorum bu ADC meselesinde bulamadım?
bir türlü deneyemedim hep yanlış yazdım bir yardımcı olursanız bu konuda?
kullandığım PIC 16F628A
bildiğim kadarıyla bunda AN var.Bir türlü sıcaklı okuyup yazdıramadım :S
Sayfa 155 de sıcaklık denemesi yapmışsınız ama hiç ADC aç kapa vs kullanmamışsınız.
Başlık: Ynt: Yeni Başlayanlar için MikroC ile PIC PROGRAMLAMA (16F628A) Kitabı
Gönderen: sadogan - 09 Kasım 2012, 18:33:33
Merhaba
Pic16F628A 16F648A sa adc modulu yok
Bu nedenler ölçemiyorsun
aynı pin yapısına sahip
16f819 ve 16f88 adc modülü var.
Başarılar
Başlık: Ynt: Yeni Başlayanlar için MikroC ile PIC PROGRAMLAMA (16F628A) Kitabı
Gönderen: Firzen - 09 Kasım 2012, 19:36:26
Bununla ilgili küçük bir adc uygulama örneği verebilir misiniz acaba kitapta bulamadım :S
LM35 ile LCD uygulama gibi. ?
Başlık: Ynt: Yeni Başlayanlar için MikroC ile PIC PROGRAMLAMA (16F628A) Kitabı
Gönderen: hasan_can - 24 Şubat 2013, 18:57:28
Kitaptaki LCD örneklerini ne yaptıysam çalıştıramadım. Yayınevinde kitaptaki program örnekleri yok. Diğer kitap MikroC ve PIC Programlama örnekleri çalışıyor. Karşılaştırdım. Ama olmadı.
Başlık: Ynt: Yeni Başlayanlar için MikroC ile PIC PROGRAMLAMA (16F628A) Kitabı
Gönderen: hikko - 25 Şubat 2013, 17:45:03
Merhaba,
Gerçek ortamda mi, Yoksa proteusda mi calistiramadin. Ayrica derlerken sorun çikti mi. Lcd ile pic baglantilarini kontrol ettin mi, fuse ayarlarini da kontrol et.

Bütün örnekler gerçek ortamda da proteusdada tek tek denenmistir ve calismaktadir.

Selamlar..
Başlık: Ynt: Yeni Başlayanlar için MikroC ile PIC PROGRAMLAMA (16F628A) Kitabı
Gönderen: hasan_can - 25 Şubat 2013, 21:36:00
Defalarca kontrol ettim. Yanlış yaptım mı diye her seferinde yeniden yaptım. Öncekilerle karşılaştırdım. Kitaptaki tarif ettiğiniz şekilde fuse ayarlarını yaptım. XP ve 7'de proteus 7.10 ve mikroC 5.8 test edilmiştir. Ancak değişen bir şey yok. Önceden belirttiğim gibi diğer PIC18F4550 kitabınızda ki LCD programları sorunsuz çalışıyor. 16F628'de olmuyor. Mümkünse 16f628 LCD kodlarını ve örneklerini 18F4550 kitabında olduğu gibi sitenizde yada burada yayınlayabilirmisiniz? Hatta bu arda MikroC ile ilgili dillerde İspanyolca bile kodları denedim, bir türlü beceremedim. 16f628'in CCS kodlarında sorun yok.
Başlık: Ynt: Yeni Başlayanlar için MikroC ile PIC PROGRAMLAMA (16F628A) Kitabı
Gönderen: hikko - 26 Şubat 2013, 18:48:43
Merhaba,
Müsait olunca lcd örneklerini ve proteusda calisan kodlari buraya atayim. Evimde internet im yok, bu siteye aksamlari cepten bakiyorum. Ama bütün programlari tek tek deneyerek kitaba koyduk.  18f4550 kitabi içinde örneği calistiramayan her kullanici, calismadigini iddia ediyor ama o kitapdaki bütün uygulamalarda Hem gerçek ortamda Hem de proteusda denendi.

Başlık: Ynt: Yeni Başlayanlar için MikroC ile PIC PROGRAMLAMA (16F628A) Kitabı
Gönderen: LukeSkywalker - 26 Şubat 2013, 18:59:13
MMC örneğini denediğinizi sanmıyorum.
Başlık: Ynt: Yeni Başlayanlar için MikroC ile PIC PROGRAMLAMA (16F628A) Kitabı
Gönderen: hasan_can - 26 Şubat 2013, 19:57:14
Hikko hocam sabırsızlıkla 16f628 ait örnek kodları ve proteus simulasyonunu sabırsızlıkla bekliyorum. Özellikle nerede hata yaptığımı görmek için.
Başlık: Ynt: Yeni Başlayanlar için MikroC ile PIC PROGRAMLAMA (16F628A) Kitabı
Gönderen: hikko - 27 Şubat 2013, 14:01:41

// LCD modül bağlantıları
sbit LCD_RS at RB4_bit;
sbit LCD_EN at RB5_bit;
sbit LCD_D7 at RB3_bit;
sbit LCD_D6 at RB2_bit;
sbit LCD_D5 at RB1_bit;
sbit LCD_D4 at RB0_bit;

sbit LCD_RS_Direction at TRISB4_bit;
sbit LCD_EN_Direction at TRISB5_bit;
sbit LCD_D7_Direction at TRISB3_bit;
sbit LCD_D6_Direction at TRISB2_bit;
sbit LCD_D5_Direction at TRISB1_bit;
sbit LCD_D4_Direction at TRISB0_bit;
// LCD modül bağlantıları bitti

void main()                                    // ana program başlangıcı
{
   cmcon = 0x07;                               // komparatörler kapatıldı
   option_reg = 0x80;                          // portb pull-up dirençleri aktif
   
   Lcd_Init();                                 // LCD bağlantıları yapılandırıldı
   Lcd_Cmd(_LCD_CURSOR_OFF);                   // LCD imleci ekrandan kaldırıldı
   Lcd_Cmd(_LCD_CLEAR);                        // LCD display ekranını temizler
   Lcd_Out(1, 3, "Sivas EML");                 // LCD display 1. satır, 3. sütuna text gönderildi
   Lcd_Out(2, 1, "Elektronik Blm");            // LCD display 2. satır, 1. sütuna text gönderildi
}                                              // ana program sonu
Başlık: Ynt: Yeni Başlayanlar için MikroC ile PIC PROGRAMLAMA (16F628A) Kitabı
Gönderen: hikko - 27 Şubat 2013, 16:24:27
merhaba!

yukarıda verilen kodu proteustada, deneme kartında da çalıştırdım ve test ettim tekrar. Proteusda çalışan görüntüsünü buraya atacaktım ama resim atmayı beceremedim, kusura bakma!

kolay gelsin.
Başlık: Ynt: Yeni Başlayanlar için MikroC ile PIC PROGRAMLAMA (16F628A) Kitabı
Gönderen: dijital74 - 27 Şubat 2013, 20:56:14
Küçük bir ayrıntıyı dile getirmek isterim. LCD ve GLCD kullanırken ilgili kütüphanelerin oluşturduğunuz projelere dahil edilmesi gerekir. Bunu yapmazsanız lcd ve glcd satırlarını derlerken derleyici hata verecektir.
Başlık: Ynt: Yeni Başlayanlar için MikroC ile PIC PROGRAMLAMA (16F628A) Kitabı
Gönderen: hikko - 27 Şubat 2013, 23:20:27
Mikroc de lcd için lcd_init fonksiyonu yeterli oluyor, Yani ccs c de ki gibi ayrica kütüphane tanimlanmiyor. Mikroc nin guzelligi ve kolayliklarindan biriside bu özelliği zaten.
Başlık: Ynt: Yeni Başlayanlar için MikroC ile PIC PROGRAMLAMA (16F628A) Kitabı
Gönderen: DieqO - 10 Mart 2013, 19:11:26
hocam ben bir lise ögrencisi olarak kitabınızı aldım ve çok hoşuma gitti herşey çok açık ve net . usb pıc programlayıcısını yaptım sorunsuz bir şekilde çalışıyo ama tek sorunum pıc derlemek için lazım olan program USB-Pic OS V1.0 programını hiç bi yerde bulamadım  www.altaskitap.com (http://www.altaskitap.com)  sayfasından indire bilirsiniz yazıyo kitapta ama ne yazıkki ordanda indiremedim kaldırılmış galiba yardımınızı bekliyorum size zahmet upload edip link paylaşırsanız çok mutlu ediceksiniz beni .
Başlık: Ynt: Yeni Başlayanlar için MikroC ile PIC PROGRAMLAMA (16F628A) Kitabı
Gönderen: kemalserkan - 11 Mart 2013, 08:36:51
Bugün yayınevine haber verelim.Biz gönderdik onlara ama unuttular herhalde
Başlık: Ynt: Yeni Başlayanlar için MikroC ile PIC PROGRAMLAMA (16F628A) Kitabı
Gönderen: hikko - 11 Mart 2013, 17:35:19
merhaba!

USB programlayıcı HEX kod ve arayüz program aşağıdaki linkde!

http://www.4shared.com/rar/Qk_hg8Fo/pic18f2550_hikko.html (http://www.4shared.com/rar/_Gk76YC7/USB_Pic-OS_v13.html%3Cbr%20/%3E%5Burl=http://www.4shared.com/rar/Qk_hg8Fo/pic18f2550_hikko.html)]http://www.4shared.com/rar/_Gk76YC7/USB_Pic-OS_v13.html
http://www.4shared.com/rar/Qk_hg8Fo/pic18f2550_hikko.html (http://www.4shared.com/rar/Qk_hg8Fo/pic18f2550_hikko.html)[/url]
Başlık: Ynt: Yeni Başlayanlar için MikroC ile PIC PROGRAMLAMA (16F628A) Kitabı
Gönderen: DieqO - 11 Mart 2013, 23:52:21
hocam çok teşekkür ederim başarılı bir şekilde çalışıyo kitaptaki uygulamları yapmaya başladım her şey çok güzel gidiyo .
Başlık: Ynt: Yeni Başlayanlar için MikroC ile PIC PROGRAMLAMA (16F628A) Kitabı
Gönderen: hikko - 12 Mart 2013, 10:37:21
Başka bir konuda yardima ihtiyacin olduğunda zamanimiz elverdiği sürece elimizden geleni yapariz. Kolay gelsin.
Başlık: Ynt: Yeni Başlayanlar için MikroC ile PIC PROGRAMLAMA (16F628A) Kitabı
Gönderen: fagus - 26 Ocak 2016, 22:19:44
Hocam programlayıcının baskı devresini yaptım;18F2550'yi programladım ;kartı bilgisayara taktığımda programda kart görülüyor.Ama programlamak istediğim hiçbir entegreyi tanımıyor.adres hatası veriyor.
Başlık: Ynt: Yeni Başlayanlar için MikroC ile PIC PROGRAMLAMA (16F628A) Kitabı
Gönderen: emre94 - 31 Aralık 2016, 18:55:23
Alıntı yapılan: hasan_can - 25 Şubat 2013, 21:36:00
Defalarca kontrol ettim. Yanlış yaptım mı diye her seferinde yeniden yaptım. Öncekilerle karşılaştırdım. Kitaptaki tarif ettiğiniz şekilde fuse ayarlarını yaptım. XP ve 7'de proteus 7.10 ve mikroC 5.8 test edilmiştir. Ancak değişen bir şey yok. Önceden belirttiğim gibi diğer PIC18F4550 kitabınızda ki LCD programları sorunsuz çalışıyor. 16F628'de olmuyor. Mümkünse 16f628 LCD kodlarını ve örneklerini 18F4550 kitabında olduğu gibi sitenizde yada burada yayınlayabilirmisiniz? Hatta bu arda MikroC ile ilgili dillerde İspanyolca bile kodları denedim, bir türlü beceremedim. 16f628'in CCS kodlarında sorun yok.
hocam merhaba kitabınızı satın aldım fakat kaynak kodlarını altaşın sitesinde bulamıyorum. Göndermeniz mümkünmü acaba yunusemreates07@gmail.com
Başlık: Ynt: Yeni Başlayanlar için MikroC ile PIC PROGRAMLAMA (16F628A) Kitabı
Gönderen: silver_wolf - 05 Nisan 2017, 23:20:50
Selam Arkadaşlar;
Kitap yeni başlayanlar için iyi hazırlanmış. Almanızı tavsiye ederim.

Kitabın 98. sayfasında portd ve trisd terimleri kullanılmış fakat PIC16F628(A) ve PIC16F648(A)'da d portu yoktur. D portu yerine a portu yazılmalıdır. Yani kod aşağıdaki şekilde olunca  PIC16F628(A) ve PIC16F648(A) için olur ve derlenebilir. Fakat LCD veya LED eklenmediği için deneme kartında ve/veya Proteus(isis)'te kodun çalıştığı tam belli olmuyor. Sizden ricam aşağıdaki koda LCD eklemeniz ve asc2_kod_bul fonksiyonuna giden değer ile dönen değeri LCD yazdırmanız.

Saygılar.

char kod;     // char tipinde kod isimli global bir değişken tanımlandı.
              // Bütün fonksiyonlar tarafında kullanılabir.
void init()   // PIC'in ayar bölümün başlangıcı. init() isimli bir fonksiyon
{             // tanımlanıyor, bu geriye herhangi bir değer döndürmeyeceği için
              // void ile başlıyor.
   portb = 0; // PORTB'nin bütün portları lojik sıfır
   trisb = 0; // PORTB bütün portları çıkış olarak set edildi
   porta = 0; // PORTA'nin bütün portları lojik sıfır
   trisa = 0; // PORTA bütün portları çıkış olarak set edildi
}  // pic'in ayar bloğunun sonu
char asc2_kod_bul(char karakter) // asc2_kod_bul isimli bir fonksiyon tanımlıyor
{  // karakter ve asc2_kod değişkenleri sadece bu fonksiyonda kullanılabilir
   unsigned char asc2_kod;

   if (karakter == ' ') asc2_kod = 0x20; // Eğer fonksiyon çağırılken karakter
                                         // parametresi eşittir ' ' karakteri
                                         // ise asc2_kod değişkenine onaltılık
                                         // sayı sisteminde 20 değerini yaz
   if (karakter == '0') asc2_kod = 0x30; // Eğer fonksiyon çağırılken karakter
                                         // parametresi eşittir '0' karakteri
                                         // ise asc2_kod değişkenine onaltılık
                                         // sayı sisteminde 30 değerini yaz
   if (karakter == '1') asc2_kod = 0x31; // Eğer fonksiyon çağırılken karakter
                                         // parametresi eşittir '1' karakteri
                                         // ise asc2_kod değişkenine onaltılık
                                         // sayı sisteminde 31 değerini yaz
   if (karakter == '2') asc2_kod = 0x32; // Eğer fonksiyon çağırılken karakter
                                         // parametresi eşittir '2' karakteri
                                         // ise asc2_kod değişkenine onaltılık
                                         // sayı sisteminde 32 değerini yaz

   if (karakter == 'A') asc2_kod = 0x41; // Eğer fonksiyon çağırılken karakter
                                         // parametresi eşittir 'A' karakteri
                                         // ise asc2_kod değişkenine onaltılık
                                         // sayı sisteminde 41 değerini yaz
   if (karakter == 'B') asc2_kod = 0x42; // Eğer fonksiyon çağırılken karakter
                                         // parametresi eşittir 'B' karakteri
                                         // ise asc2_kod değişkenine onaltılık
                                         // sayı sisteminde 42 değerini yaz
   if (karakter == 'C') asc2_kod = 0x43; // Eğer fonksiyon çağırılken karakter
                                         // parametresi eşittir 'C' karakteri
                                         // ise asc2_kod değişkenine onaltılık
                                         // sayı sisteminde 43 değerini yaz

   return asc2_kod; // asc2_kod değişkenini gönder
}
void main()  // Ana program başlangıcı
{
   init();   // init() fonksiyonu çağrılıyor
   while(1)  // Sonsuz döngü başlangıcı
   {
      kod = asc2_kod_bul('A'); // asc2_kod_bul fonsiyonu çağrılıyor
   } // sonsuz döngü sonu
} // ana program sonu


:020000004F2887
:0E0006008312031321088A00200882000800DC
:1000140083120313860183168601831285018316D6
:04002400850108004A
:10002800831203132308203A031D1C282030F100F3
:100038002308303A031D22283030F1002308313AD2
:10004800031D28283130F1002308323A031D2E28D9
:100058003230F1002308413A031D34284130F100C1
:100068002308423A031D3A284230F1002308433A54
:0E007800031D40284330F1007108F00008001D
:1000860003208A110A128000840AA00A0319A10A11
:08009600F003031D43280800DC
:10009E000A2041308312A30014207008A2005028B9
:0200AE005728D1
:02400E006A2125
:00000001FF




Selam Hocam;
PIC16F628A'da 8'den fazla iç içe fonksiyon çağırılabilir mi?

Mikro C'de değişkenler konusunu daha iyi kavramamız için soru verebilir misiniz?

MODBUS veya DMX512 ile ilgili kitabınız var mı?

Aşağıdaki kodda hata var mı?

Saygılar

char kod;     // char tipinde kod isimli global bir değişken tanımlandı.
              // Bütün fonksiyonlar tarafında kullanılabir.
unsigned short izin=0;
// LCD modül bağlantıları
sbit LCD_RS at RB4_bit;
sbit LCD_EN at RB5_bit;
sbit LCD_D7 at RB3_bit;
sbit LCD_D6 at RB2_bit;
sbit LCD_D5 at RB1_bit;
sbit LCD_D4 at RB0_bit;

sbit LCD_RS_Direction at TRISB4_bit;
sbit LCD_EN_Direction at TRISB5_bit;
sbit LCD_D7_Direction at TRISB3_bit;
sbit LCD_D6_Direction at TRISB2_bit;
sbit LCD_D5_Direction at TRISB1_bit;
sbit LCD_D4_Direction at TRISB0_bit;
// LCD modül bağlantıları bitti
void init()   // PIC'in ayar bölümün başlangıcı. init() isimli bir fonksiyon
{             // tanımlanıyor, bu geriye herhangi bir değer döndürmeyeceği için
              // void ile başlıyor.
   portb = 0; // PORTB'nin bütün portları lojik sıfır
   trisb = 0; // PORTB bütün portları çıkış olarak set edildi
   porta = 0; // PORTA'nin bütün portları lojik sıfır
   trisa = 0; // PORTA bütün portları çıkış olarak set edildi
   cmcon |= 7; // Bütün a portları dijital
   vrcon |= 0;
   option_reg = 0x80; // portb pull-up dirençleri aktif
}  // pic'in ayar bloğunun sonu
char asc2_kod_bul(char karakter) // asc2_kod_bul isimli bir fonksiyon tanımlıyor
{  // karakter ve asc2_kod değişkenleri sadece bu fonksiyonda kullanılabilir
   unsigned char asc2_kod;

   if (karakter == ' ') asc2_kod = 0x20; // Eğer fonksiyon çağırılken karakter
                                         // parametresi eşittir ' ' karakteri
                                         // ise asc2_kod değişkenine onaltılık
                                         // sayı sisteminde 20 değerini yaz
   if (karakter == '0') asc2_kod = 0x30; // Eğer fonksiyon çağırılken karakter
                                         // parametresi eşittir '0' karakteri
                                         // ise asc2_kod değişkenine onaltılık
                                         // sayı sisteminde 30 değerini yaz
   if (karakter == '1') asc2_kod = 0x31; // Eğer fonksiyon çağırılken karakter
                                         // parametresi eşittir '1' karakteri
                                         // ise asc2_kod değişkenine onaltılık
                                         // sayı sisteminde 31 değerini yaz
   if (karakter == '2') asc2_kod = 0x32; // Eğer fonksiyon çağırılken karakter
                                         // parametresi eşittir '2' karakteri
                                         // ise asc2_kod değişkenine onaltılık
                                         // sayı sisteminde 32 değerini yaz

   if (karakter == 'A') asc2_kod = 0x41; // Eğer fonksiyon çağırılken karakter
                                         // parametresi eşittir 'A' karakteri
                                         // ise asc2_kod değişkenine onaltılık
                                         // sayı sisteminde 41 değerini yaz
   if (karakter == 'B') asc2_kod = 0x42; // Eğer fonksiyon çağırılken karakter
                                         // parametresi eşittir 'B' karakteri
                                         // ise asc2_kod değişkenine onaltılık
                                         // sayı sisteminde 42 değerini yaz
   if (karakter == 'C') asc2_kod = 0x43; // Eğer fonksiyon çağırılken karakter
                                         // parametresi eşittir 'C' karakteri
                                         // ise asc2_kod değişkenine onaltılık
                                         // sayı sisteminde 43 değerini yaz
   Lcd_Out(2, 1, karakter);  // LCD display 2. satır, 1. sütuna giriş değerini
                        // gönder
   Lcd_Out(2, 3, kod);  // LCD display 2. satır, 3. sütuna çıkış değerini
                        // gönder

   return asc2_kod; // asc2_kod değişkenini gönder
}
void main()  // Ana program başlangıcı
{
   init();   // init() fonksiyonu çağrılıyor
   Lcd_Init();                 // LCD bağlantıları yapılandırıldı
   Lcd_Cmd(_LCD_CURSOR_OFF);   // LCD imleci ekrandan kaldırıldı
   Lcd_Cmd(_LCD_CLEAR);        // LCD display ekranını temizler
   while(1)  // Sonsuz döngü başlangıcı
   {

      kod = asc2_kod_bul('A'); // asc2_kod_bul fonsiyonu çağrılıyor

     if (izin=0)           // Sadece 1 defa ekrana yazdır
     {
        Lcd_Out(1, 1, 'A');    // LCD display 1. satır, 1. sütuna giriş değerini
                              // gönderi
        Lcd_Out(1, 3, kod);    // LCD display 1. satır, 3. sütuna çıkış değerini
                              // gönder
        izin=1;
     }
   } // sonsuz döngü sonu
} // ana program sonu