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

Save this PDF as:
 WORD  PNG  TXT  JPG

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

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

Transkript

1 MİKRO DENETLEYİCİLER II DERS NOTLARI Prof. Dr. Hakan Ündil 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 5.1. Döngü Kullanmak Bazen belli işlem ya da işlemlerin belirli sayıda tekrarlanması istenebilir. Böyle bir durumda örnek olarak SAYAC isimli bir file register kullanılabilir. Genellikle tekrar sayısı (SAYAC) a yüklendikten sonra her döngüde (SAYAC) 1 azaltılarak SAYAC = h 00 a ulaşılana kadar döngü devamı ettirilir. SAYAC = h 00 olduğunda program döngüden çıkarak yoluna devam eder. Bu amaçla DECFSZ komutu kullanılabilir. Bu komut her icra edildiğinde ilgili file register (burada SAYAC) 1 azaltılır ve SAYAC = h 00 olunca bir sonraki komuta atlanır. Aksi halde (SAYAC h 00 ise) DECFSZ komutundan hemen sonraki (sıradaki) komut icra edilir. Bu komutun formatı (kullanılış biçimi): (File Register yerine SAYAC kullanılmıştır) DECFSZ SAYAC, d W yada F şeklindedir. Aşağıdaki örnek program parçası ve akış diyagramında PORTB nin ve SAYAC ın daha önce tanımlandığı farz edilmiştir. Önce SAYAC a h FF sayısı yüklenmiş ve SAYAC azaltılmaya başlanmıştır. SAYAC= h 00 olana kadar SAYAC=00 mı? sorusuna HAYIR cevabı alınacak ve azaltma devam edecektir. Döngü bitince de PORTB ye ( FF ) yüklenmektedir. Program Parçası. MOVLW h FF MOVWF SAYAC ; SAYAC a FF yükle TEKRAR DECFSZ SAYAC, F ; SAYAC ı 1 azalt GOTO TEKRAR ; SAYAC=0 değilse MOVLW h FF ;SAYAC=0 ise MOVWF PORTB ;PORTB ye W yi yaz... Örnek : PORTA nın 2. bitine (RA2) bağlı butona 10 kere basıldıktan sonra PORTB nin 0. bitine (RB0) bağlı LED in yakılması isteniyor (Her butona basılması arasında 25 komut peryodu beklenmesi arzu edilmektedir. Böylelikle butondan doğan parazitler engellenmiş ve bir basışta 10 1

2 kere basılmış gibi sayılmasının önüne geçilmiş olacaktır. Bekleme süresi yetersiz ise arttırılabilir). Gerekli program parçasını PIC 16F84 için assembly dili ile yazınız. Program Parçası MOVLW d 10 MOVWF SAYAC ; SAYAC a d 10 sayısı yaz. TEST BTFSC PORTA, 2 ; RA2= 0 mı? GOTO TEST ; Değilse TEST etmeye devam et NOP ; İşlem yapma, çok sayıda NOP peşpeşe yazılacak... ;(NOP : İşlem yapma,1 peryot bekle komutudur ). NOP ; Üstte toplam 25 adet NOP komutu var. DECFSZ SAYAC, F ; SAYAC ı 1 azalt sonuç (00) mı? GOTO TEST ; Değilse TEST e git BSF PORTB, 0 ; Evetse, PORTB nin 0. bitini 1 yap.... Yukarıdaki örnekte 25 adet NOP (İşlem yapma) kullanılmıştır. Böyle bir sistemde bütona iki basma arasındaki bekleme süresi arttırılmak istenirse bu sayı arttırılır. Ancak bu durumda program hafızasının gereksiz dolması gibi bir sorunla karşılaşırız. Bunun yerine ilerde incelenecek zaman geciktirme programları kullanılır Karşılaştırma İşlemi ve Çıkarma Komutları Döngüde kullanılan SAYAC veya benzeri bir file register her zaman azalan yönde çalışmaz. Bazı uygulamalarda SAYAC ın artan yönde sayması istenir. SAYAC ın 1 arttırılması için INCF komutu kullanılabilir. Her döngüde SAYAC değeri arttıkça istenen SAYAC değerine ulaşılıp ulaşmadığını belirlemek için istenen sayı ile SAYAC değeri çıkartılarak karşılaştırılır. Çıkartma sonucu olan (Fark) sıfıra eşit olduğunda yani eşitlik sağlanınca döngü sona erdirilir. Bu işlemde çıkartma komutu gerektiğinden önce 2 adet olan çıkartma komutlarını inceleyelim. Bunun için de STATUS registerinde önemli 2 bayrak olan Z ve C bayraklarına göz atalım. STATUS Register 2 Z 0 C Elde bayrağı Sıfır bayrağı STATUS un 2. biti olan Z bayrağı, bir işlemin sonucu sıfır olduğunda (Z=1) olan bir bayraktır. Aksi halde yani sonuç sıfırdan farklı ise (Z=0) olur. STATUS un 0. biti olan C bayrağı, elde bayrağı olarak adlandırılırken çıkarma işlemlerinde borç yoksa bu bayrak (1), borç varsa (0) değerini alır. SUBWF (Çıkarma) Komutunu haturlayalım Bu komut, o andaki file registerinin içeriğini W registerinden çıkarır ve sonucu W yada file registerine yazar. Komut Formatı; 2

