Mikroişlemci gelişimi

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

Download "Mikroişlemci gelişimi"

Transkript

1 Mikroişlemci (μp) Mikroişlemci çoğu zaman bilgisayarların beyni olarak adlandırılır. Bilgisayar yazılımındaki tüm işlemleri yapmakla sorumludur ve merkezi işlem birimi (CPU) olarak da adlandırılır.

2 Mikroişlemci gelişimi

3 CISC ve RISC mimarileri CISC (Complex Instruction Set Computers) RISC (Reduced Instruction Set Computers) CISC RISC Large (100 to 300) Komut Seti Small (100 or less) Complex (8 to 20) Adresleme Modları Basit (4 or less) Uzmanlaşmış Komut Formatı Basit Değişken Kod uzunluğu Sabit Değişken İşletme çevrimi Standart Yüksek Cost / CPU Complexity Düşük Derleme basitlik İşlemci tasarımı İşlemci tasarımı Karmaşıklık Yazılım

4 CPU yapısı Arithmetic & Logic Unit (ALU) Toplama, çıkarma, çarpma, karşılaştırma, AND, OR, NAND gibi aritmetik lojik işlemler ile bit kaydırma işlemlerinin yapıldığı kısımdır. Hangi işlemi yapacağı kontrol biriminden gelen sinyal ile belirlenir.

5 Kontrol Birimi (CU) İşlemcinin diğer birimlerini ne işlem yapacağını kontrolden sorumlu birimdir. Bir sonraki durumda ne işlem yapacaklarına dair kontrol sinyalini diğer birimlere gönderir. Üç kısımdan oluşur: DECODER, SAAT, KONTROL MANTIK DEVRESİ

6 CU (devam) DECODER: bir programı oluşturan komutların çözer ve hangi eylemin gerçekleştirileceğin e karar veriri. Bu işlem komuttaki opcode ve adresleme modu kısmına bakılarak yapılır. Op-code(İşlem Kodu): CPU ya hangi işlemin gerçekleştirileceğini söyler. Operand(İşlenen): Op-code tarafından kullanıcak verinin adresini belirtir.

7 CU (Devam) SAAT (timer or clock): Tüm işlem ve komutların tam zamanında yapılmasını sağlar KONTROL MANTIK DEVRESİ: kontrol sinyali üretir ve ALU ile kaydedicilere göndererek yapacağı işlen ve adımları bildirir.

8 Kaydediciler Kaydedici CPU içerisinde bulunan bir hafıza bölümüdür. Hızlı erişim ve hızlı veri alımı sağlayacak şekilde tasarlanmıştır.

9 Kaydediciler Bir çok kaydedici tipinden en ortak olanlar şunlardır. Program Counter (PC) Instruction Register (IR) Accumulator(A yada ACC) Memory address Register (MAR) Memory Buffer Register (MBR) Flag register / status flags Other general purpose registers Bir programın işletilmesi sırasında bir sonraki komutun bellek adresini tutar. Hali hazırdaki komutu işlemcide tutar. Bir kaydediçiye erişim hafıza birimine erişimden çok daha kısadır. ALU tarafından yapılan işlem sonuçlarını tutar. Komutlarda kullanılan hafıza adresi burada tutulur. Kontrol birimi burayı kontrol ederek veri getirme işlemini yapar. Hafıza yada başka bir yerden veri veya komut alındığında buraya alınır. Daha sonra gerekli yere gönderilir. 1 bitlik durum bayraklarını içeren bir kaydedicidir. Bu bayraklar ALU işlemleri sonucunda değişmektedir. Özel amacı bulunmayan, program sırasından geçici olarak kullanılan hafıza birimleridir.

10 Sistem Bus yapısı Kontrol Bus: Kontrolle ilgili sinyalleri taşır. Bu sinyaller CPU içerisindeki kontrol biriminden üretilir. Mimarilerde hat sayıları farklılık göstermektedir. Her bir hattın özel amacı vardır; okuma, yazma ve reset gibi

11 Sistem Bus yapısı Data Bus: İşlemci ile hafıza ve çevre birimleri arasında iki taraflı veri değişimi için kullanılır. Veri yolu hat genişligi veri genişliği olarakta adlandırılır. 32bit, 64bit

12 Sistem Bus yapısı Adres Bus: CPU ve hafıza birimleri arasında adres bilgisi taşıyan bağlantılardır. Veri yolu gelişliği azami adreslenebilecek hafıza miktarını belirler. 2^hat sayısı

13 Komut yürütme çevrimi Komut getirme Komut Yürütme Komut Çözme

14 Komut yürütme çevrimi Getirme evresi Bellekten komutu alır, komut kaydedicisine saklar, program sayacını 1 arttırır. Kod Çözme evresi IR içerisindeki komutu kontrol birimi çözer Komutun icrası için gerekli işlemlere karar verir. Yürütme evresi Komuta bağlı olarak, gerçek işlemler yapılır.

15 Getirme evresi(1)

16 Getirme evresi(2)

17 Getirme evresi(3)

18 Getirme evresi(4)

19 Getirme evresi(5)

20 Getirme evresi(6)

21 Getirme evresi(7)

22 Getirme evresi(8)

23 Mikrodenetleyici

24 Mikrodenetleyici

25 Bellekler Program bellek Çalıştırılacak olan programın kalıcı olarak saklandığı ROM bellektir. Flash teknolojidir. 13Volt EEPROM bellek Genel amaçlı bellek Özel amaçlı bellek(sfr) ROM gibi kalıcıdır. Mikrodenetleyicinin çalışması sırasında içeriği değiştirilebilir. Kalibrasyon yada sayma bilgiler saklanır. RAM bellektir. Program sırasında geçici veri ve sonuçlar tutulur. RAM in bir bölümüdür. Üretim aşamasında amaçları belirlenmiştir değiştirilemez. Bu bellekteki bitler cip içerisindeki donanıma fiziksel olarak bağlıdır.

26 Bellek

27 PIC16F887 Microcontroller RISC mimarisi sadece 35 komut. Dallanmalar hariç tüm komutlar tek çevrimlik. Çalışma frekansı 0-20MHz Hassas dahili osilatör Yazılımla seçilebilen 8MHz to 31KHz bölge 35 giriş/çıkış pini 8K ROM bellek FLASH teknoloji Cip kere programlanabilir. In-Circuit Serial Programming imkanı

