7 Segment Display ve Kesmeler (Interrupts) Hafta6-7. Dr. Bülent Çobanoğlu-SAÜ 1

Save this PDF as:
 WORD  PNG  TXT  JPG

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "7 Segment Display ve Kesmeler (Interrupts) Hafta6-7. Dr. Bülent Çobanoğlu-SAÜ 1"

Transkript

1 7 Segment Display ve Kesmeler (Interrupts) Hafta6-7 Dr. Bülent Çobanoğlu-SAÜ 1

2 Çevrim Tabloları Ve 7 Segment Display Uygulaması Çevrim / Bakış tabloları ile bir kodu başka bir koda dönüştürmek için kullanılırlar. Örneğin PIC mikro denetleyiciyi portlarına bağlı 7 Segment display / gösterge üzerinde hexadecimal (onaltılık tabandaki) sayıları göstermek, sıcaklık dönüşümü(derece-fahrenayt gibi) yapma, sinus, kosinus alma gibi işlemlerde dönüşüm/çevrim tabloları kullanılır. 7 Segment display 7 adet çubuk ledin bir rakam oluşturacak şekilde bir araya gelmesi ile oluşan bir elemandır. 7 segment displayler ortak anot ve ortak katotlu olmak üzere iki farklı şekilde bulunurlar. YRD.DOC.Dr.BÜLENT ÇOBANOĞLU

3 Çevrim Tabloları Ve 7 Segment Display Uygulaması 7 segment displaylerin içerisinde aslında 8 adet led bulunmaktadır. Her bir segment bu ledler ile oluşturulmuştur ve göstergenin hangi segmentinin yanmasını istiyor isek o ledi yakarız. Ortak anotlu display: tüm ledlerin anotları birleştirilmiştir ve bu uca +5V uygulanır. Katota şase gelen led yanar. Yanmasını istediğimiz lede +0V (logic 0) verilir. Ortak katotlu display: tüm ledlerin katotları birleştirilmiştir ve bu uç şaseye bağlanır. Yanmasını istediğimiz lede +5V (logic 1) verilir. YRD.DOC.Dr.BÜLENT ÇOBANOĞLU. G F E D C B A 0 b ' 1 b b ' 3 b ' 4 b b b b b b A b b b C b d b E b F b

4 Assembly dilinde çevrim tablosunda uygun kodu seçmek için program sayıcıyı (PCL Program Counter), seçilen kodu ana programa göndermek için de RETLW komutunu kullanırız Birden fazla display bağlantısı Çevrim tablosundaki verilere sıralı olarak erişerek PCL ye yani o anki adrese istediğimiz sayıyı ekleyerek istediğimiz adrese / elemana ulaşırız. PCL nin o anki değerine ADDWF ile istediğimiz sayıyı ekleriz. Kullanım Şekli: ADDWF PCL, F İstediğimiz değeri geri döndürecek komut ise RETLW (RETLW h 3F gibi) dir. RETLW komutu ile alt alta yazılan sayı değerleri dt komutu yanyana yazılabilir. DIZI ADDWF PCL, F dt 0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D,0x7D, 0x07, 0x7F,... YRD.DOC.Dr.BÜLENT ÇOBANOĞLU

5 Uygulama-1: 0 dan 9 kadar olan sayıları PORTB uçlarına bağlı 7 segment display de gösteren programı 7447 entegresi ile (bakış tablosu kullanmadan) gerçekleştiriniz. Hazırlayan: Dr.Bülent ÇOBANOĞLU 5

6 Uygulama 2: 7 segment display de 6 sayısını gösteren programı yazınız. // C programı #include <xc.h> const unsigned char dizi[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d, 0x7D; void main(void) // Ana fonksiyon alanı { TRISB=0x00; // PORTB çıkıs PORTB=0x00; for(;;) // Sonsuz döngüye giriliyor { PORTB=dizi[6]; //7 segment değerini al YRD.DOC.Dr.BÜLENT ÇOBANOĞLU ;Assembly LIST P=16F877 #INCLUDE "P16F877.INC" ORG 0X00 goto BASLA BASLA CLRF PORTB BANKSEL TRISB CLRF TRISB BANKSEL PORTB MOVLW.6 CALL DIZI MOVWF PORTB DON GOTO DON DIZI ADDWF PCL,F RETLW b' ' ;W ya 0 değeri yüklendi RETLW b' ;W ya 1 değeri yüklendi RETLW b' ;W ya 2 değeri yüklendi RETLW b' ' ;W ya 3 değeri yüklendi RETLW b' ;W ya 4 değeri yüklendi RETLW b' ;W ya 5 değeri yüklendi RETLW b' ' ;W ya 6 değeri yüklendi RETLW b' ;W ya 7 değeri yüklendi RETLW b' ' ;W ya 8 değeri yüklendi RETLW b' ' ;W ya 9 değeri yüklendi END

7 Uygulama 3: 0 dan F ye kadar olan sayıları PORB uçlarına bağlı 7 segment display de 1 sn aralıklarla gösteren programı C dili ile gerçekleştiriniz. // 0 dan F e ileri sayıcı #include <xc.h> #define _XTAL_FREQ const unsigned char dizi[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f, 0x6F,0x77,0x7C, 0x39, 0x5E, 0x79, 0x71; unsigned char i; void main(void) // Ana fonksiyon alanı { TRISB=0x00; // PORTB çıkıs PORTB=0x00; for(i=0;i<=16;i++) // Sonsuz döngüye giriliyor { delay_ms(1000); PORTB=dizi[i]; //7 segment değerini al YRD.DOC.Dr.BÜLENT ÇOBANOĞLU

8 Uygulama 3: 0 dan F ye kadar olan sayıları 1sn gecikmeli PORB uçlarına bağlı 7 segment display de gösteren programı ASSEMBLY dili ile gerçekleştiriniz. LIST P=16F877 #INCLUDE "P16F877.INC" CBLOCK 0X20 SAY1,SAY2,SAY3,SAYAC ENDC ORG 0X00 goto BASLA BASLA CLRF PORTB BANKSEL TRISB CLRF TRISB BANKSEL PORTB CLRF SAYAC DON MOVF SAYAC,W ANDLW 0X0F ; SAYI 15 I GECMESİN CALL DIZI MOVWF PORTB CALL BEKLE INCF SAYAC,F GOTO DON DIZI ADDWF PCL,F dt h'3f',h'06',h'5b',h'4f',h'66',h'6d',h'7d',h'07' dt h'7f',h'6f',h'77',h'7c', h'39',h'5e',h'79',h'71' BEKLE MOVLW d'4' ;1s bekle MOVWF SAY1 BEKLE_250MS MOVLW d'250';250ms bekle MOVWF SAY2 BEKLE_1MS MOVLW d'249' MOVWF SAY3 LOOP NOP DECFSZ SAY3, F GOTO LOOP DECFSZ SAY2,F GOTO BEKLE_1MS DECFSZ SAY1,F GOTO BEKLE_250MS RETURN END

9 Uygulama 4: 9 Dan 0 A Geri Sayıcı // C kodu #include <xc.h> const unsigned char dizi[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x0 7,0x7F,0x6F; void bekle(){ for (int i=0;i<10000;i++) ; void main(void) // Ana fonksiyon alanı { char j=9; // Herhangi bir değisken tanımlanıyor TRISB=0x00; // PORTB çıkıs olarak yönlendiriliyor PORTB=0x00; for(;;) // Sonsuz döngüye giriliyor { PORTB=dizi[j]; // 7 segment değerleri alınıyor j--; bekle(); if(j<0) { j=9; YRD.DOC.Dr.BÜLENT ÇOBANOĞLU BASLA DISPLAY DIZI ;Assembly Kodu LIST P=16F877 INCLUDE "P16F877.INC" SAYAC EQU h 20' CLRF PORTB CLRF SAYAC BSF STATUS,5 CLRF TRISB BCF STATUS,5 INCF SAYAC,F MOVF SAYAC,W SUBLW d'10' BTFSS STATUS,Z GOTO DISPLAY MOVLW h'00' MOVWF SAYAC GOTO DISPLAY GOTO BASLA CALL DIZI MOVWF PORTB GOTO BASLA ADDWF PCL,F RETLW b' RETLW b' ' RETLW b' ' RETLW b' ' RETLW b' ' RETLW b' ' RETLW b' ' RETLW b' ';7 RETLW b' ' RETLW b' ' END ;W=10-W ;0GFEDCBA

10 Uygulama-5: 0 dan 9 kadar olan sayıları PORB uçlarına bağlı 7 segment display de gösteren timer gecikmeli (ileri sayıcı) Assembly programını gerçekleştiriniz. TRISB PORTB BASLA DON LIST P=16F877 #INCLUDE<P16F877.INC> SAYAC EQU h'20' CLRF PORTB BSF STATUS,5 ; BANKSEL CLRF TRISB MOVLW b' ' MOVWF OPTION_REG BCF STATUS,5 ; BANKSEL CLRF SAYAC MOVF SAYAC,W CALL DIZI CALL GECIKME MOVWF PORTB INCF SAYAC,F CALL GECIKME GOTO DON DIZI ADDWF PCL,F RETLW b' ' RETLW b' ' RETLW b' ' RETLW b' RETLW b' ' RETLW b' ' RETLW b' ' RETLW b' ' RETLW b' ' RETLW b' GECIKME CLRF TMR0 DON1 BTFSS INTCON, T0IF GOTO DON1 BCF INTCON, T0IF RETURN END YRD.DOC.Dr.BÜLENT ÇOBANOĞLU

11 Uygulama 6: arası sayıcı C Kodu: #define _XTAL_FREQ #include <xc.h> int A[]={0x3F,0x06,0x5B,0x4F,0x66, 0x6D,0X7D,0x07,0x7F,0x6F; void goster(char i) { PORTA=0x02; // RA1 aktif PORTB=A[i/10]; // Onlar basamağı delay_ms(100); // Bekle PORTA=0x01; // RA0 aktif PORTB=A[i%10]; // Birler basamağı delay_ms(100); void main() { unsigned char i=0; TRISB=0; TRISA=0; ADCON1=0x07; PORTA=0; PORTB=0; for (;;) { i++; if (i>99) i=0; goster(i); YRD.DOC.Dr.BÜLENT ÇOBANOĞLU

