{"id":1969,"date":"2014-01-21T20:34:15","date_gmt":"2014-01-21T18:34:15","guid":{"rendered":"http:\/\/www.devrearsiv.com\/?p=1969"},"modified":"2017-03-14T17:33:59","modified_gmt":"2017-03-14T15:33:59","slug":"pic-c-programlama-dili","status":"publish","type":"post","link":"https:\/\/devrearsivi.com\/pic-c-programlama-dili\/","title":{"rendered":"pic-c programlama dili"},"content":{"rendered":"
    \n
  1. 1.\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/b>C PROGRAMLAMA D\u0130L\u0130<\/b><\/li>\n<\/ol>\n

     <\/p>\n

    C programlama dili g\u00fcn\u00fcm\u00fczde en yayg\u0131n olarak kullan\u0131lan programlama dillerinden biridir. Bir PC ve bir mikrokontrol\u00f6r i\u00e7in yaz\u0131lm\u0131\u015f olan C derleyicileri her ne kadar birbirlerine benzeseler de aralar\u0131nda baz\u0131 \u00f6nemli farklar vard\u0131r. PC i\u00e7in yaz\u0131lm\u0131\u015f olan bir C derleyicisi genellikle daha b\u00fcy\u00fck olup programc\u0131ya \u00e7ok \u00e7e\u015fitli fonksiyonlar sunmaktad\u0131r (\u00f6rne\u011fin dosya a\u00e7\u0131p kapama, dosya okuma vs). Bunun yan\u0131nda, mikrokontrol\u00f6r i\u00e7in yaz\u0131lm\u0131\u015f olan bir C derleyicisi daha k\u00fc\u00e7\u00fck olup programc\u0131ya sunulan fonksiyon say\u0131s\u0131 da olduk\u00e7a s\u0131n\u0131rl\u0131d\u0131r. Bununla birlikte, standart C dilini \u00f6\u011frenmi\u015f olan bir programc\u0131, kullanm\u0131\u015f oldu\u011fu mikrokontrol\u00f6r\u00fcn mimarisini de bildi\u011fi takdirde \u00e7ok kolayl\u0131kla C dilinde program geli\u015ftirebilir.<\/p>\n

     <\/p>\n

    PIC mikrokontrol\u00f6rler i\u00e7in yaz\u0131lm\u0131\u015f olan \u00e7ok say\u0131da C derleyicileri bulunmaktad\u0131r. \u00d6rne\u011fin, Forest Electronics firmas\u0131n\u0131n sundu\u011fu FED C, Hi-Tech firmas\u0131n\u0131n \u00fcr\u00fcn\u00fc olan PICC ve yine ayni firman\u0131n \u00fcr\u00fcn\u00fc olan ve \u00fccretsiz olarak verilen PICC Lite, CCS firmas\u0131n\u0131n PCM ve PCW derleyicileri ve bunun gibi daha bir\u00e7oklar\u0131.<\/p>\n

     <\/p>\n

    Bu projede Hi-Tech firmas\u0131n\u0131n \u00fcr\u00fcn\u00fc olan ve olduk\u00e7a pop\u00fcler olan PICC Lite C derleyicisi kullan\u0131lm\u0131\u015ft\u0131r.<\/p>\n

     <\/p>\n

    1.1.\u00a0\u00a0 <\/b>PICC Lite Derleyici<\/b><\/p>\n

     <\/p>\n

    Hi-Tech firmas\u0131 taraf\u0131ndan geli\u015ftirilmi\u015f olan ve ANSI C standard\u0131n\u0131 izleyen bu C derleyicisi pek \u00e7ok \u00f6zelliklere sahip olup bir\u00e7ok end\u00fcstriyel uygulamalarda, \u00f6\u011fretim ve \u00f6\u011frenim ama\u00e7l\u0131, ve ayni zamanda elektronik hobi olarak kullan\u0131lmaktad\u0131r.<\/p>\n

     <\/p>\n

    PICC Lite derleyicisi, yine ayni firman\u0131n \u00fcretti\u011fi ve pazarlad\u0131\u011f\u0131 PICC derleyicisine \u00e7ok benzemekte olup, \u00fccretsiz oldu\u011fu i\u00e7in baz\u0131 k\u0131s\u0131tlamalar\u0131 bulunur. \u00d6rne\u011fin, PICC Lite sadece 16C84, 16F84, 16F84A, 16F627, 12F629, 16F877 ve 16F877A PIC mikrokontrol\u00f6rleri i\u00e7in kullan\u0131labilir. Bunun yan\u0131nda, sadece 2 tane RAM bank\u0131 desteklemektedir (2 bank PIC16F84 i\u00e7in yeterli oldu\u011fu halde, PIC16F877 i\u00e7in yeterli olmayabilir) ve 16F877 ve 16F877A mikrokontrol\u00f6rleri kullan\u0131ld\u0131\u011f\u0131nda ROM kapasitesi 2K olarak s\u0131n\u0131rland\u0131r\u0131lm\u0131\u015ft\u0131r. Ayr\u0131ca, PICC Lite derleyicisinde printf fonksiyonu long ve float veri \u00e7e\u015fitleri i\u00e7in kullan\u0131lamaz. Bu k\u0131s\u0131tlamalar d\u0131\u015f\u0131nda PICC Lite ve PICC derleyiciler ayni olup her iki derleyiciyi de kullanarak \u00e7ok karma\u015f\u0131k PIC uygulamalar\u0131 geli\u015ftirmek m\u00fcmk\u00fcnd\u00fcr.<\/p>\n

     <\/p>\n

    Bu b\u00f6l\u00fcmde, PICC Lite derleyicisinin \u00f6zelliklerini ve bu derleyici ile C program\u0131 geli\u015ftirmeyi inceleyece\u011fiz.<\/p>\n

     <\/p>\n

    1.2.\u00a0\u00a0 <\/b>PICC Lite Veri \u00c7e\u015fitleri.<\/b><\/p>\n

     <\/p>\n

    PICC Lite C derleyicisi a\u015fa\u011f\u0131da belirtilen veri \u00e7e\u015fitlerini desteklemektedir. Burada k\u00fc\u00e7\u00fck harf kullan\u0131ld\u0131\u011f\u0131na dikkat edilmelidir. .<\/p>\n

     <\/p>\n

    bit<\/p>\n

    unsigned char<\/p>\n

    signed char<\/p>\n

    unsigned int<\/p>\n

    signed int<\/p>\n

    long<\/p>\n

    unsigned long<\/p>\n

    float<\/p>\n

    double<\/p>\n

     <\/p>\n

    \u015eimdi bu veri \u00e7e\u015fitlerini \u00f6rneklerle daha yak\u0131ndan inceleyelim.<\/p>\n

     <\/p>\n

    1.2.1.\u00a0\u00a0\u00a0\u00a0\u00a0 <\/b>bit<\/b><\/p>\n

     <\/p>\n

    Bu veri \u00e7e\u015fidinde say\u0131lar Boolean (0 veya 1) olabilir. \u00d6rne\u011fin, a\u015fa\u011f\u0131daki tan\u0131mda de\u011fi\u015fken flag sadece 0 veya 1 de\u011ferlerini alabilir.<\/p>\n

     <\/p>\n

    bit flag;<\/p>\n

     <\/p>\n

    1.2.2.\u00a0\u00a0\u00a0\u00a0\u00a0 <\/b>unsigned char<\/b><\/p>\n

     <\/p>\n

    Bu veri \u00e7e\u015fidi ile 8 bitlik say\u0131lar tan\u0131mlan\u0131r ve bu say\u0131lar 0 ve 255 aras\u0131nda de\u011fer alabilirler. \u00d6rne\u011fin, a\u015fa\u011f\u0131daki veri tan\u0131m\u0131nda de\u011fi\u015fken q, 0 ve 255 aras\u0131nda herhangi bir de\u011fer alabilir ve burada q 180 olarak de\u011ferlendirilmi\u015ftir. Ayn\u0131 zamanda, de\u011fi\u015fken a karakter R ye e\u015fitlenmi\u015ftir. unsigned char tan\u0131m\u0131 ile hem 8 bitlik bir integer ve hem de bir karakter tan\u0131mlanabilir:<\/p>\n

     <\/p>\n

    unsigned char q,a;<\/p>\n

    q = 180;<\/p>\n

    a=\u2019R\u2019;<\/p>\n

     <\/p>\n

    Burada dikkat edilece\u011fi gibi, C dilinde her sat\u0131r noktal\u0131-virg\u00fcl (\u201c;\u201d) \u00a0i\u015fareti ile bitmektedir. Sat\u0131r sonuna bu i\u015faret konulmad\u0131\u011f\u0131 takdirde derleyici hata verecektir.<\/p>\n

     <\/p>\n

    1.2.3.\u00a0\u00a0\u00a0\u00a0\u00a0 <\/b>signed char<\/b><\/p>\n

     <\/p>\n

    \u0130\u015faret i\u00e7eren bu veri tan\u0131m\u0131, -128 ve +127 aras\u0131ndaki say\u0131lar\u0131 tan\u0131mlamak i\u00e7in kullan\u0131l\u0131r. A\u015fa\u011f\u0131daki \u00f6rnekte de\u011fi\u015fken p\u2019ye\u00ad50 de\u011feri ve de\u011fi\u015fken z\u2019ye 28 de\u011feri verilmi\u015ftir:<\/p>\n

     <\/p>\n

    signed char p,z;<\/p>\n

    p = -50;<\/p>\n

    z = 28;<\/p>\n

     <\/p>\n

    1.2.4.\u00a0\u00a0\u00a0\u00a0\u00a0 <\/b>unsigned int<\/b><\/p>\n

     <\/p>\n

    Bu tan\u0131m ile 16 bit olan ve 0 ile 65535 aras\u0131nda de\u011fi\u015fen say\u0131lar tan\u0131mlanabilir. A\u015fa\u011f\u0131daki \u00f6rnekte, de\u011fi\u015fken q\u2019ya 915 ve de\u011fi\u015fken x\u2019e 3000 de\u011ferleri verilmi\u015ftir:<\/p>\n

     <\/p>\n

    unsigned int q;<\/p>\n

    q = 915;<\/p>\n

    x = 3000;<\/p>\n

     <\/p>\n

    1.2.5.\u00a0\u00a0\u00a0\u00a0\u00a0 <\/b>signed int<\/b><\/p>\n

     <\/p>\n

    \u0130\u015faret i\u00e7eren ve 16 bitlik say\u0131lar i\u00e7in kullan\u0131lan bu tan\u0131mda, say\u0131n\u0131n -32768 ve +32767 aras\u0131nda olmas\u0131 gerekir. A\u015fa\u011f\u0131daki \u00f6rnekte de\u011fi\u015fken t\u2019ye -500 de\u011feri verilmi\u015ftir:<\/p>\n

     <\/p>\n

    T\u00fcm Metin dosyalar\u0131n\u0131 ve \u00f6rnek \u00e7al\u0131\u015fmalar\u0131 buradan indirebilirsiniz.<\/strong><\/em><\/span><\/p>\n

    \"devrearsiv-indir\"<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"

    1.\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 C PROGRAMLAMA D\u0130L\u0130   C programlama dili g\u00fcn\u00fcm\u00fczde en yayg\u0131n olarak kullan\u0131lan programlama dillerinden…<\/p>\n","protected":false},"author":1,"featured_media":1970,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[21,23],"tags":[717,718,719,716],"aioseo_notices":[],"featured_image_urls":{"full":["https:\/\/devrearsivi.com\/wp-content\/uploads\/2014\/01\/c-compliers-hi-tech-picc-lite-2.png",295,221,false],"thumbnail":["https:\/\/devrearsivi.com\/wp-content\/uploads\/2014\/01\/c-compliers-hi-tech-picc-lite-2-150x150.png",150,150,true],"medium":["https:\/\/devrearsivi.com\/wp-content\/uploads\/2014\/01\/c-compliers-hi-tech-picc-lite-2.png",295,221,false],"medium_large":["https:\/\/devrearsivi.com\/wp-content\/uploads\/2014\/01\/c-compliers-hi-tech-picc-lite-2.png",295,221,false],"large":["https:\/\/devrearsivi.com\/wp-content\/uploads\/2014\/01\/c-compliers-hi-tech-picc-lite-2.png",295,221,false],"1536x1536":["https:\/\/devrearsivi.com\/wp-content\/uploads\/2014\/01\/c-compliers-hi-tech-picc-lite-2.png",295,221,false],"2048x2048":["https:\/\/devrearsivi.com\/wp-content\/uploads\/2014\/01\/c-compliers-hi-tech-picc-lite-2.png",295,221,false],"covernews-slider-full":["https:\/\/devrearsivi.com\/wp-content\/uploads\/2014\/01\/c-compliers-hi-tech-picc-lite-2.png",295,221,false],"covernews-slider-center":["https:\/\/devrearsivi.com\/wp-content\/uploads\/2014\/01\/c-compliers-hi-tech-picc-lite-2.png",295,221,false],"covernews-featured":["https:\/\/devrearsivi.com\/wp-content\/uploads\/2014\/01\/c-compliers-hi-tech-picc-lite-2.png",295,221,false],"covernews-medium":["https:\/\/devrearsivi.com\/wp-content\/uploads\/2014\/01\/c-compliers-hi-tech-picc-lite-2.png",295,221,false],"covernews-medium-square":["https:\/\/devrearsivi.com\/wp-content\/uploads\/2014\/01\/c-compliers-hi-tech-picc-lite-2.png",295,221,false]},"author_info":{"display_name":"Ferhat \u00c7elik","author_link":"https:\/\/devrearsivi.com\/author\/94ferhat\/"},"category_info":"Ders Notlar\u0131<\/a> P\u0130C Devreler<\/a>","tag_info":"P\u0130C Devreler","comment_count":"0","_links":{"self":[{"href":"https:\/\/devrearsivi.com\/wp-json\/wp\/v2\/posts\/1969"}],"collection":[{"href":"https:\/\/devrearsivi.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devrearsivi.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devrearsivi.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/devrearsivi.com\/wp-json\/wp\/v2\/comments?post=1969"}],"version-history":[{"count":3,"href":"https:\/\/devrearsivi.com\/wp-json\/wp\/v2\/posts\/1969\/revisions"}],"predecessor-version":[{"id":3157,"href":"https:\/\/devrearsivi.com\/wp-json\/wp\/v2\/posts\/1969\/revisions\/3157"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devrearsivi.com\/wp-json\/wp\/v2\/media\/1970"}],"wp:attachment":[{"href":"https:\/\/devrearsivi.com\/wp-json\/wp\/v2\/media?parent=1969"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devrearsivi.com\/wp-json\/wp\/v2\/categories?post=1969"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devrearsivi.com\/wp-json\/wp\/v2\/tags?post=1969"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}