28 PIC16F bytes EEPROM bellek 368 bytes RAM bellek A/D dönüştürücü: 14-kanal 10-bit çözünürlük Analog karşılaştırma modüle PWM output USART modülü RS-485, RS-232 and LIN2.0 Auto-Baud Detect

29 PIC16F887 Blok şeması

30 Pin Yapısı

31 RAM bellek bank

32

33 I/O Ports 35 adet genel amaçlı giriş çıkış vardır. A,B,C,D,E Birçok I/O pininin nun 2 yada 3 özelliği vardır. Diğer fonksiyonunu kullanan bir pin I/O olarak kullanılamaz. Her portuntris adı verilen uydusu vardır. Giriş yada çıkış olacağını TRIS belirler.

34 TRISx kaydedicisi

35 PortA PORTA yı TRISA ve ANSEL kaydedicileri kontrol eder. 5 pin i analog giriş olarakta kullanılabilir.

36 PortA nın RA0 pin i ULPWU Birinci önceliğin asgari güç tüketimi olduğu durumlarda kullanılır. Termometre, yanğın sensörü gibi. Düşük saat frekansı düşük güç tüketimi 20Mhz yerine 32Khzlik quartz kristal

37 ULPWU Pin çıkış yapılır ve lojik 1 yapılır. Kondansatör şarj olur. Pin hemen giriş yapılır, up uyku moduna geçer, kondansatör sızıntı akımıyla deşarj olur ve uc normal çalışmasına devam eder. Yandaki şema da deşarj süresi 30ms dir.

38 PortB PortA yı TRISB ve ANSEL kaydedicileri kontrol eder. 5 pin i analog giriş olarakta kullanılabilir.

39 WPUB kaydedicisi Buton,anahtar ve optocoupler uygulamaları için idealdir Kohm Pull up yapılmak istenen girişler için 1 yapılır.

40 IOCB register B portunun her pin i interrupt (kesme) girişi olarak kullanılabilir. İstenen bitler set(1) edilir.

41 IOCB Tuş takımı uygulamalarında portla sürekli taranmasına gerek kalmaz. Kontrol işlemi butunlardan herhangi birine basıldığında yapılır.

42 Pin RB0/INT RB0/INT pin i gerçek harici kesme (interrupt) girişidir. Pin e gelen sinyalin düşen yada yükselen kenarlarında işlen yapılabilir. OPTION_REG kaydedicisinin INTEDG biti ile ayarlama yapılır. RB6 and RB7 Pins Pic in proglanması sırasında ROM a yazma için kullanılır. ICSP (In-Circuit Serial Programming) proglamlamanda kullanılırlar.

43 Port C

44 Port D

45 Port E RE0 = AN5 (determined by bit ANS5 of the ANSELregister); RE1 = AN6 (determined by bit ANS6 of the ANSELregister); and RE2 = AN7 (determined by bit ANS7 of the ANSELregister).

46 ANSEL ve ANSELH Registers

47 KISACA Portların Tüm özelliklerini doğru olarak bilmeden bir program yazamassınız. Bir devre tasarlanmak istendiğinde, çevre birimleriyle haberleşecek bir port seçilir. Eğer sadece dijital I/O kullanılacaksa herhangi bir port seçilebilir. Eğer analog giriş kullanılacaksa (AN0-AN13) pinlerinden biri seçilmelidir. TRISA, TRISB, TRISC, TRISD ve TRISE kaydedicileri portların nasıl kullanılacağına bağlı ayarlanır. Eğer analog giriş kullanılacak ANSEL ve ANSELH programın başında ayarlanır. Eğer anahtar buton gibi pull-up dirençi gerekli uygulama yapılacak ise port B kullanılmalı ve OPTION_REG ve WPUB kaydedicileri ayarlanmalı

48 Komut seti Komut tanım işlem Bayrak (Flag) CLK Veri taşıma komutları MOVLW k Bir sabiti aküye(w) taşır k -> w 1 MOVWF f W yi f e taşır W -> f 1 MOVF f,d f i d ye taşır f -> d Z 1 CLRW W yi sıfırlar 0 -> W Z 1 CLRF f F i sıfırlar 0 -> f Z 1 SWAPF f,d F in bitlerini yer değiştirir. f(7:4),(3:0) -> f(3:0),(7:4) 1 f Herhangi bir hafıza bölgesi(register); W - accumulator; b - 8-bit register içindeki Bit adresi; d hedef (w veya f);

49 Komut seti(devam) komut tanım işlem BCF f,b BSF f,b f içindeki b bitini 0 yapar f içindeki b bitini 1 yapar Bit-oriented Instructions Bayrak (Flag) 0 -> f(b) 1 1 -> f(b) 1 CLK

50 Durum(status) kaydedicisi IRP indirekt adreslemede kullanılan seçim biti. 1 - Banks 0 ve 1 are aktif (memory 00h-FFh) 0 - Banks 2 ve 3 are aktif (memory 100h-1FFh) RP1,RP0 Bank seçim bitleri. Direkt adreslemede kullanılır.. RP1 RP0 Active Bank 0 0 Bank0 0 1 Bank1 1 0 Bank2 1 1 Bank3

51 İlk program Prot B nin değerini Port C ve Port D ye gönderen programı asembly dilinde yazınız.

52 Programın aşamaları setup Ana P. Alt P. tanımlamalar hazırlık ayarlar Ana program Ana döngü Alt programlar

53 program BSF STATUS,RP0 BSF STATUS,RP1 CLRF ANSEL CLRF ANSELH BCF STATUS,RP1 CLRF TRISC CLRF TRISD MOVLW 0XFF MOVWF TRISB BCF STATUS,RP0 LOOP: MOVF PORTB,W MOVWF PORTC MOVWF PORTD GOTO LOOP

54 Aritmetik-lojik komutlar ADDLW k W ve sabiti toplar W+k -> W C, DC, Z ADDWF f,d W ve f i toplar, W+f -> d C, DC,Z SUBLW k Sabitten W yi çıkarır k-w -> W C, DC, Z SUBWF f,d f den W yi çıkarır f-w -> d C, DC, Z ANDLW k Sabit ve W ile AND işlemi W AND k -> W Z ANDWF f,d f ve W ile AND işlemi W AND f -> d Z IORLW k Sabit ve W ile OR işlemi W OR k -> W Z IORWF f,d f ve W ile OR işlemi W OR f -> d Z XORLW k Sabit ve W ile XOR işlemi W XOR k -> W Z XORWF f,d f ve W ile XOR işlemi W XOR f -> d Z INCF f,d f i 1 arttırır f+1 -> d Z DECF f,d f i 1 azaltır f-1 -> d Z RLF f,d f i ELDE biti ile birlikte sola kaydır C RRF f,d f i ELDE biti ile birlikte sağa kaydır C COMF f,d f in tersini al f -> d Z