12 Uygulama 7: Timer gecikmeli 0-99 arası void main() { TRISB=0; TRISA=0; ADCON1=0x07; PORTA=0; PORTB=0; T0CS=0; //TMR0 kaynağı PSA=0; // ön bölücü PS0=1; PS1=1; PS2=1; TMR0=0; T0IE=1; T0IF=0; GIE=1; // Genel kesme izni veriliyor for (;;) { goster(); YRD.DOC.Dr.BÜLENT ÇOBANOĞLU #define _XTAL_FREQ #include <xc.h> unsigned char sayac=0; const unsigned int A[]={0x3F,0x06,0x5B,0x4F,0x66, 0x6D,0X7D,0x07,0x7F,0x6F; static void interrupt olay(void){ if (sayac==100) { sayac=0; T0IF=0;//TMR0 bayrağını temizle TMR0=0; void goster() { sayac++; PORTA=0x02; // RA1 aktif PORTB=A[sayac/10]; // Onlar basamağı delay_ms(50); // Bekle PORTA=0x01; // RA0 aktif PORTB=A[sayac%10]; // Birler basamağı delay_ms(50);

13 Uygulama 8: a İleri-Geri Sayıcı (Tarama Yöntemi ile) YRD.DOC.Dr.BÜLENT ÇOBANOĞLU

14 Uygulama 8: a İleri-Geri Sayıcı (Tarama Yöntemi ile) [1/2] YRD.DOC.Dr.BÜLENT ÇOBANOĞLU

15 Uygulama 8: a İleri-Geri Sayıcı (Tarama Yöntemi ile) [2/2] YRD.DOC.Dr.BÜLENT ÇOBANOĞLU

16 Uygulama 8: Trafik Işığı Program Parçası BASLA CLRW DON SINYAL MOVWF DURUM CALL SINYAL ; DURUMU DEĞİŞTİR. MOVWF PORTB ; SINYAL DEĞERINI PORTB DE GOSTER INCF ANDLW 0X03 DURUM,W ; DURUMU BİR ARTIR, SONUCU W YA YAZ. MOVWF DURUM CALL GECIKME ; BEKLE :-) GOTO DON MOVF DURUM,W ; DURUMU W YA TAŞI. ADDWF PCL,F RETLW 0X41 RETLW 0X23 RETLW 0X14 RETLW 0X32 ; MAKSIMUM 3 E KADAR ARTIR. B7 B6 B5 B4 B3 B2 B1 B0 ; W İÇERİĞİNİ DURUM DEĞİŞKENİNE AKTAR ; DURUM==0 İSE YEŞİL VE KIRMIZI(RB6,RB0) ; DURUM==1 İSE SARI VE KIRMIZI/SARI (RB5, RB0/RB1) ; DURUM==2 İSE KIRMIZI VE YEŞİL (RB4,RB2) 0 Y S K 0 Y S K ; DURUM==3 İSE KIRMIZI/SARI VE SARI (RB4/RB5, RB1 K S Y K S Y YRD.DOC.Dr.BÜLENT ÇOBANOĞLU

17 Örnek Uygulama 8: Trafik Işığı Programı Tamamı K S Y K S Y B7 B6 B5 B4 B3 B2 B1 B0 0 Y S K 0 Y S K #include <xc.h> void main() { unsigned char A[]={0X41, 0X23, 0X14, 0X32 ; TRISB=0; PORTB=0; while(1) { for (int i=0; i<4;i++) { YRD.DOC.Dr.BÜLENT PORTB=A[i]; ÇOBANOĞLU

18 Kesmeler Kesme, mikrodenetleyicinin gerçekleştirdiği işleme bakmaksızın belirli durumların veya olayların oluşması halinde isteklere/olaylara cevap verilmesini sağlayan mekanizmadır. Oluşan her kesme olayı ile programın normal işlenme süreci değiştirilerek program durdurulur ve kesme alt programı işletildikten sonra ana programın işlenmesi kalınan noktadan devam eder. Kesme kaynakları;

19 PIC16F877 Kesme Kaynakları ve Kaydedicileri YRD.DOC.Dr.BÜLENT ÇOBANOĞLU

20 RB0/INT KESME OLAYI RB0/INT girişinden harici olarak kesme oluşturulur. Bu girişe uygulanan interrupt sinyalinin hangi kenarda olacağı OPTION_REG 6. biti (INTEDG) ile belirlenir. INTCON 7.biti GIE ile kesmelerine izin verilir. INTCON 4. biti INTE ile kesmeye izin verilir. INTCON 1. biti INTF bitinin 1 olması kesme oluştuğunu 0 olursa harici kesme oluşmadığının bildirir. Programda kesme alt programı içerisind e INTF=0 yapılmalıdır. OPTION_REG INTCON

21 Uygulama:PORTB nin RB0/INT ucundan gelen bir kesme gerçekleşince kesme alt pr ogramında PORTD ye bağlı 7 segment displayde L karakterini gösteren programı Assembly ve C ile yazalım Program Algoritması: RB0/INT ucunu giriş olarak seç, OPTION_REG kaydedicisinin INTEDG biti ile düşen veya yükselen kenar tetiklemesini seç, INTCON kaydedicisinin GIE ve INTE bitleri 1 yapılarak kesmeye izin verilir, Kesme oluşup, program kesme alt programına dallandığında INTF bitini 0 yap. Yrd.Doç.Dr. Bülent ÇOBANOĞLU

22 Örnek: RB0 girişine bağlı butonun harici kesme mekanizması kullanılarak RD0 a bağlı olan LED Toggle olarak çalıştırması istenmektedir. #include <htc.h> #define LED RD0 interrupt kesme(){ if(intf){ main(){ TRISD0=0; LED=1; INTF=0; INTE=1; INTEDG=0; GIE=1; while(1); // RB0 kesme bayrağı 1 ise INTF=0; // Bayrağı sıfırla ve LED=!LED; // Çıkış Led'ini tersle // Led için RD0'ın çıkış yapılması // Led yansın // RB0 kesme bayrağı // RB0 kesme yetkisi // Harici tetikleme girişi 1 -> Yükselen, 0->Düşen kenar // Global kesme yetkisi // Sonsuz döngüde kesme bekle

23 Çalışma Sorusu: 1. RB0 pinine bağlı olan bir tuşa her basıldığında kesme üreten ve PD4-PD7 pinlerine bağlı olan 4 adet led ile 0-9 arasında binary sayan program kodlarını yazın. 2. Şekilde çalışma devresi verilen Çamaşır makinesinin programını yazınız.

24 PORTB Değişim Kesme Olayı PORTB nin 4,5,6,7. pinlerinden en az birinde durum değişikliği olması durumunda RB Port değişimi kesme olayı meydana gelir. INTCON 7.biti GIE ile kesmelerine izin verilir. INTCON 3. biti RBIE biti ile kesmeye izin verilir. INTCON 0. biti RBIF kesme bayrağı biti PORTB nin 4,5,6,7 pinlerindeki değişikliği bildirir. INTCON

25 Örnek: PORTB nin 4,5,6,7 pinlerindeki butonlardan herhangi birisine basılması ile kesme alt programı çalışarak kesme olayı hangi pin de olduğunu PORTD nin 0,1,2,3 pinlerindeki LED lerde görülmesi.

26 Örnek: PORTB nin 4,5,6,7 pinlerindeki butonlardan herhangi birisine basılması ile kesme alt programı çalışarak kesme olayı hangi pin de olduğunu PORTD nin 0,1,2,3 pinlerindeki LED lerde gösteren Assembly programı. LIST P=16F877 INCLUDE "P16F877.INC" ORG 0X00 GOTO BASLA ORG 0X04 KESME GOTO KESME BASLA D1 BSF STATUS,5 MOVLW 0XF0 MOVWF TRISB D2 CLRF TRISD BCF STATUS,5 CLRF PORTD D3 CLRF PORTB BSF INTCON,RBIE BSF INTCON,GIE D4 GOTO BASLA BCF INTCON,RBIF BTFSS PORTB,4 GOTO D1 BSF PORTD,0 BTFSS PORTB,5 GOTO D2 BSF PORTD,1 BTFSS PORTB,6 GOTO D3 BSF PORTD,2 BTFSS PORTB,7 GOTO D4 BSF PORTD,3 RETFIE END

27 TMR0 Kesmesi TMR0 taştığında kesme oluşur. INTCON 7.biti GIE ile kesmelerine izin verilir. INTCON 5. biti T0IE biti ile kesmeye izin verilir. INTCON 2. biti T0IF kesme bayrağı ile kesme belirlenir. INTCON

28 Örnek: TMR0 kesme mekanizmasını kullanarak RD0 çıkışında 10 hz lik bir kare dalga sinyal elde ediniz. #include <htc.h> #define LED RD0 /*TMR0 taştığında çağırılır*/ interrupt KesmeTMR0(){ if(t0if){ TMR0=-200; main(){ LED=!LED; T0IF=0; // Kesme oldu ise // TMR0'a başlangıç değerini yeniden ata. // LED'ini değille. // Kesme bayrağını sıfırla. TRISD0=0; // RD0 çıkış T0CS=0; // TMR0, Timer olarak çalışsın T0SE=1; // Yükselen kenar tetikleme PSA=0; // WDT pasif T/C aktif PS0=1; // Ön yükleyici 111 => 256'e bölünecek PS1=1; // OSC=4 MHz, Timer => 1Mhz / 256 PS2=1; // Timer bir sayması 256 usn TMR0=-200; // TMR0=-200 => 256 usn x 200 = usn T0IF=0; // TMR0 kesme bayrağını resetle T0IE=1; // TMR0 kesmesi aktif GIE=1; // Global kesme aktif while(1); // Kesme bekle

29 TMR1 Kesmesi TMR1 taştığında kesme oluşur. INTCON 7.biti GIE ile global olarak kesmeye izin verilir. INTCON 6.biti PEIE ile çevre birim kesmelerine izin verilir. PIE1 0.biti TMR1IE ile kesmelerine izin verilir. PIR1 0.biti TMR1IF ile kesme kontrol edilir.

30 Örnek.TMR1 kesme mekanizmasını kullanarak RD0 çıkışında 0,5 sn aralıklarla değişen bir kare dalga sinyal oluşturunuz. #include <xc.h> #define LED RD0 /* TMR1 kesme hizmet fonksiyonu (4 Mhz'lik kristalde 0,5sn aralıklarla bu fonksiyona girilir)*/ void main(){ LED=0; TRISD0=0; TMR1ON=1; TMR1CS=0; // RD0 portu çıkış // TMR1 aktif // Dahili clock (timer) T1CKPS0=1; // Ön Bölücü 11 T1CKPS1=1; // 1:8 (8 usn) TMR1H=3036/256; // =3036 say TMR1L=3036%256; // sayma x 8 usn = 0.5 sn TMR1IF=0; resetle TMR1IE=1; PEIE=1; kesmeleri aktif GIE=1; while(1); // TMR1 kesme bayrağını // TMR1 kesmesi aktif // Çevre birim // Global kesme aktif // Kesme bekle void interrupt kesmetmr1() { if(tmr1if){ // Kesme geldi mi? TMR1H=3036/256; //0'lanan TMR1 a yeniden 3036 değeri yükle TMR1L=3036%256; // sayma x 8 usn = 0.5 sn LED=~LED; // Çıkış LED'ini tersle TMR1IF = 0; // TMR1 kesme bayrağını sıfırla. Açıklama: 4MHz, 1µSn dir ve sayım için Timer 1 i e kadar saydıracak olursak; Prescaler oranını 1:8 seçdiğimizde 62500*8= yani 0,5 sn lik gecikme demektir. O zaman bu örnekte TMR1 e başlangıç değeri olarak; =3036 değeri yüklenmelidir. Not: 3036 sayısının hex karşılığı:0x 0BDC de yüklenebilir.

31 Birden fazla kesmenin bir arada kullanılması interrupt Kesme(){ if(t0if){ // Timer kesmesi var mı?. if(intf){ // RB0 kesmesi var mı?.. if(tmr1if) { // TMR! Kesmesi var mı?.... if(rcif) { // Seri port alım kesmesi var mı?....

32 Örnek: 2 haneli çoğullamalı displayde 0-99 arası sayıların sayılması istenmektedir. Sayma işlemi RB0 a bağlı olan bir buton yardımıyla ve RB0 kesmesi ile yapılmalıdır. Display lere segment değerlerinin sıra ile gönderimi ise 1msn aralıklar la ve TMR0 kesmesi ile yapılmalıdır U1 OSC1/CLKIN RB0/INT OSC2/CLKOUT RB1 RB2 RA0/AN0 RB3/PGM RA1/AN1 RB4 RA2/AN2/VREF-/CVREF RB5 RA3/AN3/VREF+ RB6/PGC RA4/T0CKI/C1OUT RB7/PGD RA5/AN4/SS/C2OUT RC0/T1OSO/T1CKI RE0/AN5/RD RC1/T1OSI/CCP2 RE1/AN6/WR RC2/CCP1 RE2/AN7/CS RC3/SCK/SCL RC4/SDI/SDA MCLR/Vpp/THV RC5/SDO RC6/TX/CK RC7/RX/DT RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP7 PIC16F877A U2 A B C D BI/RBO RBI LT 7447 R1 10k QA QB QC QD QE QF QG

33 Örnek: Birden fazla kesmenin kullanılması (Çoğullamalı Display) #include <htc.h> #define segment PORTD #define OU1 RC6 #define OU2 RC7 main(){ TRISD=0xF0; // Segmentlerin bağlı olduğu PORTD'nin 4 biti çıkış yap TRISC6=0; // Display'in 1.Ortak ucu için PORTC'nin 6 bitini çıkış yap TRISC7=0; // Display'in 2.Ortak ucu için PORTC'nin 7 bitini çıkış yap T0CS=0; // TMR0, Timer olarak çalışsın T0SE=1; // Yükselen kenar tetikleme PSA=0; // WDT pasif T/C aktif PS0=0; // Ön yükleyici 001 => 4'e bölünecek PS1=0; // OSC=4 MHz, Timer => 1Mhz / 4 PS2=1; // Timer'ın bir sayması 4 usn TMR0=-250; // TMR0=-250 => 250 sayıp taşacak yani 4 usn x 250 =1 msn T0IF=0; // TMR0 kesme bayrağını resetle T0IE=1 // TMR0 kesmesi aktif INTF=0 // RB0 kesme bayrağını resetle INTE=1 // RB0 kesme yetkisi INTEDG=0; // Harici kesme tetikleme giriş 0 -> Yükselen, 1->Düşen kenar GIE=1; // Global kesme aktif while(1); // Kesme bekle

34 Örnek: Birden fazla kesmenin kullanılması (Çoğullamalı Display) /*TMR0 taştığında veya RB0 kesmesi geldiğinde çağırılır*/ interrupt KesmeTMR0(){ static unsigned char sayac=0; //Butona her badıldığında oluşacak sayıyı tutan değişken static bit durum=0; // Timer taşınca farklı segmente değer gönderimini sağlayacak değişken. if(t0if){ // Timer taştı mı? (1 msn oldu mu?) durum=!durum; // durum değişkeni tersle if(durum){ // Eğer durum=1 ise display'e sayac'ın birler basamağını gönder OU1=0; // Soldaki Display' pasif et segment=sayac%10; // Sayının birler basamağını segmentlere gönder OU2=1; // Sağdaki displayi aktif et else{ // Eğer durum=1 ise display'e sayac'ın birler basamağını gönder OU2=0; // Sağdaki Display'i pasif et segment=sayac/10; // Sayının onlar basamağını segmentlere gönder OU1=1; // Soldaki displayi aktif et TMR0=-250; // TMR0'a başlangıç değerini yeniden ata. T0IF=0; // Timer Kesme bayrağını sıfırla. if(intf){ // RB0 kesmesi oldu mu? (Butona basıldımı) sayac=(++sayac)%99; // Sayma sayısını maksimum 99'a kadar bir arttır. INTF=0; // RB0 kesme bayrağını sıfırla

35 Seriport Kesmeleri Seriport tan bir karakter gönderimi bittiğinde veya karakter alımı bittiğinde seriport kesmesi oluşur. INTCON 7.biti GIE ile global olarak kesmeye izin verilir. INTCON 6.biti PEIE ile çevre birim kesmelerine izin verilir. PIE1 4. ve 5.bitleri olan RCIE ve TXIE ile kesmelere izin verilir. PIR1 4. ve 5. bitleri olan TXIF ve RCIF ile kesmeler kontrol edilir.

36 Seri port kesme işleyişi YRD.DOC.Dr.BÜLENT ÇOBANOĞLU

37 Örnek: 2 haneli çoğullamalı displayde 0-99 arası sayıların sayılması istenmektedir. Sayma işlemi RB0 a bağlı olan bir buton yardımıyla ve RB0 kesmesi ile yapılmalıdır. Display lere segment değerlerinin sıra ile gönderimi ise 1msn aralıklar la ve TMR0 kesmesi ile yapılmalıdır. Seriport kesmesi kullanılarak herhangi bir anda seriportttan s karakterine basılarak sayıcının sıfırlanması sağlanmalıdır. R1 10k U1 OSC1/CLKIN RB0/INT OSC2/CLKOUT RB1 RB2 RA0/AN0 RB3/PGM RA1/AN1 RB4 RA2/AN2/VREF-/CVREF RB5 RA3/AN3/VREF+ RB6/PGC RA4/T0CKI/C1OUT RB7/PGD RA5/AN4/SS/C2OUT RC0/T1OSO/T1CKI RE0/AN5/RD RC1/T1OSI/CCP2 RE1/AN6/WR RC2/CCP1 RE2/AN7/CS RC3/SCK/SCL RC4/SDI/SDA MCLR/Vpp/THV RC5/SDO RC6/TX/CK RC7/RX/DT RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP U2 A B C D BI/RBO RBI LT 7447 QA QB QC QD QE QF QG RXD TXD RTS CTS

38 Örnek: Birden fazla kesmenin kullanılması (Çoğullamalı Display+ Seriport) #include <htc.h> #define segment PORTD #define OU1 RC0 #define OU2 RC1 main(){ TRISD=0xF0; // Segmentlerin bağlı olduğu PORTD'nin 4 biti çıkış yap TRISC0=0; // Display'in 1.Ortak ucu için PORTC'nin 0 bitini çıkış yap TRISC1=0; // Display'in 2.Ortak ucu için PORTC'nin 1 bitini çıkış yap T0CS=0; // TMR0, Timer olarak çalışsın T0SE=1; // Yükselen kenar tetikleme PSA=0; // WDT pasif T/C aktif PS0=0; // Ön yükleyici 001 => 4'e bölünecek PS1=0; // OSC=4 MHz, Timer => 1Mhz / 4 PS2=1; // Timer'ın bir sayması 4 usn TMR0=-250; // TMR0=-250 => 250 sayıp taşacak yani 4 usn x 250 =1 msn T0IE=1; // TMR0 kesmesi aktif INTE=1; // RB0 kesme yetkisi INTEDG=0; // Harici kesme tetikleme giriş 0 -> Yükselen, 1->Düşen kenar RCIE=1; // Seriport alım kesmesi aktif TXIE=1; // Seriport gönderim kesmesi aktif PEIE=1; // Çevre birim kesmeleri aktif GIE=1; // Global kesme aktif UARTBaslat(); printf("\r Sayiciyi sifirlamak icin <s> tusuna basiniz..\n"); while(1); // Kesme bekle

39 Örnek: Birden fazla kesmenin kullanılması (Çoğullamalı Display+ Seriport) # /*TMR0 taştığında,rb0 kesmesi geldiğinde veya seriporttan karakter geldiğinde çağırılır*/ interrupt KesmeTMR0(){ static unsigned char sayac=0; //Butona her badıldığında oluşacak sayıyı tutan değişken static bit durum=0; // Her 1 msn'de farklı segmente değer gönderimini sağlayacak değişken. if(t0if){ // Timer taştı mı? (1 msn oldu mu?) durum=!durum; // durum değişkeni tersle if(durum){ // Eğer durum=1 ise display'e sayac'ın birler basamağını gönder OU1=0; // Soldaki Display' pasif et segment=sayac%10; // Sayının birler basamağını segmentlere gönder OU2=1; // Sağdaki displayi aktif et else{ // Eğer durum=1 ise display'e sayac'ın birler basamağını gönder OU2=0; // Sağdaki Display'i pasif et segment=sayac/10; // Sayının onlar basamağını segmentlere gönder OU1=1; // Soldaki displayi aktif et TMR0=-250; // TMR0'a başlangıç değerini yeniden ata. T0IF=0; // Timer Kesme bayrağını sıfırla. if(intf){ // RB0 kesmesi oldu mu? (Butona basıldımı) sayac=(++sayac)%99; // Sayma sayısını maksimum 99'a kadar bir arttır. INTF=0; // RB0 kesme bayrağını sıfırla if(rcif){ // seriporttan veri geldi mi? TXREG=RCREG; // Gelen verinin gözükmesi için yeniden gönder if(rcreg=='s' RCREG=='S') // Gelen karakter s(s) ise sayac=0; // Sayacı sıfırla RCIF=0; // Seriport alma bayrağını sıfırla

Yrd.Doç. Dr. Bülent ÇOBANOĞLU. Sakarya Üniversitesi, Teknoloji Fakültesi

Yrd.Doç. Dr. Bülent ÇOBANOĞLU. Sakarya Üniversitesi, Teknoloji Fakültesi B Yrd.Doç. Dr. Bülent ÇOBANOĞLU Sakarya Üniversitesi, Teknoloji Fakültesi Kesmeler Kesme (Interrupt), mikro denetleyicinin gerçekleştirdiği işleme bakmaksızın belirli durumların/olayların olması durumunda

Detaylı

PIC MIKRODENETLEYICILER-3: GECĠKME ve KESME PROGRAMLARI

PIC MIKRODENETLEYICILER-3: GECĠKME ve KESME PROGRAMLARI P I C 1 6 F 8 4 / P I C 1 6 F 8 7 7 K O M U T S E T İ PIC MIKRODENETLEYICILER-3: GECĠKME ve KESME PROGRAMLARI Hazırlayan:Öğr.Gör.Bülent ÇOBANOĞLU 1 Gecikme Programları Örnek 1: Tek bir döngü ile yaklaģık

Detaylı

# PIC enerjilendiğinde PORTB nin 0. biti 1 olacak #PIC enerjilendiğinde PORTA içeriğinin tersini PORTB de karşılık gelen biti 0 olacak

# PIC enerjilendiğinde PORTB nin 0. biti 1 olacak #PIC enerjilendiğinde PORTA içeriğinin tersini PORTB de karşılık gelen biti 0 olacak # PIC enerjilendiğinde PORTB nin 0. biti 1 olacak - LIST=16F84 - PORTB yi temizle - BANK1 e geç - PORTB nin uçlarını çıkış olarak yönlendir - BANK 0 a geç - PORT B nin 0. bitini 1 yap - SON ;pic tanıtması

Detaylı

PIC MCU da Komutların İşlem Süresi

PIC MCU da Komutların İşlem Süresi PIC MCU da Komutların İşlem Süresi PIC lerde dallanma komutları (GOTO, CALL, RETURN gibi ) hariç tüm Assembly dili komutları 1 saat saykılı (cycle) çeker. Hazırlayan: Dr.Bülent ÇOBANOĞLU 1 PIC in Bir Komutu

Detaylı

Komutların İşlem Süresi

Komutların İşlem Süresi Komutların İşlem Süresi PIC lerde ŞARTSIZ dallanma komutları (GOTO, CALL, RETURN gibi ) hariç tüm Assembly dili komutları 1 saat saykılı (cycle) çeker. ŞARTLI dallanma komutları ise normalde 1 saat saykılı

Detaylı

PIC MCU ile UYGULAMALAR

PIC MCU ile UYGULAMALAR PIC MCU ile UYGULAMALAR Gecikme Programları TMRO Gecikmesi 7 Segment Göstergeler Sayaç Örnekleri Trafik Sinyalizasyonu ADC-DAC Uygulamaları Kesmeler ve Uygulamaları Tuş Takımı (Keypad) Uygulamaları Paralel

Detaylı

BÖLÜM 2 INTERRUPT ve TIMER İŞLEMLERİ

BÖLÜM 2 INTERRUPT ve TIMER İŞLEMLERİ BÖLÜM 2 INTERRUPT ve TIMER İŞLEMLERİ 2.1) Hi-Tech te Interrupt İşlemleri Interrupt ya da diğer adıyla kesme, bir çok işlemin olmazsa olmazlarındandır. Pic16f877 de 15 ten fazla kesme kaynağı bulunur. Kesme

Detaylı

BSF STATUS,5 ;bank1 e geçiş CLRF TRISB ;TRISB=00000000 BCF STATUS,5 ;bank0 a geçiş

BSF STATUS,5 ;bank1 e geçiş CLRF TRISB ;TRISB=00000000 BCF STATUS,5 ;bank0 a geçiş +5V ĠġĠN ADI: PORTB DEKĠ LEDLERĠN ĠSTENĠLENĠ YAKMAK/SÖNDÜRMEK GND C F C F X R 5 U OSC/CLKIN RA0 OSC/CLKOUT RA RA RA RA/T0CKI PICFA RB RB RB RB RB RB 0 R R R R5 R R R R D D D D D5 D D D INCLUDE CONFIG P=FA

Detaylı

Mikroişlemciler Ara Sınav---Sınav Süresi 90 Dk.

Mikroişlemciler Ara Sınav---Sınav Süresi 90 Dk. HARRAN ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ Mikroişlemciler Ara Sınav---Sınav Süresi 90 Dk. 15 Nisan 2014 1) (10p) Mikroişlemcilerle Mikrodenetleyiceleri yapısal olarak ve işlevsel olarak karşılaştırarak

Detaylı

1. PORTB ye bağlı 8 adet LED i ikili sayı sisteminde yukarı saydıracak programı

1. PORTB ye bağlı 8 adet LED i ikili sayı sisteminde yukarı saydıracak programı 1. PORTB ye bağlı 8 adet LED i ikili sayı sisteminde yukarı saydıracak programı yazınız. SAYAC1 EQU 0X20 devam movlw B'00000000' call DELAY incf PORTB,f ;Akü ye 0' sabit değerini yaz. ;Aküdeki değer PORTB

Detaylı

Mikro denetleyicili Uygulama devresi bileşenleri

Mikro denetleyicili Uygulama devresi bileşenleri Mikro denetleyicili Uygulama devresi bileşenleri Bir PIC mikro denetleyici ile uygulama gerçekleştirebilmek için ; Besleme devresi, Reset sinyali, Osilatör devresi, Uygulama devresi elemanlarına İhtiyaç

Detaylı

İstanbul Teknik Üniversitesi IEEE Öğrenci Kolu

İstanbul Teknik Üniversitesi IEEE Öğrenci Kolu Step Motor Step motor fırçasız elektrik motorlarıdır. Step motorlar ile tam bir tur dönmeyi yüksek sayıda adımlara bölebilmek mümkündür (200 adım). Step motorları sürmek için, sürekli gerilim uygulamak

Detaylı

LCD (Liquid Crystal Display )

LCD (Liquid Crystal Display ) LCD (Liquid Crystal Display ) Hafif olmaları,az yer kaplamaları gibi avantajları yüzünden günlük hayatta birçok cihazda tercih edilen Standart LCD paneller +5 V ile çalışır ve genellikle 14 konnektor lü

Detaylı

PIC Mikrodenetleyiciler. Hazırlayan:Öğr.Gör.Bülent ÇOBANOĞLU 1

PIC Mikrodenetleyiciler. Hazırlayan:Öğr.Gör.Bülent ÇOBANOĞLU 1 PIC Mikrodenetleyiciler PIC MCU= CPU + I/O pinleri+ Bellek(RAM/ROM) Hazırlayan:Öğr.Gör.Bülent ÇOBANOĞLU 1 PIC Mikro denetleyici Programlama Assembly programlama dili, çoğu zaman özel alanlarda geliştirilen

Detaylı

UYGULAMA 05_01 MİKRODENETLEYİCİLER 5.HAFTA UYGULAMA_05_01 UYGULAMA_05_01. Doç.Dr. SERDAR KÜÇÜK

UYGULAMA 05_01 MİKRODENETLEYİCİLER 5.HAFTA UYGULAMA_05_01 UYGULAMA_05_01. Doç.Dr. SERDAR KÜÇÜK UYGULAMA 05_01 MİKRODENETLEYİCİLER 5.HAFTA Doç.Dr. SERDAR KÜÇÜK PORTB den aldığı 8 bitlik giriş bilgisini PORTD ye bağlı LED lere aktaran MPASM (Microchip Pic Assembly) Doç. Dr. Serdar Küçük SK-2011 2

Detaylı

PIC 16F84 VE TEK BUTONLA BĐR LED KONTROLÜ

PIC 16F84 VE TEK BUTONLA BĐR LED KONTROLÜ DERSĐN ADI : MĐKROĐŞLEMCĐLER II DENEY ADI : PIC 16F84 VE ĐKĐ BUTONLA BĐR LED KONTROLÜ PIC 16F84 VE TEK BUTONLA BĐR LED KONTROLÜ PIC 16F84 VE VAVĐYEN ANAHTAR ĐLE BĐR LED KONTROLÜ ÖĞRENCĐ ĐSMĐ : ALĐ METĐN

Detaylı

Program Kodları. void main() { trisb=0; portb=0; while(1) { portb.b5=1; delay_ms(1000); portb.b5=0; delay_ms(1000); } }

Program Kodları. void main() { trisb=0; portb=0; while(1) { portb.b5=1; delay_ms(1000); portb.b5=0; delay_ms(1000); } } Temrin1: PIC in PORTB çıkışlarından RB5 e bağlı LED i devamlı olarak 2 sn. aralıklarla yakıp söndüren programı yapınız. En başta PORTB yi temizlemeyi unutmayınız. Devre Şeması: İşlem Basamakları 1. Devreyi

Detaylı

KOMUT AÇIKLAMALARI VE ÖRNEKLERİ

KOMUT AÇIKLAMALARI VE ÖRNEKLERİ KOMUT AÇIKLAMALARI VE ÖRNEKLERİ Komut açıklamalarında kullanılan harflerin anlamları: F : File(dosya), kaynak ve bilgi alınan yeri ifade eder. D : Destination (hedef), işlem sonucunun kaydedileceği yer.

Detaylı

# PIC enerjilendiğinde PORTB nin 0. biti 1 olacak #PIC enerjilendiğinde PORTA içeriğinin tersini PORTB de karşılık gelen biti 0 olacak

# PIC enerjilendiğinde PORTB nin 0. biti 1 olacak #PIC enerjilendiğinde PORTA içeriğinin tersini PORTB de karşılık gelen biti 0 olacak # PIC enerjilendiğinde PORTB nin 0. biti 1 olacak - başla - LIST=16F84 - PORTB yi temizle - BANK1 e geç - PORTB nin uçlarını çıkış olarak yönlendir - BANK 0 a geç - PORT B nin 0. bitini 1 yap - SON ;pic

Detaylı

Hacettepe Robot Topluluğu

Hacettepe Robot Topluluğu Hacettepe Robot Topluluğu PIC Assembly Dersleri 4. Ders: Kesme Đşlemleri ve Timer Bileşeninin Kullanımı HUNRobotX - PIC Assembly Dersleri 4. Ders: Kesme Đşlemleri ve Timer Bileşeninin Kullanımı Yazan:

Detaylı

PIC TABANLI, 4 BASAMAKLI VE SER

PIC TABANLI, 4 BASAMAKLI VE SER PIC TABANLI, 4 BASAMAKLI VE SERİ BAĞLANTILI 7 SEGMENT LED PROJESİ Prof. Dr. Doğan İbrahim Yakın Doğu Üniversitesi, Mühendislik Fakültesi, Bilgisayar Mühendisliği Bölümü, Lefkoşa E-mail: dogan@neu.edu.tr,

Detaylı

Assembler program yazımında direkt olarak çizgi ile gösterilmemesine rağmen ekranınız ya da kağıdınız 4 ayrı sütunmuş gibi düşünülür.

Assembler program yazımında direkt olarak çizgi ile gösterilmemesine rağmen ekranınız ya da kağıdınız 4 ayrı sütunmuş gibi düşünülür. BÖLÜM 4 4. PIC PROGRAMLAMA Herhangi bir dilde program yazarken, öncelikle kullanılacak dil ve bu dilin editörünü kullanabilmek önemlidir. Biz bu işlem için Mplab programını kullanacağız. Bu sebeple aslında

Detaylı

LCD (Liquid Crystal Display)

LCD (Liquid Crystal Display) LCD (Liquid Crystal Display) LCD ekranlar bize birçok harfi, sayıları, sembolleri hatta Güney Asya ülkelerin kullandıkları Kana alfabesindeki karakterleri de görüntüleme imkanını verirler. LCD lerde hane

Detaylı

BÖLÜM 1 ALT PROGRAMLAR 1.1.ALTPROGRAM NEDİR?

BÖLÜM 1 ALT PROGRAMLAR 1.1.ALTPROGRAM NEDİR? 0 BÖLÜM 1 ALT PROGRAMLAR 1.1.ALTPROGRAM NEDİR? Programlamada döngü kadar etkili bir diğer kullanım şekli de alt programlardır. Bu sistemde işlemin birkaç yerinde lazım olan bir program parçasını tekrar

Detaylı

DERS 7 PIC 16F84 PROGRAMLAMA İÇERİK. PIC 16F84 örnek programlar Dallanma komutları Sonsuz döngü

DERS 7 PIC 16F84 PROGRAMLAMA İÇERİK. PIC 16F84 örnek programlar Dallanma komutları Sonsuz döngü DERS 7 PIC 16F84 PROGRAMLAMA İÇERİK PIC 16F84 örnek programlar Dallanma komutları Sonsuz döngü Ders 7, Slayt 2 1 PROGRAM 1 RAM bellekte 0x0C ve 0x0D hücrelerinde tutulan iki 8-bit sayının toplamını hesaplayıp

Detaylı

16F84 ü tanıt, PORTB çıkış MOVLW h FF MOWF PORTB

16F84 ü tanıt, PORTB çıkış MOVLW h FF MOWF PORTB MİKROİŞLEMCİLER VE MİKRODENETLEYİCİLER 1 - DERS NOTLARI (Kısım 3) Doç. Dr. Hakan Ündil Program Örneği 9 : Gecikme altprogramı kullanarak Port B ye bağlı tüm LED leri yakıp söndüren bir program için akış

Detaylı

DERS 12 PIC 16F84 ile KESME (INTERRUPT) KULLANIMI İÇERİK

DERS 12 PIC 16F84 ile KESME (INTERRUPT) KULLANIMI İÇERİK DERS 12 PIC 16F84 ile KESME (INTERRUPT) KULLANIMI İÇERİK KESME NEDİR KESME ÇEŞİTLERİ INTCON SAKLAYICISI RBO/INT KESMESİ PORTB (RB4-RB7) LOJİK SEVİYE DEĞİŞİKLİK KESMESİ Ders 12, Slayt 2 1 KESME PIC in bazı

Detaylı

MİKRODENETLEYİCİLER II DERS NOTLARI Prof. Dr. Hakan ÜNDİL Bahar-FİNAL KISMI

MİKRODENETLEYİCİLER II DERS NOTLARI Prof. Dr. Hakan ÜNDİL Bahar-FİNAL KISMI MİKRODENETLEYİCİLER II DERS NOTLARI Prof. Dr. Hakan ÜNDİL 2016-2017 Bahar-FİNAL KISMI (NOT: Derslerde işlenen diğer örnekler, Lab. Deneyi ve Sayı Sistemleri de Final sınavına dahildir) BÖLÜM 7 - LOJİK

Detaylı

T.C. MİLLÎ EĞİTİM BAKANLIĞI DENİZCİLİK MİKRODENETLEYİCİ 2

T.C. MİLLÎ EĞİTİM BAKANLIĞI DENİZCİLİK MİKRODENETLEYİCİ 2 T.C. MİLLÎ EĞİTİM BAKANLIĞI DENİZCİLİK MİKRODENETLEYİCİ 2 ANKARA 2013 Bu modül, mesleki ve teknik eğitim okul/kurumlarında uygulanan Çerçeve Öğretim Programlarında yer alan yeterlikleri kazandırmaya yönelik

Detaylı

Hyper Terminal programı çalıştırıp Uygun COM portu ve iletişim parametrelerinin ayarları yapılıp bekletilmelidir.

Hyper Terminal programı çalıştırıp Uygun COM portu ve iletişim parametrelerinin ayarları yapılıp bekletilmelidir. DENEY 1: PIC 16F84 DEN BİLGİSAYARA VERİ GÖNDERME Bu uygulamada verici kısım PIC16F84, alıcı kısım ise bilgisayardır. Asenkron iletişim kurallarına göre her iki tarafta aynı parametreler kullanılacaktır.

Detaylı

MİKROİŞLEMCİLER VE MİKRO DENETLEYİCİLER 2 DERS NOTLARI Prof. Dr. Hakan Ündil 2013-2014 Bahar-Final

MİKROİŞLEMCİLER VE MİKRO DENETLEYİCİLER 2 DERS NOTLARI Prof. Dr. Hakan Ündil 2013-2014 Bahar-Final MİKROİŞLEMCİLER VE MİKRO DENETLEYİCİLER 2 DERS NOTLARI Prof. Dr. Hakan Ündil 2013-2014 Bahar-Final BÖLÜM 7 - LOJİK İŞLEM KOMUTLARI 7.1. RLF Komutu (Bir bit Sola Kaydırma) Bir file register içinde bulunan

Detaylı

Hacettepe Robot Topluluğu

Hacettepe Robot Topluluğu Hacettepe Robot Topluluğu Makaleler PIC ile LED Yakıp Söndüren Devre PIC ile LED Yakıp Söndüren Devre Canol Gökel - 13 Ekim 2006 Giriş Merhaba arkadaşlar, bu makalemizde PIC'e yeni başlayanlar için basit

Detaylı

MİKRODENETLEYİCİLER 2 DERS NOTLARI Prof. Dr. Hakan ÜNDİL Bahar-Final Kısmı

MİKRODENETLEYİCİLER 2 DERS NOTLARI Prof. Dr. Hakan ÜNDİL Bahar-Final Kısmı MİKRODENETLEYİCİLER 2 DERS NOTLARI Prof. Dr. Hakan ÜNDİL 2014-2015 Bahar-Final Kısmı (NOT: Derslerde işlenen diğer örnekler de Final sınavına dahildir) BÖLÜM 7 - LOJİK İŞLEM KOMUTLARI 7.1. RLF Komutu (Bir

Detaylı

KONFİGÜRASYON BİTLERİ

KONFİGÜRASYON BİTLERİ MİKROİŞLEMCİLER VE MİKRODENETLEYİCİLER 1 - DERS NOTLARI (Kısım 2) Doç. Dr. Hakan Ündil INCLUDE Dosyalar Assembly programlarını yazarken kullanılacak register adreslerini (EQU) komutu ile tanımlamak hem

Detaylı

W SAYAC SAYAC SAYAC. SAYAC=10110110 ise, d=0 W 01001001

W SAYAC SAYAC SAYAC. SAYAC=10110110 ise, d=0 W 01001001 MOVLW k Move Literal to W k sabit değerini W saklayıcısına yükler. MOVLW h'1a' W 1A. Hexadecimal 1A sayısı W registerine yüklenir. MOVF f,d Move f f saklayıcısının içeriğini W veya f'e yükler. MOVF SAYAC,0

Detaylı

MİKRO DENETLEYİCİLER II DERS NOTLARI (VİZE KONULARI) Prof. Dr. Hakan Ündil Bahar-Vize

MİKRO DENETLEYİCİLER II DERS NOTLARI (VİZE KONULARI) Prof. Dr. Hakan Ündil Bahar-Vize MİKRO DENETLEYİCİLER II DERS NOTLARI (VİZE KONULARI) Prof. Dr. Hakan Ündil 2014-2015 Bahar-Vize BÖLÜM 7 - LOJİK İŞLEM KOMUTLARI 7.1. RLF Komutu (Bir bit Sola Kaydırma) Bir file register içinde bulunan

Detaylı

PIC MİKROKONTROLÖR TABANLI MİNİ-KLAVYE TASARIMI

PIC MİKROKONTROLÖR TABANLI MİNİ-KLAVYE TASARIMI PIC MİKROKONTROLÖR TABANLI MİNİ-KLAVYE TASARIMI Prof. Dr. Doğan İbrahim Yakın Doğu Üniversitesi, Bilgisayar Mühendisliği Bölümü, Lefkoşa, KKTC E-mail: dogan@neu.edu.tr, Tel: (90) 392 2236464 ÖZET Bilgisayarlara

Detaylı

Bank değiştirme Bir banktan diğerine geçmek için STATUS register denilen özel registerin 5. ve 6. bitinin durumunu değiştirmek gerekir.

Bank değiştirme Bir banktan diğerine geçmek için STATUS register denilen özel registerin 5. ve 6. bitinin durumunu değiştirmek gerekir. File register haritası Bank 0 Bank 1 0 00 INDF 0 80 INDF 0 01 TNF0 0 81 OPTION 0 02 PCL 0 82 PCL 0 03 STATUS 0 83 STATUS 0 04 FSR 0 84 FSR 0 05 PORT A 0 85 TRISA 0 06 PORT B 0 86 TRISB 0 07 0 87 EEPROM

Detaylı

MİKRODENETLEYİCİ GELİŞTİRME SETİ TASARIM VE UYGULAMALARI. öğrencilerine eğitimleri esnasında iş hayatında karşılaşabilecekleri kontrol işlemleri ve

MİKRODENETLEYİCİ GELİŞTİRME SETİ TASARIM VE UYGULAMALARI. öğrencilerine eğitimleri esnasında iş hayatında karşılaşabilecekleri kontrol işlemleri ve MİKRODENETLEYİCİ GELİŞTİRME SETİ TASARIM VE UYGULAMALARI Muciz ÖZCAN 1 Hidayet GÜNAY 2 1 Selçuk Üniversitesi KONYA 2 MPG Makine Prodüksiyon Grubu Arge- Müh. KONYA Özet Haberleşme, Elektronik, Kontrol ve

Detaylı

Mikroişlemciler. Microchip PIC

Mikroişlemciler. Microchip PIC Mikroişlemciler Microchip PIC Öğr. Gör. M. Ozan AKI r1.1 Microchip PIC Mikrodenetleyiciler www.microchip.com Microchip PIC Mikrodenetleyiciler Microchip PIC Mikrodenetleyiciler Microchip PIC Mikrodenetleyiciler

Detaylı

IŞIĞA YÖNELEN PANEL. Muhammet Emre Irmak. Mustafa Kemal Üniversitesi Mühendislik Fakültesi. Elektrik-Elektronik Mühendisliği Bölümü

IŞIĞA YÖNELEN PANEL. Muhammet Emre Irmak. Mustafa Kemal Üniversitesi Mühendislik Fakültesi. Elektrik-Elektronik Mühendisliği Bölümü IŞIĞA YÖNELEN PANEL Muhammet Emre Irmak Mustafa Kemal Üniversitesi Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği Bölümü e-posta: memreirmak@gmail.com ÖZET Işığa yönelen panel projesinin amacı,

Detaylı

BÖLÜM 3 CAPTURE/COMPARE/PWM ve TUŞ TAKIMI İŞLEMLERİ

BÖLÜM 3 CAPTURE/COMPARE/PWM ve TUŞ TAKIMI İŞLEMLERİ BÖLÜM 3 CAPTURE/COMPARE/PWM ve TUŞ TAKIMI İŞLEMLERİ 3.1) Hi-Tech te CCP İşlemleri Pic içerisinde dahili olarak bulunan CCP modülü Copture (yakalama), Compare (karşılaştırma) ve PWM bölümlerinin baş harflerinin

Detaylı

HUNRobotX - Makaleler - Hız Ayarlı Çoklu DC Motor Kontrolü. Makaleler Hız Ayarlı Çoklu DC Motor Kontrolü

HUNRobotX - Makaleler - Hız Ayarlı Çoklu DC Motor Kontrolü. Makaleler Hız Ayarlı Çoklu DC Motor Kontrolü Makaleler Hız Ayarlı Çoklu DC Motor Kontrolü Hız Ayarlı Çoklu DC Motor Kontrolü Yazan: Mustafa Tufaner, Düzenleyen: Canol Gökel - 18 Kasım 2006 Giriş Robotikte sıkça kullanılabilecek bir uygulama ile karşınızdayız.

Detaylı

LPC2104 Mikro Denetleyicisini KEIL İle Programlamak

LPC2104 Mikro Denetleyicisini KEIL İle Programlamak LPC2104 Mikro Denetleyicisini KEIL İle Programlamak Program yazabilmek için öncelikle komutları tanımamız ve ne işe yaradıklarını bilmemiz gerekir. Komutlar yeri geldikçe çalışma içerisinde anlatılacaktır.

Detaylı

Hacettepe Robot Topluluğu

Hacettepe Robot Topluluğu Hacettepe Robot Topluluğu Makaleler Geri Sayım Cihazı HUNRobotX - Makaleler - Geri Sayım Cihazı Geri Sayım Cihazı Yazan: Kutluhan Akman, Düzenleyen: Canol Gökel - 22 Ekim 2006 Giriş Hepinizin bazı macera

Detaylı

T.C. MİLLÎ EĞİTİM BAKANLIĞI MEGEP (MESLEKİ EĞİTİM VE ÖĞRETİM SİSTEMİNİN GÜÇLENDİRİLMESİ PROJESİ) ELEKTRİK ELEKTRONİK TEKNOLOJİSİ

T.C. MİLLÎ EĞİTİM BAKANLIĞI MEGEP (MESLEKİ EĞİTİM VE ÖĞRETİM SİSTEMİNİN GÜÇLENDİRİLMESİ PROJESİ) ELEKTRİK ELEKTRONİK TEKNOLOJİSİ T.C. MİLLÎ EĞİTİM BAKANLIĞI MEGEP (MESLEKİ EĞİTİM VE ÖĞRETİM SİSTEMİNİN GÜÇLENDİRİLMESİ PROJESİ) ELEKTRİK ELEKTRONİK TEKNOLOJİSİ MİKRODENETLEYİCİ İLE ANALOG İŞLEMLER ANKARA 2007 Milli Eğitim Bakanlığı

Detaylı

T.C. MİLLÎ EĞİTİM BAKANLIĞI ELEKTRİK ELEKTRONİK TEKNOLOJİSİ MİKRODENETLEYİCİYLE ANALOG İŞLEMLER 523EO0022

T.C. MİLLÎ EĞİTİM BAKANLIĞI ELEKTRİK ELEKTRONİK TEKNOLOJİSİ MİKRODENETLEYİCİYLE ANALOG İŞLEMLER 523EO0022 T.C. MİLLÎ EĞİTİM BAKANLIĞI ELEKTRİK ELEKTRONİK TEKNOLOJİSİ MİKRODENETLEYİCİYLE ANALOG İŞLEMLER 523EO0022 Ankara, 2012 I Bu modül, mesleki ve teknik eğitim okul/kurumlarında uygulanan Çerçeve Öğretim Programlarında

Detaylı

Yrd. Doç.Dr. Bülent ÇOBANOĞLU. Hazırlayan:Yrd.Doç.Dr.Bülent ÇOBANOĞLU 1

Yrd. Doç.Dr. Bülent ÇOBANOĞLU. Hazırlayan:Yrd.Doç.Dr.Bülent ÇOBANOĞLU 1 B Yrd. Doç.Dr. Bülent ÇOBANOĞLU Hazırlayan:Yrd.Doç.Dr.Bülent ÇOBANOĞLU 1 PIC Mikro denetleyici Programlama Assembly programlama dili, çoğu zaman özel alanlarda geliştirilen yazılımlarda kullanılan alt

Detaylı

ROBOT KOL BİTİRME PROJESİ DÖNEM İÇİ RAPORU

ROBOT KOL BİTİRME PROJESİ DÖNEM İÇİ RAPORU ROBOT KOL BİTİRME PROJESİ DÖNEM İÇİ RAPORU İSMAİL KAHRAMAN-ŞEYMA ÖZTÜRK 200713151027 200513152008 Robot Kol Mekanizması: Şekildeki robot-insan benzetmesinden yola çıkarak, bel kısmı tekerlekli ve sağa-sola-ileri-geri

Detaylı

T.C FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ EET-302 MİKROİŞLEMCİLER LABORATUVARI DENEY FÖYÜ

T.C FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ EET-302 MİKROİŞLEMCİLER LABORATUVARI DENEY FÖYÜ T.C FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHİSLİĞİ EET-302 MİKROİŞLEMCİLER LABORATUVARI DENEY FÖYÜ Doç. Dr. Melih Cevdet İNCE DENEYLER Deney_1: Program yazma, derleme, pic e yükleme,

Detaylı

PROGRAMLANABİLİR ZAMANLAYICI

PROGRAMLANABİLİR ZAMANLAYICI T.C. KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ PROGRAMLANABİLİR ZAMANLAYICI BİTİRME ÇALIŞMASI SULTAN ÜÇOK 203786 HAZİRAN,2011 TRABZON T.C. KARADENİZ TEKNİK

Detaylı

B.Ç. / E.B. MİKROİŞLEMCİLER

B.Ç. / E.B. MİKROİŞLEMCİLER 1 MİKROİŞLEMCİLER RESET Girişi ve DEVRESİ Program herhangi bir nedenle kilitlenirse ya da program yeniden (baştan) çalıştırılmak istenirse dışarıdan PIC i reset yapmak gerekir. Aslında PIC in içinde besleme

Detaylı

www.firatdeveci.com Sayfa 1

www.firatdeveci.com Sayfa 1 Ön Söz Antik Yunan da ilk kehribarın maddeleri çekmesiyle başlayan elektrik serüveni tarih içinde bir çok değişik formda bulunmuş, değişmiş, evrim geçirmiştir. Galvani, Volta, Faraday, Amperé ve Ohm un

Detaylı

Sistem Gereksinimleri: Uygulama Gelistirme: PIC Mikroislemcisinin Programlanmasi: PIC Programlama Örnekleri -1

Sistem Gereksinimleri: Uygulama Gelistirme: PIC Mikroislemcisinin Programlanmasi: PIC Programlama Örnekleri -1 PIC Programlama Örnekleri -1 Sistem Gereksinimleri: PIC programlayicinin kullanilabilmesi için; Win98 ve üstü bir isletim sistemi Paralel port 60 MB veya daha üstü disk alani gerekmektedir. Ancak programlama

Detaylı

Mikroişlemci: Merkezi işlem biriminin fonksiyonlarını tek bir yarı iletken tümleşik devrede birleştiren programlanabilir sayısal elektronik devre

Mikroişlemci: Merkezi işlem biriminin fonksiyonlarını tek bir yarı iletken tümleşik devrede birleştiren programlanabilir sayısal elektronik devre MİKRODENETLEYİCİLER Mikroişlemci: Merkezi işlem biriminin fonksiyonlarını tek bir yarı iletken tümleşik devrede birleştiren programlanabilir sayısal elektronik devre Mikrodenetleyici: Bir mikroişlemcinin

Detaylı

PİC HAKKINDA KISA KISA BİLGİLER GİRİŞ/ÇIKIŞ PORTLARI

PİC HAKKINDA KISA KISA BİLGİLER GİRİŞ/ÇIKIŞ PORTLARI PİC HAKKINDA KISA KISA BİLGİLER GİRİŞ/ÇIKIŞ PORTLARI Bazı pinler çevre birimleri ile çoklanmıştır. Peki bu ne demek? Mesela C portundaki RC6 ve RC7 pinleri seri iletişim için kullanılır. Eğer seri iletişimi

Detaylı

5.Eğitim E205. PIC16F628 ve PIC16F877 Hakkında Genel Bilgi IF THEN ELSE ENDIF HIGH-LOW GOTO-END- PAUSE Komutları Tanıtımı ve Kullanımı PIC16F628:

5.Eğitim E205. PIC16F628 ve PIC16F877 Hakkında Genel Bilgi IF THEN ELSE ENDIF HIGH-LOW GOTO-END- PAUSE Komutları Tanıtımı ve Kullanımı PIC16F628: 5.Eğitim E205 PIC16F628 ve PIC16F877 Hakkında Genel Bilgi IF THEN ELSE ENDIF HIGH-LOW GOTO-END- PAUSE Komutları Tanıtımı ve Kullanımı PIC16F628: PIC16F628 18 pine sahiptir.bu pinlerin 16 sı giriş / çıkış

Detaylı

MIKROBILGISAYARLAR ve PIC PROGRAMLAMA TEST ÇALIŞMA SORULARI

MIKROBILGISAYARLAR ve PIC PROGRAMLAMA TEST ÇALIŞMA SORULARI MIKROBILGISAYARLAR ve PIC PROGRAMLAMA TEST ÇALIŞMA SORULARI S1. Aşağıdaki eleman ya da birimlerden hangisi genel bir bilgisayar sisteminin donanımsal yapısında yer almaz? a) Mikroişlemci (CPU) b) Bellek

