3 Kasım 2010 Çarşamba

PORT ÇIKIS UYGULAMALARI

Program 1: Devreye enerji verildiğinde PIC16F84'ün B portunun 0. bitine baglı LED'i yakan program.
               
Program komut satırlarının açıklanması : (1)         PORTB’nin tüm bitlerini çıkış yapar. File registerdeki TRISB, PORTB’yi giriş veya çıkış olarak yönlendirir. TRISB ’ye ait tüm bitlerin sıfir yapılması bütün bitlerin çıkış olacağı anlamını taşir.
(2)  PORTB=0     PORTB’nin tüm bitlerini (içeriğini) sıfirlar. Böylece önceden programlanıp üzerine tekrar program yüklenen PIC ’lerin çıkış registerinde eski program artıkları silinmiş olur. 
(3) HIGH   PORTB.0      HIGH komutu PORTB’nin 0. bitini “1” yapar. Bu bit’e bağli LED’i yakar.
(4) END     Program yazımı END komutuyla tamamlanır.
 
        Devreye enerji verildiğinde B portunun 3. bitine bağlı LED yakılmak istendiğinde programın (3) nolu komut satırı HIGH PORTB.3 şeklinde değiştirilmelidir.
        
Bu satırda yapılacak port çıkış tanımlamaları ile istenilen LED yakılabilir.
Program 4 : Devreye enerji verildiğinde PIC16F84’ün B portuna bağlı LED’leri birer aralıklarla yakan program.
              
       Program komut satrlarının açıklanması :
(1)  PORTB’nin tüm bitlerini çıkış olarak ayarlar.
(2)  PORTB içeriğini siler.
(3) PORTB bitleri birer aralıklı olarak “1” yapılarak bu bitlere bağlı LED’ler yakılır.
(4)  Programi sonlandirir.
        Programın (3) nolu komut satırı

   
şeklinde değiştirilirse B portuna bağlı tüm LED'ler yakılır.
Program 5 : Devreye enerji verildiğinde  PIC16F84’ün B portunun ilk bitine bağli LED’i 1 sn aralıklarla yakıp söndüren program (Flaşör).
 
    Program komut satırlarının açıklanması :
(1)  PORTB’nin tüm bitlerini çıkış olarak ayarlar.
(2)  PORTB içeriğini siler.
(3) LED’in 1’er sn aralıklarla sürekli yanip sönmesi için (7) nolu komut satırından (3) nolu komut satırına dönmeyi sağlayan DÖNGÜ etiketi bu satırda belirtilmiştir. DÖNGÜ isimli etiket yerine farklı isimli herhangi bir etiket
 ismi de verilebilir. Bu satırda dikkat edilmesi gereken husus etiketin iki nokta üst üste ile (:) sonlandırılmasıdır.
(4) PORTB’nin 0. biti HIGH komutu ile “1” yapılarak bu bit’e bağlı LED yakılır.
(5) PAUSE 1000 komutu ile LED’in 1 sn yanık kalması sağlanır. 1000 sayisi milisaniye cinsinden zaman gecikmesini
     simgeler.
(6) PORTB’nin 0. biti  LOW komutu ile “0” yapılarak bu bit’e bağlı LED söndürülür.
(7) PAUSE 1000 komutu ile LED’in 1sn sönük kalmasi saglanir. 1000 sayisi milisaniye cinsinden zaman gecikmesini simgeler.
(8) Bu komut satırında yer alan GOTO komutu ile DÖNGÜ etiketli (3) numaralı komut satırına dallanma sağlanır.
     Böylece yanıp sönme işleminin 1’er saniye aralıklarla sürekli olması sağlanır.
(9)  Programı sonlandırır.
     Programda PORTB’nin 7. bitine bağlı son LED’i 1’er sn aralıklarla yakıp söndürmek için (4) ve (6) nolu komut satırlarındaki PORTB’ye ait bit değeri “7” yapılmalıdır. Diğer bir ifadeyle (4) nolu komut satırinı HIGH PORTB.7 ve (6) nolu komut satirini LOW PORTB.7 şeklinde değiştirmek gerekir.
    Programda LED’i 0,5 sn araıiklarla yakıp söndürmek için (5) ve (7) nolu komut satırlarında 1000 sayı değerinin 500 yapılması gerekir.
    LED’i 1 sn yakıp 0,5 saniye sönük kalacak şekilde ayarlamak için ise (3) nolu komut satırındaki sayı değeri 1000, (7) nolu komut satırındaki sayı değeri ise 500 yapılmalıdır.