55 ADDLW ve ADDWF. ADDLW 0x15 Komut çalıştırılmadan önce: W=0x10 çalıştırıldıktan sonra W=0x25 C=0 (sonuç 0xFF den büyük olmadığından elde yoktur). ADDWF portb,w(0) Komut çalıştırılmadan önce: W=0x17, portb=0xc2 çalıştırıldıktan sonra W=0xD9, portb=0xc2 C=0 ADDWF portb,f(1).. Komut çalıştırılmadan önce: W=0x17, portb=0xc2 çalıştırıldıktan sonra W=0x17, portb=0xd9 C=0

56 SUBLW ve SUBWF. SUBLW 0x03 Komut çalıştırılmadan önce: W=0x01 çalıştırıldıktan sonra W=0x02 C=1, Z=0 (sonuç POZİTİF). Komut çalıştırılmadan önce: W=0x03 çalıştırıldıktan sonra W=0x00 C=1, Z=1 (sonuç SIFIR). Komut çalıştırılmadan önce: W=0x04 çalıştırıldıktan sonra W=0xFF C=0, Z=0 (sonuç NEGATİF). SUBWF PORTB,f Komut çalıştırılmadan önce: W=2, portb=3 çalıştırıldıktan sonra W=2, portb=1 C=1, Z=0 (SONUÇ POZİTİF) Komut çalıştırılmadan önce: W=2, portb=2 çalıştırıldıktan sonra W=2, portb=0 C=1, Z=1 (SONUÇ SIFIR) Komut çalıştırılmadan önce: W=2, portb=1 çalıştırıldıktan sonra W=2, portb=0xff C=0, Z=0 (SONUÇ POZİTİF)

57 INCF f,d ve DECF f,d. INCF REG,w Komut çalıştırılmadan önce: REG=0X10 W=x çalıştırıldıktan sonra REG=0X10 W=0x11 Z =0. INCF REG,f Komut çalıştırılmadan önce: REG=0XFF çalıştırıldıktan sonra REG=0X00 Z =1. DECF REG,w Komut çalıştırılmadan önce: REG=0X13 W=x çalıştırıldıktan sonra REG=0X13 W=0x12 Z =0. DECF REG,f Komut çalıştırılmadan önce: REG=0x01 çalıştırıldıktan sonra REG=0x00 Z =1

58 RLF f,d ve RRF f,d. RLF REG,w Komut çalıştırılmadan önce: REG = C=0 çalıştırıldıktan sonra REG = W = C = 1. RLF REG,f Komut çalıştırılmadan önce: REG = C=0 çalıştırıldıktan sonra REG = C = 1. RRF REG,w Komut çalıştırılmadan önce: REG = C=0 çalıştırıldıktan sonra REG = W = C = 0. RRF REG,f Komut çalıştırılmadan önce: REG = C=0 çalıştırıldıktan sonra REG = C = 0

59 Program Kontrol Komutları BTFSC f,b f in b. bitini test et, 0 ise bir sonraki komutu atla Atla eğer f(b) = 0 BTFSS f,b f in b. bitini test et, 1 ise bir sonraki komutu atla Atla eğer f(b) = 1 DECFSZ f,d f i 1 azalt. 0 ise bir sonraki komutu atla f-1 -> d atla eğer Z = 1 INCFSZ f,d f i 1 arttır. 1 ise bir sonraki komutu atla f+1 -> d atla eğer Z =1 GOTO k Adrese git k -> PC CALL k Alt programı çağır PC -> TOS, k -> PC RETURN Alt programdan dön. TOS -> PC RETLW k W nin içerisinde sabit ile dön. k -> W, TOS -> PC RETFIE Kesme programından dön TOS -> PC, 1 -> GIE TOS: Yığının tepesi PC: Program sayıcı GIE: global interrupt enable

60 BTFSC f,b ve BTFSS f,b. 001 BTFSC PORTA,3 002 GOTO PROG1 003 GOTO PROG2 Eğer porta nın 4. biti 0 ise program 003 nolu satırdan devam eder BTFSS PORTA,3 002 GOTO PROG1 003 GOTO PROG2 Eğer porta nın 4. biti 1 ise program 003 nolu satırdan devam eder.

61 DECFSZ f,b ve INCFSZ f,b... LAB_01 INCFSZ TRISB,f LAB_02... LAB_03... ; TRISB yi 1 arttır ; Sonuç 0 ise bu satırı geç ; Sonuç 0 ise bu satıra atlar... LAB_01 DECFSZ TRISB,f LAB_02... LAB_03... ; TRISB yi 1 azaltır ; Sonuç 0 ise bu satırı geç ; Sonuç 0 ise bu satıra atla

62 CALL k Alt program çağırma... LAB_01 CALL LAB_02 git LAB_02... ;LAB_02deki alt programa Komuttan önce: PC = LAB_01 adresi TOS (yığının üstü) = x Komuttan sonra: PC = LAB_02 adresi TOS (yığının üstü) = LAB_01

63 RETURN ve RETLW k... [etiket] RETURN Komutan önce: PC = x TOS (yığın) = x Komutan sonra: PC = TOS (yığın) TOS (yığın) = TOS [label] RETLW 0x43 Komuttan önce: W = x PC = x TOS (yığın) = x Komuttan sonra: W = 0x43 PC = TOS (yığın) TOS (yığın) = TOS - 1

64 örnek 8 bitlik iki sayısı toplayan veya çıkaran bir programı yazınız. Sayılar A ve B girilecek Sonuç C portundan görülecek RD0 1 ise toplama, 0 ise çıkarma işlemi yapılacak. Toplama ve çıkarma alt program ile yapılacaktır.

65 Örnek şematiği

66 Örnek Program BSF STATUS,RP0 BSF STATUS,RP1 //bank 3 seçim CLRF ANSEL CLRF ANSELH // girişler dijital BCF STATUS,RP1 //bank 1 seçim CLRF TRISC // C çıkış MOVLW 0xff MOVWF TRISA MOVWF TRISB MOVWF TRISD //A, B ve D giriş BCF STATUS,RP0 //bank 0 seçim LOOP: BTFSC PORTD,0 //butona basıldı mı? GOTO ATLA CALL CIKAR GOTO LOOP ATLA: CALL TOPLA GOTO LOOP TOPLA: MOVF PORTA,W ADDWF PORTB,W MOVWF PORTC RETURN CIKAR: MOVF PORTB,W SUBWF PORTA,W MOVWF PORTC RETURN