3 SUBWF File registeri, W yada f şeklindedir. Çıkarma sonucunda Z ve C bayraklarının değerleri çıkartılan iki sayı arasındaki ilişki bilgisini taşır. Daha sonra bu bayrakların aldıkları değerlere göre programda dallanma gerçekleştirilebilir. (File registeri W) şeklindeki çıkartma işlemi için muhtemel durumlar şu şekilde verilebilir : File registeri > W ise Z = 0 ve C = 1 File registeri = W ise Z = 1 ve C = 1 File registeri < W ise Z = 0 ve C = 0 Örnek olarak SAYAC adlı file registeri sıfırladıktan sonra (09) olana kadar birer arttıran Z bayrağını yani iki sayının eşitliğini test eden TEKRAR etiketli bir döngü düzenleyelim: SAYAC ı sıfırla SAYAC ı 1 arttır W h 09 W den SAYAC ı çıkart Program Parçası CLRF SAYAC ; SAYAC ı sıfırla TEKRAR INCF SAYAC, F ; SAYAC ı 1 arttır MOVLW h 09 SUBWF SAYAC, W ; SAYAC dan W yi çıkar BTFSS STATUS, 2 ; Z bayrağı 1 mı? GOTO TEKRAR ; Değilse TEKRAR a git. HAYIR Z = 1 mi? SON EVET Program parçasındaki SAYAC değeri o ana kadar ki arttırma sayısını belirtir. Burada çıkarma komutu olan SUBWF kullanılarak SAYAC değerinden aküye yüklenmiş (09) sayısı çıkartıldığında sonucun durumuna göre STATUS registerinde bulunan Z ( Sıfır biti=bayrağı ) ve C ( Elde biti=bayrağı ) etkilenir. SAYAC= 09 olduğunda yani fark sıfır ise (sıfır bayrağı olan) Z=1 olacaktır. Burada C bayrağına ihtiyaç yoktur. Yukarıdaki programda kullanılan SUBWF SAYAC, W komutu ile SAYAC tan W çıkarılarak sonuç W ye yazılır, Ancak bu program parçasında sonucun yani farkın ne olduğu bizi ilgilendirmemektedir. Biz bu farkın sıfır olup olmadığı ile ilgilenmekteyiz. Bir başka bir örnek olarak aşağıdaki program parçası ile önce HAFIZA adı verilen ve daha önce tanımlanmış bir adrese h 35 sayısını yazalım. Bu sayı akümülatöre (W ye) yüklenen sayıdan küçük yada büyük ise (eşit değilse, Z=0 ise) PORTB nin 0. bitini ( RB0=1) yapalım. Aksi takdirde (DEVAM) etiketine gönderelim. 3

4 Program parçası MOVLW h 35 MOVWF HAFIZA ; HAFIZA registerine h 35 yaz MOVLW (SAYI) ; ( SAYI ) yı Aküye yükle. SUBWF HAFIZA, W ; HAFIZA dan W yi çıkar BTFSC STATUS, 2 ; Z=0 mı? GOTO DEVAM ; Değilse DEVAM a git BSF PORTB, 0 ; Evetse RB0=1 yap. DEVAM... NOT: (SAYI) yerine bir bytelık (h 28, h 35, h 4A gibi ) çıkarılacak (karşılaştırılacak) sayılardan 2.sayı yazılacaktır. DEVAM etiketi program parçasının sonunda (çıkışında) yer almaktadır. SUBLW (Çıkarma) Komutu: SUBWF komutuna benzer olup bu komutla sabit sayıdan W nin içeriği çıkarılır. Sonuç yine W registerine yazılır. Komut formatı aşağıda verilmiştir. SUBLW k ; Burada k, W nın çıkarılacağı sabit sayıyı temsil etmektedir. Örnek olarak bu komutu kullanarak W registerine h 40 yazdıktan sonra, h 50 sayısından W de bulunan sayıyı çıkartalım. (W deki sayı h 50 ile karşılaştırılıyor) Z bayrağı ( =0 ) ise PORTB nin 3., 4., ve 5. bitlerine (1), diğerlerine (0) yüklensin. Aksi halde ilerdeki DEVAM adresine dallanmak üzere bir program parçası yazalım. Program parçası DEVAM MOVLW h 40 ; W ye h 40 yükle SUBLW h 50 ; h 50 den W deki h 40 ı çıkart. BTFSC STATUS, 2 ; Z bayrağı = 0 mı? (Sayılar farklı mı?) GOTO DEVAM ; Değilse (=eşitse) DEVAM adresine git. MOVLW b ; C=0 ise PORTB nin istenen bitlerini (1) yap MOVWF PORTB. Örnek : PIC 16F84 için bir program parçası yazarak h 1A sayısından h 09 sayısını çıkarınız ve farkı PORTB ye yazınız. STATUS registerinin içeriğini de W ye aktarınız. MOVLW h 09 SUBLW h 1A ; h 1A sayısından W deki 09 sayısını çıkar MOVWF PORTB ; Fark PORTB ye yazıldı MOVF STATUS, W ; STATUS Reg. i W ye aktarıldı Örnek : (00) 16 dan başlayarak (08) 16 e kadar sayıları (00, 01, 02,..., 08) (İleri Sayıcı gibi) PORTB ye yazan bir program parçasını PIC16F84 için assembly dilinde yazınız. CLRF SAYAC ; SAYAC ı sıfırla TEKRAR MOVF SAYAC, W ; SAYAC yı W ye yükle MOVWF PORTB ; PORTB den yolla INCF SAYAC, F ; SAYAC ı 1 arttır MOVLW h 09 SUBWF SAYAC, W ; (SAYAC W) i bul ve sonucu W ye yaz BTFSS STATUS, Z ; Z bayrağı 1 mı? 4

5 GOTO TEKRAR ; Değilse TEKRAR a git. DEVAM... ; Z=1 ise yoluna devam et Zaman Geciktirme Döngüleri Bazı programlarda hiçbir şey yapmadan GECİKME program bloğu(parçası) ile bir süre beklenmesi gerektiği daha önce belirtilmişti. Örnek olarak bir tuşa basılıp basılmadığını test etmek için programın bir süre tuşun basılı kaldığını algılaması/ beklemesi gerekir. Bu maksatla Zaman Geciktirme Döngüleri kullanılır Zaman Geciktirme Nasıl Yapılır? Zaman geciktirme için ya yazılım ya da donanımsal geciktirme imkanlarından yararlanmak gerekir. Gecikme sağlamak için Yazılım kullanıldığında her komutun icra süresi bilinmeli ve ona göre Toplam Gecikme hesaplanmalıdır. RC tipi osilatör kullanıldığında bu elemanların sıcaklığa bağlı değer değiştirilmelerinden dolayı hassas bir gecikme süresi elde etmek mümkün olmaz. Böyle bir durumda kristal/rezonatör kullanılması şarttır. Çok uzun gecikmeler için CPU nun verimli çalışması açısından Donanım Gecikmesi kullanılması elverişli olacaktır Komut Peryodu Nedir? PIC16F84 genellikle 4 MHz de çalıştırılır ve bu frekans içerde 4 e bölünerek f = 1 MHz lik dahili komut frekansı elde edilir. Bu frekans ise 1 (s =mikrosaniye) komut peryoduna (saniyede 1 milyon komut) karşılık gelir. Bu da bir komutun icra (yürütülme) süresidir. Ancak bazı komutlar 2 peryotta icra edilir. Bunlar : GOTO RETFIE CALL INCFSZ ( Sayaç 0 ise 1 peryot ) RETURN BTFSC ( Test Biti =1 ise 1 peryot ) DECFSZ ( Sayaç 0 ise 1 peryot ) BTFSS ( Test Biti =0 ise 1 peryot ) RETLW Prog. Sayacına veri yazan komutlar Tek Döngü İle Maksimum ve Minimum Gecikme Bir SAYAC registeri içine FF yazarsak maksimum, 01 yazarsak minimum gecikme elde edilir. Aşağıdaki programda maksimum gecikme sağlamak için SAYAC a (FF) 16 = (255) 10 yüklenmiştir. Komut Peryot x İcra Sayısı MOVLW h FF 1x1 MOVWF SAYAC 1x1 TEKRAR DECFSZ SAYAC, F 1 x GOTO TEKRAR + 2 x 254 Toplam : 766 komut peryodu Örnek : 4 MHz bir osilatörden beslenen PIC 16F84 de 250 s gecikme sağlamak için bir GECİKME rutini ( program parçası ) yazalım. 4MHz 1MHz 1μs Bir dahili komut peryodu. Yani bir komut bu sürede yürütülür 4 5