Detaylı

KESME (INTERRUPT) NEDİR?

KESME (INTERRUPT) NEDİR? KESME (INTERRUPT) NEDİR? Mikro işlemcilerle yeni çalışmaya başlayan çoğu kimseler, interrupt kelimesini duymalarına rağmen, kullanımlarının zor olduğu düşüncesiyle programları içerisinde kullanmaktan çekinirler.

Detaylı

Ön Söz. Fırat Deveci Ağustos 2009 fxdev@fxdev.org. Elektrik ve elektroniğe gönül veren herkese. FxDev.org Sayfa 1

Ön Söz. Fırat Deveci Ağustos 2009 fxdev@fxdev.org. Elektrik ve elektroniğe gönül veren herkese. FxDev.org Sayfa 1 Ön Söz Antik Yunan da ilk kehribarın maddeleri çekmesiyle başlayan elektrik serüveni tarih içinde bir çok değişik formda bulunmuş, değişmiş, evrim geçirmiştir. Galvani, Volta, Faraday, Amperé ve Ohm un

Detaylı

TUŞ TAKIMI (KEYPAD) UYGULAMALARI

TUŞ TAKIMI (KEYPAD) UYGULAMALARI 12. Bölüm TUŞ TAKIMI (KEYPAD) UYGULAMALARI Tuş Takımı (Keypad) Hakkında Bilgi Tuş Takımı Uygulaması-1 74C922 Tuş Takımı Enkoder Entegresi Tuş Takımı Uygulaması-2 (74C922 İle) Bu bölümde tuş takımı diğer