Program 7: Devreye enerji verildiğinde  PIC16F84’ün B portuna bağlı LED’lerin tümünü 2 sn aralıklarla yakıp söndüren program (Flaşör).
 
 
    Program komut satirlarinin açiklanmasi :
(1)  PORTB’nin tüm bitlerini çıkış olarak ayarlar.
(2)  PORTB içeriğini siler.
(3) LED’lerin 2’ser sn aralıklarla yanıp sönmesi için (7) nolu komut satırından (3) nolu komut satırına dönmeyi sağlayan DONGÜ etiketi bu satırda belirtilmiştir.
    DÖNGÜ isimli etiket yerine farkli isimli herhangi bir etiket ismi de verilebilir. 
Bu satırda dikkat edilmesi gereken husus etiketin iki nokta üst üste ile (:) sonlandırılmasıdır.
(4) PORTB’nin tüm bitlerini “1” yaparak bu bitlere bagli LED’leri yakar.
(5) PAUSE 2000 komutu ile LED’in 2sn yanık kalması sağlanır. 2000 sayısı milisaniye cinsinden zaman gecikmesini simgeler.
(6) PORTB’nin tüm bitlerini “0” yaparak bu bitlere bağlı LED’leri söndürür.
(7) PAUSE 2000 komutu ile LED’in 2 sn sönük kalması sağlanır. 2000 sayısı msn cinsinden zaman gecikmesini simgeler.
(8) Bu komut satırında yer alan GOTO komutu ile DÖNGÜ etiketli (3) numaralı komut satırına dallanma sağlanır. Böylece yanıp sönme işleminin 2’şer saniye aralıklarla sürekli olması sağlanır.
(9)  Programı sonlandırır.
    LED’leri farklı sürelerde yakıp söndürmek için örneğin, LED’lerin yanık kalma süresini 3 sn, sönük kalma süresini ise 1 sn yapmak için, (5) nolu komut satırı PAUSE 3000 ve (7) nolu komut satırı PAUSE 1000 yapılmalıdir.
      PORTB’nin ilk biti ile ikinci bitine bağli LED’leri sırasıyla yakıp söndürmek için (Flip-Flop) (4) nolu komut satırı 
 
  PORTB’nin ilk 4 biti ile son 4 bitine bağli LED’leri sırasıyla yakıp söndürmek için (Flip-Flop) (4) nolu komut satırı 
   
Zaman gecikmesini 0,5 sn’ye ye düşürmek için ise (5) ve (7) nolu komut satırlarındaki PAUSE içerikleri 500 yapılmalıdır.
Program 8:  B portu üzerinde bir LED’i bit 7’den bit 0 yönünde (sağa) yakarak kaydıran program.
 
 
    Program komut satırlarının açıklanması :
(1) PORTB’nin tüm bitlerini çıkış olarak ayarlar.
(2) PORTB içeriğini siler. PORTB çıkışlarını “lojik 0” yapar.
(3) Programın baslangıç noktasına dallanacağı BAŞLA etiketi.
(4) PORTB’nin 0. biti “1” yapılır.
    Programda (4) ve (5) nolu komut satırları  kullanılmaz ise sağa kayma işleminde son LED (7.LED) yanmaz. Program çalıştırıldığında en son RB1 LED’i yanar ve program RB7 LED’ine döner. Çünkü (10) nolu komut satırında  kayma işlemi son LED’e ulaştığında ilk LED’e yönlendirme vardır.