67 sorular B portundaki 4 bitlik sayınının karesini alıp C portunda gönderen programı yazınız. A ve B portundaki 4 bitlik iki sayısı çarpan ve sonucu C portuna aktaran prog. Yaz. C portunda 8 ledli kara şimşek ışığı oluşturan programı yazınız. B portundaki bir butona basıldığında C protundaki değeri 1 arttıran iki hane BCD(10 lu) sayıcı tasarlayınız.

68 Dolaylı adresleme RAM de genel amaçlı hafıza bölgesine erişmeyi sağlar. FSR kaydedicisi RAM de erişilecek adresi tutar. INDF ise RAM deki veriyi tutar INDF değiştirildiğinde RAM deki veride değişecektir.

69 Dolaylı adresleme örnek İki sabitin toplanarak RAM de 20h adresine yazılması.. MOVLW 0X20 // 0X20 adresi MOVWF FSR //FSR içerisine yaz MOVLW 12 //sabit aküye yüklendi ADDLW 13 // 12 ve 13 toplandı MOVWF INDF //sonuç 20h de

70 Kesmeler (Interrupt)

71 Intcon (Kesme kontrol Reg.) GIE - Global Interrupt Enable bit tüm kesme kaynaklarını kontrol eder. 1 tüm kesmelere izin ver. 0 tüm kesmeler kapalı. PEIE - Peripheral Interrupt Enable bit diğer çevre birimlerinden gelen kesmeleri kontrol eder. 1 çevre birim kesmelerine izin ver. 0 çevre birimleri kesmeleri kapalı. T0IE - TMR0 Overflow Interrupt Enable bit TMR0 taşma kesmesi. 1 - TMR0 kesmesine izin ver. 0 - TMR0 kesmesi kapalı. INTE - RB0/INT External Interrupt Enable bit RB0/IN pini lojik değişiklik kesmesi 1 harici kesmeye izin ver. 0 harici kesme kapalı. RBIE - RB Port Change Interrupt Enable bit. Port B için lojik değişiklik durumunda kesme kontrolü. 1 port B değişiminde kesme üret. 0 - port B değişiminde kesme üretme. T0IF - TMR0 Overflow Interrupt Flag bit TMR0 sayıcısı taşma meydana geldiğinde sıfırdan devam eder. 1 - TMR0 taştı (bu bit yazılımla sıfırlanmalı). 0 - TMR0 taşmadı. INTF - RB0/INT External Interrupt Flag bit RB0/INT pini lojik durumu. 1 harici kesme oluştu (bu bit yazılımla sıfırlanmalı). 0 kesme oluşmadı. RBIF - RB Port Change Interrupt Flag bit port B durum biti. 1 portb de en az bir pinde değişim oldu (bu bit yazılımla sıfırlanmalı). 0 PortB de değişim olmadı

72 OPTION RBPU - Port B Pull up Enable bit. 1 - PortB pull-up etkin. 0 - PortB pull-up kapalı. INTEDG - Interrupt Edge Select bit. 1 - RB0/INT pin yükselen kenarda kesme üret. 0 - RB0/INT pin düşen kenarda kesme üret. T0CS - TMR0 Clock Source Select bit. 1 sayıcı için kaynak TOCKI pin i dir. 0 dahili kaynak (Fosc/4). T0SE - TMR0 Source Edge Select bit harici kaynak için tetikleme kenar seçimi 1 - TOCKI pin yükselen kenarda. 0 - TOCKI pin düşen kenarda.

73 Sayıcı kaynak bölme oranı belirleme PSA - Prescaler Assignment bit assigns prescaler (only one exists) to the timer or watchdog timer. 1 WDT için. 0 - TMR0 için. PS2 PS1 PS0 TMR0 WDT :2 1: :4 1: :8 1: :16 1: :64 1: :128 1: :256 1:128

74 Diğer kesme kontrol kaydedicileri

75 Örnek Harici interrupt (kesme) girişi RB0 ı kullanarak bir sayıcı tasarlayınız. Sayma değeri portc de görülsün. Programı microc de yazınız.

76 /* kesme örnek programıdır. 16f887 için yazılmıştır. kesme girişinden gelen darbeleri sayarak PORTC de gösterir */ int say=0; // bir değişken tanımlama void interrupt() // kesme alt programıdır. { SAY++; // sayacı 1 arttır. PORTC=SAY; // C portuna gönder INTCON.INTF=0; // kesme bayragını sıfırla! Önemli } void main() { ansel=0; anselh=0; TRISC=0x00; TRISB=0XFF; INTCON.GIE=1; // kesmelere izin ver INTCON.INTE=1; // RB0 kesmesine izin ver OPTION_REG.INTEDG=1; //YÜKSELEN KENARda kesme üret portc=0; while(1) { } }

77 Harici kesme uygulama devresi

78 Timer TMR0

79 Timer TMR0 TMR0 için osilatör kaynağını şeç. (T0CS) Prescaleri timer için kullan. (PSA) Prescaler bölme değerini ayarla. (PS0,PS1,PS2) TMR0 değerini gir. (0-255) (isteğe bağlı) GIE ve T0IE kesme izinlerini aç. (INTCON) kesme alt programında TMR0 değerini güncelle.(gerekli ise) TMR0IF bayrağını 0 yap

80 /* bu program 16f887 için yazılmıştır. timer 0 kullanımına örnektir. volkan Yusuf şenyürek */ short say=0; // bir değişken tanımlandı. void interrupt() { say=say+1; portc=say; tmr0=0; // sayı değerini arttırarak sayma hızı artar intcon.t0if=0; } void main() { trisc=0; option_reg.t0cs=0; OPTION_REG.PSA=0; OPTION_REG.PS0=1; OPTION_REG.PS1=1; OPTION_REG.PS2=1; INTCON.GIE=1; INTCON.T0IE=1; TMR0=0; while(1) { } }

81 ADC

82 Gerekli SFR ler ADCS1, ADCS0 - A/D Conversion Clock Select bits ADC nin kullanacağı saat frekansını seçer. Dönüştürme süresini etkiler. ADCS1 ADCS2 Clock 0 0 Fosc/2 0 1 Fosc/8 1 0 Fosc/ RC * CHS3-CHS0 - Analog Channel Select bits: analog kanal yada pin seçer GO/DONE - A/D Conversion Status bit: mevcut durumu belirler. 1 ise dönüştürme devam etmekte 0 ise dönüştürme tamamlandı. ADON - A/D On bit: A/D dönüştürme biti. 1 - A/D açık 0 - A/D kapalı.