Detaylı

MİKRO DENETLEYİCİLER II DERS NOTLARI (Vize) Prof. Dr. Hakan Ündil Bahar

MİKRO DENETLEYİCİLER II DERS NOTLARI (Vize) Prof. Dr. Hakan Ündil Bahar MİKRO DENETLEYİCİLER II DERS NOTLARI (Vize) Prof. Dr. Hakan Ündil 2016-2017 Bahar (MİKRODENETLEYİCİLER I DERS NOTLARI nın devamıdır. Sadece VİZE için olan kısımdır) 6. BÖLÜM - ALT PROGRAMLAR Program içerisinde

Detaylı

5. BÖLÜM - DÖNGÜ (ÇEVRİM) ve Z BAYRAĞI

5. BÖLÜM - DÖNGÜ (ÇEVRİM) ve Z BAYRAĞI MİKRO DENETLEYİCİLER II DERS NOTLARI Prof. Dr. Hakan Ündil 2015-2016 Bahar-Vize (MİKRODENETLEYİCİLER I DERS NOTLARI nın devamıdır. Sadece VİZE için olan kısımdır) 5. BÖLÜM - DÖNGÜ (ÇEVRİM) ve Z BAYRAĞI

Detaylı

MİKRODENETLEYİCİLER ÖRNEK PROGRAMLAR

