CCS C 74HC595 Basitçe Kullanımı
UstaDerslik Soru-Cevap Yararlı Araçlar
arama ikon

bilgi UstaDerslik
Bu uyari kutusudur.
Tamam
Anasayfa
İletişim
Üyeler

CCS C 74HC595 Basitçe Kullanımı

profil
aboo67
BEĞEN(0)
BEĞENME(0)
GÖRÜNTÜLENME(13636)
RAPOR ET
CCS C 74HC595 Basitçe Kullanımı ve Örnek


http://p1310.hizliresim.com/1g/2/t6jgs.jpg

15,1..7 nolu bacaklar = Paralel Veri Çıkışları

8 nolu bacak = GND (-)

9 nolu bacak = Seri Veri Çıkışı (seri başka bir 74hc595 bağlamak için)

10 nolu bacak Master Reset Ucu = Burası LOW(-)'da tutulmalıdır yoksa 74hc595 kendisini sürekli resetlicektir

11 nolu bacak shift register clock girişi = clock palse verilir, 14 nolu bacaktan veri kaydırılarak içeri alınır (clock palse vermek için bu bacağa önce 1 sonra 0 verilir)

12 nolu bacak storage register clock girişi = 11 ve 14 nolu bacaklar sayesinde içeri uygulanan clock palse sayesinde paralel veri çıkışlarına verilir

13 nolu bacak output enable ucu = aktif edilmek için LOWda tutulmalıdır

14 nolu bacak = seri veri girişi

16 nolu bacak = VCC(+)

yani kısaca 11 nolu bacağa vurulan clock palse ile 14 nolu bacaktan veri içeri alınır 12 nolu bacak sayesinde çıkışa verilir.

Basit Bir Örnek ; 74hc595 kullanarak 0-99 sayıcı

http://p1310.hizliresim.com/1g/2/t6jpp.jpg

//==============================================================================
#include <16F876.h>
#FUSES NOWDT //No Watch Dog Timer
#FUSES HS //High speed Osc (> 4mhz for PCM/PCH) (>10mhz for PCD)
#FUSES NOPUT //No Power Up Timer
#FUSES NOPROTECT //Code not protected from reading
#FUSES NODEBUG //No Debug mode for ICD
#FUSES NOBROWNOUT //No brownout reset
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD //No EE protection
#FUSES NOWRT //Program memory not write protected,
#use delay (clock=20000000)
//==============================================================================
#define hcdata pin_b0
#define hcclock pin_b1
#define hcload pin_b2
//==============================================================================
const int digit[10]={0xC0, // 0
0xF9, // 1
0xA4, // 2
0xB0, // 3
0x99, // 4
0x92, // 5
0x82, // 6
0xF8, // 7
0x80, // 8
0x90}; // 9
int say=0;
int saybirler=0;
int sayonlar=0;
//==============================================================================
void hc595_yolla(unsigned char veri)
{
unsigned char i;
for(i=0x80;i>0;i>>=1)
{
if(i&veri)output_high(hcdata);
else output_low(hcdata);
output_high(hcclock);
output_low(hcclock);
}
}
//==============================================================================
void main () {
while (1){
say=0;
for (say=0;say<99;say++){
sayonlar=say/10;
saybirler=say%10;
hc595_yolla(digit[saybirler]);
hc595_yolla(digit[sayonlar]);
output_high(hcload);
output_low(hcload);
delay_ms(1000);
}
}
}
//==============================================================================




berxwedan74
berxwedan74 10 Yıl Önce Cevaplandı
öncelikler böyle güzel sade ve faydalı code paylaştığınız için teşekkürler ederiz.
acaba ayni şeklde 74HC597 entegersini kullanımını da paylaşırmısınız.

şimdiden teşekkürler...
give64
give64 10 Yıl Önce Cevaplandı
selam ben 74hc595 kullanmaya başladım.74hc595 uçlarını (mr) ucunu + bagladım 12 ile 13 uçlarını( -) verdim .12. ucada (-) verdim.14.data ucunu (+) verip.11 nolu ucu (-) sonra hemen (+) verip hemen (-) verip
daha sonra 13 ucu (-) alıp (+) verdim hemen sonra (-) verdim cıkışları 1 led yancak yerine hepsi yandı.74hc595 entegresi bozuk olabilirmi.



Kod
Kalın
Vurgu
Resim
Video
Url
CEVAPLA
Tüm Hakları Saklıdır. ©Arleone 2013-2014 UstaDerslik






Giriş
Şifremi Unuttum...
Şifre Talep
  Kuralları Kabul Ediyorum.
Kaydol