6 Komut Peryot Sayısı MOVLW h 52 1 MOVWF SAYAC 1 NOP 1 NOP 1 NOP 1 TEKRAR DECFSZ SAYAC, F 1 x (h 52 = d 82 dir) GOTO TEKRAR + 2 x peryot O halde bu program parçası ile 1s x 250 = 250 s gecikme süresi elde edilmiş olur İçiçe İki Döngü İle Daha Fazla Gecikme Tek döngüde SAYAC (FF) ile yüklense bile 766 peryot gecikme sağlanmakta idi. Bu süre az gelebilir. Bu durumda içiçe 2 yada daha fazla döngü kullanılabilir. Bu amaçla kullanılacak bir çift döngü rutin için akış diyagramı ve programı yapalım ( süre maximum olsun ) İçiçe iki Döngü kullanan bir Akış Diyagramı ve Program Parçası Akış Diyagramı ve Programı aşağıda verilmiştir. Böyle bir program için elde edilebilecek yaklaşık Gecikme süresi de aşağıdaki tabloda verilmiştir. SAYAC 1 h FF SAYAC 2 h FF SAYAC 2 0 mı? SAYAC 1 0 mı? EVET HAYIR HAYIR SAYAC 2 yi 1 azalt SAYAC 1 i 1 azalt EVET Komut İcra sayısı x Komut Peryodu MOVLW h FF 1 MOVWF SAYAC 1 1 TEKRAR1 MOVLW h FF 1 x 255 MOVWF SAYAC 2 1 x 255 TEKRAR2 DECFSZ SAYAC2, F 1 x 255 x 255 6

7 GOTO TEKRAR2 2 x 255 x 255 DECFSZ SAYAC1, F 1 x 255 GOTO TEKRAR1 2 x 255 Toplam : peryot 1 s (mikro saniye) dahili komut peryodu için s = 0,196 saniye ~ = 0.2 saniyelik yaklaşık gecikme elde edilir. SAYAC1 ile SAYAC2 farklı da olabilir. Bu durumda (255) yerine o sayının karşılığı olan desimal sayı hesaba katılmalıdır. Daha fazla gecikme elde etmek için bir SAYAC daha (SAYAC3 gibi) tanımlanarak bu zaman geciktirme döngüsünün en dışına içiçe iki döngüde olduğu gibi ekleme yapılabilir. Fakat bu tarzdaki çok uzun döngüler mikroişlemciyi meşgul edeceğinden asıl yapılması gereken diğer işlemler aksayacaktır. Bu durumda donanım gecikmesi (timer) kullanmak tercih edilir. ******** 6. BÖLÜM - ALT PROGRAMLAR Program içerisinde birden fazla kullanılacak rutinler ( program parçaları ) varsa bunlar tekrar yazılmaz. Bu suretle hem Program Hafızası tasarrufu sağlanır hem de programın okunabilirliği arttırılır. Bunun için tekrar kullanılacak program parçaları ALTPROGRAM olarak düzenlenir. Ana (asıl) Programdan Alt Programa CALL komutu ile gidilir, RETURN komutu ile ana programdaki CALL komutunu hemen takip eden komuta geri dönülür. Dönüşün PIC içersinde gerçekleştirilebilmesi için CALL komutuyla atlanırken geri dönüş adresinin saklanması gerekir. Bunun için STACK REGISTER denilen özel bir registerden faydalanılır. Bu işlem otomatik yapıldığı için programcının bu işlemle ayrıca ilgilenmesi gerekmez Bir Alt Programın Çağrılması ile PIC İçersindeki Olaylar Bir alt programın çalışmasını şematik çizersek ve numaralanmış olarak gerçekleşen işlemleri gösterirsek : Ana Program CALL ALTP END STACK REG Alt Program İlk Komut RETURN Bu işlemleri sırayla yazarsak; 1. Ana program başlangıçtan itibaren çalışır. 2. CALL _ ALTP komutu ile Alt programın ilk komutuna atlanır. 3. Ana programdan ayrılma adresi STACK Registere otomatik olarak saklanır. 4. Alt program ilk komuttan itibaren icra edilir. 7