MİKRODENETLEYİCİLER ÖRNEK PROGRAMLAR MİKRODENETLEYİCİLER ÖRNEK PROGRAMLAR Bülent ÖZBEK Örnek Program -1- B Portuna bağlı LED leri Yakma Bu programda PIC16F84 mikrodenetleyicisinin B portuna bağlı 8 adet LED in yanması sağlanacaktır. Bunu

Detaylı

İÇİNDEKİLER 1. KLAVYE... 11 2. KLAVYE RB0... 19 3. KLAVYE RBHIGH... 27 4. 4 DİSPLAY... 31

İÇİNDEKİLER 1. KLAVYE... 11 2. KLAVYE RB0... 19 3. KLAVYE RBHIGH... 27 4. 4 DİSPLAY... 31 İÇİNDEKİLER 1. KLAVYE... 11 Satır ve Sütunlar...11 Devre Şeması...14 Program...15 PIC 16F84 ile 4x4 klavye tasarımını gösterir. PORTA ya bağlı 4 adet LED ile tuş bilgisi gözlenir. Kendiniz Uygulayınız...18

Detaylı

DENEY-4. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ

DENEY-4. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ DENEY-4 SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ MİKRODENETLEYİCİLERDE ZAMANLAYICI VE SAYICILAR PIC16F877A mikrodenetleyicisinde üç adet zamanlayıcı/sayıcı

