You are on page 1of 9

1

Mikrodenetleyici Yardmyla RS232 ve LCD Arasnda Seri letiim (Mays 2012)


Mustafa Caner nder, Ankara niversitesi Elektronik Mhendislii Blm
zet- Gml-Sistemlerin Elektronik dnyasnn geliimine ve bu geliimin hzlandrlmasna olan katklar her geen gn artmaktadr. Gnlk hayatta kullandmz elektronik rnlerin neredeyse tamamnn i yapsnda gml bir sistem vardr. Bu sistemin ekirdeini ise Mikrodenetleyiciler oluturur. Mikrodenetleyici, birden fazla devre elemannn yapaca ii programlanarak gerekletirdiinden byk kullanm kolayl ve maddi kolaylk salar. Bu kolaylklar bilgisayar ile iletiimde de karmza kmaktadr. Bilgisayar zerinde bulunan iletiim portlar yardmyla bilgisayardan harici bir elektronik cihaza bir mikrodenetleyici yardmyla veri gnderebiliriz. Bu iletiim Paralel veya Seri olabilir. Bilgisayar bnyesinde bulunan RS232 protokol, harici bir elektronik cihaz ile Seri letiim iin kullananlr. Harici elektronik cihaz olarak bir LCD ekran kullanldnda, bilgisayardan LCD ekrana veri Seri Port zerinden gnderilerek Seri letiim salanm olur. Anahtar Kelimeler- seri iletiim, mikrodenetleyici, LCD , asenkron seri iletiim, senkron seri iletiim,MAX232,

Paralel iletiimde her bir bilgi iin data hatt vardr. Yani 8 bitlik bir veri gndermek iin 8 tane data hattna ihtiya vardr. Paralel iletiimde tm bitler ayn anda data yollarndan gnderilir. Seri letiim Seri haberlemede data tek bir kanal zerinden gnderilip, tek bir kanal zerinden alnr.
TABLO I SER VE PARALEL LETM ARASINDAK TEMEL FARKLAR SER Daha az kablo kullanld iin ekonomiktir. Uzun mesafeli iletiimlerde kullanlabilir. Ayn hzdaki iletiimlerde, paralel iletiime gore daha az veri iletilebilir. PARALEL Veri iletiim hz, paralel kablo says ve CLK(Clock) frekans arttka artar. Kablo saysnn artmas maliyet getirir. Kablolar belirli bir uzunluktan fazla olamaz, olduu takdirde verilerde bozulmalar olur.

I. GIRI

eknolojinin gelimesiyle bilgisayarlar gnlk hayatmzn byk bir paras olmaya balad. Bu deiimin bir gerei olarak bilgisayar ile iletiim her geen gn nem kazanmaktadr. Bu iletiim, bilgisayar bnyesinde bulunan iletiim portlar zerinden salanmaktadr. Bu portlar Seri ve Paralel olarak ikiye ayrlr. Bilgisayarlar Seri letiim iin RS232 protokoln kullanr. Son yllarda Seri letiim, Paralel letiimin gerisinde kalmtr. Bu geri kalmann nedenini USBlerin kullanmnn yaygnlamas olarak syleyebiliriz. II.RS232 SERI LETIIM A. Seri letiim ve Paralel letiim Bilgisayar ile iletiim kurabilmek iin bir takm yntemler vardr. Bunlar Seri ve Paralel letiim olarak iki ana balk altnda toplayabiliriz.

Seri iletiimin iki yntemi vardr. - Senkron (ezamanl) - Asenkron(ezamansz) Senkron seri iletiimde gnderilen veri bitleri ile alnan veri bitleri arasnda bir uyum olmaldr. Yani senkron ifadesi, alc devre ile verici devrenin e zamanl almas anlamna gelmektedir. Bu al-veri arasndaki uyumu salamak iin data kablosu yannda bir de clock (saat) sinyali kablosu bulunur. Clock sinyalinin periyodu seri iletiimdeki her bir birimin iletim sresini belirtir. Bylece bilgi iletiimi iin start(balang) ve stop(biti) bitlerine gerek kalmaz. Senkron seri iletiim, Asenkron seri iletiime gre daha hzldr. Ancak senkron iletiim karmak ve pahal devreler ierir[1].

