Bu modl, mesleki ve teknik eitim okul/kurumlarnda uygulanan ereve retim Programlarnda yer alan yeterlikleri kazandrmaya ynelik olarak rencilere rehberlik etmek amacyla hazrlanm bireysel renme materyalidir. Mill Eitim Bakanlnca cretsiz olarak verilmitir. PARA LE SATILMAZ.
i
AIKLAMALAR ................................................................................................................... iii GR ....................................................................................................................................... 1 RENME FAALYET1 .................................................................................................... 3 1. TEMEL SEVYE DJTAL UYGULAMA DEVRELER .................................................. 3 1.1. Trafik Lambas Uygulama Devresi ............................................................................... 4 1.1.1. Devrenin Malzemeleri ........................................................................................... 6 1.1.2. Ak Diyagram ...................................................................................................... 6 1.1.3. Devrenin emas .................................................................................................... 8 1.1.4. Bask Devresi ......................................................................................................... 9 1.1.5. Devrenin Asm Program ........................................................................................ 9 1.1.6. Programn Simlasyonu....................................................................................... 11 1.2. Merdiven Otomatii Uygulama Devresi ..................................................................... 16 1.2.1. Devrenin Malzemeleri ......................................................................................... 17 1.2.2. Ak Diyagram .................................................................................................... 18 1.2.3. Devre emas ....................................................................................................... 19 1.2.4. Bask Devresi ....................................................................................................... 19 1.2.5. Devrenin Asm Program ...................................................................................... 20 1.3. Drt Aboneli Numaratr Uygulama Devresi .............................................................. 21 1.3.1. LCD nin Yaps ve almas ............................................................................. 21 1.3.2. Devrenin Malzemeleri ......................................................................................... 25 1.3.3. Ak Diyagram .................................................................................................... 27 1.3.4. Devrenin emas .................................................................................................. 28 1.3.5. Bask Devresi ....................................................................................................... 28 1.3.6. Devrenin Asm Program ...................................................................................... 29 1.4. Basketbol Skorbord Uygulama Devresi ...................................................................... 38 1.4.1. Ak Diyagram .................................................................................................... 39 1.4.2. Devre emas ....................................................................................................... 40 1.4.3. Bask Devresi ....................................................................................................... 40 1.4.4. Devrenin Malzemeleri ......................................................................................... 41 1.4.5. Devrenin Asm Program ...................................................................................... 41 1.5. Asenkron Motorun Yldz gen almas ............................................................... 50 1.5.1. Asenkron Motorun Yaps ve almas .............................................................. 50 1.5.2. Devrenin emas .................................................................................................. 55 1.5.3. Bask Devresi ....................................................................................................... 55 1.5.4. Devrenin Malzemeleri ......................................................................................... 56 1.5.5. Devrenin Asm Program ...................................................................................... 56 UYGULAMA FAALYET .............................................................................................. 75 LME VE DEERLENDRME .................................................................................... 76 RENME FAALYET2 .................................................................................................. 77 2. LER SEVYE DJTAL UYGULAMA DEVRELER ................................................... 77 2.1. Drt Girili Kap Pencere Alarm Devresi ................................................................... 77 2.1.1. Devrenin Malzemeleri ......................................................................................... 79 2.1.2. Ak Diyagram .................................................................................................... 80 2.1.3. Devrenin emas .................................................................................................. 81 2.1.4. Bask Devresi ....................................................................................................... 81 2.1.5. Devrenin Asm Program ...................................................................................... 82 NDEKLER
ii 2.2. Elektropnomatik Sistemin PIC ile Kumandas ........................................................... 84 2.2.1. Devrenin Malzemeleri ......................................................................................... 86 2.2.2. Devrenin emas .................................................................................................. 87 2.2.3. Bask Devresi ....................................................................................................... 87 2.2.4. Devrenin Ak Diyagram .................................................................................... 88 2.2.5. Devrenin Asm Program ...................................................................................... 89 2.3. Programlanabilir Zamanlayc ..................................................................................... 90 2.3.1. Devrenin Malzemeleri ve Ak Diyagram .......................................................... 92 2.3.2. Devrenin emas .................................................................................................. 93 2.3.3. Devrenin Asm Program ...................................................................................... 93 2.4. Proje Uygulamas ........................................................................................................ 99 2.4.1. Proje 1 .................................................................................................................. 99 2.4.2. Dijital Saat Uygulamas ..................................................................................... 100 2.4.3. Termometre Uygulamas ................................................................................... 100 2.4.4. Bipolar Adm Motor Denetimi .......................................................................... 100 2.4.5. ifreli Kilit Uygulamas ..................................................................................... 101 UYGULAMA FAALYET ............................................................................................ 102 LME VE DEERLENDRME .................................................................................. 103 MODL DEERLENDRME ............................................................................................ 104 CEVAP ANAHTARLARI ................................................................................................... 106 KAYNAKA ....................................................................................................................... 107
iii AIKLAMALAR KOD 523EO0021 ALAN Elektrik Elektronik Teknolojisi DAL/MESLEK Otomasyon Sistemleri MODLN ADI Mikrodenetleyici ile Dijital lemler MODLN TANIMI Dijital ilemler iin mikrodenetleyicinin programlamas ve altrlmas ile ilgili bilgi ve becerilerin kazandrld renme materyalidir. SRE 40/32 N KOUL Mikrodenetleyici Programlama modln tamamlam olmak YETERLK Mikrodenetleyici ile dijital ilemleri yapmak MODLN AMACI Genel Ama renci mikrodenetleyici ve evre birimleri kullanarak dijital ilemler yapabileceksiniz. Amalar 1. Mikrodenetleyici ile temel seviye dijital ilemleri gerekletirebileceksiniz. 2. Mikrodenetleyici ile ileri seviye dijital ilemleri gerekletirebileceksiniz. ETM RETM ORTAMLARI VE DONANIMLARI Ortam: Atlye Donanm: Mikrodenetleyici, mikrodenetleyici eitim seti veya programlama kart, programlama yazlm, haberleme balant kablosu LME VE DEERLENDRME Modl iinde yer alan her renme faaliyetinden sonra verilen lme aralar ile kendinizi deerlendireceksiniz. retmen modl sonunda lme arac (oktan semeli test, doru-yanl testi, boluk doldurma, eletirme vb.) kullanarak modl uygulamalar ile kazandnz bilgi ve becerileri lerek sizi deerlendirecektir.
AIKLAMALAR
1
GR
Sevgili renci,
Gnmzde pek ok i, yapsnda mikro ilemci bulunan makineler ile gerekletirilir. Mikroilemci (CPU) ile kontrol edilen sistemlerde ilemciden baka RAM, BIOS, G/ gibi ek birimlere ihtiya duyulur. Bu ekilde hem maliyet artar hem de ilemler zorlar. Btn bu olumsuzluklar ortadan kaldran devre eleman mikrodenetleyicilerdir. Pek ok firma mikrodenetleyici (MCU-Micro Controller Unit) retmektedir fakat bir chip(ip) firmasnn PIC (Pripheral Interface Controller - evre birimlerini kontrol eden nite) adn verdii denetleme uygulamalarnda geni yer bulmaktadr.
Bu modldeki tm uygulamalarda hem kolay bulunduu hem ucuz olduu hem de rahat programland iin PIC16F84 kullanlmtr. Modldeki uygulamalar takip ederek dijital devreler gelitirebilir ve programlayabilirsiniz. Her uygulamada ayr bir konu anlatlmaktadr. Uygulamalar basitten karmaa doru sralanm ve sizin anlayabileceiniz sadelikte ilenmitir.
Modln amac, programlama mantn renerek, elektronik devre uygulamalarn mikrodenetleyiciyle abuk, doru ve kolayca zme yeteneini kazandrmaktr.
Bu modln sonunda program yazabilecek, bu programa ait devreyi yapabilecek ayrca kendi program ve devrelerinizi retme yeteneine sahip olabileceksiniz.
GR
2
3
RENME FAALYET1
Mikrodenetleyiciyi ve evre elemanlarn seebilecek, dijital ilem iin gerekli program hatasz olarak yazabilecek, program mikrodenetleyiciye ykleyebilecek ve devreyi hatasz olarak kurup altrabileceksiniz.
Zaman gecikme dngleri hakknda bilgi edinip ve istenilen srede gecikme program yaznz. Kesme (Interrupt) eitlerini renmeli kesme alt programlar yaznz. Yedi paral gsterge ve LCD gstergelerin kullanm ile ilgili bilgi edininiz. Asenkron motorlarn yapsn ve almasn reniniz.
Aratrma ilemleri iin Mikrodenetleyici Programlama modln gzden geirirken internet ortamlarndan da yararlanabilirsiniz.
1. TEMEL SEVYE DJTAL UYGULAMA DEVRELER
Karmak lojik fonksiyonlar mikrodenetleyici gibi tek bir entegrede toplamtr. Genelde denetleyiciler tek bana bir sistem olmayp baka bir sistemi ynetmek amacyla kullanlr.
PIC serisi mikro ilemciler bir chip (ip) firmas tarafndan gelitirilmi ve PIC adyla anlmaktadr. CMOS teknolojisiyle retilmi olan PIC16F84 ok az enerji harcar. Programlanmas ve silinmesi kolay olan EPROM bellee sahiptir. Uygulamalarda 4 MHzlik PIC16F84 mikrodenetleyici kullanlmtr. ekil 1.1de PICin bacak balantlar grlmektedir. RENME FAALYET-1
AMA ARATIRMA
4
ekil 1.1: PIC 16F84n bacak balants PIC 16F84 ile program gelitirmek iin aadaki donanm ve yazlmlar gereklidir.
Metin editr (Not defteri, word veya MPLAB PFE ) MPASM assembler derleyici (Assembler dilindeki programlar heksadesimal (HEX) koda evirir.) PIC programlayc ve yazlm (Seri port iin PICUP program, paralel port iin PPLITE program)
1.1. Trafik Lambas Uygulama Devresi
PIC 16F84 ile yaplan trafik lambas uygulama devresinde krmz, yeil ve sar olmak zere adet led bulunmaktadr. Krmz ve yeil ledler 1 dk., sar led ise 3 sn. yank kalacaktr. Devre ilk altrldnda tm ledler snk durumda olacaktr. Sistem START butonu ile harekete geirilecek ve devrenin almas istenilen anda RESET" butonu ile kesilecektir. Ledler krmz, sar, yeil srasna gre yanacak ve tekrar baa dnecektir.
PICin A portu giri, B portu k olarak kullanlmaktadr. Portlardan hangisinin giri ve k olaca kullancya baldr.
Bu devre, dijital entegreleri kullanlarak da basit bir ekilde yaplabilir. Fakat ledlerin yank kalma srelerini ayarlamak iin karmak ksm oluturmaktadr. Bu durumda devreye PIC girer. PICe yazlan programdaki kk deiikliklerle ledlerin yank kalma srelerini artrlp azaltlabilir. Bu sreleri deitirmek iin gecikme dngleri yazlr.
Tek dng ile yaplan programn sresi ok ksa olduundan en az iki dngl programlar kullanlr. Tablo 1.1 ve 1.2de verilen zaman gecikme dngleri farkl uygulamalarda kullanlabilir.
5
GECKME MOVLW D255 1 MOVWF SAYAC1 1 DNG1 MOVLW D255 255 MOVWF SAYAC2 255 DNG2 DECFSZ SAYAC2,F 255*255 GOTO DONGU2 2*255*255 DECFSZ SAYAC1,F 255 GOTO DONGU1 2*255 RETURN 2 Tablo 1.1: ki dngl zaman gecikme program Tablo 1.1de toplam 196.608 saykl komut ilenmitir. 4 MHz PIC iin her komut 1S gecikme saladndan toplam gecikme sresi, 196608*1S =196 ms, yani 0,196 saniye eder. Bu da yaklak 0,2 saniyeye karlk gelir.
Tablo 1.2de toplam 50.070.529 saykl komut ilenmitir. Toplam gecikme sresi, 50.070.529*1S = 50.070.529 mikrosaniye ve yaklak 50 saniyedir. Bu sre yaklak 1 dakika kabul edilebilir. Drt dngl zaman gecikme programndan yaklak 12.767 sn.lik bir gecikme elde edilir. Bu da 212 dakika veya 3,5 saattir.
GECKME MOVLW D255 1 1 MOVWF SAYAC1 1 1 DNG1 MOVLW D255 255 255 MOVWF SAYAC2 255 255 DNG2 MOVLW D255 255*255 650.25 MOVWF SAYAC3 255*255 650.25 DNG3 DECFSZ SAYAC3,F 255*255*255 165.581.375 GOTO DONGU3 2*255*255*255 33.162.750 DECFSZ SAYAC2,F 255*255 650.25 GOTO DONGU2 2*255*255 130.050 DECFSZ SAYAC1,F 255 255 GOTO DONGU1 2*255 510 RETURN 2 2 50.070.529 Tablo 1.2: dngl zaman gecikme program Sonu olarak dnglerde krmz ile gsterilen deerler deitirilirek dng sreleri deitirilir. Dngde ilk deer olarak D '255' ile gsterilen ksma 1 ile 255 arasnda deien bir say girildiinde her bir sayy minimum sre ile arparak gecikme sresi bulunabilir.
6
DNG EN AZ SRE EN OK SRE 2 771 mikrosaniye 196,6 mili saniye 3 0,196 saniye 50 saniye 4 50 saniye 3 saat 32 dakika
Mesela 2li dngde ilk deeri D '125' girilirse 125X 771 =96,375 mili saniye, 3l dngde ilk deer olarak D '150' girilirse 150X0,196=29,4 saniye ve 4l dngde ilk deer olarak D '80' girilirse 80X50 = 1 saat 6 dakika 6 sn. elde edilir.
PIC assembler ile bir program yazmadan nce PICe yazlacak program planlamamz gerekir. Bu planlama ilemi ak diyagramlar ile yaplr. Ak diyagram ilenecek komutlarn srasdr. Uzun ve karmak programlarda, ak diyagramlar, hangi seviyeden programn ayrlacan ve hangi komutlar yerine getireceini, sonra tekrar nereye dneceini gstermesi asndan faydaldr. Ak diyagramlarnn kendine has sembolleri de vardr.
Gecikme 1 ve gecikme 2 alt programlarnda yalnzca sayalara atanan deerler farkl olduundan ak diyagramnda GECKME adyla gsterilmitir.
7
Tablo 1.3: Trafik lambas ak diyagram
8 1.1.3. Devrenin emas
ekil 1.2teki devre, proteus programyla izilmitir. Proteus programnda devreyi kurabilir, PICe hex program yklenip devrenin almas grlebilir. Ayrca kurulan devrenin bask devresi ares program yardmyla direkt olarak karlabilir. www.labcenter.co.uk adresinden proteus programn demosunu indirilebilir. Devrenin bask devresi de ekil 1.3te grlmektedir.
ekil 1.2: Trafik lambas uygulama devresi Devrede PICin besleme bacaklar gsterilmemitir. 14 nu.l bacak pozitif kaynak (Vcc ya da Vdd), 5 nu.l bacak ise toprak (GND ya da Vss)tr.
9 1.1.4. Bask Devresi
ekil 1.3: Trafik lambas uygulama bask devresi 1.1.5. Devrenin Asm Program
;========TRAFK LAMBASI UYGULAMA PROGRAMI======S_2005=======
LIST p=16F84 INCLUDE "P16F84.INC" SAYAC1 EQU H'0C' ; Gecikme alt programlarnda kullanlan deiken SAYAC2 EQU H'0D' ; Gecikme alt programlarnda kullanlan deiken SAYAC3 EQU H'0E' ; Gecikme alt programlarnda kullanlan deiken
; Portlar Ayarla CLRF PORTB ; PORTB yi temizle BSF STATUS,5 ; BANK1 e ge CLRF TRISB ; PORTB k MOVLW H'FF' ; W <-- H'FF' MOVWF TRISA ; PORTA giri BCF STATUS,5 ; BANK0 a ge
Start butonuna baslncaya kadar bekle BUTON BTFSC PORTA,1 ; PORTAnn 1. biti 0 m? GOTO BUTON ; Hayr, tekrar test et
; Program krmz, sar ve yeil ledleri srasyla yakarak alr TRAFIK MOVLW H'01' ; W <-- B'000000001' MOVWF PORTB ; Krmz ledi yak
10 CALL GECIKME1 ; 60sn. bekle
MOVLW H'02' ; W <-- B'00000010' MOVWF PORTB ; Sar ledi yak CALL GECIKME2 ; 3sn. bekle
11 D3 DECFSZ SAYAC3,F ; Sayac3 bir azalt ve sfr m? bak GOTO D3 ; Hayr D3e git DECFSZ SAYAC2,F ; Sayac2 bir azalt ve sfr m? GOTO D2 ; Hayr D2ye git DECFSZ SAYAC1,F ; Sayac1 bir azalt ve sfr m? GOTO D1 ; Hayr D1e git
RETURN END
1.1.6. Programn Simlasyonu
Programn PICe yklenmeden nce altrlmas iin MPLAB program kullanlr. MPLAB yazlm, ilgili firmann sitesinden veya tantm CDlerinden cretsiz bulunabilir.
Bu programda bulunan simlatrle program satr satr altrlp her bir kaydedicinin ald deeri izlemek mmkndr. Bylece programn istenilen ekilde alp almad kolaylkla anlalr ve hatalar giderilebilir.
1.1.6.1. Programn Kaydedilmesi ve Derlenmesi
MPLAB program aldnda konfigrasyonun ayarlanmas gerekir. lk olarak PIC seilir.
Option mens alr. Development Mode seenei zerine tklanr. ekil 1.4teki pencere alacaktr. MPLAB SIMi iaretledikten sonra Processor kutusundan 16F84 seilir. Program yazmak iin File New seenei tklanr ve alan pencrede proje ismi yazlp OK tuuna baslr. Program yazlp File Save As seenei ile asm uzantl olarak kaydedilir. Programn MPLAB iine yazlmas zorunlu deildir. Herhangi bir metin editrnde de ASM uzantl olarak kaydedilebilir ve MPLAB programnda bu dosya alabilir.
12
ekil 1.4: Development mode ASM uzantl dosyann derlenmesi yani hex uzantl dosyaya evrilmesi iin nce konfigrasyonunu belirlemek gerekir. Project mensnden Edit Project seildiinde aadaki pencere ekrana gelir. Project Files blmndeki Add Nodes butonuna basarak alan pencerede trafik.asm adyla kaydedilen dosya seilir. Seilen asm dosyas kaydedilen proje ile ayn klasrde deilse hata verir (ekil 1.5).
ekil 1.5: Proje penceresi lemler bitince OK tuuna baslp metin editrne geri dnlr.
13 Dosyay derlemek iin Project ara ubuundan ekil 1.6da grlen simgeye tklanr ya da Project mensnden Built All seenei seilir.
ekil 1.6: Derleme butonu Kaynak kod dosyas ekil 1.7de gsterildii gibi derlenir. Eer hata yoksa Built completed succesfully mesaj ile ilem tamamlanr.
Derleyicinin grevi, sadece program komutlarnn kuralna gre yazlp yazlmadn denetlemek ve hexadesimal kodlara evirme ilemini yapmaktr. Eer mantksal hatalar yapldysa bunlar derlemede ortaya kmaz ve hata olarak kabul edilmez.
MPLAB programnn en nemli zellii de mantksal hatalar aramay kolaylatrc MPSIM programn iermesidir. MPSIMi kullanmak iin Debug ara ubuu ekrana getirilir.
14
Run: Simlasyonu balatr. Halt Processor: Simlasyonu durdurur. Run butonuna tklandnda program kald yerden devam eder. Step: Program adm adm altrr. Butona her basta bir komut ilerletir. Reset: Simlasyonu tmyle durdurup PICi resetler.
Simlasyona balamadan nce
Windows mensnden Program Memory seilerek programn assembly ve hex kodlarn listeleyen pencere alr. Windows mensnden Special Function Register seerek program ierisinde kullandmz registerleri bulunduu pencre alr. Simlasyon sresince bize gerekli olan ve devaml ak kalmas gereken Windows mensnden Stopwatch penceresi alr.
ekil 1.12: Simlatrn alma admlar
15 Butona her basta sonraki komutun devreye girdiini ve hangi komut alyorsa o komutun yer ald satrn seili olduu ekil 1.12de grlebilir. Devrede START butonuna basldktan sonra devre almaya balamaktadr. Simlasyon STEP butonuna her basta butona baslyormu gibi ilem yapar. Buton tanmlamak iin Debug mensnden Simulator Stimulus seeneinden Asynchronous Stimulusu seilen ekil 1.13teki pencere alr.
ekil 1.13: Debug diyalog penceresi Bu pencerede Stim1-12 tularna port giri/k ularna bal olan butonlar atanabilir. Bu girileri high, low ya da toggle yapmak mmkndr. Stim 1 butonuna RA1 butonuna atamak iin sa tua tklanr.Assign Pin seilir ve ekil 1.14 penceresinden RA1 seilir. Bylece START butonu simlasyona dhil edilir.
ekil 1.14: Pin seimi Debug mensnden Run ve Animate komutu seilir. Bu komutla program hzl bir ekilde altrlr. Program ierisinde kullanlan tm registerlerin ierii Special Function Register penceresinden izlenebilir.
1.1.6.3. Programn PICe Yazdrlmas
PICe program yazmak iin asm kodunun derlenip hex dosyasna evrilmesi gerekir. Bunun iin MPLAB program ya da MPASM program kullanlr. ekil 1.15te programn alma ekran grlmektedir.
16
ekil 1.15: MPSAM program Radix blmnde Hexadecimal seilir. Warning blmnde Warnings and Errors seilir. Hex output blmnde INHX8M seilir. Generated Files blmnde Error File , List File seilir. Case Sensitive kutusu onaylanr. Macro Expansions blmnde Default seilir. Processor penceresinden 16F84 seilir. Tab size penceresine 8 yazlr. Browse butonuna tklanp derlenecek dosya seilir. Program derlemek iin Assemble butonuna tklanr. Programda hata yoksa Assemly successful mesaj alnr. Programda hata varsa Errors Found mesaj alnr. Hatalar ERR uzantl dosyaya kaydedilir.
Program PICe yazmak iin PIC programlaycya ve PIC programlayc yazlmna ihtiya olacaktr. PICleri programlamak iin ok eitli elektronik devreler kullanmaktadr. Kullanlan karta uygun olarak da yazlm kullanmak gerekmektedir.
1.2. Merdiven Otomatii Uygulama Devresi
Drt girili merdiven otomatiinde hangi giriten sinyal verilirse verilsin bir k 1 dk. sreyle aktif olacak, lambalar kumanda etmek iin transistr ve rle kullanlacak, 1 dk. sonunda ise lambalar snecektir. Sistem drt girili olduundan drt tane buton kullanlacaktr. Hangi butona baslrsa baslsn btn lambalar yanacak ve 1 dk. sonunda
17 snecektir. Merdiven otomatii turn off (gecikmeli snen) olarak alan zamanlayc devresidir.
Zamanlayc devreleri bir sistemi nceden belirlenmi bir zaman sonunda, zamana bal fonksiyonlar yerine getiren devrelerdir. Bu tip zamanlayc devreleri birok alanda kullanlmaktadr.
En basit zaman kontrol iki transistrl bir multivibratrle yaplabilir. Zaman ayar bir potansiyometre ile yaplr. Bu tip zamanlayclar merdiven otomatii devrelerinde kullanlr. Bu tip bir multivibratrn en byk mahzuru zamann hassas olmamasdr. Zaman kat says = RC baldr. Her iki eleman da sya bal olarak deitiklerinden zamanda ortam ssyla deiir. Bir baka mahzur da, srenin uzamas iin yksek deerli kondansatr veya diren kullanmakla akmn azalmas ve kondansatrn hi dolmamasdr.
Biraz daha kararl ve basit zamanlayc 555 entegresidir. 555, iinde opamp ve zamanlayc iin gerekli elemanlar barndran 8 bacakl bir entegredir. ok kk zaman birimlerinden dakika lekli zaman aralklarna kadar transistrl multivibratrden daha gvenle kullanlabilir. Ama hassasiyet konusunda gene RC devresinin sl kararll kadar gvenilirdir. Kararllktan anlamamz gereken her altnda, 1 dakikalk tasarlanm bir zamanlaycnn hep bir dakika sonunda ilevini yerine getirmesidir.
Kesin bir hassasiyet gerektiren ilerde rnein, verici ve alc devrelerinde kullanlmak zere kristal kontroll osilatrler gelitirilmitir. Quartz kristaller rezonans frekansna gre kesilmi ve iki metal plaka arasna hapsedilmi piezoelektrik etkisiyle alan elemanlardr. Kristale basn uygulandnda titreim yaparak gerilim retir veya deiken gerilim uygulandnda titreim yaparak d ortama basn uygular ite bu zellie piezoelektrik denir.
Bir kristal ile kurulmu osilatrn sl kararll bir RC osilatrne gre ok daha fazladr. Multivibratr ve 555 osilatrlerinin salnm frekans bir potansiyometre yardmyla deitirilebilir fakat kristalin frekansn kristalin kesildii deer dnda baka salnma ayarlamak mmkn deildir. Kristal kontroll bir zamanlayc tasarlanmak istendiinde bu osilatrn k dijital programlanabilir blclerle blnr. Bu blme ilemi titreimlerin frekansn blme oran kadar azaltr, bu da darbe geniliinin zamannn uzamasna sebep olur. Pratikte yeterli blc kullanm ile 1 saat, 1 gn, 1 yl ve tesi kadar zaman gecikmesi veya baka bir deyile zamanlama program elde edilir. 1.2.1. Devrenin Malzemeleri
Ana programda butonlar baslp baslmad konrol edilir. Herhangi bir butona basldnda LAMBA alt program arlr. Lambalar 1 dk. yanp sndkten sonra ana programa dnlr ve butona baslp baslmad kontrol edilir.
7 paral gsterge ile saylarn dnda dier karakterleri, harfleri, iaretleri elde etmek imknszdr. Bundan dolay karakterleri gsterecek yeni bir hcre yapsna yani LCDye ihtiya vardr. LCD'ler kendi ilerinde eitlilikler gstermesine ramen temel olarak nokta matrisli ve grafik ekranl olarak ikiye ayrlr. Kullanm olarak grafik ekran LCD'ler ile daha fazla ilem yaplabilmesine ramen kullanmda nokta matrisli LCD'ler kolaylk salamaktadr.
LCDye veri yazmak iin ekran kontrol eden ilemcilere ihtiya duyulur. reticiler ounlukla HITACHI HD44780 ve bir firmann1602D entegrelerini LCD src entegresi olarak kullanmaktadr. LCD gstergeler 1x8, 1x16, 2x16, 4x20, 1x40, 2x40 satr/karakter olarak retilmektedir. Modldeki uygulama devrelerinde 2x16 LCD kullanlmtr.
ekil 1.18: 2x40 LCD
22
Standart LCD modllerinde 8 veri hatt, 3 kontrol hatt ve 3 g hatt ieren 14 tane pin vardr. Baz LCD modllerinde 16 pin bulunur. Balantlar, genelde 7 pinlik iki sra, ya da 14 pinlik tek sra eklinde yaplmtr. Her iki yerletirme ekil 1.19da grlmektedir.
ekil 1.19: LCDnin bacak yaplar Displaylerin ounda pinler, LCD' nin bask devresi zerinde numaralandrlmtr. Eer numaralandrlmamsa PIN 1'in yerini bulmak olduka kolaydr. Bu pinin topraa balanmasndan dolay sklkla topraa bir balant yolu vardr ve bir yerlerden genellikle metal ereveye balanmtr. Bu balantlardan her birinin fonksiyonu Tablo 1.5te gsterilmitir.
LCD Pinleri levleri 1 Toprak (Vss- Ground) 2 Besleme (Vcc ya da Vdd +5 Volt) 3 Aydnlatma (VO ya da Vee- Kontrast) 4 Kaydedici Seici (RS - Register Select) 5 Oku / Yaz (R/W - Read / Write ) 6 Yetki (E - Enable) 7-14 Veri Girileri ( D0-D7 - DATA ) 15* LCD Panel (+5 Volt) 16* Toprak (Ground) Tablo 1.5: LCD pin isimleri ve fonksiyonlar VO (Kontrast): Displayin kontrastn (parlaklk) ayarlamaya yarayan bir kontrol ucudur. 1 Klk bir diren zerinden topraa balanr. Buradaki direncin deerini artrarak kontrast drlebilir, azaltarak ykseltilebilir. 1 Klk ayarl diren balayarak istee bal olarak deitirilebilir. RS (Register Select): RS girii lojik 0 olduunda LCDye gnderilen veri komut olarak alglanr. Lojik 1 olduunda veri karakter veya say olarak alglanr. R/W (Read/Write): Bu giri lojik 1 olduunda LCDden veri okuma, lojik 0 olduunda LCDye veri yazma ilemi yaplr.
23 E (Enable): Bu giri aktif yaplnca mikrodenetleyiciden LCDye veri gnderilebilir. E bacann lojik 1den lojik 0a geii ile LCDye veri transferi yaplr. Lojik 0dan lojik 1e gemesi ile LCDden veri okunur. D0-D7 (Data): LCDnin veri girileridir. LCDye 8 bitlik veya iki 4 bitlik veri transferi yaplabilir. 4 bit modda sadece st 4 bit kullanlr.
1.3.1.2. LCD nin almas
Tablo 1.6da standart LCD panelin komut kaydedicisinin fonksiyonlar gsterilmitir. Aadaki komutlar kullanabilmek iin nce komut kaydedicisi (RS=0) seilmelidir.
BF = 1 gsterge megul, komut kabul edilmez. BF = 0 komut kabul edilir.
Standart LCD Panel Komut Kaydedicisi Fonksiyonlar lem D7 D6 D5 D4 D3 D2 D1 D0 Aklama Ekran Sil 0 0 0 0 0 0 0 1 Ekran siler. Ekran seenekleri 0 0 0 0 1 D C B (D) GSTERGE A (1) / KAPA (0) (C) Krsr A (1) / KAPA (0) (B) Yanp Snme A (1) / KAPA (0) Fonksiyon ayarlar 0 0 1 D N 0 X X (D) Veri girii 8-bit (1) / 4-bit (0) (N) ift satr (1) / Tek satr (0) CGRAM Adres ayar (ilk satrn adresleri) 0 1 C 5 C 4 C 3 C 2 C 1 C 0 (C5-C0) CGRAMe gidecek veriler. DDRAM Adres ayar (ikinci satrn adresleri) 1 D 6 D 5 D 4 D 3 D 2 D 1 D 0 (D6-D0) DDRAMe gidecek veriler. Busy Flag / Adres saya okuma BF A C 6 A C 5 A C 4 A C 3 A C 2 A C 1 A C 0 Megul bayra (BF) RW=1, RS=0 iken D7 pininden okunur. D6-D0 dan adres counter verisi okunur. Cursor Shift 0 0 0 1 S C R L X X Shift (1) / Cursor (0) S/C kursr hareketi ve gsterge kaymas. Right (1) / Left (0) R/L kayma yn
24 Entry Mode Set 0 0 0 0 0 1 I D S Increment (1), Decrement (0) Shift (1) on (0) off Kursrn hareket yn (I/D) ve gstergenin kayma yn (S) Tablo 1.6: LCD gsterge komutlar
LCD gstergeler (display) 8-bit ve 4-bit olarak alr. 4094, 74164 gibi kaydran kaydediciler (shift register) entegreleri kullanlarak gstergeler 1-bit olarak da altrlr. 8-bit ile altnda 11 tane balant (8 tane veri/komut, RS, RW, E), 4- bit ile altnda 7 tane balant ile gstergeyi denetlemek gerekir. LCDden herhangi bir veri okunmadnda RW baca lojik 0a balanr. LCD gstergeye komut veya veri gnderirken her komut veya veri arasnda bir miktar beklememiz (gecikme dngs) gerekmektedir. BF bayra kullanlrsa bu bekleme daha kolaylkla yaplabilir. Bu uygulama devresinde LCD 4-bit modda kullanlmtr. LCDye g kayna balannca LCD ierisindeki elektronik devre reset yapar. Fakat baz durumlarda bu reset devresi tam olarak almayabilir ve LCDyi programla reset yapmak gerekir. Aada LCDyi reset yapmak iin gerekli admlar verilmitir.
lk olarak 15 ms beklenir. LCDye H30 komutu 8-bit olarak gnderilir. 5 ms beklenir. Yine LCDye H30 komutu 8-bit olarak gnderilir. 160 s beklenir. 3. defa LCDye H30 komutu 8-bit olarak gnderilir. 160 s beklenir (Bu noktada BF bayra kullanlabilir).
LCD resetlendikten sonra aadaki admlar istee gre LCDyi ayarlanabilir.
RS RW D7 D6 D5 D4 Function Set ( 4-bit ile almay belirle) 0 0 0 0 1 0
Function Set ( 4-bit alma ve satr says) 0 0 0 0 1 0 0 0 N 0 * *
Display On/Off Control 0 0 0 0 0 0 (Gsterge ve Kursr a) 0 0 1 1 1 0
Entry Mode Set 0 0 0 0 0 0 (Artan kursr ve gsterge kaymaz) 0 0 0 1 1 0
25 Bu noktadan itibaren veriyi istenilen satra ve stuna yazlabilir. 1. satrn balang adresi h80 dir. 1. satrda 1X16 LCDde 16 stun bulunur. 2. satrn balang adresi de hC0dr. LCD resetlendiinde 1. satrn 1. stunundan verileri yazmaya balar. Tablo 1.7de LCDnin adresleri bulunur.
80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF Tablo 1.7: LCD adresleri Busy flag (Megl Bayra) test: LCD ilem yaparken BF biti lojik-1 olur. Bu durumda baka bir komut gndermek hatalara sebep olur. Bunu engellemenin iki yolu vardr: Gecikme dngs kullanmak ya da BF bitini test etmektir. BF bitini test etmek iin k olan pinler nce giri yaplacak daha sonra veri gnderebilmek iin tekrar k yaplacaktr.
o RS = 0 RW = 0 E= 1 0 komut yazma o RS = 0 RW = 1 E= 1 0 komut okuma ( BF test) o RS = 1 RW = 0 E= 1 0 veri yazma
Numaratr devresinde 4 abone bulunmaktadr. Bu abonelerden hangisi ar yaparsa LCDde abonenin kendisine ait olan ksmnda abonenin ismi yazlrken bir led yanar ve bir buzzerden sesli uyar yaplr. Buzzer ve led yaklak 30 sn. aktif olur. Aboneler ayn anda ar yaparsa ar yapan tm abonelerin ismi LCDde gsterilir. Aboneler belli bir sre sonra ar yaparsa LCD silinir ve son ar yapan abonenin ismi gstergede kalr.
LCDnin ilk satrna ABONE 1 ve ABONE 3 yazdrlr. kinci satrna ise ABONE 2 ve ABONE 4 yazdrlr.
Programda ncelikle portlar ayarlanr. Port A k, Port B yksek bitler giri, dk bitler k olarak ayarlanmtr. Ak diyagramnda kullanlan alt programlar ve grevleri unlardr:
LCD_AYAR: LCDyi kullanmadan nce bir defa arlr. LCD_RESET: LCD ilk altrldnda resetlenmelidir. Bunun iin H00 bilgisi LCDye 3 defa 8 bit olarak gnderilir.
26 FUNCTION_SET: LCD 4 bit olarak kullanldndan LCDye H02komutu ardndan da H28 komutu 4 bit olarak gnderilir. Bunun iin yksek ve dk bitler blnerek gnderilir. H02 ve H08 eklinde gnderilir. DISPLAY_ON: Display ak, kursr ve yanp snme kapal olduundan (Kullancya gre deiebilir). LCDye H0C bilgisi 4 bit olarak gnderilir. ENTRY_MODE: Bir karakter yazldktan sonra adresin otomatik olarak artmas iin ve kursrn kaymas iptal edilmesi iin LCDye H06 bilgisi 4 bit olarak gnderilir. LCD_KOMUT: LCDye komut yazdrlrken bu alt program arlr. Komut yazlrken RS = 0, RW = 0 ve E = 1 0a deimelidir. BF_TEST: Bu alt program kullanlmadnda LCDye veri ve komut yazarken gecikme dngleri kullanlmaldr. BF (Busy Flag) LCD ilem yaparken lojik 1 olur. BF bitini okumak iin LCDye bal olan port A ular giri olarak deitirilir. Okuma ilemi iin RS = 0, RW = 1 ve E = 10 olmaldr. BF biti LCDnin D7 bacandan okunur. Okunan deer 1 ise LCD megul demektir ve BF tekrar test edilir. Okunan deer 0 olduunda LCD megul deildir ve program alt programn arld yerden devam eder.
MESAJ 1: Programda drt ayr kullanc olduundan drt ayr mesaj bulunur. Hepsi ayn olduundan yalnzca biri aklanmtr. Mesaj alt program altndan dolay A1 butonu basl durumdadr. lk nce Buzzer ve led aktif yaplr. (lojik 1) LCD_SIL: LCD ye H01bilgisi gnderilerek LCD silinir ve kursr 1.satrn bana alnr. SATIR_1W: 1.satrn balang adresi H80dir. Kursr 1. satrda istenilen stuna gtrr. SATIR_2W: 2.satrn balang adresi HC0 dr. Kursr 2. satrda istenilen stuna gtrr.
LCDde mesaj yazmak iin satr ve stun belirlendikten sonra BF biti test edilir.
MESAJ_VERISI1: Ekrana yazdrlacak olan mesaj iin bu alt program arlr. W registerindeki deer ka ise o satrdaki bilgi W register ile geri gnderilir. Say verisi gndermek iin hexadesimal kodu yazlr. rnein, H34 yazldnda ekranda 4 grnr.
Gnderilen deer 0 ise alt programdan klr. 0 deilse LCDye veri gnderilmeye devam edilir.
LCD_YAZ: W registerine yklenen veri LCDye 4 bit olarak gnderilir. (Yksek ve dk bitler SWAP komutuyla yer deitirilir. Dk bitler sfrlanr. Yksek bitler LCDye gnderilir. Yksek ve dk bitler tekrar yer deitirilir. Yksek bitler sfrlanr ve dk bitler LCDye gnderilir.) Bunun iin RS = 1 , RW=1 ve E = 1 0 olarak deitirilir.
27 1.3.3. Ak Diyagram
Tablo 1.8: Numaratr ak diyagram BALA PORT_KUR LCD_AYAR A1 basl m? MESAJ4 MESAJ3 MESAJ2 MESAJ1 A2 basl m? A3 basl m? A4 basl m? E H E E E H H H MESAJ BUZZER aktif LCD_SL GECKME1 VERICNT = 0 W = 0 SATIR_1W BF_TEST RS= 1 VER RW = 0 YAZMA MESAJ_VER1 SONU "0 MI? LCD_YAZ VERICNT +1 GECKME2 BUZZER pasif RETURN H E LCD_AYAR LCD_RESET FUNCTION_SET DISPLAY_ON ENTRY_MODE RETURN
28 1.3.4. Devrenin emas
ekil 1.20: Numaratr uygulama devresi 1.3.5. Bask Devresi
ekil 1.21: Numaratr bask devresi
29 1.3.6. Devrenin Asm Program
Dier programlardan farkl olarak DEFINE komutu kullanlmtr. Bu komut bit adreslemesini tanmlamay salar.
#DEFINE RS PORTA , 2 RS EQU 2 BSF RS BSF PORTA, 2
;=====NUMARATR DEVRES UYGULAMA PROGRAMI======S_2005=====
CALL PORT_KUR : Portlar kur CALL LCD_AYAR :LCD ilk kullanm iin ayarla TUS_ARA BCF PORTB,3 :Buzzer ve led lojik 0 BTFSS PORTB,7 :A1 butonuna basl m? CALL MESAJ1 :MESAJ1e git BTFSS PORTB,6 :A2 butonuna basl m? CALL MESAJ2 :MESAJ2ye git BTFSS PORTB,5 :A3 butonuna basl m? CALL MESAJ3 :MESAJ3e git BTFSS PORTB,4 :A4 butonuna basl m? CALL MESAJ4 :MESAJ4e git GOTO TUS_ARA :Butona basl m tekrar kontrol et? TEKRAR GOTO TEKRAR
30
PORT_KUR;...................................................................................................... MOVLW H'F0' TRIS PORTB : PORTB RBH (Giri), RBL (k) MOVLW H'00' TRIS PORTA : PORTA k CLRF VERICNT : VERICNT 0 RETURN
LCD_AYAR ;........................................................................................... CALL LCD_RESET : LCD Resetle CALL FUNCTION_SET : 4 bit mod ve iki satr aktif CALL DISPLAY_ON : Ekran a ve kursr kapat CALL ENTRY_MODE : Krsr 1 artan mod RETURN
FUNCTION_SET;..................................................................................... MOVLW H'02' : 4 bit mod MOVWF PORTA CALL LCD_KOMUT MOVLW H'02' : 4 bit mod MOVWF PORTA CALL LCD_KOMUT MOVLW H'08' : 2 satr MOVWF PORTA CALL LCD_KOMUT RETURN
31
DISPLAY_ON;............................................................................................. MOVLW H'00' MOVWF PORTA CALL LCD_KOMUT MOVLW H'0C' : LCD on MOVWF PORTA CALL LCD_KOMUT RETURN
ENTRY_MODE;....................................................................................................... MOVLW H'00' MOVWF PORTA CALL LCD_KOMUT MOVLW H'06' : Kursr 1 artan mod MOVWF PORTA CALL LCD_KOMUT RETURN LCD_SIL;.......................................................................................................................
MOVLW H'00' MOVWF PORTA CALL LCD_KOMUT MOVLW H'01' : Ekran temizle, kursr 1. satr 1.stunda MOVWF PORTA CALL LCD_KOMUT RETURN LCD_YAZ;..................................................................................................................... MOVWF TEMP : TEMP W SWAPF TEMP,F : st 4 bit ile alt 4 biti yer deitir MOVF TEMP,W : st 4 biti al MOVWF PORTA : LCDye gnder BSF EN : E 1 NOP : Bekle BCF EN : E 0 CALL BF_TEST : Megul bayran test et BSF RS : RS 1 Veri BCF RW : RW 0 Yaz SWAPF TEMP,F : Yazlacak verinin tekrar st 4 biti MOVF TEMP,W : alt 4 bitini yer deitir MOVWF PORTA : LCD ye gnder BSF EN : E 1 NOP : Bekle BCF EN : E 0 RETURN
32 LCD_KOMUT;................................................................................................................ CALL BF_TEST : BF test et BCF RS : RS 0 Komut BCF RW : RW 0 Yaz BSF EN : E 1 NOP : Bekle BCF EN : E 0 RETURN
BF_TEST;................................................................................................................... BSF STATUS,5 :Bank 1e ge MOVLW H'FF' MOVWF TRISA : PORTA Giri BCF STATUS,5 : Bank 0 ge BCF RS : Veri BSF RW : LCD Oku BSF EN : E 1 MOVF PORTA,W : LCDden gelen bilgileri W aktar BCF EN : E 0 ANDLW H'F0' : st 4 biti sfrla MOVWF TEMP1 : TEMP1de sakla SWAPF TEMP1,F : Alt 4 bit ile st 4 biti yer deitir BSF EN : E 1 GOTO $+1 : Bir alt satra git BCF EN : E 0 BTFSC TEMP1,7 : BF = 1 mi? GOTO BF_TEST : Evet , BFyi tekrar test et BSF STATUS,5 : Hayr CLRF TRISA : PORTA k BCF STATUS,5 RETURN
Basketbol skorbord devresinde iki takm iin iki ayr buton grubu bulunacaktr. Butonlarla skor artrlp azaltlabilecek ve sonular 2x16 LCDde gsterilecektir.
Takmlar A ve B olarak isimlendirilir. A LCDnin 1. satr 4. stununa, B ise 1. satr 11. stununa yazlr. A takmnn skoru 2.satrn 3.stunundan itibaren B takmnn skoru ise 2. satrn 10. stunundan itaberen yazdrlr.
LCDye karakter yazdrlrken karakterin onaltlk kodu kullanlr. Basketbolda skor en fazla 3 basamakl bir saydan oluur. Bu sayy LCDye gndermek iin say basamaklarna ayrlr ve karakterler tek tek gnderilir. rnein, 123 says 1 sol karakter, 2 orta karakter ve 3 sa karakter olarak blnr. nce sol karakter, sonra orta karakter ve son olarak da sa karakter LCDye gnderilir. Saylar artrmak ve azaltmak iin aadaki sra takip edilir.
Sayy artrmak iin,
Sa karakter 1 artrlr. Onluk say sisteminde en son karakter 9 (H39) dur. Sa karakterin 9u ap amad kontrol edilir. Bunun iin sa karakter H3A saysyla karlatrlr. Sa karakter 9u atnda orta karakter 1 artrlr. Orta karakter en fazla 9a kadar artrlr. 9u atnda sol karakter artrlr. 999 saysna ulalrsa say karakterleri sfrlanr. rnein 099 says artrldnda, Sa karakter 9u at iin 0a eitlenir ve orta karakter bir artrlr. Orta karakter 9u at iin 0a eitlenir ve sol karakter bir artrlr. Sol karakter=1, orta karakter=0 ve sa karakter= 0 olur.
Sayy azaltmak iin Sa karakterin 0 olup olmad kontrol edilir ( h30). Sfr deilse say bir azaltlr. Sfra eitse orta karakterin 0a eit olup olmad kontrol edilir. Orta karakter sfr deilse sol karakter 1 azaltlr ve sa karakter 9a eitlenir. Orta karakter sfr ise sol karakterin 0a eit olup olmadna baklr. Sfra eitse sayda hibir deiiklik yaplmaz. Sfra eit deilse sol karakter 1 azaltlr. Orta ve sa karakter 9a eitlenir. rnein 100 says azaltldnda, Sa karakterin 0a eit olup olmad kontrol edilir. Sfra eit orta karaktere geilir. Orta karakter kontrol edilir. Sfra eit olduundan sol karaktere geilir. Sol karakter sfra eit olamadndan 1 azaltlr. Sa ve orta karakter 9 yaplr. Sonuta say 099 olur.
39 1.4.1. Ak Diyagram
Tablo 1.9: Skorbord ak diyagram BALA A + ? B_AZAL B_ART A_AZAL A_ART A ? B+ ? B- ? E H E E E H H H PORT_KUR LCD_AYAR A_SIFIR B_SIFIR MESAJ1 MESAJ2 MESAJ3 A_ART SA_K1 bir artr SA_K1 = H 3A ? Z=1 mi? SA_K1=0 ORTA_K bir artr ORTA_K1 = H 3A ?
Z= 1 mi? ORTA_K1=0 SOL_K1 bir artr SOL_K1 = H 3A ?
Z= 1 mi? A_SIFIR MESAJ2 RETURN E E E H H H
40 1.4.2. Devre emas
ekil 1.22: Basketbol skorbord devresi 1.4.3. Bask Devresi
Programda deiken tanmlamalar CBLOCK ENDC komutuyla yaplmtr. EQU komutu kullanarak bir deere eitlenen herhangi bir deikenin deeri program ierisinde deitirilemez. Bu da programn istediiniz gibi almasn engeller. CBLOCK ENDC komutu bir grup deikene deer vermek iin kullanlr. CBLOCKtan sonra yazlan adres deeri srasyla tm deikenlere birer artarak atanr.
;=============SKORBOARD UYGULAMA PROGRAMI======S_2005========
LIST P=16F84 INCLUDE P16F84.INC #DEFINE RS PORTB,2 #DEFINE RW PORTB,1 #DEFINE EN PORTB,0
LCD_AYAR ;............................................................................................... CALL LCD_RESET : LCD Resetle CALL FUNCTION_SET : 4 bit mod ve iki satr aktif CALL DISPLAY_ON : Ekran a ve kursr kapat CALL ENTRY_MODE : Kursr 1 artan mod RETURN
43 FUNCTION_SET;........................................................................................... MOVLW H'02' : 4 bit mod MOVWF PORTA CALL LCD_KOMUT MOVLW H'02' : 4 bit mod MOVWF PORTA CALL LCD_KOMUT MOVLW H'08' : 2 satr MOVWF PORTA CALL LCD_KOMUT RETURN
DISPLAY_ON;..................................................................................................... MOVLW H'00' MOVWF PORTA CALL LCD_KOMUT MOVLW H'0C' : LCD on MOVWF PORTA CALL LCD_KOMUT RETURN
ENTRY_MODE;....................................................................................................... MOVLW H'00' MOVWF PORTA CALL LCD_KOMUT MOVLW H'06' : Kursr 1 artan mod MOVWF PORTA CALL LCD_KOMUT RETURN
MOVLW H'00' MOVWF PORTA CALL LCD_KOMUT MOVLW H'01' : Ekran temizle, krsr 1.satr 1.stunda MOVWF PORTA CALL LCD_KOMUT RETURN
44
LCD_YAZ;..................................................................................................................... MOVWF TEMP : TEMP W SWAPF TEMP,F : st 4 bit ile alt 4 biti yer deitir. MOVF TEMP,W : st 4 biti al MOVWF PORTA : LCDye gnder. BSF EN : E 1 NOP : Bekle BCF EN : E 0 CALL BF_TEST : Megul bayran test et BSF RS : RS 1 Veri BCF RW : RW 0 Yaz SWAPF TEMP,F : Yazlacak verinin tekrar st 4 biti MOVF TEMP,W : alt 4 bitini yer deitir MOVWF PORTA : LCDye gnder BSF EN : E 1 NOP : Bekle BCF EN : E 0 RETURN
LCD_KOMUT;................................................................................................................ CALL BF_TEST : BF test et BCF RS : RS 0 Komut BCF RW : RW 0 Yaz BSF EN : E 1 NOP : Bekle BCF EN : E 0 RETURN
BF_TEST;................................................................................................................... BSF STATUS,5 : Bank 1e ge MOVLW H'FF' MOVWF TRISA : PORTA Giri BCF STATUS,5 : Bank 0a ge BCF RS : Veri BSF RW : LCD Oku BSF EN : E 1 MOVF PORTA,W : LCDden gelen bilgileri W aktar. BCF EN : E 0 ANDLW H'F0' : st 4 biti sfrla MOVWF TEMP1 : TEMP1de sakla SWAPF TEMP1,F : Alt 4 bit ile st 4 biti yer deitir. BSF EN : E 1 GOTO $+1 : Bir alt satra git BCF EN : E 0 BTFSC TEMP1,7 : BF = 1 mi? GOTO BF_TEST : Evet, BFyi tekrar test et
45 BSF STATUS,5 : Hayr CLRF TRISA : PORTA k BCF STATUS,5 RETURN
MESAJ1. MOVLW H'04' : LCDnin 1. satrn 4. stununa git. CALL SATIR1W CALL BF_TEST : BF test et BSF RS : RS 1 Veri BCF RW : RW 0 Yaz MOVLW H'41' : Ekrana A yaz CALL LCD_YAZ MOVLW H'0B' : LCDnin 1.satr 11. stununa git. CALL SATIR1W CALL BF_TEST : BF test et BSF RS : RS 1 Veri BCF RW : RW 0 Yaz MOVLW H'42' : Ekrana B yaz CALL LCD_YAZ RETURN
MESAJ2.. MOVLW H'03' : LCDnin 2. satr 3. stununa git CALL SATIR2W CALL BF_TEST : BF test et BSF RS : RS 1 Veri BCF RW : RW 0 Yaz MOVF SOL_K1,W : W SOL_K1 CALL LCD_YAZ : ilk saynn sol karakterini ekrana yaz CALL BF_TEST : BF test et BSF RS : RS 1 Veri BCF RW : RW 0 Yaz MOVF ORTA_K1,W : lk saynn orta karakterini ekrana yaz CALL LCD_YAZ CALL BF_TEST : BF test et BSF RS : RS 1 Veri BCF RW : RW 0 Yaz MOVF SAG_K1,W : lk saynn sa karakterini ekrana yaz CALL LCD_YAZ RETURN
47
MESAJ3.. MOVLW H'0A' : LCDnin 2. satr 10. stununa git. CALL SATIR2W CALL BF_TEST : BF test et BSF RS : RS 1 Veri BCF RW : RW 0 Yaz MOVF SOL_K2,W : W SOL_K1 CALL LCD_YAZ : ikinci saynn sol karakterini ekrana yaz. CALL BF_TEST : BF test et BSF RS : RS 1 Veri BCF RW : RW 0 Yaz MOVF ORTA_K2,W : ikinci saynn orta karakterini yaz. CALL LCD_YAZ CALL BF_TEST : BF test et BSF RS : RS 1 Veri BCF RW : RW 0 Yaz MOVF SAG_K2,W : kinci saynn sa karakterini yaz. CALL LCD_YAZ RETURN
A_ART;........................................................................................................................... CALL TIMER1 : Gecikme INCF SAG_K1 : Sa karakteri 1 artr. MOVLW H'3A' : Sa karakter H3A saysna eit mi? XORWF SAG_K1,W BTFSS STATUS,2 GOTO SON1 : Hayr devam et. MOVLW H'30' : Evet sa karakteri sfrla. MOVWF SAG_K1 INCF ORTA_K1,F : Orta karakteri 1 artr. MOVLW H'3A' : Orta karakter H3A saysna eit mi? XORWF ORTA_K1,W BTFSS STATUS,2 GOTO SON1 : Hayr devam et. MOVLW H'30' : Evet orta karakteri sfrla. MOVWF ORTA_K1 INCF SOL_K1,F : Sol karakteri 1 artr. MOVLW H'3A' : Sol karakter H3A saysna eit mi? XORWF SOL_K1,W BTFSS STATUS,2 GOTO SON1 : Hayr devam et. CALL A_SIFIR : Evet tm karakterleri sfrla. SON1 CALL MESAJ2 : Karakterleri LCDye yazdr. RETURN
48 A_AZAL;......................................................................... CALL TIMER1 : Gecikme MOVLW H'30' : Sa karakter sfra H30 eit mi? XORWF SAG_K1,W BTFSC STATUS,2 GOTO BIR : Evet BIR etiketine git DECF SAG_K1 : Hayr sa karakteri 1 azalt GOTO SON2 : LCDye yazdr. BIR MOVLW H'30' XORWF ORTA_K1,W : Orta karakter sfra eit mi? BTFSC STATUS,2 GOTO IKI : Evet IKI etiketine git DECF ORTA_K1 : Hayr orta karakteri 1 azalt MOVLW H'39' : Sa karakteri 9 yap. MOVWF SAG_K1 GOTO SON2 : LCDye yazdr. IKI MOVLW H'30' XORWF SOL_K1,W : Sol karakter sfra eit mi? BTFSC STATUS,2 GOTO SON2 : Evet SON2 etiketine git DECF SOL_K1 : Hayr sol karakteri 1 azalt MOVLW H'39' : Sa ve orta karaktere 9 MOVWF SAG_K1 : saysn ykle MOVWF ORTA_K1 SON2 CALL MESAJ2 : Karakterleri LCDye yazdr. RETURN
B_ART;........................................................................................................................... CALL TIMER1 : Gecikme INCF SAG_K2 : Sa karakteri 1 artr MOVLW H'3A' :Sa karakter H3A saysna eit mi? XORWF SAG_K2,W BTFSS STATUS,2 GOTO SON3 : Hayr devam et. MOVLW H'30' : Evet sa karakteri sfrla. MOVWF SAG_K2 INCF ORTA_K2,F : Orta karakteri 1 artr MOVLW H'3A' : Orta karakter H3A saysna eit mi? XORWF ORTA_K2,W BTFSS STATUS,2 GOTO SON3 : Hayr devam et. MOVLW H'30' : Evet orta karakteri sfrla. MOVWF ORTA_K2 INCF SOL_K2,F : Sol karakteri 1 arttr. MOVLW H'3A' : Sol karakter H3A saysna eit mi? XORWF SOL_K2,W BTFSS STATUS,2
Sanayi tesislerinde elektrik enerjisini dairesel harekete evirebilmek iin motorlar kullanlr. Endstride asenkron motorlarn (endksiyon motorlar) kullanm oran ok yksek olup % 90'lar civarndadr.
Resim 1.1: Asenkron motor 1.5.1.1. Asenkron Motorlarn stnlkleri
Srekli bakm istemez. Yk altnda devir saylar ok deimez. Elektronik devreyle devir says kolayca ayarlanabilir. Fiyatlar dier motorlara oranla ucuzdur. alma annda ark (kvlcm) oluturmaz. Bir ve fazl olarak retilebilir.
51 1.5.1.2. Asenkron Motor eitleri
Asenkron motorlar faz saysna gre iki eittir:
Bir fazl asenkron motorlar: Kk ve gldr. amar makinesi, pompa, buzdolab gibi cihazlarda kullanlr. fazl asenkron motorlar: Sanayide ok yaygn olarak kullanlan motor eididir.
Asenkron motorlar rotorlarnn yapsna gre iki eittir:
Asenkron motorlar genel olarak stator ve rotor olmak zere iki ksmdan yaplmtr.
1.5.1.3. Stator
Asenkron motorun duran blmdr. 0,4-0,8 mm kalnlnda bir taraf yaltlm saclarn zel kalplarda paketlenmesiyle retilir. (Resim 1.2) Stator, motorun en nemli parasdr. Bu parann i ksmnda emaye izoleli bakr telden yaplan sarmlar bulunur. Sarmlarn grevi AC enerji uygulandnda manyetik alan oluturarak rotorun dnmesini salamaktr.
Resim 1.2: Stator 1.5.1.4. Rotor
Asenkron motorun dnen blmdr. Rotor, ince elik saclarn st ste paketlenmesiyle oluturulmutur. Bu elemann stator manyetik alannn etkisiyle ikinci bir manyetik alan oluturabilmesi iin gvdesi zerine alan oyuklara alminyum ubuklar ya da sarglar konulmutur. Rotor eitleri unlardr:
Asenkron motorlarn gvdesi soutmann abuk olmas iin kntl (kanatkl) olarak retilir. Resim 1.4' te motor gvdeleri grlmektedir.
Resim 1.4: Motor gvdeleri 1.5.1.6. Fazl Asenkron Motorlarn alma lkesi
R-S-T fazlar motorun statorunda bulunan sarglara uygulandnda dner bir manyetik alan oluur. Statordaki manyetik alann dn says ebekenin frekans ve sarglarn kutup saysna gre deiir. Statorda oluan dner alan rotorun ubuklarn (ya da sarmlarn) etkiler ve bu ubuklardan akm dolamaya balar. Rotordan geen akm, ikinci bir alan oluturur. Statorun alanyla rotorun alan birbirini itip ekerek dn balatr.
53 R Faz : Giri U, k X S Faz : Giri V, k Y T Faz : Giri W, k Z harfleriyle gsterilir.
Resim 1.5: Motor klemens kutusunda yldz gen balants fazl asenkron motorlarn klemens kutusunda alt adet u bulunur. Bu ular motorun gc gz nne alnarak yldz ya da gen eklinde balandktan sonra R-S-T ile besleme yaplr. Yldz ya da gen balants yaplmam fazl asenkron motor asla almaz.
fazl asenkron motorlarn devir ynn deitirmek son derece kolaydr. Motora uygulanan R-S-T fazlarndan herhangi ikisinin yeri ekil 1.25'te grld gibi deitirildiinde stator sarglarnn oluturduu manyetik alann dn yn deiir ve rotor nceki dn ynnn tersinde hareket etmeye balar.
ekil 1.25: fazl asenkron motorun devir ynnn deitirilmesi 1.5.1.7. Fazl Asenkron Motora Yol Verme
fazl asenkron motorlar ilk hareket annda normal akmlarnn 6-10 kat fazla akm eker. Bu ar akm kk gl bir motorda ebekeye pek bir zarar vermez. Ancak gc 4 kWtan byk olan bir motorun ilk anda 6-10 kat fazla akm ekerek almaya balamas birok olumsuz etki (tesisisin geriliminin ksa sreli olarak anormal derecede dmesi, hatlarn ar yklenmesi vb.) ortaya karr. te bu sebeple 4 kWtan byk gteki motorlar ilk kalk annda az akm ekerek altrmak gerekir. Gnmzde byk gl motorlarn ilk kalk akmn kabul edilebilir dzeye indirebilmek iin eitli yntemler kullanlmaktadr. Dk kalknma akmyla altrmada kullanlan baz yntemler yle sralanabilir:
54 Direnle yol verme Oto transformatryle yol verme Yldz / gen yol verme
Uygulamada en ok kullanlan yntem yldz / gen yol vermedir. Stator sarglar nce yldz eklinde balanr. Bu sayede 380 volta dayanacak ekilde retilmi sarglara 220 volt uygulanm olacandan motor dk akm ekerek almaya balar. 2 4 saniye sonra yldz balants kaldrlp gen balantya geilir.
fazl asenkron motorlarda uygulanan yldz balama U-V-W / X-Y-Z klemens ular birbirine kprlendiinde yldz balant yaplm olunur.
ekil 1.26: Yldz balama ekil 1.27: gen balama Yldz balanarak altrlmas gereken bir motor yanllkla gen balanarak altrlacak olursa sarglara 380 volt uygulanm olacandan motor yanar.
gen balamada stator sarglar birbirine seri balanr. gen bal olarak alacak ekilde retilmi motorlarn sarmlar 380 volta dayanacak ekilde retilmitir. gen balanmas gereken motor yanllkla yldz balanarak altrlrsa motor yanmaz. Ancak motor dk verimde alr.
Pic ile yaplan asenkron motor uygulama devresin sistem BALA butonu ile kontrol edilecektir. k yldz gen alma tekniine gre kontrol edilecek, yldz alma ve gen alma sresi 2x16 LCDde grntlenecektir. Motoru durdurmak iin RESET butonuna baslacaktr. Motor nce yldz alma ile altrlacak LCD ekrannda yldz alma yazacak bundan sonra gen almaya geilecek ve ekranda gen alma yazs grntlenecektir.
55 1.5.2. Devrenin emas
ekil 1.28: Asenkron motor uygulama devresi 1.5.3. Bask Devresi
ekil 1.29: Asenkron motor bask devresi
56 1.5.4. Devrenin Malzemeleri
PIC16F84 4MHz mikrodenetleyici 4MHz kristal, 4xbuton, led C1 = C2 = 22pf R2 = R4 = 1K diren R1 = R3 = 10K 12 V Rle X 3
1.5.5. Devrenin Asm Program
;===============ASENKRON MOTOR UYGULAMA PROGRAMI===========
LCD_LB1_WRITESTR;.. BCF STATUS,RP0 : Bank 0 BSF PORTA,4 : dd-ram se LCD_LB1_WRITESTR1;.. CALL LCD_LB1_CHAROUT BSF INTCON,GIE ANDLW H'FF' : last is zero BTFSC STATUS,Z RETURN
LABEL_LG11_TRUE;.. BCF STATUS,RP0 : Bank 0 BSF PORTB,2 GOTO LABEL_LG11_ENDE
LABEL_LG11_FALSE;. BCF STATUS,RP0 : Bank 0 BCF PORTB,2
LABEL_LG11_ENDE; GOTO MAIN TAB_LT2;.. RETLW 65 : A RETLW 115 : s RETLW 101 : e RETLW 110 : n RETLW 107 : k RETLW 114 : r RETLW 111 : o RETLW 110 : n RETLW 32 : RETLW 109 : m RETLW 111 : o RETLW 116 : t RETLW 111 : o RETLW 114 : r RETLW 32 : RETLW 32 : RETLW 0 : end TAB_LT3; RETLW 89 : Y RETLW 105 : i RETLW 108 : l RETLW 100 : d RETLW 105 : i RETLW 122 : z RETLW 32 :
74 RETLW 67 : C RETLW 97 : a RETLW 108 : l RETLW 115 : s RETLW 58 : : RETLW 0 : end
TAB_LT4;. RETLW 117 : u RETLW 99 : c RETLW 103 : g RETLW 101 : e RETLW 110 : n RETLW 32 : RETLW 99 : c RETLW 97 : a RETLW 108 : l RETLW 105 : i RETLW 115 : s RETLW 109 : m RETLW 97 : a RETLW 32 : RETLW 32 : RETLW 0 : end
TAB_LT5; RETLW 121 : y RETLW 105 : i RETLW 108 : l RETLW 100 : d RETLW 105 : i RETLW 122 : z RETLW 32 : RETLW 117 : u RETLW 99 : c RETLW 103 : g RETLW 101 : e RETLW 110 : n RETLW 32 : RETLW 99 : c RETLW 97 : a RETLW 108 : l RETLW 0 : end END
75
UYGULAMA FAALYET Programlama ilemini yapnz.
lem Basamaklar neriler Kurulacak sistem iin ihtiyalar (devre elemanlarn) tespit ediniz. htiyacnz karlayacak mikrodenetleyiciyi seiniz. Sisteminin almas iin gerekli program yaznz. Program mikrodenetleyiciye ykleyiniz. evre elemanlar ile devreyi kurunuz. Mikrodenetleyici olarak PIC 16F84 kullannz. Program yazdktan sonra MPLAB ile deneyiniz. Program mikrodenetleyiciye yklerken kullanlan PIC programlaycya uygun yazlm kullannz. Devreyi Proteus programnda altrarak deneyiniz. Devre iin gerekli giri elemanlar ve zelliklerini belirleyiniz. Devre iin gerekli k elemanlar ve zelliklerini tespit ediniz. Devrenin bask devre emasn kartnz. Devre elemanlarnn ve mikrodenetleyicinin montajn yapnz. Kullandnz devre elemanlarnn zelliklerini internetten aratrnz. Bask devreyi, devre emasn proteus programndan ares programna aktrarak karnz. Devrenin montajn yapmadan nce bredboard zerinde kurarak deneyiniz.
KONTROL LSTES
Bu faaliyet kapsamnda aada listelenen davranlardan kazandnz beceriler iin Evet, kazanamadklarnz iin Hayr kutucuklarna ( X ) iareti koyarak rendiklerinizi kontrol ediniz.
Deerlendirme ltleri Evet Hayr 1. Kurulacak sistem iin ihtiyalar tespit ettiniz mi?
Deerlendirme sonunda Hayr eklindeki cevaplarnz bir daha gzden geiriniz. Kendinizi yeterli grmyorsanz renme faaliyetini tekrar ediniz. Btn cevaplarnz Evet ise lme ve Deerlendirmeye geiniz. UYGULAMA FAALYET
76
LME VE DEERLENDRME Aadaki cmlede bo braklan yere getirilecek bilgilerin bulunduu seenei iaretleyiniz.
1. INTCON kaydedicisi uygulamalarnda kullanlr. Bolua aadakilerden hangisi gelmelidir? A) Giri B) k C) Kesme D) Reset
Aadaki sorular dikkatlice okuyunuz ve doru seenei iaretleyiniz.
2. Status registerinde bulunan RP0 ve RP1 bitlerinin grevi aadakilerden hangisidir? A) Kesmenin geerli olmas iin kullanlr. B) lemlerde tama meydana geldiinde kullanlr. C) lemlerin sonucu sfr olduunda kullanlr. D) Bank deitirmek iin kullanlr.
3. PIC16F84te kesme meydana geldiinde program hangi adrese atlamaktadr? A) H00 B) H02 C) H04 D) H06
4. Aadaki seeneklerden hangisi PICi programlamak iin gerekli deildir? A) MPSAM ASM derleyici B) PIC programlayc C) MPLAB PFE D) PROTEUS program
5. LCDye veri yazmak iin E giriine hangi kenar tetiklemeli sinyal uygulanmaldr? A) Den kenar B) Ykselen kenar C) Pozitif seviye D) Negatif seviye
DEERLENDRME
Cevaplarnz cevap anahtaryla karlatrnz. Yanl cevap verdiiniz ya da cevap verirken tereddt ettiiniz sorularla ilgili konular faaliyete geri dnerek tekrarlaynz. Cevaplarnzn tm doru ise bir sonraki renme faaliyetine geiniz. LME VE DEERLENDRME
77
RENME FAALYET2
Mikrodenetleyiciyi ve evre elemanlarn seebilecek, dijital ilem iin gerekli program hatasz olarak yazabilecek, program mikrodenetleyiciye ykleyebilecek ve devreyi hatasz olarak kurup altrabileceksiniz.
Red rleler hakknda bilgi edinin. Kesme (Interrupt) eitlerini renmeli kesme alt programlar yaznz. Asenkron motorlarn yapsn ve almasn reniniz.
Aratrma ilemleri iin Mikrodenetleyici Programlama modln gzden geirirken internet ortamlarndan da yararlanabilirsiniz.
2. LER SEVYE DJTAL UYGULAMA DEVRELER
2.1. Drt Girili Kap Pencere Alarm Devresi
Drt girili olan sistemde kap ve pencerelere yerletirilen anahtarlar kapal (OFF) konumunda kabul edilecektir. Anahtarlardan biri konum deitirdiinde (kap veya pencere aldnda) sistem bir led ve buzer ile k verecek, DUR butonuna baslncaya kadar sesli ve kl ikaz devam edecektir.
Devreye enerji uygulandktan 1 dk. sonra alarm aktif olmaktadr. Bu srede ieride bulananlar dar kabilir. Dardan ieriye girebilmek iin kapnn dna bir reed rle yerletirilir. Bu anahtar kapandnda alarm 1 dk. pasif olur ve bu sre iinde sistem kapatlr. 1 dk. sre kullancya gre deitirilebilir.
Reed (Dil Kontakl) Rleler
Cam gvde iine konmu minik kontaklara sahip elemanlara reed rle denir. Reed rlelerde havas alnm effaf cam ya da baka bir maddeden yaplm olan muhafaza iinde bulunan demir-nikel alam mini kontaklarn konumu sabit mknats ya da elektromknatsla deitirilir. Resim 2.1de cam gvdeli reed rlelerin yaps verilmitir. RENME FAALYET-2
AMA ARATIRMA
78
Resim 2.1: Reed rle Reed rlelerde kontaklarn konumu Resim 2.2de grld gibi doal mknatsla ya da elektromknats ile deitirilebilmektedir. Reed rlelerin kontaklarnn ekme ve brakma zaman 0,5 mili saniye, alma says ise 1-2 milyon adet dolayndadr.
Resim 2.2: Reed rlenin konum deitirmesi Kesmeler (Interrupt)
Kesme bir mikrokontrolrn darda olan herhangi bir olaya annda mdahele etmesini salamaktadr. Kesme olunca mikrokontrolr yapmakta olduu ii brakr ve H04 adresindeki kesme alt programna gider. Kesmeden RETFIE (RETurn From IntErrupt) komutu ile dnlr ve program kald yerden devam eder. Kesme dardan veya ieriden olabilir. Dardan gelen kesmelerin zaman bilinmemektedir. eriden gelen kesmeler ise genellikle mikrokontrolrn saya devrelerine bal gelmektedir.
PIC 16F84 mikrokontrolrde drt eit kesme bulunur. RBO / INT bacandan gelen d (haric) kesme Port B (4,5,6,7) bacaklarnda lojik seviye deiikliinden oluan d kesme TMR0 saycsnda oluan zaman am i kesmesi EEPROM bellee yazldktan sonra oluan i kesme
Herhangi bir kesmenin geerli olmas iin
INTCON registeri GIE = lojik 1 yaplnca tm kesmeler aktif olur. Hangi kesmenin geerli olmas isteniyorsa o kesme biti lojik 1 yaplmaldr. Kesmeler INTCON registerinin aadaki bitleri ile kontrol edilir. o INTE: RBO / INT d kesmesini aktif yapma bayra o RBIE: RB4 RB7 bacaklarnda deiiklik kesmesini aktif yapma bayra o T0IE: TMR0 sayc kesmesini aktif yapma bayra o EEIE: EPROM bellee yazma ilemi tamamlama kesmesi
79
Kesme meydana gelince o kesmeye ait INTCON registerinde bulunan bayrak aktif olur. o INTF: Lojik 1 ise RBO / INT kesmesi var. o RBIF: Lojik 1 ise RB4 RB7 kesmesi var. o T0IF: Lojik 1 ise TMR0 sayc kesmesi var. o EEIF: Lojik 1 ise EEPROM kesmesi var.
Alarm devresinde drt giri RB4 RB7 bacaklarna balanmtr. Alarm aktif olduktan sonra bu girilerden birinde herhangi bir deiiklik olduunda KESME alt program altrlr ve buzzer alr. Kesme olutuktan sonra ana programa geri dnlmez. Ana programa dnmek iin DUR butonuna baslmas gerekir.
INTCON GIE bayra lojik 1 INTCON - RBIE bayra lojik 1 OPTION registerin 6. biti (INTEDG) ile dardan gelen sinyalin kenar tetiklemesi ayarlanr. ( Lojik 1 ykselen kenar, Lojik 0 den kenar) Kesme olutuunda RBIF bayra lojik 1 olur. Kesmelerin geerli olmas iin kesme alt programnda lojik 0 yaplr.
2.1.1. Devrenin Malzemeleri
PIC16F84 4MHz mikrodenetleyici 4MHz kristal, 2xbuton, led U2= 7407 veya 4050, Reed Rle C6 = C7 = 22pf C1= C2= C3= C4= 100nF R8= 330, R9= 1 K diren R5= R6= R7= 10 K R1 = R2 = R2 = R4 = 100 K Q1 = BC237 , Q2 = BD135 12V Rle , D1= 1N4148
80 2.1.2. Ak Diyagram
Tablo 2.1: Alarm devresi ak diyagram BASLA YESL LED YANIK PORT_KUR GIE 1 RBIE 1 GECKME1 PORTA, 2 = 0 MI? GECKME1 GIE 0 E H KESME BUZZER 1 L1 = 0 , L2= 1 PORTA, 1 = 0 MI? BUZZER 0 RBIF 0 RETFIE E H
81 2.1.3. Devrenin emas
ekil 2.1: Alarm devresi 2.1.4. Bask Devresi
ekil 2.2: Alarm bask devresi
82 2.1.5. Devrenin Asm Program
Devreye enerji uygulandnda, yaklak 60 sn. sonra alarm aktif olur. Alarmn aktif olduu yeil ledin (L1) yanmasyla anlalr. Kap ya da pencerelerden biri aldnda RB4- RB7 port girilerinde deilik meydana geldiinden kesme aktif olur. Bu durumda yeil led sner, buzzer alr ve krmz led (L2) yanar.
Alarm kapatmamak iin DUR butonuna baslr ve program almasna ILK etiketinden itibaren devam eder.
;=========ALARM DEVRES UYGULAMA PROGRAMI======S_2005========
LIST P=16F84 INCLUDE "P16F84.INC" SAYAC1 EQU H'0C' SAYAC2 EQU H'0D' : Gecikme alt program iin saya SAYAC3 EQU H'0E'
ORG H'00' GOTO BASLA ORG H'04' GOTO KESME
BASLA;.
CALL PORT_KUR : Portlar ayarla ILK CALL GECIKME1 BSF INTCON , RBIE : RBIE 1 BSF INTCON, GIE : GIE 1 BSF PORTA,2 : L1 (yeil led) yank, alarm aktif BUTON BTFSC PORTA,0 : KAPAT butonuna basl m? GOTO BUTON : Hayr , kesme bekle BCF INTCON,GIE : Evet GIE 0 kesmeler pasif CALL GECIKME1 : 1dk. gecikme GOTO ILK
PORT_KUR;.
BSF STATUS,5 : Bank 1e ge MOVLW H'FF' MOVWF TRISB : PortB giri MOVLW H'03' MOVWF TRISA BCF STATUS,5 : Bank 0a ge RETURN
BSF PORTA,3 : Buzzer ve krmz led (L2) aktif BCF PORTA,2 : Yeil ledi sndr. DON BTFSC PORTA,1 : DUR butonuna basl m? GOTO DON : Hayr, kesme programnda kal BCF PORTA,3 : Evet BCF INTCON,RBIF : RBIF 0 bayran sfrla RETFIE : kesmeden geri dn END
84 2.2. Elektropnomatik Sistemin PIC ile Kumandas
Pnmatik ve elektrik-teknolojisinin bir arada kullanlmas endstriyel otomasyon uygulamalarnda nemli rol oynar. Sanayide hzl, ucuz ve kaliteli retim salar.
Pic ile uygulanacak olan sistemde, iki silindir, paralar besleme stunundan tayc bir sisteme nakleder. Bir dmeye basldnda 1.0 silindiri ileri doru hareket eder. Besleme stunundan bir paray iter. Bu paray 2.0 silindiri iin konumlandrr. 2.0 silindiri paray tayc sisteme iter. Bundan sonra ilk olarak birinci, ardndan ikinci silindir geri gelir. ki silindirin de ileri ve geri geli hzlarnn ayarlanabilir olmas gerekir. Ayrca iki silindirin de ndeki ve arkadaki son konumlarnn alglanmas gerekir.
Silindirin hareket ak manyetik anahtarla kontrol edilir. Sistem altrldnda aadaki sra ile silindirler hareket eder.
1.0 silindiri geride - S1 anahtar kapal, 2.0 silindiri geride ve S3 anahtar kapaldr. S anahtarna basldnda 1.0 silindiri ileri hareket eder. S2 anahtar kapanr. S2 kapandnda 2.0 silindiri ileri doru hareket eder. S4 silindiri kapanr. S4 kapandnda 1.0 silindiri geriye doru hareket eder. S1 anahtar kapanr. S1 kapandnda 2.0 silindiri geriye doru hareket eder. S3 anahtar kapanr. Sistem tekrar baa dner. lem srasnn her adm yol adm emasnda gsterilir.
Tablo 2.2: Yol adm emas 1- 2 aralnda Y1 rlesi enerjilenir. 1.0 ileri hareket eder. 2 - 3 aralnda Y3 enerjilenir 2.0 ileri hareket eder. Y1 enerjili ve 1.0 ileridedir. 3 - 4 aralnda Y2 enerjilenir. 1.0 geri hareket eder. Y3 enerjili ve 2.0 ileridedir. 4 5 aralnda Y4 enerjilenir. 2.0 geri hareket eder.
1 2 3 4 5 1.0
2.0
85
ekil 2.3: Elektropnmatik devre emas Manyetik alglayclar ( hatl alglayclar) dorudan silindir gvdesi zerine yerletirilir. Silindir anahtar getiinde manyetik alan oluur ve anahtarn knda bir sinyal elde edilir.
ekil 2.4: Manyetik alglayclar Devrede S1, S2, S3 ve S4 ile gsterilen girilere sisteme yerletirilen manyetik anahtarlarn klar balanr. k gerilimi yksek olduundan 5V seviyesine drlmelidir. Y1 ve Y2 rleleri 1. silindiri, Y3 ve Y4 rleleri 2. silindiri kontrol eder.
Port A giri, Port B k olarak ynlendirilmitir. Silindirleri kontrol etmek iin PortB klarna Tablo 2.3teki deerler uygulanr.
ekil 2.6: Elektropnomatik sistemin PC ile uygulama devresi 2.2.3. Bask Devresi
Resim 2.7: Elektropnomatik sistemin bask devresi
88 2.2.4. Devrenin Ak Diyagram
Tablo 2.4: Elektropnomatik sistemin ak diyagram BALA PORT_AYAR Y2 , Y4 ENERJL BALA basl m? 1.0 ileri S2 kapand m? E H E H S4 kapand m? 1.0 geri S1 kapand m? 2.0 geri S1 kapand m? 2.0 ileri E E BUTON etiketine git E H H H E
89 2.2.5. Devrenin Asm Program
;=========ELEKTROPNOMATIK SISTEM PROGRAMI======S_2005========
Bu programlanabilir sayc ev ii, ticar ve endstriyel uygulamalar iin kullanlldr. Ayarlanan zaman sonunda ama-kapama yapmaktadr. Devrenin zaman periyodu programla deitirildiinden olduka ilevseldir.
Devre saat, dakika ve saniye olarak ayarlanr, ardndan BALA butonuna baslr ve 1sn. aralkla geriye doru saymaya balar. Sayma ilemi bittiinde bir k aktif olur ve led yanar. Led yerine bir transistr ve rle balanarak herhangi bir kontrol yaplabilir. Devrede gsterge olarak 6 X 7 segment ortak anotlu display kullanlmtr. ekil 2.8de 7 paral gstergenin yaps gsterilmitir.
ekil 2.8: 7 paral gsterge 7 paral gstergeler ortak anot ve ortak katot olmak zere iki eittir. PIC ile dorudan denetlendiinde, 7 bacak PortBye balanr. Port Bden gelen bilgilerin, gstergede oluturduu ekil, Port Bye aktrlan bilgiye baldr. rnein, segmentte 0 olmas iin, A, B, C, D, E, F girilerinin ortak anot iin 0 , ortak katot iin 1 olmas gerekir. Gsterge ortak katotlu olduunda Port B klar 00111111 olmaldr. Bu atama ikilik olarak yaplabilecei gibi onluk veya onaltlk olarak da yaplabilir. Yukardaki ikilik saynn karl D "63" , H "3F" tir. Yani onluk 63 says ikilik olarak ifade edildiinde, karl B "00111111"dir. Bu da Port Bde "0" gsterir. Sonuta Port Bye atanan onaltlk veya onluk saysnn ikilik karldr.
91 Tablo 2.5te evrim tablosuna onaltlk veya onluk olarak yazdmz say, ikilik karlna evrilerek PIC portlarndan gstergeye aktarlr ve bir grnt oluur.
Gstergeye veri gndermek iin programda CALL RETLW komut ikilisi kullanlr. RETLW komutu RETURN komutu gibi bu da alt programdan ana programa dn iin kullanlr. Bu komut ana programa dnte karsnda yazlan deeri Write kaydedciye yazar. Bunun iin program counter (PC) kullanlr.
PCler PIClerde kullanlan bir kaydedicidir. PIC belleinin deerine gre 10 ila 14 bitlik olabilir. 10 bit yani 210 = 1024 byte olduundan ve PIC16F84n de 1 Kbytelk bir program bellei olduundan bunu adreslemek iin saycya 10-bit yeterlidir.
PIC16F84in PCsi 13 bittir. lk 8 biti PCL'dir ve bununla 256 byte adreslenir. Dier 5 biti PCH'tir ve bunun dorudan okunup yazlmas mmkn deildir, bu taraf ancak PLATCH kaydedicisi ile kullanlr. Programda PC olarak tm kaydedici bitleri kullanlrsa PLATCH kaydedicisinin st 2 bitini sfrlamak gerekir. Bu sebeple dar kapasiteli kullanmlarda PC yerine PCL yazlarak bunun nne geilir. (ADDWF PCL, F)
Devrede kullanlan gstergeyi srmek iin 7447 entegresi kullanlmtr. 7447 BCD kodunu 7 paral gstergeye dntrr. 7447 aktif sfrdr ve ortak anotlu gstergede kullanlr kullanlr. rnein, displayde 0 yazdrmak iin giriine 0000 uygulanrken knda 0000001 elde edilir. Bu ekilde G ledi dnda tm ledler yanar.
Gnderdiimiz veri 6 gstergenin sadece birinde grntlenir. Bunun iin gsterge semek gerekir. Ortak anotlu gstergede 1, ortak katotlu displayde ise 0 uygulanarak seme yaplr. Gstergenin 6 giriinden hangisi 1 olursa o gsterge seilir. Gsterge semek iin
Seme ileminde 6 giriin tamam PICin portlarna balanr. 1 bilgisi tm girilere kaydrlarak gnderilir. Tarama sresi ok ksa olduundan gstergedeki tm ledlerde ayn anda k elde edilir. Port says yeterli deilse seme ileminde sayc ya da kaydran kaydedici entegreleri kullanlr. Devremizde 4017nin 10lu sayc entegresi kullanlmtr. Saycya saat sinyali uygulandnda kndaki veriyi kaydrr ve sayma ilemini gerekletirir. Entegrenin aktif olmas iin Enable girii 0 olmaldr. Gstergeye veri yazma ileminde sayc entegresi resetlenmelidir. nk entegrenin tm klar kullanlmamtr.
Devrede ayr ayar butonu bulunmaktadr. Bunlar:
H butonu saati ayarlamak iin kullanlr. Saat 0 24 olarak ayarlanmtr. M butonu dakikay ayarlamak iin kullanlr. S butonu ise saniyeyi ayarlamak iin kullanlr.
TUS_ARA BTFSS PORTB,4 CALL SANIYE BTFSS PORTB,5 CALL DAKIKA BTFSS PORTB,6 CALL SAAT BTFSS PORTB,0 GOTO SAY CALL GOSTER GOTO TUS_ARA SAY BSF STATUS,5 : Bank 1 se. MOVLW B'10000100' : TMR0 seili MOVWF OPTION_REG : Prescaler d <-- 32 BCF STATUS, 5 : Bank 0 se. CALL GOSTER GOTO SAY
PORT_KUR;.......................................................................................................................... BSF STATUS,5 : Bank 1 se. MOVLW H'00' : Port A k MOVWF TRISA MOVLW H'F8' MOVWF TRISB MOVLW B'10100000' : GIE --> 1, T0IE -->1 MOVWF INTCON BCF STATUS,5 : Bank 0 se. RETURN
TEMIZLE;........................................................................................................................... MOVLW SAYI : lk register adresini tut. MOVWF FSR MOVLW H'0F' : 15 adet deikeni MOVWF I : sra ile SIFIR CLRF INDF : sfrla INCF FSR DECFSZ I GOTO SIFIR RETURN
95 GOSTER;............................................................................................................................ CALL RESET : Display reset MOVLW 6 : say dizisinin boyutu MOVWF I ;i <-- 4 MOVLW SAYI : say dizisinin balang adresini MOVWF FSR : FSR'e yaz. TARA MOVF INDF ,W : dizi elemann W'e yaz. MOVWF PORTA : Port Adan gnder. CALL GECIKME : Bir sre bekle. INCF FSR : Dizinin bir sonraki elemanna ula. CALL PALS : Bir sonraki dijiti se. DECFSZ I : Dizinin son elemanna ulald m? GOTO TARA : Hayr taramaya devam et. RETURN : Evet alt programdan k.
GECIKME;................................................................................................................ MOVLW H'FF' : COUNT <-- H'FF' MOVWF COUNT DON DECFSZ COUNT,F : COUNT=COUNT-1, C=0 MI? GOTO DON : Hayr. DON etiketine git. RETURN : Evet. Alt programdan k.
KESME;............................................................................................................................... MOVWF W_Y : W_Y <-- W MOVF STATUS,W MOVWF STATUS_Y :_STATUS <--- STATUS CALL TIMER : TIMER alt programn ar. MOVF STATUS_Y,W MOVWF STATUS : STATUS deerini geri ykle. MOVF W_Y,W : W deerini geri ykle. RETFIE
Proje uygulamasnda grup almas yaplacak ve her bir grup farkl bir proje konusu tespit edecektir. Aada rnek projeler verilmitir.
2.4.1. Proje 1
Drt Kavakl Yolun Trafik Lamba Uygulamas
stteki ekilde grld gibi 4 ayr lamba grubu bulunmaktadr. L1- L2 - L3 ve L4 gruplarnda sar, krmz ve yeil lambalar bulunmaktadr. Lambalarn yank kalma sreleri ve hangi yolun nce balayaca programcya braklmtr. Sistem BASLA butonu ile balayacaktr.
L1 L2 L3 L4
100 Devrenin ak diyagram karlr. ASM program yazlr. Devre iin gerekli malzemeler ayarlanr. Devre emas izilir. Bask devresi karlr. PIC programlanr. Devre elemanlarnn montaj yaplarak devre altrlr.
2.4.2. Dijital Saat Uygulamas
Saat 7 paral gsterge ve LCD gsterge ile yaplacaktr. Saat ayarlanabilir olacak. Saat, dakika ve saniye ayar iin ayr butonlar bulunacak. Ayar yapldktan sonra saatin almas BALA butonu ile balatlacaktr.
Devrenin ak diyagram karlr. ASM program yazlr. Devre iin gerekli malzemeler ayarlanr. Devre emas izilir. Bask devresi karlr. PIC programlanr. Devre elemanlarnn montaj yaplarak devre altrlr.
2.4.3. Termometre Uygulamas
Scaklk LM35DZ sensr ile llecek, analog sinyal dijital sinyale dntrlecek ve LCD ekrannda gsterilecektir. LCDnin ilk satrnda SICAKLIK yazdrlacak ve ikinci satrnda ise llen scakln deeri yazdrlacaktr.
Devrenin ak diyagram karlr. ASM program yazlr. Devre iin gerekli malzemeler ayarlanr. Devre emas izilir. Bask devresi karlr. PIC programlanr. Devre elemanlarnn montaj yaplarak devre altrlr.
2.4.4. Bipolar Adm Motor Denetimi
Mikrodenetleyici ile bipolar adm motorunu dndrmektedir. Sistemde 2 buton kullanlmtr. Butonlardan biri motorun hzn artrmakta dieri ise motorun hzn azaltmaktadr.
Devrenin ak diyagram karlr.
101 ASM program yazlr. Devre iin gerekli malzemeler ayarlane. Devre emas izilir. Bask devresi karlr. PIC programlanr. Devre elemanlarnn montaj yaplarak devre altrlr.
2.4.5. ifreli Kilit Uygulamas
ifrenin yazm iin devrede 16 ve 12lik tu takm kullanlacaktr. ifre programc tarafndan programda belirlenecektir. ifre yanl girildiinde tekrar ifre girilebilecektir. ifre doru girildiinde kapya bal olan elektronik kilit alacaktr. Bu kilit bir transistr ve role ile kontrol edilebilir.
Devrenin ak diyagram karlr. ASM program yazlr. Devre iin gerekli malzemeler ayarlanr. Devre emas izilir. Bask devresi karlr. PIC programlanr. Devre elemanlarnn montaj yaplarak devre altrlr.
102
UYGULAMA FAALYET Sistemin yazlmn programlayp mikrodenetleyici ile altrnz.
lem Basamaklar neriler Kurulacak sistem iin ihtiyalar (devre elemanlarn) tespit ediniz. htiyacnz karlayacak mikrodenetleyiciyi seiniz. Sisteminin almas iin gerekli program yaznz. Program mikrodenetleyiciye ykleyiniz. evre elemanlar ile devreyi kurunuz. Mikrodenetleyici olarak PIC 16F84 kullannz. Program yazdktan sonra MPLAB ile deneyiniz. Program mikrodenetleyiciye yklerken kullanlan PIC programlaycya uygun yazlm kullannz. Devreyi Proteus programnda altrarak deneyiniz. Devre iin gerekli giri elemanlar ve zelliklerini belirleyiniz. Devre iin gerekli k elemanlar ve zelliklerini tespit ediniz. Devrenin bask devre emasn kartnz. Devre elemanlarnn ve mikrodenetleyicinin montajn yapnz. Kullandnz devre elemanlarnn zelliklerini internetten aratrnz. Bask devreyi, devre emasn Proteus programndan Ares programna aktrarak karnz. Devrenin montajn yapmadan nce bredboard zerinde kurarak deneyiniz.
KONTROL LSTES
Bu faaliyet kapsamnda aada listelenen davranlardan kazandnz beceriler iin Evet, kazanamadklarnz iin Hayr kutucuklarna ( X ) iareti koyarak rendiklerinizi kontrol ediniz.
Deerlendirme ltleri Evet Hayr 1. Kurulacak sistem iin ihtiyalar tespit ettiniz mi?
Deerlendirme sonunda Hayr eklindeki cevaplarnz bir daha gzden geiriniz. Kendinizi yeterli grmyorsanz renme faaliyetini tekrar ediniz. Btn cevaplarnz Evet ise lme ve Deerlendirmeye geiniz. UYGULAMA FAALYET
103
LME VE DEERLENDRME Aadaki cmlelerde bo braklan yerlere getirilecek bilgilerin bulunduu seenei iaretleyiniz.
1. LCDye veri yazmak iin E giriine hangi kenar tetiklemeli sinyal uygulanmaldr? A) Den kenar B) Ykselen kenar C) Pozitif seviye D) Negatif seviye
2. DECFSZ, CX komutunun grevi nedir? A) CX deikenini bir artr, eer sfrsa bir alt komuta git. B) CX deikenini bir artr. C) CX deikenini bir azalt, eer sfrsa bir alt komuta git. D) CX deikenini bir azalt.
4. LCDye komut yazdrmak iin RW, RS, E komutlarnn deeri aadakilerden hangisidir? RW RS E A) 0 0 10 B) 1 1 10 C) 0 0 01 D) 1 0 10
5. PORTBnin bacaklarn giri k giri k k giri giri k olarak ayarlamak iin aadaki girilerden hangisi uygulanmaldr? RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0 A) 1 0 1 0 0 0 0 1 B) 1 1 1 1 0 0 0 1 C) 0 1 0 1 0 1 1 0 D) 1 0 1 0 0 1 1 0
DEERLENDRME
Cevaplarnz cevap anahtaryla karlatrnz. Yanl cevap verdiiniz ya da cevap verirken tereddt ettiiniz sorularla ilgili konular faaliyete geri dnerek tekrarlaynz. Cevaplarnzn tm doru ise Modl Deerlendirmeye geiniz. LME VE DEERLENDRME
104
MODL DEERLENDRME Aadaki cmlede bo braklan yere getirilecek bilgilerin bulunduu seenei iaretleyiniz.
1. INTCON kaydedicisi uygulamalarnda kullanlr. Bolua aadakilerden hangisi gelmelidir? A) Giri B) k C) Kesme D) Reset
2. Bit test etmek iin kullanlan komut.. dir. Bolua aadakilerden hangisi gelmelidir? A) BTFSS B) IORLW C) DECFSZ D) SUBWF
Aadaki sorular dikkatlice okuyunuz ve doru seenei iaretleyiniz.
3. STATUS registerinde bulunan RP0 ve RP1 bitlerinin grevi aadakilerden hangisidir? A) Kesmenin geerli olmas iin kullanlr. B) lemlerde tama meydana geldiinde kullanlr. C) lemlerin sonucu sfr olduunda kullanlr. D) Bank deitirmek iin kullanlr.
4. PIC16F84te kesme meydana geldiinde program hangi adrese atlamaktadr? A) H00 B) H02 C) H04 D) H06
5. Aadaki seeneklerden hangisi PICi programlamak iin gerekli deildir? A) MPSAM ASM derleyici B) PIC programlayc C) MPLAB PFE D) PROTEUS program
6. LCDye veri yazmak iin E giriine hangi kenar tetiklemeli sinyal uygulanmaldr? A) Den kenar B) Ykselen kenar C) Pozitif seviye D) Negatif seviye
MODL DEERLENDRME
105 7. DECFSZ, CX komutunun grevi nedir? A) CX deikenini bir artr, eer sfrsa bir alt komuta git. B) CX deikenini bir artr. C) CX deikenini bir azalt, eer sfrsa bir alt komuta git. D) CX deikenini bir azalt.
9. LCDye komut yazdrmak iin RW, RS, E komutlarnn deeri aadakilerden hangisidir? RW RS E A) 0 0 10 B) 1 1 10 C) 0 0 01 D) 1 0 10
10. PORTBnin bacaklarn giri k giri k k giri giri k olarak ayarlamak iin aadaki girilerden hangisi uygulanmaldr? RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0 A) 1 0 1 0 0 0 0 1 B) 1 1 1 1 0 0 0 1 C) 0 1 0 1 0 1 1 0 D) 1 0 1 0 0 1 1 0
DEERLENDRME
Cevaplarnz cevap anahtaryla karlatrnz. Yanl cevap verdiiniz ya da cevap verirken tereddt ettiiniz sorularla ilgili konular faaliyetlere geri dnerek tekrarlaynz. Cevaplarnzn tm doru ise bir sonraki modle gemek iin retmeninize bavurunuz.
106
CEVAP ANAHTARLARI RENME FAALYET-1N CEVAP ANAHTARI
1 C 2 D 3 C 4 D 5 A
RENME FAALYET-2NN CEVAP ANAHTARI
1 A 2 C 3 B 4 B 5 D
MODL DEERLENDRMENN CEVAP ANAHTARI 1 C 2 A 3 D 4 C 5 D 6 A 7 C 8 B 9 B 10 D
CEVAP ANAHTARLARI
107
KAYNAKA
ALTINBAAK Orhan, Mikrodenetleyiciler ve PIC Programlama, stanbul, 2000.
Doan BRAHIM, Hamit I. MUSTAFA, PIC Programlama ve leri PIC Projeleri, stanbul, 2004.