Detaylı

ELEKTRİK-ELEKTRONİK TEKNOLOJİSİ

ELEKTRİK-ELEKTRONİK TEKNOLOJİSİ T.C. MİLLÎ EĞİTİM BAKANLIĞI ELEKTRİK-ELEKTRONİK TEKNOLOJİSİ MİKRODENETLEYİCİ İLE DİJİTAL İŞLEMLER 523EO0021 Ankara, 2012 Bu modül, mesleki ve teknik eğitim okul/kurumlarında uygulanan Çerçeve Öğretim Programlarında

Detaylı

PD103 BUTON LED UYGULAMA DEVRESİ UYGULAMA ÖRNEKLERİ MALZEME LİSTESİ

PD103 BUTON LED UYGULAMA DEVRESİ UYGULAMA ÖRNEKLERİ MALZEME LİSTESİ PD103 BUTON LED UYGULAMA DEVRESİ UYGULAMA ÖRNEKLERİ MALZEME LİSTESİ AÇIK DEVRE ŞEMASI BASKI DEVRESİ PIC16F84 UYGULAMA-1 İŞLEM BASAMAKLARI 1. PIC16F84 te A portunun ilk bitine (RA0) bağlı butona basıldığında,

Detaylı

T.C. NİĞDE ÜNİVERSİTESİ MÜHENDİSLİK-MİMARLIK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ BİTİRME ÖDEVİ

