_MeRKeZ_
Üye
- Katılım
- 30 May 2011
- Mesajlar
- 44
- Puanları
- 1
- Yaş
- 32
Merhaba arkadaşlar,
74hc595 çıkış çoğullayıcısıyla matris led sürmek istiyorum. Bununla ilgili nette araştırma yaptım 7 parçalı göstergelerle ilgili bir uygulama buldum onu kendi uygulamam için düzenlemeye çalıştım ancak tam anlamıyla başarılı olamadım. Başka bir yerde aradığımı buldum ancak yazılan kodun mantığını tam anlayamadım o yüzden kendi devreme uyarlayamıyorum. Sizden ricam, aşağıda verdiğim kodun mantığını anlatmanız
74hc595 çıkış çoğullayıcısıyla matris led sürmek istiyorum. Bununla ilgili nette araştırma yaptım 7 parçalı göstergelerle ilgili bir uygulama buldum onu kendi uygulamam için düzenlemeye çalıştım ancak tam anlamıyla başarılı olamadım. Başka bir yerde aradığımı buldum ancak yazılan kodun mantığını tam anlayamadım o yüzden kendi devreme uyarlayamıyorum. Sizden ricam, aşağıda verdiğim kodun mantığını anlatmanız
Kod:
#if defined(__PCM__)
#include <16F873.H>
#fuses XT,NOWDT,NOPUT,NOPROTECT,NOBROWNOUT,NOLVP
#use delay(clock=4000000)
#use rs232(baud=9600, xmit=PIN_A0, rcv=PIN_A1,RESTART_WDT,ERRORS,INVERT)
#IFNDEF EXP_OUT_ENABLE
#define EXP_OUT_ENABLE PIN_C2
#define EXP_OUT_CLOCK PIN_C1
#define EXP_OUT_DO PIN_C0
#define NUMBER_OF_74595 4//kac tane tane shift register kullandin?4//
#ENDIF
#include <74595.C>
#byte port_b=6
#byte port_c=7
main()
{
int i;
int mask[4];//maske
int data[4];//gonderilecek dizi//
set_tris_c(0);
set_tris_b(0);
port_b = 0xff;
port_c = 0;
do
{
mask[0]=0x01; //kaydirmak istedimiz 32 bitlik data//
mask[1]=0x00;
mask[2]=0x00;
mask[3]=0x00;
for(i=0;i<32;i++)
{
data[0] = mask[0];
data[1] = mask[1];
data[2] = mask[2];
data[3] = mask[3];
delay_ms(500);
write_expanded_outputs(data);
delay_ms(500);
if (shift_left(mask,4,0))
mask[0] = 0x01;
}
}
while(1);
}
[\code]