8 5. RETURN komutu ile karşılaşınca Alt programın bittiği anlaşılır ve Ana programda kaldığımız yere geri dönülür. 6. STACK Registerde saklanmış ayrılma adresi alınır. 7. Ana program devam eder ve normal olarak END komutu ile son bulur. şeklinde Alt Programa ait aşamalar elde edilir. Burada Programcı sadece CALL komutunu ve alt programı yazmak ve bunların isimlerinin (etiketin) aynı olmasını sağlamakla yükümlüdür. Alt Program sonuna RETURN yazılması, tüm programın (ana ve alt Programın) en altında END komutu bulunması zorunludur. Diğer yukarıda sıralanan işlemler zaten PIC tarafından otomatik olarak yapılmaktadır Altprogramlı Program Parçası Örnekleri Örnek : Bir çıkartma işlemi için ana programda 2. sayı PORTA ve akümülatöre alınacak daha sonra altprogram çağrılıp burada PORTB deki 1. sayıdan 2. sayı çıkarılarak tekrar ana programa dönülecektir ve sonuç tekrar PORTB ye yüklenecektir. Gerekli Program parçası ile altprogramı yazınız. Program Parçası CIKART AltProgramı MOVF PORTA,W CIKART SUBWF PORTB,W CALL CIKART RETURN MOVWF PORTB (Altprogram END komutundan önce yer almalıdır.) Örnek : Bir AltProgram şeklinde bir Zaman Geciktirme Döngüsü kullanarak PORTB ye bağlı LED lerin tamamını belli aralıklarla yakıp söndüren bir Program Parçası yazınız. Program Parçası GECIKME Altprogramı MOVLW h 00 GECIKME MOVLW h FF MOVWF PORTB MOVWF SAYAC1 CALL GECIKME DONGU1 MOVLW h FF MOVLW h FF MOVWF SAYAC2 MOVWF PORTB DONGU2 DECFSZ SAYAC2,F CALL GECIKME GOTO DONGU2 GOTO TEKRAR DECFSZ SAYAC1,F GOTO DONGU1 (Altprogram END komutundan önce yer almalıdır.) Program Örneği: Gecikme altprogramı kullanarak Port B ye bağlı tüm LED leri yakıp söndüren bir program için akış diyagramı çizerek gerekli assembly programını PIC 16F84 için yapınız. ;PROGRAM.ASM 15 / 10 / 2009 LIST P = 16F84 INCLUDE P16F84.INC SAYAC1 EQU h 0C SAYAC2 EQU h 0D BSF STATUS,5 CLRF TRISB BCF STATUS,5 DEVAM MOVLW h 00 MOVWF PORTB CALL GECİKME MOVLW h FF MOWF PORTB BAŞLA 16F84 ü tanıt, PORTB çıkış PORTB yi sıfırla CALL GECİKME PORTB h FF 8 CALL GECİKME

9 CALL GOTO GECİKME MOVLW MOWF TEKRAR1 MOWF TEKRAR2 DECFSZ GOTO DECFSZ GOTO RETURN END GECİKME DEVAM h FF SAYAC1 SAYAC2 SAYAC2, F TEKRAR2 SAYAC1, F TEKRAR1 BÖLÜM 7 - ARİTMETİK İŞLEMLER PIC Mikrodenetleyicilerde aritmetik işlem komutları diğer komutlar kadar gerekli olmakta, özellikle toplama, çıkartma ve (2 n =2,4,8,16) ile çarpma ve (2 n =2,4,8,16) ile bölme işlemleri bu komutlarla kolaylıkla gerçekleştirilebilmektedir. PIC16F84 de bulunan Temel Aritmetik İşlem Komutları şöylece özetlenebilir : ADDLW : Bir sabiti W register ile toplar. Ve sonucu yine W registerine yazar. ADDWF : W register ile File registeri toplar. Sonucu File registere ya da W ye yazar. SUBLW : Bir sabitten W yi çıkarır. Ve sonucu yine W registerine yazar SUBWF : File registerden W yi çıkarır. Sonucu File registere yada W ye yazar. RLF : C bayrağı üzerinden bitleri sola kaydırır (döndürür) [2 ile çarpma]. RRF : C bayrağı üzerinden bitleri sağa kaydırır (döndürür) [2 ile bölme]. ( Dağıtılan Komut tablosunu ve önceki dönem konularını inceleyiniz) NOT: 1) 8 bit toplamada C (elde-carry) bayrağı sonucun 8 bit dışına taşıp taşmadığını gösterir. Şayet toplama komutu sonunda C = 0 ise sonuç 8 biti (h FF sayısını) aşmamıştır. C = 1 ise sonuç 8 biti (h FF sayısını) aşmıştır. NOT: 2) 8 bitlik işaretsiz çıkartmada ( ) 10 = (0.FF) 16 aralığında elde edilen sonuçta; C = 1 ise sonuç pozitiftir. [Yani 1.sayı 2.sayıdan BÜYÜK dür]. Borç (ödünç) yoktur C = 0 ise sonuç negatiftir. [Yani 1.sayı 2. sayıdan KÜÇÜK dür]. Borç (ödünç) vardır NOT: 3) İşaretli sayılarla yapılan çıkartma işlemlerinde C bayrağı dikkate alınmaz. Eğer ( ) aralığı dışına çıkılmamışsa sadece 7. bit (Sonuç byte ının en solundaki bit) işareti tayin eder! Bu bit 0 ise sonuç pozitif, 1 ise sonuç negatiftir! Bu dönemki çalışmalarda işaretli sayılar üzerinde işlem yapılmayacaktır. 9

10 Bit Toplama: PIC16F84 de 8 bit toplama için 2 komut mevcuttur: 1) ADDLW Komutu: Sabit sayı ile W (Aküde) registerinde bulunan sayıyı toplar ve neticeyi W registerine yazar. Örn: ADDLW h 08 ; h 08 sayısını W ye ekler. 2) ADDWF Komutu : W registerinde bulunan sayı ile File registeri toplar ve sonucu File registere yada W registere yazar. Örn: ADDWF MEM, F ; W ile MEM registeri toplanır, sonuç tekrar MEM e yazılır. Çeşitli Hex. (16 lı tabanda) Toplama İşlemleri: 1) h 09 2) h 03 3) h F8 4) h FE h DE h FB h 08 h 08 h E7 h FE 1 h 00 1 h 06 C Bayrağı : 0 oldu. C Bayrağı : 0 oldu. C Bayrağı : 1 oldu C Bayrağı :1 oldu O halde sonuç h FF den büyükse toplama işleminde C bayrağı= (1) olmaktadır. Örnek : Önce W registerine h 5D yazdıktan sonra bu sayıyı h 42 ile toplayıp neticeyi hem W registerine ve hem de PORTB ye yazmak için akış diyagramı çizerek assembly program parçasını yazınız. Sonucu ve C bayrağını bulunuz. MOVLW h 5D ; h 5D yi W ye yükle ADDLW h 42 ; h 42 ile topla MOVWF PORTB ;W deki sonuç PORTB ye İşlemleri yaparsak : İşlemi hem 16 lı (heksadesimal) hem de 2 li (binary) tabanda yaparsak; Heks. olarak; Binary olarak; 5D F C bayrağı = 0 C bayrağı = 0 (Sonuç FF den küçük olduğu için) Bit (İki Byte) Toplama : Toplama işleminde h FF = d 255 (1 byte) den daha büyük sayılar kullanıyorsak toplama yapmadan önce bu sayıyı 2 byte lık parçalar halinde ifade ederiz. Ve sonucu da 2 byte olarak buluruz. 10