Paralel letiim

2 hz(Baud Rate), karakter bana data biti says, elik ve karakter bana stop bitlerinin says belirtilebilir. Bunlardan hz dnda kalanlar asenkron seri iletiimde aklanmtr. Hz (Baut Rate) Seri balant noktalar iki seviyeli ( ikili ) sinyalleme kullanrlar, bylece saniyede bit cinsinden veri hz bauddaki baud sembol hzna eit olur. Asenkron iletiim balama / durmas iin kullanlan ortak, saniyede bit hzlar 300, 1200, 2400, 9600, 19200 baud, vs.dir. Bu hzlar elektromekanik teleprinterslarn hzlarnn katlar temel alnarak belirlenmitir. Balant noktasnn ve cihazn hzlarnn birbirine uygun olmas gerekir, baz cihazlar balant noktasnn hzn otomatik olarak saptayabilmektedir. RS 232 standart resmen 20.000 bit / saniye olarak snrlandrlm olmasna ramen, popler kiisel bilgisayarlarda kullanlan seri balant noktalar 115,000 bit / saniye seviyelerine kadar ayarlanabilmektedir; bit hznn bu seviyelere ayarlanm olmas alma balantsnn ayn hzda gerekleecei anlamna gelmemektedir. Her seri balant noktasyla belirtilen her bit hzna ulaabilmek mmkn deildir. Bilgisayarn seri giri-k ksaca COM Port (Communication Port/letiim Protu) olarak adlandrlrlar. Bir bilgisayarda birden fazla seri giri-k bulunabilir. Bu klar COM1,COM2, vb. diye adlandrlr. Standart bir bilgisayarda, artrlabilmekle birlikte, ounlukla iki adet seri giri-k bulunmaktadr. Bilgisayarn seri giri-klar RS232C (Electronics Industries Association Reference Standard 232 Version C) olarak bilinen uluslararas standartla uyumludur. Seri giri k konvektrleri, 9 ve 25 pinlidir[3].

ekil-1. Senkron Seri letiim

Asenkron seri iletiimde ise sadece veri hatt bulunur. Alc ve verici devreler veri iletiiminde e zamanl almazlar. Senkron iletiimdeki clock darbesi(pulse) yerine asenkron iletiimdeki start biti, stop biti ve parity biti vardr[1].

ekil-2. Asenkron Seri iletiim

Start (balang) biti, bilginin gnderilmeye baland alc tarafa bildirmek iin kullanlr. Asenkron iletiimin ilk biti her zaman start bitidir. Asenkron veri iletiiminde start biti her zaman lojik(logic)- 0 olmaldr[2]. Stop(biti) biti, gnderilen bilginin bittiini alc tarafa belirtir. Stop bitinden sonra gnderilen bilgi yeniden start biti ile balar. Stop biti 1 veya 2 bit olabilir[2]. Elik (Parity) Biti, alc tarafa gnderilen karakterin doru olarak iletilip iletilmediini control etmek iin kullanlan bittir. Asenkron iletiimde ODD(tek),EVEN(ift), MARK (iaret), Space (boluk), veya NONE (parity biti yok) parity bitleri kullanlr. Parity bitinin asenkron iletiimde kullanlmas zorunlu deildir. rnein; ODD(tek) parity biti seilirse, gnderilecek verinin parity biti dahil iindeki tm 1 bitlerinin toplam tek say olmaldr[2]. Data Bitleri, gnderilecek olan bilgiyi oluturan bitlerdir. Gnderilecek data biti says 5(Baudot Kodu), 6,7 (ASCII), 8(Byte) veya 9 olabilir. Gncel uygulamalarn ounda evrensel olarak 8 veri biti kullanlmaktadr[2].

ekil-4. 9 pinli Seri Portun Yaps

ekil-3. Asenkron iletiim veri format

Bilgisayarn RS232 portu ile iletiim kurulurken eitli yazlm ayarlamalar yaplr. Bunlardan en belirgin olanlar ;

