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

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(5990)
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 3 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 3 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