T.C. NİĞDE ÜNİVERSİTESİ MÜHENDİSLİK-MİMARLIK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ BİTİRME ÖDEVİ T.C. NİĞDE ÜNİVERSİTESİ MÜHENDİSLİK-MİMARLIK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ BİTİRME ÖDEVİ ÜÇ ODA BİR SALON BİR EV İÇİN HIRSIZ ALARMININ GERÇEKLEŞTİRİLMESİ HAZIRLAYAN Cevdet Selçuk KAHYALAR

Detaylı

P IC 16F877. Program. Belleği

P IC 16F877. Program. Belleği P IC 16F877 Mİ MARİ (Architecture) PIC 16F87X ve 16F8X serisi öncelikle, PIC 16CXX ailesinin özelliklerini taşır. PIC 16CXX de Harvard mimarisi kullanılmıştır. Von Neuman mimarisinde, veri ve program belleğine

Detaylı

T.C. NİĞDE ÜNİVERSİTESİ MÜHENDİSLİK-MİMARLIK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ BİTİRME ÖDEVİ

T.C. NİĞDE ÜNİVERSİTESİ MÜHENDİSLİK-MİMARLIK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ BİTİRME ÖDEVİ T.C. NİĞDE ÜNİVERSİTESİ MÜHENDİSLİK-MİMARLIK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ BİTİRME ÖDEVİ ÜÇ ODA BİR SALON BİR EV İÇİN HIRSIZ ALARMININ GERÇEKLEŞTİRİLMESİ HAZIRLAYAN Cevdet Selçuk KAHYALAR

Detaylı

T.C. MİLLÎ EĞİTİM BAKANLIĞI MEGEP (MESLEKİ EĞİTİM VE ÖĞRETİM SİSTEMİNİN GÜÇLENDİRİLMESİ PROJESİ) ENDÜSTRİYEL OTOMASYON TEKNOLOJİLERİ

T.C. MİLLÎ EĞİTİM BAKANLIĞI MEGEP (MESLEKİ EĞİTİM VE ÖĞRETİM SİSTEMİNİN GÜÇLENDİRİLMESİ PROJESİ) ENDÜSTRİYEL OTOMASYON TEKNOLOJİLERİ T.C. MİLLÎ EĞİTİM BAKANLIĞI MEGEP (MESLEKİ EĞİTİM VE ÖĞRETİM SİSTEMİNİN GÜÇLENDİRİLMESİ PROJESİ) ENDÜSTRİYEL OTOMASYON TEKNOLOJİLERİ MİKRODENETLEYİCİ-3 ANKARA 2007 Milli Eğitim Bakanlığı tarafından geliştirilen

Detaylı

PIC MİKRODENETLEYİCİLERİN HAFIZA YAPISI. Temel olarak bir PIC içerisinde de iki tür hafıza bulunur:

PIC MİKRODENETLEYİCİLERİN HAFIZA YAPISI. Temel olarak bir PIC içerisinde de iki tür hafıza bulunur: PIC MİKRODENETLEYİCİLERİN HAFIZA YAPISI Temel olarak bir PIC içerisinde de iki tür hafıza bulunur: 1. Program Hafızası (ROM,PROM,EPROM,FLASH) Programı saklar, kalıcıdır. 2. Veri Hafızası (RAM, EEPROM)

Detaylı

PIC UYGULAMALARI. Öğr.Gör.Bülent Çobanoğlu

PIC UYGULAMALARI. Öğr.Gör.Bülent Çobanoğlu PIC UYGULAMALARI STEP MOTOR UYGULAMLARI Step motor Adım motorları (Step Motors), girişlerine uygulanan lojik sinyallere karşılık analog dönme hareketi yapan fırçasız, sabit mıknatıs kutuplu DC motorlardır.

Detaylı

8 Ledli Havada Kayan Yazı

8 Ledli Havada Kayan Yazı 8 Ledli Havada Kayan Yazı Hazırlayan Eyüp Özkan Devre Şemasının ISIS Çizimi Devre şemasından görüldüğü gibi PIC16F84A mikro denetleyicisinin Port B çıkışlarına 8 adet LED ve dirençler bağlı. 4MHz lik kristal

Detaylı

3.2 PIC16F84 Yazılımı PIC Assembly Assembler Nedir?

3.2 PIC16F84 Yazılımı PIC Assembly Assembler Nedir? 3.2 PIC16F84 Yazılımı 3.2.1 PIC Assembly 3.2.1.1 Assembler Nedir? Assembler,bir text editöründe assembly dili kurallarına göre yazılmış olan komutları pıc in anlayabileceği heksadesimal kodlara çeviren

Detaylı

www.muhendisiz.net BÖLÜM 1

www.muhendisiz.net BÖLÜM 1 www.muhendisiz.net BÖLÜM 1 IR HABERLEŞME 1.1.IR Haberleşme Sisteminin Gerçekleştirilmesi Tüm haberleşme sistemlerinde olduğu gibi IR haberleşme sistemlerinde de modülasyon tekniğinden yararlanılır. IR

Detaylı

PIC MCU ile UYGULAMALAR-II

PIC MCU ile UYGULAMALAR-II PIC MCU ile UYGULAMALAR-II ADC-DAC Uygulamaları Paralel LCD Uygulamaları Seri LCD Uygulamaları Step Motorlar DC Motorlar Servo Motorlar YRD.Doc..Dr.BÜLENT ÇOBANOĞLU ADC: Anolog-Digital Çevirici ADC, girişlerine

Detaylı

BÖLÜM 4 KAREKTER LCD ve ADC İŞLEMLERİ

BÖLÜM 4 KAREKTER LCD ve ADC İŞLEMLERİ BÖLÜM 4 KAREKTER LCD ve ADC İŞLEMLERİ 4.1) Hi-Tech te Karekter LCD İşlemleri Şekil-37 de bir örneği görülen karakter LCD ler dışarıya bilgi aktarmak için kullanılan en yaygın birimlerdendir. Genel itibari

Detaylı

Ön Söz. Fırat Deveci Ağustos 2009 Elektrik ve elektroniğe gönül veren herkese. FxDev.org Sayfa 2