3
FORCE_SW UART1 Yazlmsal RS232 iletiimin kullanacan belirtir. Bu parameter seildiinde, iletiim ular olarak donanmsal ular seilse dahi iletiim yazlmsal olarak yaplr. xmit ve rcv pinleri olarak denetleyici iinde bulunan birinci UART(universal asynchronous receiver/transmitter) modl pinlerinin kullanlacan belirtir. Xmit ve rcv pinleri olarak denetleyici iinde bulunan ikinci UART modl pinlerinin kullanlacan belirtir. #use rs232() fonksiyonu ile yaplan ayarlarn belli bir isim altnda kaydedilmesini salar. getc() fonksiyonu veri okumay beklerken WDT(Watch Dog Timer)I sfrlayarak, WDTn denetleyiciyi resetlemesini nler. [2]

UART2 STREAM=isin RESTART_WDT

III. MAX232 ENTEGRES


ekil-5. 9 Pinli Dii (DB9F)

B. CCS C ile RS232 Seri letiim Uygulamamzda CCS C derleyicisi kullandmz iin CCS C nin iinde RS232 seri iletiimini 3ontrol etmemize olanak salayan fonksiyonlardan yararlanma imkan domutur. CCS C program hem donanmsal hem de yazlmsal RS232 seri iletiimini destekler. ncelikle uygulamamzda kullandmz #use RS232() fonksiyonunu inceleyeceiz. #USE RS232() Fonksiyonu Bu komut derleyiciye hangi pinlerin seri iletiim iin kullanlacan, seri iletiim hznn(baud rate) ne olacan, iletiim iin parity bitinin ne olaca gibi seri iletiimle ilgili ayarlar derleyiciye bildiren n ilemci komutudur. Bu fonksiyonda parantez iine yazlan sabitlerin atanmasyla ayarlamalar yaplr. Tablo IIte bu sabitler aklamalaryla birlikte gsterilmitir.
TABLO II #USE RS232 Sabitleri RS232 iletiim hzn belirten sabittir. (baud=9600 gibi) RS232 ver, gnderme ucunu belirten sabittir. (xmit=pin_A2 gibi) RS232 veri alma ucunu belirtir. (rcv=pin_A3 gibi) RS232 iletiimi ekil biti durumunu bildirir. X yerine N(elik biti yok), E (elik biti ift), O (elik biti tek) yazlabilir. (parity=N gibi) RS232 stop bitinin ka bit olduunu belirtir.X yerine 1 veya 2 yazlr. RS232 iletiim pinlerinin polaritesini deitirir. Yani xmit ile rcv pinleri yer deitirir. Belirtilen pin veri gnderme boyunca lojik-1 olur. RS485 iletiimde veri gndermeyi balatma ucu olarak kullanlabilir.

RS-232 iletiim standard TTL (Transistor Transisto Logic) entegrelerin kmasndan once belirlendiinden gerilim seviyeleri TTL uyumlu deildir. Yani RS-232de lojik-0, +3 ile 25 V arasnda, lojik-1 ise -3 ile 25 V arasnda tanmlanmaktadr. Bu yzden RS-232 portu mikrodenetleyiciler ile dorudan iletiim kuramaz. Bu sorunun zm iin gerilim dntrc entegreler kullanlmaktadr. Bu entegrelerin banda ise MAX232 gelmektedir.

baud = x xmit=pin rcv=pin parity=x stop=x Invert ENABLE=pin

ekil-6. MAX232 Entegresi bacaklar, balantlar ve kullanlacak kapasitr deerleri

Entegrede 2 giri ve 2 k vardr. RS232 portuna bilgi gnderme (TX) ular 14 ve 7 (T1OUT,T2OUT) ulardr. Bu ulardan biri RS232 portunun alma(RX) ucuna balanr. Entegrenin RS232 portundan bilgi alan (RX) ular,13 ve 8 (R1IN,R2IN) ulardr. Bu ulardan biri RS232 portunun veri gnderme(TX) ucuna balanr. Mikrodenetleyiciden veya herhangi bir entegreden gelen veriyi almak iin T1 IN veya T2IN, gndermek iin ise R1OUT veya R2OUT ular kullanlr[2]. IV. MIKRODENETLEYICISI VE PIC16F877A A. Mikrodenetleyici