11 Örnek olarak h 019F sayısını ele alalım. Burada 01 i ise üst byte ve 9F i alt byte, olmak üzere 16 bitlik (16 lı olarak 4 haneli) sayıyı iki kısma ayırırız. Daha sonra toplanacak diğer sayıyı da aynen ikiye ayırıp alt byte ları birlikte, üst byte ları da yine kendi aralarında topladıktan sonra alt byte ların toplamını bir registere, üst byte ların toplamını bir başka registere yazarız. Bu arada alt byte ların toplamından (elde-carry) oluşursa bu eldeyi üst byte lardan birine eklemek gerekir. Bu durumda akış diyagramını bu program parçası için çizersek: Örnek : h 32A6 sabit sayısı ile h 2E9C sabit sayısını toplayarak sonucun alt-byte ını PORTB ye yazın. Daha sonra Program parçası GECIKME alt programına giderek neticenin bu kez üst-byte ını UST adlı registere gönderip yine GECIKME ye gidecek ve tekrar en başa dönerek işlemleri sürekli tekrarlayacaktır. Akış diyagramını çizip, program parçasını yazın (GECIKME alt programı yazılmayacaktır). X. sayısı 32 A6 Y. sayısı 2E 9C 1. sayı alt byte (XL) 2. sayı alt byte (YL) 1. sayı üst byte (XH) 2. sayı üst byte (YH) Önce toplama işlemini yapalım: Hex. Desimal Binary 32 A E 9C Akış Diyagramı Program Parçası XL EQU h 0C ; XL için 1 byte lık yer ayır. XH EQU h 0D ; XH için 1 byte lık yer ayır. YL EQU h 0E ; YL için 1 byte lık yer ayır. YH EQU h 0F ; YH için 1 byte lık yer ayır. BASLA MOVLW h A6 11

12 MOVWF XL MOVLW h 32 MOVWF XH MOVLW h 9C MOVWF YL MOVLW h 2E ; Verilen değerler X,Y lere yazıldı. MOVWF YH ; X ve Y byte ları ayrılan registerler yükle. TOPLA MOVF XL, W ADDWF YL, W ; XL ve YL yi topla. MOVWF PORTB ;Sonucu PORTB ye yaz BTFSC STATUS, 0 ; C = 0 mı? INCF XH, F ; Hayırsa XH ı (1) arttır CALL GECIKME ;Gecikme alt prog. çağır MOVF XH, W ADDWF YH, W ; YH ile XH ı topla. MOVWF UST ; Sonucu UST e yaz CALL GECIKME ;Gecikme altprogramını çağır GOTO BASLA Bit Çıkartma: PIC16F84 Mikrodenetleyicisinde 2 tür çıkartma komutu vardır. Daha önce karşılaştırma işlemi için (Bkz. Mikroişlemciler ve Mikrodenetleyiciler 1 Ders Notları) kullanılan bu komutlar SUBLW ve SUBWF şeklindedir. Kısaca hatırlarsak; SUBLW komutunda sabit sayıdan W registerinin içeriği çıkarılarak sonuç W ye yazılır. Örn: SUBLW h 09 ; h 09 dan W registeri çıkarılır, sonuç W ye yazılır. SUBWF komutunda ise File registerden W çıkarılır ve sonuç W ye yada File registere yazılır. Örn: SUBWF MEM, F ; MEM adı ile tanımlı registerin içeriğinden W çıkarılır ; ve sonuç F e yazılır. Örn: SUBWF h 20, W ;0x20 adresinde bulunan sayından W çıkarılır,wye yazılır İşaretsiz Sayılarla Çeşitli Çıkartma İşlemleri: 1) h 08 2) h 08 h 09 h 07 h FF (Binaryde Tümleyen Arit. kullanarak) h 01 C bayrağı = 0 (sonuç negatif) C bayrağı = 1 (sonuç pozitif) Örnek : PORTA da bulunan h 1B sayısından h 0A sayısını çıkaran ve neticeyi PORTB ye yazan bir program parçasını ve ilgili akış diyagramı ile yapınız. Sonucu ve C bayrağının değerini veriniz. MOVLW h 0A 12

13 SUBWF PORTA, W ; PORTA (0A) MOVWF PORTB ; Sonuç PORTB ye İşlem: Hex. Komplement Aritmetiği İle h 1B h 0A h C bayrağı = 1(Borç yok) C bayrağı = 1 olur. Örnek : MEM1 adlı registerde bulunan h 35 sayısından h 4C sayısını çıkardıktan sonra elde edilen negatif sayıyı PORTB deki LED leri yakarak ( 1 yaparak) gösteren bir program parçası yazınız. Yanacak LED leri ve C bayrağını bulunuz. Program Parçası: MOVLW h 4C SUBWF MEM1, F COMPF MEM1, F ; 0 1, 0 1 koyar. INCF MEM1 ; 1 arttırır, tabana göre komplement i(tümleyeni) bulur. MOVF MEM1, W ; MEM1 i W ye alır. MOVWF PORTB ; sonucu PORTB ye yazar. Hex. Yapalım Binary Yapalım h h 4C h (negatif) PORTB de RB4, RB2, RB1, RB0 bağlı LED ler yanacaktır Bit (İki byte) Çıkartma: 16 bit toplamaya benzerdir. Eksilen ve çıkan sayıların üst ve alt byte ları için birer olmak üzere 4 byte kullanılması gerekir. Örnek olarak h 53A8 sayısından h 24F6 sayısını çıkarmak için; Borç Genel bir akış diyagramı parçası çizersek : 53 A8 yandaki gibi bir durum ortaya çıkacaktır. 24 F6 2E B2 Bu defa altbyte ların çıkartılamasından borç kaldıysa 1. sayının üstbayt ından [burada 53 den] (1) çıkarılmalıdır. Tümleyen alınırsa Hayır h 17 (C=0) Cevap: -17 Alt byteları çıkar (Borç varmı?) C = 0 mı? Evet 1. sayının üst byte ından (1) çıkar Üst byteları çıkar 13