Ön Söz. Fırat Deveci Ağustos 2009 Elektrik ve elektroniğe gönül veren herkese. FxDev.org Sayfa 2 Ön Söz Antik Yunan da ilk kehribarın maddeleri çekmesiyle başlayan elektrik serüveni tarih içinde bir çok değişik formda bulunmuş, değişmiş, evrim geçirmiştir. Galvani, Volta, Faraday, Amperé ve Ohm un

Detaylı

T.C. MİLLİ EĞİTİM BAKANLIĞI DENİZCİLİK MİKRODENETLEYİCİ-6

T.C. MİLLİ EĞİTİM BAKANLIĞI DENİZCİLİK MİKRODENETLEYİCİ-6 T.C. MİLLİ EĞİTİM BAKALIĞI DEİZCİLİK MİKRODEETLEYİCİ-6 Ankara, 2013 Bu modül, mesleki ve teknik eğitim okul/kurumlarında uygulanan Çerçeve Öğretim Programlarında yer alan yeterlikleri kazandırmaya yönelik

Detaylı

ÖĞRENME FAALİYETİ-1 ÖĞRENME FAALİYETİ 1

ÖĞRENME FAALİYETİ-1 ÖĞRENME FAALİYETİ 1 2 ÖĞRENME FAALİYETİ-1 AMAÇ ÖĞRENME FAALİYETİ 1 Mikrodenetleyiciyi ve çevre elemanlarını seçebilecek, dijital işlem için gerekli programı hatasız olarak yazabilecek, programı mikrodenetleyiciye yükleyebilecek

Detaylı

BLGM423 Gömülü Sistem Tasarımı

BLGM423 Gömülü Sistem Tasarımı 1 BLGM423 Gömülü Sistem Tasarımı İkinci Çalışma Sayısal giriş ucunun çeşitli konum ve hareketlerini algılama Bu çalışmada tipik bir anahtara bağlanmış olarak kullanılan sayısal giriş ucundaki konum ve

Detaylı

İLERI MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

İLERI MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı İLERI MIKRODENETLEYICILER Ege Üniversitesi Ege MYO Mekatronik Programı BÖLÜM 2 Giriş/Çıkış Portlarının Kullanımı 8051 in Portları 8051 in çift yönlü çalışabilen 4 adet 8 hatlı portu vardır. Her porta SFR

Detaylı

Proton Plus ile PIC Programlama Bölüm 2

Proton Plus ile PIC Programlama Bölüm 2 Bu bölümde program Yazmaya yeni başlayanların kullanmakta çekindiği bir kavram olan Kesme (Interrupt) kullanımını ele alacağız. Kesme (Interrupt) tanımlayacak olursak, bir programının normal çalışması

Detaylı

GAZİ MESLEK YÜKSEK OKULU ELEKTRONİK TEKNOLOJİSİ

GAZİ MESLEK YÜKSEK OKULU ELEKTRONİK TEKNOLOJİSİ T.C. GAZİ MESLEK YÜKSEK OKULU ELEKTRONİK TEKNOLOJİSİ PROJE MİKROİŞLEMCİLER VE MİKRODENETLEYİCİLER 2 PROJE SAHİBİ ADI:MEHNET SOYADI:AVCI SINIF:2 ŞUBE:1 OKUL NO:092904005 BÖLÜM: ELEKTRONİK TEKNOLOJİSİ DERS

Detaylı

ADC: Anolog-Digital Çevirici

ADC: Anolog-Digital Çevirici ADC: Anolog-Digital Çevirici ADC, girişlerine uygulanan akım, gerilim, sıcaklık gibi analog büyüklükleri değerleri ile orantılı olarak çıkışında digital sinyale çeviren devredir. PIC16F877a da 8 kanallı

Detaylı

PIC PROGRAMLAMA STEP MOTOR SÜRÜCÜ VE KONTROL AMAÇ NEDİR? Unipolar Step Motorlar. Uç TESPİTİ NASIL YAPILIR?

PIC PROGRAMLAMA STEP MOTOR SÜRÜCÜ VE KONTROL AMAÇ NEDİR? Unipolar Step Motorlar. Uç TESPİTİ NASIL YAPILIR? PIC PROGRAMLAMA hbozkurt@mekatroniklab.com www.mekatroniklab.com.tr STEP MOTOR SÜRÜCÜ VE KONTROL AMAÇ Bu ayki sayımızda, özellikle CNC ve robotik uygulamalarda oldukça yaygın olarak kullanılan step motorlar

Detaylı

KOCAELİ ÜNİVERSİTESİ ELEKTRONİK VE HABERLEŞME MÜHENDİSLİĞİ PROJE III. Pic16F84 ile Dijital Saat ve Termometre. Hazırlayan: Tamer Tömekçe 000208001

KOCAELİ ÜNİVERSİTESİ ELEKTRONİK VE HABERLEŞME MÜHENDİSLİĞİ PROJE III. Pic16F84 ile Dijital Saat ve Termometre. Hazırlayan: Tamer Tömekçe 000208001 KOCAELİ ÜNİVERSİTESİ ELEKTRONİK VE HABERLEŞME MÜHENDİSLİĞİ PROJE III Pic16F84 ile Dijital Saat ve Termometre Hazırlayan: Tamer Tömekçe 000208001 DEVRE ADI: Dijital Saat ve Dijital Termometre DEVRE ELEMANLARI:

Detaylı

PIC 16F877 nin kullanılması

PIC 16F877 nin kullanılması PIC 16F877 nin kullanılması, dünyada kullanıma sunulmasıyla eş zamanlı olarak Türkiye de de uygulama geliştirenlerin kullanımına sunuldu., belki de en popüler PIC işlemcisi olan 16F84 ten sonra kullanıcılara

Detaylı

Alıcı Devresi; Sinyali şu şekilde modüle ediyoruz;

Alıcı Devresi; Sinyali şu şekilde modüle ediyoruz; Bu e kitapta infrared iletişim protokolleri ile ilgili basit bir uygulamayı anlatmaya çalışacağım. Bunu yine bir mikrodenetleyici ile yapmamız gerekecek. Siz isterseniz 16f628a yı ya da ccp modülü olan

Detaylı

7 Segment Display Kullanımı Ve LOOK-UP (dönüşüm tablosu) oluşturma

7 Segment Display Kullanımı Ve LOOK-UP (dönüşüm tablosu) oluşturma PIC Assembly Ders 5 7 Segment Display Kullanımı Ve LOOK-UP (dönüşüm tablosu) oluşturma Bu dersimize kadar bahsettiğimiz örneklerde mikrodenetleyicimizin dış dünyaya gönderdiği komutları mikrodenetleyicinin

Detaylı

PIC Mikrodenetleyicileri

PIC Mikrodenetleyicileri PIC Mikrodenetleyicileri Intel 1976 da 8031/51 ailesini piyasaya sürdüğünde dünyanın en popüler mikroişlemcisi olmuştu. Bu işlemci dünya üzerinde 12 den fazla firma tarafından (İntel, Phillips, Dallas,

Detaylı

Mikroişlemciler Laboratuar Deney Föyü

Mikroişlemciler Laboratuar Deney Föyü YILDIZ TEKNİK ÜNİVERSİTESİ MAKİNE FAKÜLTESİ MEKATRONİK MÜHENDİSLİĞİ BÖLÜMÜ Mikroişlemciler Laboratuar Deney Föyü İçindekiler DENEYLER... 3 BUTON UYGULAMASI... 3 BUZZER... 4 7 SEGMENT DISPLAY İLE SAYICI...

Detaylı

PIC MİKRODENETLEYİCİ KULLANARAK BİR SİSTEMİN TELEFONLA UZAKTAN KONTROLÜ

PIC MİKRODENETLEYİCİ KULLANARAK BİR SİSTEMİN TELEFONLA UZAKTAN KONTROLÜ T.C. FIRAT ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ ELEKTRİK ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ PIC MİKRODENETLEYİCİ KULLANARAK BİR SİSTEMİN TELEFONLA UZAKTAN KONTROLÜ BİTİRME ÖDEVİ HAZIRLAYANLAR Serkan İNAL ve

Detaylı

Mikroişlemcili Sistemler ve Laboratuvarı

Mikroişlemcili Sistemler ve Laboratuvarı SAKARYA ÜNİVERSİTESİ Bilgisayar ve Bilişim Bilimleri Fakültesi Bilgisayar Mühendisliği Bölümü Mikroişlemcili Sistemler ve Laboratuvarı Zamanlayıcılar ve Sayıcılar Doç.Dr. Ahmet Turan ÖZCERİT Doç.Dr. Cüneyt

Detaylı

BÖLÜM 6 RS232 SERİ İLETİŞİM İŞLEMLERİ

BÖLÜM 6 RS232 SERİ İLETİŞİM İŞLEMLERİ BÖLÜM 6 RS232 SERİ İLETİŞİM İŞLEMLERİ 6.1) Hi-Tech te RS232 Seri İletişim İşlemleri Mikrodenetleyiciler ile diğer mikrodenetleyiciler, cihazlar, bilgisayarlar arasında iletişim kurmak istenildiğinde kullanılan

Detaylı

YILDIZ TEKNİK ÜNİVERSİTESİ ELEKTRİK - ELEKTRONİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ. EasyPic6 Deney Seti Kullanım Kılavuzu

YILDIZ TEKNİK ÜNİVERSİTESİ ELEKTRİK - ELEKTRONİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ. EasyPic6 Deney Seti Kullanım Kılavuzu YILDIZ TEKNİK ÜNİVERSİTESİ ELEKTRİK - ELEKTRONİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ EasyPic6 Deney Seti Kullanım Kılavuzu İstanbul 2009 İçindekiler EasyPic6 Deney Setinin Tanıtımı... 1 PIC16F887

Detaylı

BÖLÜM 1: MİKRODENETLEYİCİLER

BÖLÜM 1: MİKRODENETLEYİCİLER V İÇİNDEKİLER BÖLÜM 1: MİKRODENETLEYİCİLER ve PIC16F877A... 13 1.1 Giriş... 13 1.2 Mikrochip Mikrodenetleyici Ailesi... 14 1.2.1 PIC12CXXX/PIC12FXXX Ailesi... 15 1.2.2 PIC16C5X Ailesi... 15 1.2.3 PIC16CXXX/PIC16FXXX

Detaylı

DERS 13 PIC 16F84 ile DONANIM SAYICI KULLANIMI İÇERİK KESME

DERS 13 PIC 16F84 ile DONANIM SAYICI KULLANIMI İÇERİK KESME DERS 13 PIC 16F84 ile DONANIM SAYICI KULLANIMI İÇERİK KESME Ders 13, Slayt 2 1 TMR0 SAYICISI Ram belleğin h 01 adresi TMR0 adlı özel amaçlı bir saklayıcı olarak düzenlenmiştir. Bu saklayıcı bir sayıcıdır.

Detaylı