4'ER LED

kivanc87

Üye
Katılım
29 Ocak 2011
Mesajlar
8
Puanları
1
Yaş
37
Amaç şu
4 adet led olucak ve birde buton butona basılmadığı sürece ledler sağdan sola soldan sağa doğru hareket edecek butona basıldığı zaman 4 led flaşör şeklinde yanıp sönmeye başlıycak bırakıldığı zaman tekrar ledler sağdan sola soldan sağa yürümeye başlıycak. Böyle bir programa ihtiyacım var =(
 
bu işini görür sanırım 16f628a ile



#include "C:\Users\ASUS\Desktop\kontrol kalemi yadım yazılımlarım\4 er led.h"


#define led output_b


#define button pin_a0

unsigned int8 i=0,x=1;
void main()
{


setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);


while(true)
{
if(++i<8){
led(x<<=1);
}
else if (i==16){i=0;x=1;}
else if(i>8){
led(x>>=1);
}
while (input(button)==1){
led(0xff);
delay_ms(100);
led(0x00);
delay_ms(100);
}
delay_ms(50);
}
}
 
PEKİ PİC BASİC OLARAK ?

- - - Updated - - -

TEŞEKKÜR EDERİM BİLGİN İÇİN KARDEŞİM
 
Bu devreyi programsız da yapılabilir. 4017 Entegresi ile. Saygılar.
 
Merhaba,

PBP için kodlar aşağıdaki gibi olmalı. Fakat bu kodları simule ederek veya donanım üzerinde denemedim. Problem olursa bir,iki düzelteme yaparsın artık...
:)

'****************************************** INFORMASYON **************************************************
'BUTON_lamba.BAS
'NBATMAN
'19/02/2013
'V.001
'Ledyak
'1 tuş ile 4 led kara şimşek....
'*******************************************Tanımlamalar*************************************************
CMCON=7 '16F628 de komparatör (Analog) pinleri iptal. Hepsi giriş çıkış olarak ayarlanıyor.
trisa = 1 'porta giriş yapıldı
trisb = 0 'portb çıkış yapıldı

ledkaydir:


Butonkontrol:
'****************************************************BUTON Basıldığında************************************************************************************

BUTTON PORTA.0,0,255,5,A0,1,IN1_A 'PortA daki 0 nolu giriş (Butonun) basılı olup olmadığı kontrol ediliyor.


'****************************************************BUTON Bırakıldığında************************************************************************************
BUTTON PORTA.0,1,255,5,P0,1,IN1_P 'PortA daki 0 nolu giriş (Butonun) basılı olup olmadığı kontrol ediliyor.


GOTO Butonkontrol 'Butonkontrola geri döndürülerek sürekli butonların basılı olup olmadığı kontrol edilir.

'****************************************************Buton AKTİF (basılı iken) DURUMU*********************************************************************************************************************************
IN1_A:

Dongu:
PORTB.0 = 1
PORTB.1 = 1
PORTB.2 = 1
PORTB.3 = 1
Pause 500
PORTB.0 = 0
PORTB.1 = 0
PORTB.2 = 0
PORTB.3 = 0
Pause 500
Goto Dongu
GOTO Butonkontrol

'****************************************************Buton PASİF (basılı değil iken) DURUMU*********************************************************************************************************************************
IN1_P:

Goto ledkaydir

GOTO Butonkontrol


END
 
Aşağıdaki kodları denedim. Çalışıyor...

'****************************************** INFORMASYON **************************************************
'BUTON_lamba.BAS
'NBATMAN
'19/03/2013
'V.001
'Ledyak
'1 tuş ile 4 led kara şimşek....
'*******************************************Tanımlamalar*************************************************
CMCON=7 '16F628 de komparatör (Analog) pinleri iptal. Hepsi giriş çıkış olarak ayarlanıyor.
trisa = 1 'porta giriş yapıldı
trisb = 0 'portb çıkış yapıldı




Butonkontrol:
IF PORTA.0=0 THEN

PORTB.3 = 1
PORTB.4 = 1
PORTB.5 = 1
PORTB.6 = 1
Pause 200
PORTB.3 = 0
PORTB.4 = 0
PORTB.5 = 0
PORTB.6 = 0
Pause 200

ENDIF
IF PORTA.0=1 THEN
High PORTB.3
Pause 50
Low PORTB.3
Pause 100
High PORTB.4
Pause 50
Low PORTB.4
Pause 150
High PORTB.5
Pause 50
Low PORTB.5
Pause 200
High PORTB.6
Pause 50
Low PORTB.6
Pause 250
High PORTB.6
Pause 50
Low PORTB.6
Pause 100
High PORTB.5
Pause 50
Low PORTB.5
Pause 150
High PORTB.4
Pause 50
Low PORTB.4
Pause 200
High PORTB.3
Pause 50
Low PORTB.3
Pause 250
ENDIF

GOTO Butonkontrol
END
 

Forum istatistikleri

Konular
129,232
Mesajlar
924,514
Kullanıcılar
451,613
Son üye
hamdisag

Yeni konular

Çevrimiçi üyeler

Geri
Üst