4 Mikrodenetleyici, bir bilgisayarn temel zelliklerini ieren tek bir silikon klf ierisinde toplanm bir tmdevre olarak dnlebilir. Genel olarak bir mikrodenetleyici, bir mikroilemci ekirdei, program ve veri bellei, giri/k birimleri, saat darbesi reteleri, zamanlayc/sayc birimleri, kesme kontrol birimi, analog-dijital ve dijital-analog eviriciler, darbe genilik reteci, seri haberleme birimi ve daha zel uygulamalar iin kullanlan dier evresel birimlerden meydana gelmektedir. Mikrodenetleyici temel olarak drt bileenden olumaktadr. Bunlar mikroilemci, bellek, giri/k birimi ve saat darbe retecidir. B. Mikrodenetleyici Mimari zellikleri Mikroilemci ve mikrodenetleyiciler bellek kullanm asndan Von Neuman ve Harvard; komut ileme asndan ise RISC ve CISC olarak adlandrlan mimariler baz alnarak tasarlanrlar. Program bellei, program alrken kullanlacak kodun sakl tutulduu hafza alandr. Veri bellei, alma esnasnda saklanmas gereken verilerin tutulduu bellek alandr. Von Neuman mimaride, program ve veri bellekleri ayn yapnn iindedir. Harvard mimarisinde ise program ve veri bellekleri ayr yaplar olarak tasarlanmtr. Balangta Von Neuman mimari yaps kullanlmasna ramen, gnmzde Harvard mimarisi yaygnlk kazanmtr. Karmak komut kmeli bilgisayar anlamna gelen CISC(Complex Instruction Set Computer) mimaride donanmn, her zaman yazlmdan daha hzl alt gerei temel alnmtr. CISC mimarisinde her ilem iin farkl bir komut oluturulmutur. Bu, programlayc asndan daha ksa programlar yazarak sonuca ulamak anlam tasa da karmak donanmsal yaps, mimarinin dezavantaj olmaktadr. Azaltlm komut kmeli bilgisayar anlamna gelen RISC(Reduced Instruction Set Computer) mimaride ise daha basit ve az sayda komutlar kullanarak tmdevre karmakl azalmtr. RISC mimaride kullanlan daha az, basit ve hzl komutlar, uzun, karmak ve daha yava CISC komutlarndan daha verimlidir[4]. C. PIC16F877A zellikleri Microchip firmasnn retmi olduu PIC16F877A mikrodenetleyicisi, PIC16FXXX ailesinin bir yesidir. Komut ileme asndan RISC mimari, bellek kullanm asndan Harvard mimarisi tercih edilerek tasarlanmtr. Bu mikrodenetleyicinin genel zellikleri Tablo - III den incelenebilir.
EEPROM veri bellei Giri/k port says Timer/Counter 2x Capture, Compare ve PWM Modlleri Seri evresel Arayz USART/SCI Paralel slave port Analog zellii 256x8 bytes 33 Timer0, Timer1, Timer2 16bit, 16 bit, 10 bit SPI(Master mod ve I2C(Master/Slave) SPI port(senkron seri port) 9 bit adresli 8 bit, harici RD, WR ve CS kontroll 10 bit 8-kanal A/D evirici [2]

Mikrodenetleyicide, 15 farkl olay iin interrupt(kesme) zellii tanmlanmtr. Ayrca 8 katl tasarlanm stack(yn) yaps i ie sekiz alt program arlmasn mmkn klmaktadr. PIC16F877A mikrodenetleyicisinin bellek yaps ayr bloktan oluur. Flash bellek, uzun mrl, fakat mikrodenetleyiciye yazma sresi uzun olan, programn kayt edildii bellektir. Programlarn kulland deikenler iin kullanlan bellek alan ise statik RAM bellektir. RAM bellek, enerji kesildiinde sahip olduu verileri kaybeder. Son bellek blou ise yazlmas ayrca bir programlama teknii gerektiren EEPROM bellektir. Mikrodenetleyicide tm aritmetik ve lojik ilemlerin gerekletirildii kaydediciye akmlatr denilmektedir. PIC16F877A mikrodenetleyicisinde bu grevi W kaydedicisi yapmaktadr. Merkezi ilem birimi tarafndan yrtlecek komutun adresini tutan zel tanml kaydediciye program sayac denir[4]. D. PIC16F877A Pin Tanmlamalar Mikrodenetleyici 33 adet giri-k pinine sahiptir. 40 pinli PDIP paketi ekil-8de grlmektedir.

alma hz Program bellei Veri bellei(RAM)

TABLO III PIC16F877A GENEL ZELLKLER DC-20 Mhz 8Kx14 words Flash bellek 368x8 bytes

Giri-k pinleri dndaki pinler besleme gerilimi, osilatr, reset(MCLR) gibi mikrodenetleyicinin almas iin gerekli donanma ayrlmtr. PIC16F877A mikrodenetleyicisinin MCLR balants, reset ve programlama anlarn normal almadan ayrmaya yarar. Mikrodenetleyici, bu pinine 5V verildii andan itibaren iindeki program altrma moduna girer. 13V verildiinde iine yeni program yklenmeye hazr hale gelir, topraa balanrsa

ekil-7. PIC16F877Ann Pin Yaps

5 mikrodenetleyici resetlenir. Vss baca toprak giriidir, Vdd baca 5V besleme giriidir. OSC1 ve OSC2 pinleri mikrodenetleyicinin alma frekansn belirleyen kristal veya RC osilatr balants iin ayrlmtr. PORTA 6 bitslik hem giri hem k zelliine sahip bir porttur. TRISA kaydedicisinde, 1 olarak belirlenen bitlerin karl olan port pinleri giri, 0 olarak belirlenen bitlerin karl olan port pinleri k olarak tanmlanr. PORTA, yeni bir veri gnderilene kadar eski veriyi zerinde tutar. Mikrodenetleyici portlar birka ama iin kullanlabilmektedir[4]. zellii ise giri srasnda seenee bal olarak entegre ierisinden pull-up direnci kullanlabilmesidir. Bylece dardan diren balamaya gerek kalmamtr. PORTB k olarak ynlendirildiinde bu direnler kendiliinden iptal olur. PORTB ular programlama ve hata ayklama dndaki amalarda kullanldklar srece PORTAda olduu gibi TTL gerilim seviyelerinde alr. Giri olduunda ektii akm, k olduunda verebilecei akm PORTA ile ayndr. PORTC, mikrodenetleyicinin en ok zelliine sahip olan portudur. Tm giriler schmitttrigger tampona sahiptir. Bunun sebebi, tm pinlerin deiik seri haberleme fonksiyonlarna sahip olmasdr. Seri haberleme, eer TTL devrelerle yaplrsa kararsz blge olduka geni bir blgeyi igal ettii iin yanl veri aktarm daha olasdr. Bu portun TRISC kaydedicisi evresel zelliklerin doru kullanlabilmesi iin dikkatli bir ekilde koullandrlmaldr. PORTD ve PORTE genelde birlikte kullanlan iki porttur. Mikrodenetleyici veri yollaryla 8 bit paralel iletiim iin kullanlr. PORTD, 8 bit veri ve adres yolunu olutururken, PORTE kontrol ular olarak ayrlmtr. Tm giriler, paralel iletiim srasnda TTL seviyelerde, giri-k olarak kullanldnda schmitt-trigger seviyelerde alr. PORTE ayn zamanda PORTA gibi analog giri olarak da seilebilmektedir[4].

V. LCD (LIQUID CRYSTAL DISPLAY) KULLANIMI LCDnin alm Liquit Crystal Displaydir. Karakter tabanl LCDler bize ok harf, sembol ve karakterleri grntlememize olanak salarlar. Karakter tabanl LCDler 5x7 veya 5x10 luk nokta matris hcrelerinden oluurlar. LCDler satr ve stun saysna gre isimlendirilir. simlendirmede ilk say satr, ikinci say stun saysn belirtir. Bu uygulamamzda piyasada kolay bulunabilen 2x16 Karakter LCD kullanlmtr. Genelde karakter LCDlerin 14 tane ucu olur fakat baz LCDlerde arka k beslemesi olduundan 16 uludur. Seri iletiim uygulamasnda 2x16 , HY-1602F6 modelinde LCD kullanlmtr. LCD, 4 veya 8 bitlik denetleyici ile srlebilir. ekil 9. da verilen karakter LCD pin isimleri ve numaralar genel olarak piyasadaki ou LCDye uymaktadr. Uygulamada kullanlan HY-1602F6 da bu konfigrasyona uymaktadr. Bu 14 ucun yan sra, yukarda da bahsedilen arka k besleme ular vardr.

ekil-8. PIC16F877A Blok Diyagram

RA4 pini, TMR0 sayacna giri olabilecek ekilde seilebilmektedir. Bu utan, dier PORTA pinlerinden farkl olarak analog giri yaplamamaktadr. Ayrca bu pin, opendrain yapl olmasndan kaynakl k olarak koullamak istenirse, 5-10K arasnda bir diren ile besleme gerilimine pull-up yaplmaldr. Mikrodenetleyici resetlendiinde porta analog girii olarak kurulur. Dijital giri olarak kullanlmak istendiinde ADCON1 kaydedicisinde gerekli deiikliin yaplmas gerekir. PORTA giri olarak seildiinde darya 20mA verebilmekte veya 25mA ieriye akm akmasna olanak salamaktadr. PORTA pinleri, 1A akm ekerken, RA4 pini 5A akm eker. PORTB hem giri hem k zelliine sahip 8 bitslik bir porttur. RB3/PGM, RB6/PGC ve RB7/PGD pinleri programlayc veya devre zerinde hata ayklayc ular olarak da seilebilir. PORTBnin en nemli zellii RB0 kesme girii ve RB4-RB7 arasnda pinlerin deiikliinde oluan kesme durumudur. RB0 kesme girii olarak kurulduunda istee gre, ykselen kenarda veya den kenarda bir kesme retebilmektedir. Portun dier bir

ekil-9. Karakter LCD Pin simleri

A. Karakter LCD Pin Fonksiyonlar

6 RS (Register Select) ucu, veri yolundan gelen bilginin komut veya veri bilgisi olup olmadn LCDye bildirir. Eer RS=0 ise D0-D7 ularndan gelen bilgi LCD tarafndan komut olarak alglanr. RS=1 olursa veri hattndaki bilgi karakter olarak alglanr. R/W (Read/Write) ucu, LCDye veri gndermek ve almak iin kullanlr. R/W=1 ise LCDden bilgi okuma, R/W=0 olduunda ise LCDye bilgi gnderme ilemi yaplr. E (Enable) ucu, LCDye yetki verme ucudur. LCDnin ilem yapabilmesi iin ncelikle bu ucun lojik-1 daha sonra lojik-0 olmas gerekir.Clock sinyalinin den kenarnda tetiklenir(NGT). D0-D14 ular, veri ulardr. LCDye veri gnderimi ve LCDden veri alm yaplr. VDD, VSS, VEE(V0) ular, LCDnin besleme ulardr. VDD ucu pozitif besleme ucu olarak kullanlr; +5V verilmelidir. VSS ve VEE ular toprak ulardr. Bu ular arasna potansiyometre balanarak LCDnin kontrast ayarlanr. Fakat kullanm zorunlu olmadndan uygulamamzda potansiyometre kullanlmamtr[2]. B. LCD Bellek Fonksiyonlar LCDlerde DDRAM ve CGRAM olmak zere iki adet RAM hafza hcresi yer alr. CGRAM karakter retici RAM bellektir ve 64 Baytlk bir hafzadr. zel karakterler retmek iin kullanlr. DDRAM ise display veri RAM belleidir ve 80 Baytlk bir hafzadr. LCDnin satr ve stunlarna karakter yazmak iin kullanlr. DDRAM ierii LCD ekrannda grlr, fakat grnen veri ancak LCDnin stun says ile snrldr. rnein 216lk bir LCDde ancak 16 karakter ekranda grlebilir. Dier kaytl veriler DDRAMda saklanmaya devam eder[5].
ekil-10.2x16 LCD DDRAM Adresleri

LCDnin iinde bulunan dier hafza ise CGROMdur. Karakter retici ROM bellek olarak tanmlanr ve 192 Baytlk bir hafzadr. CGROM ierisinde ASCII karakter tablosunda yer alan standart karakterler kaytldr. Toplam karakter says 192dir. Bunlardan 64 tanesi genel olarak kullanlan ascii karakterleri, 64 tanesi Japon karakterleri ve 32 tanesi de zel yunan alfabesi karakterleridir. Bu karakterlerden genel olarak kullanlan 64 tane standart karakter ekil 11deki ASCII karakter tablosunda grlmektedir[5]. C. LCD Kullanm Komutlar LCD modl iinde bulunan kontrolc belli komutlara gre alr. Bu komutlar bir mikrodenetleyici tarafndan LCDye gnderilir. Biz de uygulamamzda PIC16F877A mikrodenetleyicisi ile LCDye gerekli komutlar gnderdik. ekil-12 de LCD komut tablosu gsterilmektedir[5].

D. CCS C LCD Ktphanesi CSS C derleyicisi ktphanesinde LCD ile kolayca iletiim kurabilmemize olanak salayan lcd.c dosyas bulunmaktadr. Bu dosyay programmza eklemek iin #include <lcd.c> komutu kullanmamz gerekir. LCD.c dosyalarnda LCD kontrol iin hazr fonksiyonlar bulunmaktadr. Bu fonksiyonlar ve anlamlar Tablo III te aklanmtr.
TABLO IV <lcd.c> LCD kontrol fonksiyonlar lcd_init() LCDnin balang hazrlanmasn salar. ayarlarnn yaplarak

lcd_putc()

LCDye karakter gnderimi iin kullanlr.

lcd_gotoxy(x,y)

mlecin yerini belirlemeye yarayan fonksiyondur. Parantez iindeki x yerine stun, y yerine satr deeri yazlr.

ekil-11. ASCII Karakter Tablosu

lcd_getc(x,y)

O an ki imlecin belirtilen konumunda bulunan karakter ile geri dnen bir fonksiyondur.

printf(lcd_putc,)

LDCye string yazdrmak iin kullanlr.

VI. UYGULAMA DEVRESI 16F877A mikrodenetleyicisi yardmyla bilgisayarn seri portundan gelen bilginin LCD ekranna gnderilmesi uygulamasnda simlasyon program olarak Proteus , derleyici olarak CCS C kullanlmtr. A. Devrede Kullanlan Malzemeler ve levleri Malzemeler ekil-11. LCD Komut Seti

PIC16F877A HY-1602F6 tipi 2x16 LCD ekran MAX232 entegresi 4 Mhz Kristal 1x LED 2x22pF,1x100nF,4x1F lk kapasitr 1x330,1x10 luk diren 1x 9 pinli RS232 dii konnektr(CONN-D9F)

8 Devrenin leyii Devredeki elemanlarn almas iin +5Vluk bir gerilim kayna gerekmektedir. ekil-12deki devrede herhangi bir anahtar olmadndan devreye +5V verildiinde LCD, mikrodenetleyici ve MAX232 entegresi almaya balayacaktr. LCDde balang olarak MERHABA kelimesi gzlemlenecektir. Ardndan biz RS232 Seri Terminali yardmyla bilgisayardan veri gndermeye baladmz zaman LED yanmaya balayacaktr.Bu hareket ilk karakter gnderimiyle senkron bir ekilde balayacaktr.

Sekil-13. Devreye G Verildii Anda Alnan Ekran kts

eki-13te balang koulu gzlemlenebilmektedir. Bu simlasyon kts beklentilerimizi dorulamtr.

ekil-12. Uygulama Devre kts

Daha sonar seri terminal yardmyla gerekli ayarlamalar yapldktan sonra bilgisayarda yazlan ifadeler seri porta gnder komutunun ardndan LCD ekrannda grnecektir. Gnderme ileminden sonra LED snecektir. Gnderilen bilgi LCD ekrannda bir sonraki veriye kadar deimeden kalacaktr. Tekrar bilgi gnderdiimizde LED yeniden senkron bir ekilde yanmaya balayacak ve gnderim sonunda snecektir. Gnderilen veri st ste deil LCD temizlenerek gsterilecektir. B. Proteus Devre Simlasyon ktlar Proteusta devreyi kurduk ve CCS C ile yazdmz kodu PIC16F877A nn iine atarak devre simlasyonunu yaptmzda beklendii gibi sonular aldk. Bu sonular, ekil-13, ekil-14 ve ekil-15te grsel olarak elde edilmitir.

ekil-14. Data Gnderilmeye Baland

ekil-14te terminalden veri gnderimi baladn bize gsteren LED yanmaya balamtr.

ekil-15. Data LCD Ekranna Gnderildi

9 ekil-15te data terminalden LCDye aktarlmtr. Bu aktarmdan sonra LED beklendii gibi snmtr. Devre simlasyonundan sonra devrenin gerekletirme aamas balamtr. Bu dorultuda devre baslm ve devre elemanlaryla bir btn haline getirilmitir. ekil-16 da devrenin son hali gsterilmektedir. Projede kullandm devre malzemelerinin temininde ve projenin uygulama ksmnda bana olan yardmlarndan dolay Erkan Kprba na, projede manevi destekleri olan aile fertlerime(Babamn ad AL NDER olduu iin aile fertleri diyerek geitirdim, direk hocaya teekkr etmi densin istemedim,umarm bu blm deerlendirmeye alnmaz), ve zerimde emei olan deerli hocalarma teekkrler. IX. KAYNAKLAR
[1] [2] [3] [4] Do.Dr. Ediz Polat,Mikroilemci Laboratuar,KT Serdar iek, CCS C ile PIC Programlama,2009 http://tr.wikipedia.org/wiki/Seri_port Yrd. Do. Dr. Lale zylmaz, nternet zerinden Mobil Bir Robotun Kontrol ,stanbul,2007 http://www.scribd.com/doc/76945605/44/Mikrodenetleyici-vePIC-16F877A http://320volt.com/mikrodenetleyici-uygulamalari-bilgiler-pic-cpic16f877/

[5]

ekil-16. Uygulamann Son Durumu


Mustafa Caner nder , 05.08.1990 ylnda Ankarada dodum. lkokulu Namk Kemal lkretim Okulunda, liseyi arbey Anadolu Lisesinde bitirdim.2008 ylnda da Ankara niversitesi Elektronik Mhendisliini kazandm. imdi 3. Snfm ve nmde koca bir mr var. Hayatn ne getireceini bilemeyiz. Fakat mzikle uramay ok severim. leride mzik dolu bir hayatm olsun isterim.

VII. SONULAR Uygulama bitiminde istenilen sonulara balang aamalarnda ulalamamtr. Bu yzden devre elemanlar zerine den gerilim deerleri ve bask devresinden sonra oluan yollarn iletimi kontrol edilmitir. Mikrodenetleyiciye ve LCD +5V geldiinden emin olunduktan sonra lehimler kontrol edilmitir.Bu incelemelerden sonra istenilen sonular elde edilebilmitir. Bu uygulamay yaparken mikrodenetleyici programlamann temellerini rendim ve Gml Sistem dnyasna olan ilgim artt. Bu deneyimin yan sra karlalan sonularn beklentileri karlamamas zerine problemin zm iin daha ok vakit harcanmtr. Bu sre ierisinde uygulamann ileyii hakknda daha ok bilgi ve deneyim edinilmitir. Bilgisayar ile Seri letiimin esaslar ve MAX232 entegresinin ileyii hakknda bilgi sahibi olunmutur. Ayrca mikrodenetleyici ile LCD kullanm hakknda bilgi sahibi olunmutur. Uygulamann gereklenmesinde kullanlan seri iletiim iin C# programlama dili ile bir arayz oluturulmutur. Bu arayz tasarlarken de C# ile tanm oldum. Sonuta bu proje bana ok eitli alanda bilgi sahibi olma imkann sundu. Sahip olduum teorik bilgileri uygulayarak gerek hayatta gzlemleme imkan buldum.

VIII.TEEKKURLER

You might also like