Haberler:

Forum kuralları güncellendi LÜTFEN  okuyunuz:  https://bit.ly/2IjR3ME

Ana Menü

74HC595 ile 4bit.

Başlatan Mr.Java, 26 Şubat 2013, 20:32:57

Mr.Java

Arkadaşlar merhaba.Benim sorunum 595 entegresi ile ilgili.Entegre ile 4 bit kontrol nasıl yapılıyor.Örnek LCD.
Aşağıdaki kod basit bir sayıcı  fakat 4bit mantığını kavrayamadım.

void uc_hat_kontrol(unsigned char temp)
{
char i;
Enable=0;
for(i=0;i<8;i++)
{
Clock=0;
if((temp<<i)&0x80)
DataIO=1;
else
DataIO=0;
Clock=1;
}
Enable=1;
}

#define Clock RB0 //74LS595 Clk giriĢi, yükselen kenar
#define DataIO RB1 //74LS595 Data giriĢi
#define Enable RB2 //74LS595 Enable giriĢi
// Seven segment sabitleri
const unsigned char segment[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
void uc_hat_kontrol(unsigned char temp)
{
char i;
Enable=0;
for(i=0;i<8;i++)
{
Clock=0;
if((temp<<i)&0x80)
DataIO=1;
else
DataIO=0;
Clock=1;
}
Enable=1;
}
void main(void)
{
char i;
PORTB=0x00;
TRISB=0x00; // PORTB çıkıĢ
for(;;)
{
uc_hat_kontrol(segment[i]); // Seven segment
DelayMs(250);DelayMs(250); // bilgisi gönderiliyor
i++;
if(i>9)
i=0;
}
}

mehmet

LCD' ler 4 ve 8 bit ile sürülürler, bunun HC595 ile doğrudan
bağlantısı yoktur.
8 data + 3 kontrol biti kullanılırsa 8 bitlik kontrol olur,
4 data + 3 kontrol biti kullanılırsa 4 bitlik kontrol olur.

Bu durumda 4 bitlik kontrol daha ekonomiktir; 4 + 3 = 7 pin
kullanılmış olur. Yani mcu dan sadece bir port harcanmaktadır..

HC595 ile kontrole gelince; bu 7 bitlik veri (LCD 4 bit kontrol için)
uygun şekilde programlanır ise mcu dan sadece 3 pin ile
LCD kontrol edilmiş olur.

Sonuç olarak LCD kontrolünü inceleminzde yarar görüyorum...
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr

Mr.Java

LCD sürme konusunda sıkıntım yok.Şöyle izah edeyim.
Yukarıdaki kütüphane ile lcd sürdüğümde ekranda düzensiz karakterler çıkıyor.Nasıl bir düzenleme yapmam lazım ?

mehmet

Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr

camby

#4
4 bit nerede geçiyor ?

Kodlar seven segment led için .

Ortada LCD yok.

mesaj birleştirme:: 28 Şubat 2013, 09:49:15

Ek :

4 bit de değil , 8 bit çalışıyor.

ibrsel

Yukarıda verdiğin kodlar LCD ekran sürmek için değil..@camby arkadaşımızın dediği gibi 7 segment display sürmek için..
74595 ile 2*16 LCD sürebileceğini zannetmiyorum.Senin demek istediğin hazır 4 lü 7segment display ( tek paket içerisinde 3 digit veya 4 digit) olmasın..Aşağıdaki gibi ;


Mr.Java

Sanırım kendimi tam izah edemedim.Sorunum şudur;

Yukarıda paylaştığım örnek kendi display için yazdığım örnek sorunsuz çalışıyor.Bunun için kütüphanede oluşturdum ve 595 ile ilgili örnek yaparsam birdaha uğraşmayayım diye.Lakin LCD süreceğim sıra bu kütüphaneyi çağırdığımda ve kullandığımda yapamadım.Sorum 74HC595 ile LCD sürmek nasıl oluyor,yukarıda paylaştığım kodda ne gibi bir değişiklik yapmam gerekiyor ?

mehmet

Verdiğim linki incelememişsin???
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr

polleme

74HC595 8 bit shifter olduğu için kontrol edilecek bit sayısı 4 de olsa 8 de olsa farketmez, 8 çevrimli daha gönderimi gerekir. Eğer LCD'nin 4 bitini yüksek anlamlı 4 bite bağlandıysanız önce bu dört biti, ardından boş 4 biti gönderirsiniz, bir sonraki karakteri gönderirken yine anlamlı 4 bit, ardından  boş 4 bit gönderilir. LCD kontrolünde algıladığım durum bu.

striger

Alıntı yapılan: mehmet - 28 Şubat 2013, 09:15:45
http://www.electronics-lab.com/projects/mcu/015/index.html burada
hc595 ile lcd kontrolü ve örnek programı
var.

bu linki incelemekte fayda var cevaplar orda sanki

Mr.Java

Alıntı yapılan: mehmet - 28 Şubat 2013, 18:05:20
Verdiğim linki incelememişsin???

Kusura bakmayın mehmet bey sorunum yine sayenizde halloldu.Teşekkürler.  :D

RaMu

   Birebir sorunun cevabı değil, zaten sorun çözülmüş, daha önce bende lcd yi sürmek için böyle devreler yapayım diye araştırma yapmıştım, hoş aslında isiste dahi örneği olan 1 wire lcd kullanılabilir, hazır satın alınabilir, uğraşmak isteyenlere bir seçenek olarak devrelerini denediğim ( 1 wire lcd yi denemedim) ve güzel açıklamaları bulunan RB Roman BLACK in hazırladığı 74hc595 ile 1 wire (tek hat) ile lcd kontrolü örneğini incelebilirsiniz http://www.romanblack.com/shift1.htm  ayrıca fxdev den bahsettiğim uygulama ile ilgili Türkçe açıklama http://www.fxdev.org/one-wire-lcd/
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

Mr.Java

Teşekkürler cevabınız için.595 entegresini iyice kavramak lazım diye düşünüyorum.

RaMu

#13
595 gayet basittir, datasheetten kolayca öğrenebilirsin ben bir anlatım ve isis simulasyonu hazırlamıştım https://www.dropbox.com/s/0m3s77utodiour9/74hc595%20örneğim.rar (şifre RaMu, dropbox kullanmaya yeni başladım link hatalıysa bildirin)
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

Mr.Java

Çok teşekkürler örnek kod için. :) Açım bu entegreye dahada varsa örnek ne ala  :D