VipeR Mesaj tarihi: Kasım 21, 2005 Paylaş Mesaj tarihi: Kasım 21, 2005 PIC16F84 Bilgi 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, Siemens, Oki, Temic, Harris,...) milyonlarca adet üretildi. 8 bit tabanlı olan 64Kbyte a kadar adresleme yapabilen, 32 adet I/O portuna sahip bu işlemciler kendi endustri standartını oluşturdu. 8031 ailesinin en önemli dezavantajı ise Eprom programlamanın zorlukları , çalışması için harici entegrelere ihtiyaç duyması idi. Gerçi 8051 de bu sorun yok ama onda da 8031 e göre fiyat dezavantajı var. Bu makalede RISC mimarisi ile üretilen ve 8031 ailesine göre daha üstün özelliklere sahip olan (Fiyat,Kolay programlama,Bol kaynak,...) Microchip in PIC serisi mikroişlemcilerinden en popüleri olan 16C84/16F84 tanıtılacaktır. PIC16F84 Microcontroller Genel Özellikler: · Sadece 35 komut ile programlama · 13 adet giriş/çıkış portu · Çalışma hızı DC-10 MHz · 8 bit data · 1Kx14 EEPROM Program Hafızası · 64 Byte EEPROM Data Hafızası · Direkt/Dolaylı Adresleyebilme · 4 adet Kesme Fonksiyonu. (PB0,TMR0,RB Change,EEPROM Write) · 1 milyondan fazla yazma silme · Kolay ve ucuz programlayabilme · Herbir pinden 25 mA e kadar akım verebilme · 8 bit programlanabilir Timer Pin Diagram 16F84 13 adet giriş çıkış portu bulunmaktadır. Bunlardan 8 bitlik olanına PortB,5 bitlik olanına da PortA denir. PortA nın 4 numaralı pini open kollektör olup giriş çıkış yapmak için bir direnç ile +5 e çekmek gerekmektedir. Diğer portlardan hiçbir ek elemana ihtiyaç duymadan giriş/çıkış yapılabilir. Mimari Microcontroller programlamadan önce Register haritasını bilmemiz gerekmektedir. PIC mimarisinde genelde tüm işlemler W (work) register üzerinden yapılır. Program yazmadan önce hangi porttan giriş hangi portttan çıkış yapılacağının belirlenip bunun microcontrollere anlatılması gerekmektedir. Bu da TrisA ve TrisB registerlarına degerler atayarak olur. Dikkat edilirse Bank0 ve Bank1 olarak 2 bölme vardır. Bank1 de bilmemiz gereken en önemli registerlar Option,TrisA ve TrisB dir.Bank0 da ise Status,PortA,PortB,TMR0 ve Intcon dur. Özel Registerların açıklamaları Şimdi bu registerları kısa kısa açıklayalım. PORTA: 5 adet giriş/çıkış pini vardır. PORTB: 8 adet giriş/çıkış pini vardır. TRISA: PortA dan girişmi yoksa çıkışmı yapılacağını belirleyen register dir. İlgili gözelere 1 yüklenirse Giriş, 0 yüklenirse Çıkış yapılır. Örnek olarak MOVLW b'00000011' MOVWF TRISA Bu komut satırları ile PortA nın 0,1 nolu pinleri Giriş, 2,3,4 nolu pinleri ise çıkış olarak tanımlanmış olur. TRISB: TrisA ile aynı şekilde ayarlanır. STATUS: Bit7:IPR 0: Bank0-1 1: Bank2-3 Bit6-5:RP0-RP1 00:Bank0 01:Bank1 10:Bank2 11:Bank3 Bit4:TO Süre Aşım Biti 0:WDT süre aşım işlemi yapmışşa 1:CRWDT yada SLEEP yapılmışşa Bit3:PD Güç Kesme Biti 0:SLEEP den sonra 1:CLRWDT dan sonra Bit2:Z 0:Yapılan aritmetik işlemin sonucu sıfırdan farklı ise 1: Yapılan aritmetik işlemin sonucu sıfır ise Bit1:DC 1: 8 bitin Düşük anlamlı ilk 4 bitinden taşma olursa 0: Taşma olazsa (ADD komutları ile değişir) Bit0:C 1:8 bitten taşma olursa 0:Taşma olmazsa(ADD komutları ile değişir) OPTION: Bit7:RBPU 0: PortB Pull-Up disable 1: PortB Pull-Up enable Bit6:INTEDG 0:PB0 düşen kenarda interrupt kabul eder. 1:PB0 yükselen kenarda interrupt kabul eder. Bit5:T0CS 0:T0CKI den gelen darbeler Clock kabul edilir 1:Clock kaynagı XTAL in ürettigi dahili darbeler olur. Bit4:T0SE (T0CS=1 ise) 0:T0CKI den gelen darbeler yükselen kenarda clock u arttırır. 1: T0CKI den gelen darbeler düşen kenarda clock u arttırır. Bit3:PSA 0:Prescaler TMR0 için ayarlı 1:Prescaler WDT için ayarlı Bit2,1,0: Prescaler set etme PS2,PS1,PS0 TMR0 WDT 000 1:2 1:1 001 1:4 1:2 010 1:8 1:4 011 1:16 1:8 100 1:32 1:16 101 1:64 1:32 110 1:128 1:64 111 1:256 1:128[signature][hline]DIDO! No one ever die from wanting too much! «::: V :::» .«::: I :::» .«::: P :::» .«::: E :::» .«::: R :::» Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
huun Mesaj tarihi: Kasım 21, 2005 Paylaş Mesaj tarihi: Kasım 21, 2005 guzelmis Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
paramecium Mesaj tarihi: Kasım 22, 2005 Paylaş Mesaj tarihi: Kasım 22, 2005 selam, bence bu konu biraz özel olmuş :) elektronik ile uğraşanlara hitap eder ve yoruma bile açık değil. nasıl yorumlanır ki :P saygılar.[signature][hline]www.audiworld.com Vorsprung durch Technik Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Öne çıkan mesajlar