1-Pic Mikrodenetleyici Nedir?

 Günümüzde elektronik teknolojideki gelişmeler bilgisayar ve elektronik cihazların gelişmesine büyük katkı sağlamıştır. Bu gelişmelerin paralelinde mikrodenetleyiciler de gelişmiştir. Mikrodenetleyicilerin bu gelişmesi birçok endüstriyel amaçlar için kullanılmasına yol açmıştır. Hayatımızın hemen hemen her kesiminde yaygın olarak kullanılmaktadır. Bunlar çevremizdeki bir değişim ölçülmesi ya da bir cihazın otomatik kontrolü olarak sıkça karşımıza çıkmaktadır

pic16f84-520x547

  1. PIC 16F877 Mikrodenetleyicisi


Mikrodenetleyicilerin kullanımı yaygınlaştıkça Atmel, Philips, Renasas, NEC, Microchip gibi firmalar mikrodenetleyici üretmeye başlamışlardır. Bu firmalardan Microchip, 1990 yılında itibaren 8-bit’lik mimari üzerine yaptığı özel donanım eklentileri ile günümüzde onlarca çeşit mikro denetleyici üretmektedir.8 bit mikrodenetleyiciler 8-bit veri yolu, 16-bitlik mikrodenetleyiciler ise 16-bitlik veri yolunu kullanılırlar [1].


PIC 16F87x serisi PIC 16CXX ailesinin özelliklerini taşır. PIC-16CXX de Harvardmimarisi kullanılmıştır. Veri yolu 8 bit genişliğindedir. Program belleğine program yolu yada adres yolu(program bus /addressbus) denilen 13 bit genişliğindeki diğer bir yolla erişilir. PIC 16C87X de komut kodları(opcode), 14 bittir. 14 bitlik program beleğinde  her bir adresi, bir komut koduna karşılık gelir[1].Her komuta bir çevrim süresinde (saykıl, cycle) erişilir ve komut yazmacına yüklenir. Dallanma komutları dışındaki bütün komutlar, aynı çevrim süresinde çalıştırılırlar [1].







Komut seti: genel olarak picmcu için 35 komut bulunmaktadır.

000


GOTO BASLA

ORG 0X00  GOTO BASLA  






ORG 0X01  GOTO KESME1


ORG 0X02  GOTO KESME2


ORG 0X03  GOTO KESME3



STATUS EQU H'03'

PORTA  EQU H'05'



BSF  STATUS,5      


CLRF  TRISA;   


BCF STATUS,5       


CLRF PORTA


BASLA         ……………………………….

                 GOTO BASLA




KESME1

………..

            RETFIE





KESME2

………..

            RETFIE



KESME3

………..

            RETFIE



  END



BAŞLANGIÇ SATIRI

00 KONUMANA GOTO BASLA YAZ

001

GOTO KESME1

KESME SATIRLARI

01 KONUMANA GOTO KESME1 YAZ

002

GOTO KESME2

02 KONUMANA GOTO KESME2 YAZ

003

GOTO KESME3

03 KONUMANA GOTO KESME3 YAZ



DEĞİŞKEN TANILAMA YERİ

03 NUMARALI ADRESİ STATUS OLARAK KULLANACAM




05 NUMARALI ADRESİ PORTA OLARAK 

KULLANACAM

004


BSF STATUS,5

HAZIRLIK İŞLEMLERİ

BANK1 GEÇ 

005


CLFR PORTA

PORTA BELLEK GÖZÜNÜ TEMİZLE(ÇIKIŞ YAP)

006


BCF STATUS,5

BANK0  GEÇ




BAŞLANGIÇ İŞLEMLERİ


007


CLRF PORTA


PORTA ÇIKIŞLARINI SIFIR YAP

008

BASLA


ANA PROGRAM BLOĞU


009


…….


010


……


011


GOTO BASLA


012









013

KESME1


KESME1 ALT PROGRAMI


014




015


RETFIE


016











017

KESME2


KESME2 ALT PROGRAMI


018




019


RETFIE







020

KESME3




021



KESME3 ALT PROGRAMI


022


RETFIE







023


END

PROGRAM SONU


….





……






3FF







16f84 mcu da genel ve özel amaçlı registerler bulunmaktadır. Bunlar porta, status ve kullanıcının kullanmak için tanımladığı kaydedicilerdir.

 Bunlar bank0 yada bank1 de olabilir. Ama kullanıcının kullanımına açık kullanılan bellek gözleri her iki bankta da olsak erişebiliriz.

Kaydediciler üzerinde işlem yapmak için status kaydedicisi üzerinden bank değiştirmek gerekecektir.

BSF STATUS,5 ;bank 1 e geçiş yapıldı

CLRF TRISB ;b portu çıkış yapıldı

MOVLW H'FF' ;

MOVWF TRISA ;a portu giriş yapıldı

BCF STATUS,5 ;tekrar bank sıfıra geçildi.


Kaynaklar

[1] Bil386 Mikrobilgisayarlı Sistem Tasarımı

[2] http://www.biltek.tubitak.gov.tr/gelisim/elektronik/dosyalar/5/5.pdf   (Haziran 2007)

[3] www.datasheetcatalog.com/datasheets_pdf/L/M/3/LM35DZ.shtml (Mayıs 2007)

[4] www.microchip.com

Yorumlar