pic programlama dersleri etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

PIC PROGRAMLAMA 15--- EPROMLAR


Epromalar bir hafıza elemanıdır.16f877 denetleyicisi içersinde 2 adet eprom hafıza alanı bulunmaktadır.Bunlar;Dahili data eeprom ve Flash program eeprom hafıza alanıdır.Epromlar elektrik kesildiginde hafızasındaki beriyi kaybetmezler.Ancak bu veri programla okunur,yazılır veya silinebilir.Dahili epromlara 8 bit veri yazılır ve okunur.16f877 denetleyicisine 256byte hafızaya sahiptir.Yani 256 tane 8 bit veri saklanabilir.


1)#int_eeprom


Epromlarda yazma işlemi bitince istenirse kesmeye gidilebilir.

2)read_eeprom()


Bu fonksiyon ile eprom adresindeki veriyi okuruz.
Degişken ismi=read_eeprom(adres) şeklindedir.Adres kısmı eeprom hafıza kapasitesine göre 8 bit veya 16 bit olarak degişir.

veri=read_eeprom(42)//42 nolu adres okunur ve veri degişkenine atılır

3)write_eeprom()

Bu fonksiyon ile eprom adresine yazı yazarız.
Degişken ismi=write_eeprom(adres,bilgi) şeklindedir.Adres kısmı 8 yada 16 bit olabilir.Bilgi kısmı 8 bitlik bir tamsayıdır.

write_eeprom(42,veri)//veri degerini 42. adrese yaz

#FUSE CPD=data eeprom korumasını aktif yapar
#FUSE NOCPD=data eeprom korumasını kapatır
#FUSE NOPROTECT=kod hafıza korumasını pasif yapar
#FUSE PROTECT=kod hafıza korumasını aktif yapar
#FUSE WRT=hafıza yazmaya karşı korumalı
#FUSE NOWRT=hafıza yazmaya karşı korumasız



Gelelim uygulamamıza :




#use delay(clock=4000000)
#define use_portd_lcd true
#include <lcd.c>
long int oku,tl5,tl10,tl15,tl20,tl25,toplam;
void main()
{
set_tris_a(0xff);//a portu tamamen giriş
set_tris_d(0*00);//d portu tamamen çıkış
lcd_init();//lcd hazırlanıyor
while(true)
{
oku=read_eeprom(5);//5 nolu adresten veri okunuyor
if(oku==255)//epromlar üzerinde oynama yapılmadıgından dolayı en fazla 255 kadar saymaktadır
{
write_eeprom(0,0);//0 adresi degeri 0 yapılır
write_eeprom(1,0);//1 adres degeri 0 yapılır
write_eeprom(2,0);
write_eeprom(3,0);
write_eeprom(4,0);
write_eeprom(5,0);
}
lcd_gotoxy(2,1);//lcd imleci 2.sütün 1.satıra gider
printf(lcd_putc,"TOPLAM MIKTAR");//toplam tutar ekrana yazdırılıyor
tl5=read_eeprom(0);//tl5 degişkenine eprom 0 adresindeki veri aktarılır
tl10=read_eeprom(1);//tl10 degişkenine eprom 1 adresindeki veri aktarılır
tl15=read_eeprom(2);
tl20=read_eeprom(3);
tl25=read_eeprom(4);
toplam=tl5*5+tl10*10+tl15*15+tl20*20+tl25*25;//toplam degişkenine para tutarları aktarılıyor
lcd_gotoxy(6,2);//imleç 6.sütün 2. satıra gider
printf(lcd_putc,"%ld TL",toplam);//toplam degeri ekrana yazdırılır
if(input(pin_a0)==1)//pin_a1 aktif mi ?
{
while(input(pin_a0));//butondan el çekinceye kadar bekle
lcd_init();//lcd hazıla 
tl5++;//tl5 degerini arttır
write_eeprom(0,tl5);//0. adresi tl5 degerini ata
}
else if(input(pin_a0)==1)
{
while(input(pin_a0));
lcd_init();
tl5++;
write_eeprom(0,tl5);
else if(input(pin_a1)==1)
{
while(input(pin_a1));
lcd_init();
tl10++;
write_eeprom(1,tl10);
}
else if(input(pin_a2)==1)
{
while(input(pin_a2));
lcd_init();
tl15++;
write_eeprom(2,tl15);
}
else if(input(pin_a3)==1)
{
while(input(pin_a3));
lcd_init();
tl20++;
write_eeprom(3,tl20);
}
else if(input(pin_a4)==1)
{
while(input(pin_a4));
lcd_init();
tl25++;
write_eeprom(4,tl25);
}
}
}


PİC PROGRAMLAMA-12
Merhaba arkadaşlar.Bugün aşşa yukarı her kavşakta trafik ışıgı görüyoruz.Bunun yazılım kısmını anlatacagım bugün.Şekilde görüldügü gibi devremizi olusturuyoruz.

Gelelim kod kısmına;

void main()
{

   while(TRUE)
   {delay_ms(100);//0,1 sn bekletmemin sebebi ilk başlattıgımız anda ilk satırı atlıyor
   //bu atlamayı engellemek için bu komutu kullandım
output_high(pin_b6);//b6 pini aktif
output_high(pin_b0);//b0 pini aktif
delay_ms(2000);//2 sn bekle.Bu saniye kısmını kendınız ayarlayabılırsınız
output_low(pin_b0);//b0 pini pasif
output_low(pin_b6);//b6 pini pasif
delay_ms(1000);//1 sn bekle
output_high(pin_b1);//b1 pini aktif
output_high(pin_b5);//b5 pini aktif
delay_ms(2000);//2 sn bekle.
output_low(pin_b1);//b1 pini pasif
output_low(pin_b5);//b5 pini pasif
delay_ms(1000);//1 sn bekle
output_high(pin_b2);//b2 pini aktif
output_high(pin_b4);//b4 pini aktif
delay_ms(2000);//2 sn bekle.
output_low(pin_b2);//b2 pini pasif
output_low(pin_b4);//b4 pini pasif
delay_ms(1000);//1 sn bekle
   }

}
PİC PROGRAMLAMA-9
Merhaba arkadaşlar.Bugünkü dersimizde lcd ile kayan yazı yazmayı ögrenecegiz.Şekilde görüldügü gibi devremizi oluşturalım.
Ve kod kısmına geçelim :
#include <main.h>
#define use_portb_lcd true
#include<lcd.c>
int sayi,i;
void main()
{
   while(TRUE)
   {
      for(i=0;i<40;i++)//40 karekterlik döngü
      {
      lcd_gotoxy(1,1);//imlece 1.satır 1. stüna getirir
      lcd_send_byte(0,0x1c);//karekteri sola kaydırır
      printf(lcd_putc,"http://elektro-blogger.blogspot.com.tr/");//ekrana yazırılacak yazı
      delay_ms(250);
      }
   }

}
Not:lcd_send_byte(0,0x18) komutu ise lcd ekranında yazımızı saga kaydırmanıza yarar

ELEKTRO BLOGGER A HOŞGELDINIZ

ARAMA YAP

EN COK OKUNANLAR

- Copyright © ELEKTRO-BLOGGER Blogger