83 ADFM - A/D Result Format Select bit 1 Sonucu sağa yasla 0 Sonucu sola yasla VCFG1 - Voltage Reference bit: negatif voltaj referans kaynağını şeç. 1 - Negatif voltage reference Vref- pin 0 - Voltage power supply Vss negatif voltage referansı. VCFG0 - Voltage Reference bit: pozitif voltaj referans kaynağı. 1 - Pozitif voltaj referans Vref+ pin 0 Vdd pozitif voltaj referans kaynağı.

84 ADC kullanım özeti 1) ANSEL ve TRISx kaydedicileri ayarla. 2) ADCON1 içerisinde data formatını ve voltaj referans kaynaklarını ayarla. 3) ADCON0 içerisinde CH0-CH13 ile giriş kanalı seçilir. 4) ADON set edilerek A/D aktif edilir. 5) Yaklaşık 20us bekle. 6) ADON0 da GO set edilerek dönüştürme başlar. 7) Dönüştürme beklenir. GO/DONE 0 olur. 8) ADRESL ve ADRESH okunur. 9) 6 ve 7 tekrar edilir.

85 Örnek program /*16F887 için ADC örnek programı AN0 girişi kullanılmıştır. V.Y. Şenyürek*/ void main() { ansel=1; //AN0 analog giriş. anselh=0; trisa=0xff; trisc=0; trisd=0; ADCON1.adfm=1; // sağa yasla ADCON1.VCFG1=0; // -vref=vdd ADCON1.VCFG0=0; // +vref=vss ADCON0=0B ; // RC osilatör, kanal 0 ve ADON aktif delay_us(30); ADCON0.GO=1; // başla. do { PORTC=ADRESL; PORTD=ADRESH; ADCON0.GO=1; // başla DELAY_US(100); } while(1); }

86 MicroC LCD kütüpanesi Standart LCD panelleri 4 yada 8 bit erişim sağlar. Fonksiyonlar Lcd_Init Lcd_Out Lcd_Out_Cp Lcd_Chr Lcd_Chr_Cp Lcd_Cmd

87 LCD void Lcd_Init() Pin yapısını tanımlama kısmındaki gibi belirler. // Lcd pinout settings sbit LCD_RS at RB4_bit; sbit LCD_EN at RB5_bit; sbit LCD_D7 at RB3_bit; sbit LCD_D6 at RB2_bit; sbit LCD_D5 at RB1_bit; sbit LCD_D4 at RB0_bit; Lcd_Init();

88 LCD void Lcd_Out(unsigned short row, unsigned short col, char *text); LCD de istenilen satır ve sütuna string yazar. Lcd_Out(1, 3, "Hello!"); void Lcd_Cmd(unsigned short command); Bazı komutları LCD ye gönderir Lcd_Cmd(_Lcd_Clear);

89

90 Örnek program /* 4 bit LCD kullanımına örnektir*/ sbit LCD_RS at RC2_bit; sbit LCD_EN at RC3_bit; sbit LCD_D7 at RC7_bit; sbit LCD_D6 at RC6_bit; sbit LCD_D5 at RC5_bit; sbit LCD_D4 at RC4_bit; sbit LCD_RS_Direction at TRISC2_bit; sbit LCD_EN_Direction at TRISC3_bit; sbit LCD_D4_Direction at TRISC4_bit; sbit LCD_D5_Direction at TRISC5_bit; sbit LCD_D6_Direction at TRISC6_bit; sbit LCD_D7_Direction at TRISC7_bit; char *test="merhaba :) "; short say=0; char txt[5]; void main() { trisc=0; Lcd_Init(); Lcd_Cmd(_LCD_CLEAR); Lcd_Cmd(_LCD_CURSOR_OFF); while(1) { Lcd_Out(1,5,test); shorttostr(say, txt); Lcd_Out(2,6,txt); delay_ms(1000); say++; } }

91 USART kütüplanesi Usart_Init Seri iletişim baud rate değerini ayarlar. Usart_Init(2400); Usart_Data_Ready Okunamak için receive bufferın hazır olup olmadığını kontrol eder. Hazır ise fonksiyondan 1 döner. if (Usart_Data_Ready())

92 USART kütüplanesi Usart_Read Usart biriminden bir byte okur. veri = Usart_Read(); // alınan veriyi oku Usart_Write Usart birimine bir byte gönderir. Usart_Write(veri);

93 Usart örnek program /* seri port kullanım örneğidir. 16f887 içindir. */ unsigned short i; void main() { trisb=0; portb=0; Usart_Init(2400); // (8 bit, 2400 baud rate, no parity bit..) do { if (Usart_Data_Ready()) { // data hazırmı? i = Usart_Read(); portb=i; } } while (1); } // Read data

94 100% örnek1 /* 2 saniye aralıklarla adc den veri okuyan porgram. (OSC 4Mhz) 16f887 içindir. v. y. şenyürek */ short say=0; void interrupt() { if (say==30) { adcon0.go=1; delay_us(100); PORTC=ADRESH; say=0; portd.f0=~portd.f0; } intcon.t0if=0; say++; } void main() { trisc=0; trisd=0; portd.f0=0; ansel=1; //AN0 analog giriş trisa=1; // port A giriş adcon1=0b ; // sola yasla, referens kaynakları beslemedir. adcon0=0b ; // RC osilatör, kanal 0 ve ADON aktif option_reg=0b ; // dahili osilatör prescaler 256 intcon.gie=1; intcon.t0ie=1; while(1) {} } AN0 girişindeki voltaji ölçüp C portuna aktaran porgramdır. Ölçüm 2 sn de bir timer0 kullanılarak yapılmaktadır. (osc. 4 Mhz alınmıştır.) RV1(2) RV1 1k U1 RE3/MCLR/VPP RC0/T1OSO/T1CKI RC1/T1OSI/CCP2 RA0/AN0/ULPWU/C12IN0- RC2/P1A/CCP1 RA1/AN1/C12IN1- RC3/SCK/SCL RA2/AN2/VREF-/CVREF/C2IN+ RC4/SDI/SDA RA3/AN3/VREF+/C1IN+ RC5/SDO RA4/T0CKI/C1OUT RC6/TX/CK RA5/AN4/SS/C2OUT RC7/RX/DT RA6/OSC2/CLKOUT RA7/OSC1/CLKIN RD0 RD1 RB0/AN12/INT RD2 RB1/AN10/C12IN3- RD3 RB2/AN8 RD4 RB3/AN9/PGM/C12IN2- RD5/P1B RB4/AN11 RD6/P1C RB5/AN13/T1G RD7/P1D RB6/ICSPCLK RB7/ICSPDAT RE0/AN5 RE1/AN6 RE2/AN7 PIC16F

95 örnek2 /* RB0 a bağlı butona basıldığında RC0 a bağlı LED yanacak ve 3 sn sonra sönecektir pic16f887 v.y. senyürek */ short say=0; void interrupt() { if (intcon.intf==1) { portc.f0=1; intcon.t0ie=1; intcon.intf=0; } if (intcon.t0if==1) } { if (say==45) { portc=0; say=0; intcon.t0ie=0; } say++; intcon.t0if=0; } void main() { ansel=0; anselh=0; trisb=0xff; trisc=0; portc.f0=0; option_reg=0b ; // yükselen kenar, prescaler 256 intcon.gie=1; intcon.inte=1; while(1) { } } RB0 a bağlı bir butona basıldığında RC0 daki LED i yakan ve 3sn sonra söndüren programı timer ve harici kesme kullanarak tasarlayınız.

96 örnek3 /* AN0 dan okunan gerilim 3.2 volttan büyük ise RC0 a bağlı LED'i 5 sn yakan ve bu sürede işlem yapmayan program */ float gerilim=0; short say=0; short oku=1; void interrupt () { } say++; if (say > 80) { } portc.f0=0; oku=1; say=0; intcon.t0if=0; void main() { ansel=1; anselh=0; trisa=255; trisc=0; portc.f0=0; oku=1; adcon1=0b ; //sola yasla, vref'ler beslemedir. adcon0=0b ; // RC osilator, kanal 0, ADON aktif. option_reg=0b ; // prescaler 256 intcon.gie=1; while(1) { if (oku) { adcon0.go=1; } } delay_us(100); gerilim=(adresh*5.0)/255; if (gerilim > 3.2 ) { portc.f0=1; oku=0; } intcon.t0ie=1;

97 Örnek 4 /* 20ms de bir AN0 daki gerilimi ölçüp C portuna aktaran ve her 1sn deki ölçümlerin ortalamasını hesaplayıp D portuna yazan program */ short say=0; long toplam=0; void interrupt() { say++; adcon0.go=1; delay_us(100); portc=adresh; toplam=toplam+a dresh; if (say==50) { portd=toplam/say; toplam=0; say=0; } tmr0=176; intcon.t0if=0; } void main () { ansel=1; anselh=0; trisa=1; trisc=0; trisd=0; portc=0; portd=0; adcon1= ; adcon0= ; option_reg= ; tmr0=176; intcon.gie=1; intcon.t0ie=1; while(1) { } }

98 örnek5 /* rb0'a bağlı başla butonuna basılıp bırakıldığında 50ms de bir AN0 daki değeri port C ye gönderen ve 5sn sonra duran programı yazınız. */ short say=0; void interrupt() { if (intcon.intf) { tmr0=56; intcon.t0ie=1; intcon.intf=0; } if (intcon.t0if) } { say++; adcon0.go=1; delay_us(100); portc=adresh; if (say==5*20) { intcon.t0ie=1; say=0; } intcon.t0if=0; tmr0=56; } // 5sn tamamlandımı void main() { ansel=1; anselh=0; trisa=1; trisc=0; trisb=1; portc=0; adcon1=0b ; adcon0=0b ; option_reg=0b ; intcon.gie=1; intcon.inte=1; intcon.t0ie=0; while(1) {} }

# 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ı

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ı

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ı

BÖLÜM 3 3. PIC 16F8X KOMUTLARI 3.1.KULLANILAN SEMBOLLER: 3.2.KOMUTLAR VE KULLANIM ÖRNEKLERİ

BÖLÜM 3 3. PIC 16F8X KOMUTLARI 3.1.KULLANILAN SEMBOLLER: 3.2.KOMUTLAR VE KULLANIM ÖRNEKLERİ BÖLÜM 3 3. PIC 16F8X KOMUTLARI 3.1.KULLANILAN SEMBOLLER: f : File register, Herhangi bir değişkenle tarif edilen bir saklayıcı adresi (0h-7Fh) k : Sabit değer (genellikle (0-FF arasında) d : Destination

Detaylı

Deney No Deney Adı Tarih. 3 Mikrodenetleyici Portlarının Giriş Olarak Kullanılması / /201...

Deney No Deney Adı Tarih. 3 Mikrodenetleyici Portlarının Giriş Olarak Kullanılması / /201... 3.1 AMAÇ: Assembly programlama dili kullanarak mikrodenetleyici portlarını giriş olarak kullanmak. GİRİŞ: Bir portun giriş olarak mı yoksa çıkış olarak mı kullanılacağını belirten TRIS kaydedicileridir.

Detaylı

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ı

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ı

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ı

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ı

# 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ı

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ı

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ı

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-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ı

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ı

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ı

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ı

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 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ı

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ı

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ı

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ı

PIC16F877A nın Genel Özellikleri

PIC16F877A nın Genel Özellikleri BÖLÜM 3 PIC16F877A nın Genel Özellikleri 3.1 Mikrodenetleyici Mimarisi 3.2 PIC16Fxxx Komut Seti 3.3 PIC16F877A Bellek Organizasyonu 3.4 Giriş/Çıkış Portları 3.5 STATUS ve TRIS Kaydedicileri 3.6 Kesme ve

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 2017-2018 Bahar-FİNAL KISMI BÖLÜM 7 - LOJİK İŞLEM KOMUTLARI 7.1. RLF Komutu (Bir bit Sola Kaydırma) Bir file register içinde bulunan bitlerin (C

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ı

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ı

İÇİ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ı

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ı

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ı

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ı

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ı

İ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ı

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: 8085 Simülatör Kullanımı Deney_2: 8085

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ı

x86 Ailesi Mikroişlemciler ve Mikrobilgisayarlar

x86 Ailesi Mikroişlemciler ve Mikrobilgisayarlar x86 Ailesi 1 8085A,8088 ve 8086 2 Temel Mikroişlemci Özellikleri Mikroişlemcinin bir defade işleyebileceği kelime uzunluğu Mikroişlemcinin tek bir komutu işleme hızı Mikroişlemcinin doğrudan adresleyebileceği

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ı

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ı

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ı

Örnek 1: Sağdan sola ledleri yakmak.

Örnek 1: Sağdan sola ledleri yakmak. Örnek 1: Sağdan sola ledleri yakmak. program led_uyg1 CONST YAZ AS BYTE[8]=(1,2,4,8,16,32,64,128) DIM I AS BYTE PORTD=0 WHILE TRUE FOR I=0 TO 7 PORTD=YAZ[I] DELAY_MS(100) FOR I=7 TO 0 STEP -1 PORTD=YAZ[I]

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ı

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ı

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ı

1. Ders Giriş. Mikroişlemcili Sistem Uygulamaları

1. Ders Giriş. Mikroişlemcili Sistem Uygulamaları 1. Ders Giriş Hazırlayan: Arş. Gör. Hakan ÜÇGÜN Mikroişlemcili Sistem Uygulamaları Dikkat ettiniz mi: Etrafımızdaki akıllı cihazların sayısı ne kadar da arttı. Cep telefonlarımız artık sadece iletişim

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 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ı

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ı

Mikroişlemci Nedir? Mikrodenetleyici Nedir? Mikroişlemci iç yapısı Ders Giriş. Mikroişlemcili Sistem Uygulamaları

Mikroişlemci Nedir? Mikrodenetleyici Nedir? Mikroişlemci iç yapısı Ders Giriş. Mikroişlemcili Sistem Uygulamaları Mikroişlemcili Sistem Uygulamaları 1. Ders Giriş Dikkat ettiniz mi: Etrafımızdaki akıllı cihazların sayısı ne kadar da arttı. Cep telefonlarımız artık sadece iletişim sağlamakla kalmıyor, müzik çalıyor,

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ı

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ı

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ı

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ı

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ı

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

7 Segment Display ve Kesmeler (Interrupts) Hafta6-7. Dr. Bülent Çobanoğlu-SAÜ 1 7 Segment Display ve Kesmeler (Interrupts) Hafta6-7 Dr. Bülent Çobanoğlu-SAÜ 1 Ç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.

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ı

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ı

Eğitim - Öğretim Yöntemleri Başlıca öğrenme faaliyetleri Kullanılan Araçlar Dinleme ve anlamlandırma

Eğitim - Öğretim Yöntemleri Başlıca öğrenme faaliyetleri Kullanılan Araçlar Dinleme ve anlamlandırma Eğitim - Öğretim Yöntemleri Başlıca öğrenme faaliyetleri Kullanılan Araçlar Ders Dinleme ve anlamlandırma Standart derslik teknolojileri, çoklu ortam araçları, projektör, bilgisayar DERS BİLGİLERİ Ders

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ı

PIC16F87X te ADC MODÜLÜNÜN KULLANIMI

PIC16F87X te ADC MODÜLÜNÜN KULLANIMI PIC16F87X te ADC MODÜLÜNÜN KULLANIMI Emre YAVUZ Temmuz 2009 PIC16F87X te ADC MODÜLÜ Ü KULLA IMI Bu makalemizde PIC16F87X serisi mikrodenetleyicilerde ADC modülünün temel düzeyde kullanımını anlatacağım.

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ı

http://nptel.ac.in/courses/webcourse-contents/iit KANPUR/microcontrollers/micro/ui/Course_home3_16.htm Yrd.Doç. Dr.

http://nptel.ac.in/courses/webcourse-contents/iit KANPUR/microcontrollers/micro/ui/Course_home3_16.htm Yrd.Doç. Dr. http://nptel.ac.in/courses/webcourse-contents/iit KANPUR/microcontrollers/micro/ui/Course_home3_16.htm B Yrd.Doç. Dr. Bülent ÇOBANOĞLU PIC MİKRODENETLEYİCİ VE AİLESİ PIC, Microchip firması tarafından üretilen,

Detaylı

PİC BASİC PROFESSİONAL

PİC BASİC PROFESSİONAL PİC BASİC PROFESSİONAL Farklı Mikroişlemcilerin farklı Assembler kodları olması genellikle sorun olmuştur. Bu dezavantajdan kurtulmak için compiler lar geliştirilmiştir. C++ ve Basic dillerinde yazılanlar

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ı

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ı

EasyPic 6 Deney Seti Tanıtımı

EasyPic 6 Deney Seti Tanıtımı EasyPic 6 Deney Seti Tanıtımı Power supply voltage regulator J6 ile power supply seçimi yapılır. USB seçilirse USB kablosu üzerinden +5V gönderilir, EXT seçilirse DC connector üzerinden harici bir power

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ı

BİLİŞİM TEKNOLOJİLERİ

BİLİŞİM TEKNOLOJİLERİ T.C. MİLLÎ EĞİTİM BAKANLIĞI BİLİŞİM TEKNOLOJİLERİ MİKRODENETLEYİCİ Ankara, 2014 Bu modül, mesleki ve teknik eğitim okul/kurumlarında uygulanan Çerçeve Öğretim Programlarında yer alan yeterlikleri kazandırmaya

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ı

Adres Yolu (Address Bus) Bellek Birimi. Veri Yolu (Databus) Kontrol Yolu (Control bus) Şekil xxx. Mikrodenetleyici genel blok şeması

Adres Yolu (Address Bus) Bellek Birimi. Veri Yolu (Databus) Kontrol Yolu (Control bus) Şekil xxx. Mikrodenetleyici genel blok şeması MİKRODENETLEYİCİLER MCU Micro Controller Unit Mikrodenetleyici Birimi İşlemci ile birlikte I/O ve bellek birimlerinin tek bir entegre olarak paketlendiği elektronik birime mikrodenetleyici (microcontroller)

Detaylı

Microprocessors and Programming

Microprocessors and Programming Microprocessors and Programming Dr. Kadir ERKAN Department of Mechatronics Engineering Fall : 2013 10/20/2013 1 Interpretation of Assembly Instructions ADDLW h 10 ; literal (constant) oriented ADDWF TOPLA,d

Detaylı

ONDOKUZ MAYIS ÜNİVERSİTESİ

ONDOKUZ MAYIS ÜNİVERSİTESİ ONDOKUZ MAYIS ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ ELEKTRİK ELEKTRONİK MÜHENDİSLİĞİ MİKROİŞLEMCİLER LABORATUVARI PİC UYGULAMA NOTLARI BÖLÜM 1. 1.1 16F84 Mickrodenetleyicisi: PIC16F84 18 pinli bir mikrodenetleyicidir.

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ı

Erzurum Teknik Üniversitesi RobETÜ Kulübü Robot Eğitimleri. ARDUİNO EĞİTİMLERİ I Arş. Gör. Nurullah Gülmüş

Erzurum Teknik Üniversitesi RobETÜ Kulübü Robot Eğitimleri. ARDUİNO EĞİTİMLERİ I Arş. Gör. Nurullah Gülmüş Erzurum Teknik Üniversitesi RobETÜ Kulübü Robot Eğitimleri ARDUİNO EĞİTİMLERİ I Arş. Gör. Nurullah Gülmüş 29.11.2016 İÇERİK Arduino Nedir? Arduino IDE Yazılımı Arduino Donanım Yapısı Elektronik Bilgisi

Detaylı

BM-311 Bilgisayar Mimarisi. Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

BM-311 Bilgisayar Mimarisi. Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Bilgisayar Bileşenleri Bilgisayarın Fonksiyonu Instruction Cycle Kesmeler (Interrupt lar) Bus

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ı

BM-311 Bilgisayar Mimarisi

BM-311 Bilgisayar Mimarisi 1 BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Mikro işlemler Fetch cycle Indirect cycle Interrupt cycle Execute cycle Instruction

Detaylı

BM-311 Bilgisayar Mimarisi

BM-311 Bilgisayar Mimarisi 1 BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Bilgisayar Bileşenleri Bilgisayarın Fonksiyonu Instruction Cycle Kesmeler (Interrupt lar)

Detaylı

EEM 419-Mikroişlemciler Güz 2017

EEM 419-Mikroişlemciler Güz 2017 EEM 419-Mikroişlemciler Güz 2017 Katalog Bilgisi : EEM 419 Mikroişlemciler (3+2) 4 Bir mikroişlemci kullanarak mikrobilgisayar tasarımı. Giriş/Çıkış ve direk hafıza erişimi. Paralel ve seri iletişim ve

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ı

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ı

EEM 306 Mikroişlemciler ve Lab. Doç.Dr. Mehmet SAĞBAŞ

EEM 306 Mikroişlemciler ve Lab. Doç.Dr. Mehmet SAĞBAŞ EEM 306 Mikroişlemciler ve Lab. Doç.Dr. Mehmet SAĞBAŞ Alt Program Yapısı Alt programın çağrılması Alt program korunur alınır ;Argumanlar R12 R15 registerlarına atanir. call #SubroutineLabel SubroutineLabel:

Detaylı

Arduino nedir? Arduino donanım ve yazılımın kolayca kullanılmasına dayalı bir açık kaynak elektronik platformdur.

Arduino nedir? Arduino donanım ve yazılımın kolayca kullanılmasına dayalı bir açık kaynak elektronik platformdur. Arduino nedir? Arduino donanım ve yazılımın kolayca kullanılmasına dayalı bir açık kaynak elektronik platformdur. Açık kaynak nedir? Açık kaynak, bir bilgisayar yazılımının makina diline dönüştürülüp kullanımından

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Ü

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Ü 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Ü GENEL AMAÇLI UZAKTAN KUMANDA MODÜLÜNÜN TASARIMI VE GERÇEKLEŞTİRİLMESİ Danışman Yrd. Doç. Dr. Murat UZAM Hazırlayan

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ı

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ı

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ı

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İ PROGRAMLAMA 523EO0020 Ankara, 2012 Bu modül, mesleki ve teknik eğitim okul/kurumlarında uygulanan Çerçeve Öğretim Programlarında

Detaylı

İçİndekİler. 1. Bölüm - Mİkro Denetleyİcİ Nedİr? 2. Bölüm - MİkroDenetleyİcİlerİ Anlamak

İçİndekİler. 1. Bölüm - Mİkro Denetleyİcİ Nedİr? 2. Bölüm - MİkroDenetleyİcİlerİ Anlamak XIII İçİndekİler 1. Bölüm - Mİkro Denetleyİcİ Nedİr? Mikrodenetleyici Tanımı Mikrodenetleyicilerin Tarihçesi Mikroişlemci- Mikrodenetleyici 1. İki Kavram Arasındaki Farklar 2. Tasarım Felsefesi ve Mimari

Detaylı

DERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ. İçerik

DERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ. İçerik DERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ İçerik Mikroişlemci Sistem Mimarisi Mikroişlemcinin yürüttüğü işlemler Mikroişlemci Yol (Bus) Yapısı Mikroişlemci İç Veri İşlemleri Çevresel Cihazlarca Yürütülen İşlemler

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ı

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

DENEY-1. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ DENEY-1 SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ 31 DENEY-1-1: BİT YÖNLENDİRMELİ KOMUTLAR İLE PİNLERE DEĞER GÖNDERME AMAÇ: Mikrodenetleyici pinlerine

Detaylı

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

TIMER. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ TIMER SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ PIC16F877A mikrodenetleyicisinde üç adet zamanlayıcı/sayıcı birimi bulunmaktadır. o Timer0 8 bitlik

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ı

Komutların Yürütülmesi

Komutların Yürütülmesi Komutların Yürütülmesi Bilgisayar Bileşenleri: Genel Görünüm Program Sayacı Komut kaydedicisi Bellek Adres Kaydedicisi Ara Bellek kaydedicisi G/Ç Adres Kaydedicisi G/Ç ara bellek kaydedicisi 1 Sistem Yolu

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ı

Bahar Dönemi. Öğr.Gör. Vedat MARTTİN

Bahar Dönemi. Öğr.Gör. Vedat MARTTİN Bahar Dönemi Öğr.Gör. Vedat MARTTİN 8086/8088 MİKROİŞLEMCİSİ İÇ MİMARİSİ Şekilde x86 ailesinin 16-bit çekirdek mimarisinin basitleştirilmiş bir gösterimi verilmiştir. Mikroişlemci temel iki ayrı çalışma

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ı

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İLGİSAYAR MİMARİSİ. Bilgisayar Bileşenleri Ve Programların Yürütülmesi. Özer Çelik Matematik-Bilgisayar Bölümü

BİLGİSAYAR MİMARİSİ. Bilgisayar Bileşenleri Ve Programların Yürütülmesi. Özer Çelik Matematik-Bilgisayar Bölümü BİLGİSAYAR MİMARİSİ Bilgisayar Bileşenleri Ve Programların Yürütülmesi Özer Çelik Matematik-Bilgisayar Bölümü Program Kavramı Bilgisayardan istenilen işlerin gerçekleştirilebilmesi için gereken işlem dizisi

Detaylı