14 Örnek : Yukarıda verilen 2 byte lık 1.sayının sırasıyla düşük ve yüksek anlamlı byte lar olmak üzere MEM1L ve MEM1H adlı registerlerde bulunduğu, yine 2 byte lık 2. sayının MEM2L ve MEM2H adlı registerlerde mevcut olduğunu varsayarak çıkarma işlemini yapınız. Sonucun alt byte nı PORTB ye yazınız, üst byte nı ise RA0 biti = 0 olduktan sonra yine PORTB ye gönderilmesini sağlayan bir program parçası yazınız. Program Parçası: CIKAR MOVF MEM2L, W SUBWF MEM1L, F ; MEM1L den MEM2L yi çıkart. BTFSS STATUS, 0 ; C = 0 mı? (Borç var mı?) DECF MEM1H, F ; Evetse MEM1H dan 1 eksilt MOVF MEM2H, W ; Hayırsa W MEM2H SUBWF MEM1H, F ; Üst byte sonucunu yine MEM1H a yaz. MOVF MEM1L, W ; W MEM1L MOVWF PORTB ; Alt byte sonucunu PORTB ye TEST BTFSC PORTA, 0 ; RA0 a basıldı mı? GOTO TEST ; Hayırsa TEST e git. MOVF MEM1H, W ; Evetse MEM1H ı W ye aktar. MOVWF PORTB ; Üst byte ı PORTB ye yükle. BÖLÜM 8 - LOJİK İŞLEM KOMUTLARI 8.1. RLF Komutu (Bir bit Sola Kaydırma) Bir file register içinde bulunan bitlerin birer bit sola kaydırılması işlemidir. Bu durumda en solda bulunan ( 7. bit ) C ( elde ) bayrağına geçmekte, daha önce C de bulunan bit ise en sağdaki ( 0.) bite geçmektedir. Komutun formatı; Komutu şematik gösterirsek; RFL FİLE REGISTER, d W yada F ( Sonucun Yeri ) Program Örneği : Bir programla önce PORTB ye h 01 yükleyin. Daha sonra 1 defa bu biti sola kaydırın. Bu işlemin daha iyi görülebilmesi için üst üste 2 kere GECIKME alt programı kullanın. ; PROGRAM.ASM LIST P = 16F84 INCLUDE P16F84.INC GECİK1 EQU h 0C GECİK2 EQU h 0D BCF STATUS, 0 ; Elde yi sıfırla 14

15 BASLA 16F84 ü tanıt PORTB çıkış PORTB 01 CALL GECIKME CALL GECIKME RLF PORT B SON BSF STATUS, 5 ; Bank1 e geç CLRF TRISB ; PORTB Çıkış BCF STATUS, 5 ; Bank0 a geç MOVLW h 01 MOVWF PORTB ;PORTB ye 01 yaz CALL GECIKME ; Bekleme yap CALL GECIKME ; Tekrar Bekleme yap RLF PORTB,F ; 1 bit sola ötele BEKLE GOTO BEKLE GECIKME MOVLF h FF ; Önceki Gecikme Alt Prog ile aynı MOVWF GECIK1 DONGU 1 MOVLW h FF MOVWF GECIK2 DONGU2 DECFSZ GECIK2, F GOTO DONGU2 DECFSZ GECIK1, F GOTO DONGU1 RETURN END 8.2. RRF Komutu (Bir Bit Sağa Kaydırma) RRF komutu da RLF komutuna benzer olup fark bu defa kaydırma işleminin sağa olması dolayısıyla en sağdaki bit (0.bit) C ( elde ) bayrağına geçecektir. Daha önce C bayrağında bulunan bit ise bu sefer en soldaki (7.bite) geçecektir. Komut formatı; RRF FİLE REGİSTER, d Sonucun gideceği yer W yada F Mesela MEM adlı bir file registere hex 30 sayısını yazın. Aynı anda C bayrağı da (C= 1) ise RRF komutunun icrasından önce ve sonraki durum: Bu işlem için kullanılacak program komutları : MOVLW h 49 ; W Registerine (49) 16 yükle MOVWF MEM ; W yi MEM adresine sakla RRF MEM, F ; MEM i Sağa bir bit ötele şeklinde olacaktır. 15

16 8.3. COMF ve SWAPF Komutları COMF komutu ile istenen bir file register içinde (0) lar (1) ve (1) ler (0) yapılabilir [1 e göre tümleyen işlemi!.. ]. Komut formatı; COMF FILE REGISTER, d Sonucun gideceği yer ( destination ) ( W yada F yazılır ) şeklindedir. Örnek: HAFIZA1 adlı registere ( 1F ) 16 yüklendikten sonra bunun tersini bularak HAFIZA2 ye saklayan Program Parçasını yazın. HAFIZA1 MOVLW MOVWF COMF MOVWF h 0F HAFIZA1 HAFIZA1, W HAFIZA HAFIZA SWAPF komutu ise bir file register içindeki ilk dört bit (Yüksek anlamlı Nibble) ile son dört bitlerin (Düşük anlamlı Nibble) yerlerini değiştirir. Komut formatı; SWAPF FILE REGISTER, d şeklindedir. Örnek: PORTB ye ( 3F ) yazdıktan sonra ilk ve son 4 lü bitlerin yerini değiştiren ve sonucu W ye yazan Program parçası yazın. MOVLW MOVWF SWAPF h 3F PORTB PORTB, W NOT: Sınava Lab. da yapılan deney de Vize sınavına dahildir ********* Faydalanılan Kaynaklar : 1- Mikroişlemciler Ders Notları 1-2 (6502), Doç. Dr. Hakan ÜNDİL 2- Mikrodenetleyiciler ve PIC Programlama, Orhan ALTINBAŞ 3- PIC Mikrodenetleyiciler, Fevzi AKAR Mustafa YAĞIMLI 4- Adım Adım PIC Programlama, Yaşar BODUR 5- PIC Microcontroller Uygulama Devreleri, Gökhan DİNÇER 6- Microchip PIC16F8X ve PIC16F877 PIC Data Sheet, 7- web adresi. 16

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ı

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ı

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ı

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ı

MİKRO DENETLEYİCİLER 1 DERS NOTLARI (Final) Prof. Dr. Hakan Ündil Güz

MİKRO DENETLEYİCİLER 1 DERS NOTLARI (Final) Prof. Dr. Hakan Ündil Güz MİKRO DENETLEYİCİLER 1 DERS NOTLARI (Final) Prof. Dr. Hakan Ündil 2014-2015 Güz 1.1. Sayı Sistemleri Sayı sistemleri iyi anlaģılmadan mikroiģlemcilerle (ya da mikrodenetleyicilerle) uğraģmak ve onların

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ı

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

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

MİKRODENETLEYİCİLER I DERS NOTLARI Prof. Dr. Hakan Ündil 2014-2015 Güz (Vize sonuna kadar olan kısımdır.)