(5) LED’in yanık kalma süresini 0,5sn olarak ayarlar.
(6) PORTB’nin 7. bitini (en sol bit) “1” yaparak bu bit’e bagli LED’i yakar.
(7) Sağa kaydırma işleminin devamı için SAĞ dallanma etiketi.
(8) Sağa kaydırma zaman süresini veya LED’in yanık kalma süresini 0,5 sn olarak ayarlar.
(9) PORTB’ye ait bitleri 7. bitten başlamak üzere 0. bit’e kadar sırasıyla “lojik 1” yapar.
(10) IF komutu ile PORTB içeriğinin “00000001” olup olmadığı sorgulanır. PORTB’nin 0. bit’i “lojik 1” ise  program, THEN komutunu işleterek BAŞLA etiketli (3) nolu komut satırına dallanır. PORTB’nin 0. bit’i “lojik 1” değil ise sıradakı komut satırı (11) işletilir.
     Bu komut satırında, “eğer (IF) PORTB’nin 0. biti “1” ise o zaman (THEN) BAŞLA etiketli komut satırına git, değilse (11) nolu komut satırını işleterek    (7) nolu komut satırına dallan ve sağa kaydırma işlemine devam et” denir.
(11) Bu komut satırı ile program SAĞ etiketli (7) nolu komut satırına dallanır.
(12)  Programi sonlandirir.
 
Program 9:  B portu üzerinde bir LED’i bit 0’dan bit7 yönünde (sola) yakarak kaydıran program.
 
 
    Program 9’da sola kaydırma işlemi (9) nolu komut satırında yapılmaktadır.
(1) PORTB’nin tüm bitlerini çıkış olarak ayarlar.
(2) PORTB içerigini siler. PORTB çıkışlarını “lojik 0” yapar.
(3) Programın başlangıç noktasına dallanacağı  BAŞLA etiketi.
(4) PORTB’nin 7. biti “1” yapılır.
    Programda (4) ve (5) nolu komut satırları kullanılmaz ise sola kayma işleminde son 7.LED yanmaz. Program çalıştırıldığında en son RB6 LED’i yanar ve program RB0 LED’ine döner. Çünkü (10) nolu komut satırında  kayma işlemi son LED’e ulaştığında 0. bite bağlı LED’e yönlendirme vardır.
(5) LED’in yanık kalma süresini 0,5 sn olarak ayarlar.
(6) PORTB’nin 0. bitini (en sağ bit) “1” yaparak bu bit’e baglı LED’i yakar.
(7) Sola kaydırma isleminin devamı için SOL dallanma etiketi.
(8) Sola kaydirma zaman süresini veya LED’in yanik kalma süresini 0,5sn olarak ayarlar.
(9) PORTB’ye ait bitleri 0. bitten baslamak üzere 7. bit’e kadar sirasiyla “lojik 1” yapar.
(10) IF komutu ile PORTB içeriğinin “10000000” olup olmadığı sorgulanır. PORTB’nin 7. bit’i “lojik 1” ise program, THEN komutunu işleterek BAŞLA etiketli (3) nolu komut satırına dallanır. PORTB’nin 7. bit’i “lojik 1” değil ise sıradaki komut satırı (11) işletilir.
(11) Bu komut satırı ile program SOL etiketli (7) nolu komut satırına dallanır.
(12)  Programı sonlandırır.

Program 10:  B portu üzerinde bir LED’i yakarak saga-sola kaydiran program.
 
 
    Program 10'da (3)-(9) nolu komut satırları sağa kaydırma, (10)-(16) nolu komut satırları ise sola kaydırma işlemi yapmaktadır. Sağa ve sola kaydırma islemleri Program 8 ve Program 9’da anlatıldığı  gibidir.
    (4) nolu komut satırı sağa kaydırma işlem baslangıcı için PORTB’nin 0. bitini “1” yaparak ilk LED’i yakar. Her LED’in yanık kalma veya sağa kayma süresi (6) ve (13) nolu komut satırında belirtildigi gibi 0,5 sn’dir.
    (7) nolu komut satırı bir bit sağa kaydırır. (8) nolu komut satırında PORTB’nin 0. bitinin “1” olup olmadığı yani son LED’in yanip yanmadığı  sorgulanır. 