MİKRODENETLEYİCİLER I DERS NOTLARI Prof. Dr. Hakan Ündil 2014-2015 Güz (Vize sonuna kadar olan kısımdır.) MİKRODENETLEYİCİLER I DERS NOTLARI Prof. Dr. Hakan Ündil 2014-2015 Güz (Vize sonuna kadar olan kısımdır.) 1. BÖLÜM GİRİŞ ve SAYI SİSTEMLERİ 1.1. Devrelendirilmiş Lojik Şimdiye kadar Sayısal Devreler ve

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ı

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

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ı

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

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ı

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ı

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

Bu yürütme, Prof. Dr. Hakan ÜNDİL (Bir haftalık derse ait ders notudur)

Bu yürütme, Prof. Dr. Hakan ÜNDİL (Bir haftalık derse ait ders notudur) MİKROİŞLEMCİ (MİKROPROSESÖR - CPU) NEDİR? Mikroişlemci bir programının yapmak istediği işlemleri, (hafızada bulunan komutları) sırasıyla ile işleyerek icra eder (yürütür). Bu yürütme, 1. Komutun Program

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ı

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ı

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ı

HUNRobotX - Makaleler - Gecikme Kodları Hazırlama ve Gecikme Rutini Hazırlayıcı. Makaleler Gecikme Kodları Hazırlama ve Gecikme Rutini Hazırlayıcı

HUNRobotX - Makaleler - Gecikme Kodları Hazırlama ve Gecikme Rutini Hazırlayıcı. Makaleler Gecikme Kodları Hazırlama ve Gecikme Rutini Hazırlayıcı Makaleler Gecikme Kodları Hazırlama ve Gecikme Rutini Hazırlayıcı Gecikme Kodları Hazırlama ve Gecikme Rutini Hazırlayıcı Yazan: Mustafa Tufaner, Düzenleyen: Canol Gökel - 31 Ocak 2007 Giriş Merhaba, bu

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ı

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ı

Hacettepe Robot Topluluğu

Hacettepe Robot Topluluğu Hacettepe Robot Topluluğu PIC Assembly Dersleri 3. Ders: Bazı Özel İşlev Yazmaçları ve Altprogram Kavramı HUNRobotX - PIC Assembly Dersleri 3. Ders: Bazı Özel İşlev Yazmaçları ve Altprogram Kavramı Yazan:

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ı

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ı

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ı

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ı

MİKROİŞLEMCİ (MİKROPROSESÖR - CPU) NEDİR? Prof. Dr. Hakan ÜNDİL (Bir haftalık derse ait ders notudur)

MİKROİŞLEMCİ (MİKROPROSESÖR - CPU) NEDİR? Prof. Dr. Hakan ÜNDİL (Bir haftalık derse ait ders notudur) MİKROİŞLEMCİ (MİKROPROSESÖR - CPU) NEDİR? Prof. Dr. Hakan ÜNDİL (Bir haftalık derse ait ders notudur) Mikroişlemci bir programının yapmak istediği işlemleri, (hafızada bulunan komutları) sırasıyla ile

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ı

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ı

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ı

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ı

ÖĞRENME FAALİYETİ-1 1. MİKRODENETLEYİCİ PROGRAMI YAZMA

ÖĞRENME FAALİYETİ-1 1. MİKRODENETLEYİCİ PROGRAMI YAZMA ÖĞRENME FAALİYETİ-1 AMAÇ ÖĞRENME FAALİYETİ-1 Uygun ortam sağlandığında kurulacak devre için eksiksiz olarak yapabileceksiniz. mikrodenetleyici programını ARAŞTIRMA Mikrodenetleyici çeşitlerini aaştırınız.

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ı

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ı

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ı

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ı

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ı

DERS 5 PIC 16F84 PROGRAMLAMA İÇERİK. PIC 16F84 bacak bağlantıları PIC 16F84 bellek yapısı Program belleği RAM bellek Değişken kullanımı Komutlar

DERS 5 PIC 16F84 PROGRAMLAMA İÇERİK. PIC 16F84 bacak bağlantıları PIC 16F84 bellek yapısı Program belleği RAM bellek Değişken kullanımı Komutlar DERS 5 PIC 16F84 PROGRAMLAMA İÇERİK PIC 16F84 bacak bağlantıları PIC 16F84 bellek yapısı Program belleği RAM bellek Değişken kullanımı Komutlar Ders 5, Slayt 2 1 BACAK BAĞLANTILARI Ders 5, Slayt 3 PIC

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ı

Hacettepe Robot Topluluğu

Hacettepe Robot Topluluğu Hacettepe Robot Topluluğu PIC Assembly Dersleri 2. Ders: Çalışma Mantığı ve Komutlar HUNRobotX - PIC Assembly Dersleri 2. Ders: Çalışma Mantığı ve Komutlar Yazan: Kutluhan Akman, Düzenleyen: Canol Gökel

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ı

DEVRELENDİRİLMİŞ LOJİK

DEVRELENDİRİLMİŞ LOJİK MİKROİŞLEMCİLER VE MİKRODENETLEYİCİLER 1 - DERS NOTLARI (Kısım1) Doç. Dr. Hakan Ündil DEVRELENDİRİLMİŞ LOJİK Lojik (sayısal) Devreleri genel olarak 3 ana grupta inceleyebiliriz ; 1-) Kombinezonsal Lojik

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ı

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ı

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı MIKRODENETLEYICILER Ege Üniversitesi Ege MYO Mekatronik Programı BÖLÜM 3 Assembler Programlama ve Program Geliştirme Program Geliştirme Problem Tanımlama Bağlantı Şekli Algoritma Akış Diyagramı Kaynak

Detaylı

8086 Mikroişlemcisi Komut Seti

8086 Mikroişlemcisi Komut Seti 8086 Mikroişlemcisi Komut Seti SUB ve SBB komutları: SUB (Subtract) yani çıkartma SBB ise borç ile çıkart (SuBtract with Borrow) anlamına gelir. Her iki çıkartma işlemi bir çıkartma sonucu üretmenin yanında

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ı

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İ-4 Ankara 2007 Milli Eğitim Bakanlığı tarafından geliştirilen

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ı

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ı

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

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İ PROGRAMLAMA ANKARA 2006 Milli Eğitim Bakanlığı tarafından

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ı

KOMUT TABLOSU İLE İLGİLİ AÇIKLAMALAR:

KOMUT TABLOSU İLE İLGİLİ AÇIKLAMALAR: KOMUT TABLOSU İLE İLGİLİ AÇIKLAMALAR: 1) Etkilenen Bayraklar (E.B.) : Bazı komutlar koşturulurken PSW saklayacısındaki bayrakların değeri değişebilir. Herbir komut için etkilenen bayraklar belirtilmiştir.

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ı

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ı

MİKRODENETLEYİCİLER I DERS NOTLARI Güz-Final. 1. BÖLÜM GİRİŞ ve SAYI SİSTEMLERİ 1.1. Devrelendirilmiş Lojik

MİKRODENETLEYİCİLER I DERS NOTLARI Güz-Final. 1. BÖLÜM GİRİŞ ve SAYI SİSTEMLERİ 1.1. Devrelendirilmiş Lojik MİKRODENETLEYİCİLER I DERS NOTLARI 2015-2016 Güz-Final 1. BÖLÜM GİRİŞ ve SAYI SİSTEMLERİ 1.1. Devrelendirilmiş Lojik Şimdiye kadar Sayısal Devreler ve Sayısal Tasarım gibi dersler almış olan öğrenciler

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ı

BUTON KONTROLÜ. Pull-Down Bağlantı (Ters Bağlantı) Butona basılmadığında Giriş=1 Butona basıldığında Giriş=0

BUTON KONTROLÜ. Pull-Down Bağlantı (Ters Bağlantı) Butona basılmadığında Giriş=1 Butona basıldığında Giriş=0 BUTON KONTROLÜ PULL-DOWN BAĞLANTI PULL-UP BAĞLANTI PIC girişlerine bağlı botonlara basılıp basılmadığını bilmez. Sadece o girişte 0 mı var 1 mi var onu bilir. Bağlantının türüne göre bu eşleştirmeyi sizin

Detaylı

BÖLÜM 2 2. PROGRAMLAMA MANTIĞI

BÖLÜM 2 2. PROGRAMLAMA MANTIĞI BÖLÜM 2 2. PROGRAMLAMA MANTIĞI Programlama bir düşünce sanatıdır ve aslında, kullanılacak programlama dilinden bağımsız bir düşünme tekniğidir. Kullanılan programlama dilinin bu işleme katkısı ise makine

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ı

DERS 4 MİKROİŞLEMCİ PROGRAMLAMA İÇERİK

DERS 4 MİKROİŞLEMCİ PROGRAMLAMA İÇERİK DERS 4 İÇERİK Yüksek seviyeli programlama dilleri Düşük sevyeli programlama dilleri Assembler Derleyici Program algoritmalarında yapılan işlemleri Ders 4, Slayt 2 1 GİRİŞ Mikroişlemciler dersinde giriş

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

Bu dersimizde pic pinlerinin nasıl input yani giriş olarak ayarlandığını ve bu işlemin nerelerde kullanıldığını öğreneceğiz.

Bu dersimizde pic pinlerinin nasıl input yani giriş olarak ayarlandığını ve bu işlemin nerelerde kullanıldığını öğreneceğiz. Ders-2: ---------- Bu dersimizde pic pinlerinin nasıl input yani giriş olarak ayarlandığını ve bu işlemin nerelerde kullanıldığını öğreneceğiz. Hazırlanan programlarda pic in zaman zaman dış ortamdan bilgi

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ı

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ı

Mikroişlemcili Sistemler ve Laboratuvarı 8.Hafta

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

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ı

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı MIKRODENETLEYICILER Ege Üniversitesi Ege MYO Mekatronik Programı BÖLÜM 5 Zamanlayıcılar Zamanlayıcı/Sayıcı 3 Zamanlayıcı/Sayıcı Zamanlayıcı: Zaman geciktirici olarak kullanıldığında verilen isim. Sayıcı:

Detaylı

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUARI İKİLİ TABANDA ÇOK BAYTLI ÇARPMA

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUARI İKİLİ TABANDA ÇOK BAYTLI ÇARPMA İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUARI İKİLİ TABANDA ÇOK BAYTLI ÇARPMA Aritmetik işlemler onlu sayı sisteminde yapılabileceği gibi diğer sayı sistemleri

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ı

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ı

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ı

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ı

Adresleme Yöntemleri MİKROİŞLEMCİ SİSTEMLERİ. İşlenenin Yeri. Örnek MİB Buyruk Yapısı. İvedi Adresleme. Adresleme Yöntemleri. Bellek. Kütükler.

Adresleme Yöntemleri MİKROİŞLEMCİ SİSTEMLERİ. İşlenenin Yeri. Örnek MİB Buyruk Yapısı. İvedi Adresleme. Adresleme Yöntemleri. Bellek. Kütükler. Adresleme Yöntemleri MİKROİŞLEMCİ SİSTEMLERİ Doç. Dr. Şule Gündüz Öğüdücü http://ninova.itu.edu.tr/tr/dersler/bilgisayar-bilisim-fakultesi/0/blg-/ Getirme Çevrimi Yürütme Çevrimi Çözme İşlenen Yürütme

Detaylı

MİKROİŞLEMCİ (Microprocessor) NEDİR?

MİKROİŞLEMCİ (Microprocessor) NEDİR? MİKROİŞLEMCİ (Microprocessor) NEDİR? Merkezi İşlem Birimi, (CPU Central Processing Unit) olarak adlandırılır. Bilgisayar programının yapmak istediği işlemleri yürütür.(yerine getirir) CPU belleğinde bulunan

Detaylı

Jalv2 ile PIC Programlama 1.BÖLÜM. Sercan TEK. Temmuz 2011. Temel JALv2 Kavramları

Jalv2 ile PIC Programlama 1.BÖLÜM. Sercan TEK. Temmuz 2011. Temel JALv2 Kavramları 1BÖLÜM Sercan TEK Temmuz 2011 Temel JALv2 Kavramları Not : Buradaki bazı komutlar jalv2 derleyicisinin 24o ve sonraki versiyonları için geçerlidir Temel programlama ve elektronik bilginizin olduğu varsayılarak

Detaylı

BILGISAYAR ARITMETIGI

BILGISAYAR ARITMETIGI 1 BILGISAYAR ARITMETIGI Sayısal bilgisayarlarda hesaplama problemlerinin sonuçlandırılması için verileri işleyen aritmetik buyruklar vardır. Bu buyruklar aritmetik hesaplamaları yaparlar ve bilgisayar

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ı

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ı

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ı

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ı