Son LED yanmadığı sürece program (5) nolu komut satırında belirtilen SAĞA-DEVAM etiketli komut satırına geçer. PORTB’nin 0. bitine bağlı son LED yandığında ise (8) nolu komut satırındaki IF…THEN sorgulama komutu sayesinde program SOL etiketli (10) nolu komut satırına dallanır ve aynı işlemler sola kaydırma esnasında da gerçekleşir.
    Programda LED’lerin yanma veya kaydırma süresi 0,5 sn olmasina ragmen, ilk ve son LED’ler 1’er saniye yanmaktadır.  
Bu durumun sebebi programın başlangıç noktaları olan en sağ veya en sol bitlerin program bitişinde 0,5 sn ve yine program başlangıcında bir 0,5 saniye daha yanık kalmasıdır. 
Bu durumu düzeltmek ve her LED’in aynı  süre yanık kalmasını sağlamak için programın (4) ve (11) nolu komut satırları düzenlenmelidir.
    
Bu işlem için (4) nolu komut satırı
 yapılmalıdır. Bu tür düzenlemenin dezavantajı program ilk çalıştırıldığında bir defaya mahsus sağa kaydırma
 kaydırma işleminin ikinci LED’ten başlamasıdır.
Alıntıdır.

Hiç yorum yok:

Yorum Gönder

İzleyiciler

LED DİRENÇ HESAPLAMA

All LEDs require current limiting, without a current limiting mechanism the LED will usually burn out in under a second. Adding a simple resistor is the easiest way to limit the current. Use the calculator below to find out the value of resistor you require.

For example if you are wanting to power one of our_blank">red LEDs in an automotive application you would see that the typical forward voltage is 2.0 Volts and the maximum continuous forward current is 30mA. Therefore you would enter 14.5, 2.0 and 30 into the Single LED calculation box. After calculating you get 470ohm 1 watt as the result. Here is a that allows you to enter a resistor value and generate the corresponding color code.

Note: For automotive applications use the actual system voltage, not 12 Volts. Most 12 Volt system actually operate at around 14.5 Volts.

Supply Voltage
VOLTS
Voltage Drop Across LED
VOLTS
Desired LED Current
MILLIAMPS



Calculated Limiting Resistor
OHMS
Nearest higher rated 10% resistor

Calculated Resistor Wattage
WATTS
Safe pick is a resistor with
power rating of (common values are .25W, .5W, and 1W)
WATTS

LEDs in series

Several leds in series with one resistor
Supply Voltage
VOLTS
Voltage Drop Across LED
VOLTS
Desired LED Current
MILLIAMPS
How many LEDs connected




Calculated Limiting Resistor
OHMS
Nearest higher rated 10% resistor

Calculated Resistor Wattage
WATTS
Safe pick is a resistor with
power rating of (common values are .25W, .5W, and 1W)
WATTS
LM317 UYGULAMA DEVRELERİ HESAPLAMASI

 




Çıkış Voltajı
R1 resistor

R2 resistor

R1 resistor
R2 resistor

Çıkış Voltajı


Lm317 uygulama devreleri ve detayli bilgiye Buradan ulasabilirsiniz

LM555 - ASTABLE OSCILLATOR CALCULATOR

LM555 - ASTABLE OSCILLATOR CALCULATOR
Value Of R1 Ohms Value Of R2 Ohms
Value Of C1 Microfarads
Output Time HIGH SECONDS Output Time LOW SECONDS Output Period HIGH + LOW SECONDS Output Frequency HERTZ Output Duty Cycle PERCENT
Resistor values are in Ohms (1K = 1000) - Capacitor values are in Microfarads (1uF = 1)

NOTE: The leakage currents of electrolytic capacitors will affect the actual output results of the timers. To compensate for leakage it is often better to use a higher value capacitor and lower value resistances in the timer circuits.

LM555 Astable Oscillator Circuit Diagram


LM555 - ASTABLE CAPACITOR CALCULATOR

The next calculator can find the capacitance needed for a particular output frequency if the values of R1 and R2 are known.

Value Of R1 Ohms Value Of R2 Ohms
Frequency Desired Hertz
Capacitance uF
s

VOLT AMPER OHM ve WATT HESAPLAMA

Current:
kA (kiloamps) A (amps) mA (milliamps) µA (microamps)
Voltage:
kV (kilovolts) V (volts) mV (millivolts) µV (microvolts)