0-99 sayıcı hatası

Başlatan goldenX, 08 Mayıs 2010, 19:58:00

goldenX

Merhabalar, Pic ile 0-99 sayıcı yapmaya çalışıyorum fakat takıldığım birkaç nokta var sanırım. Kodlarım ve şema'yı aşağıya koydum, yorumlarınızı bekliyorum.

@ DEVICE PIC16F84A
@ DEVICE PIC16F84A, WDT_OFF
@ DEVICE PIC16F84A, PWRT_ON
@ DEVICE PIC16F84A, PROTECT_OFF
@ DEVICE PIC16F84A, XT_OSC

TRISA=0 : TRISB=0
PORTA=255 : PORTB=255

SAYI VAR BYTE
DEGER VAR BYTE
SURE VAR BYTE

SYMBOL DISPLEY1=PORTA.0
SYMBOL DISPLEY2=PORTA.1

SAYI=0:DEGER=0:SURE=0
IF SAYI=99 THEN SAYI=0

BASLA:

SAYI=SAYI+1
IF SAYI=99 THEN SAYI=0

FOR SURE=0 TO 30

LOW DISPLEY1 : HIGH DISPLEY2
DEGER=SAYI
PORTB=DEGER DIG 0
PAUSE 20
HIGH DISPLEY1

LOW DISPLEY2 : HIGH DISPLEY1
DEGER=SAYI
PORTB=DEGER DIG 1
PAUSE 20
HIGH DISPLEY2

NEXT SURE

GOTO BASLA





chailuck

bunu dene istersen 
code]
TRISA=0
TRISB=0
PORTA=0
PORTB=0
BR VAR BYTE
ONL VAR BYTE
A VAR WORD : A=10
I VAR WORD
ANA:
    BR = BR+1
    IF BR=10 THEN BR=0
    ONL=ONL+1
    IF ONL=10 THEN ONL=0
 
GOSUB DISPLAY
GOTO ANA
DISPLAY:
    FOR I=0 TO 100
    PORTB=BR
    PORTA=%11111101
    PAUSE A
    PORTB=ONL
    PORTA=%11111110
    PAUSE A
    NEXT I
    RETURN
İmkanın sınırlarını görmek için imkansızı denemek lazım. (Fatih Sultan Mehmet)  Ayıplarını gördüğünüz komşuyu kınamayınız. Sırlarını açıklamayınız.Çünkü gördüğünüz bu sır size emanettir, emanete hıyanet kötü ve çirkin bir filldir. (Hacı Bayramı Veli )  meyve veren ağacın taşlanması çok hoş ;)

acemi2010

Q2 mi ters konmuş? yoksa ben mi yanlış görüyorum??

timuçin

stlg

Pratikte genelde o.k displeyi kontrol etmek daha kolaydır, npn transistorler ile calısırsan daha iyi olur ,yukarda arkadasın belirttigi gibi Q2 ters olmus
ALLAHA EMANET OLUNUZ Hoştur bana senden gelen,  Ya gonca gül yahut diken,  Ya kaftandır yahut kefen,  Kereminde hoş lütfunda hoş.

nurim

#4
@goldenX,

Verdiğim şemayı incelersen, farkı göreceksin. ABCD çıkışı, ile displeyi doğrudan süremezsin, araya sürücü gerekir. (4511..vb) Displayimiz ise CC olacak.



@ DEVICE PIC16F84A
@ DEVICE PIC16F84A, WDT_OFF
@ DEVICE PIC16F84A, PWRT_ON
@ DEVICE PIC16F84A, PROTECT_OFF
@ DEVICE PIC16F84A, XT_OSC
TRISA=0 : TRISB=0
PORTA=0 : PORTB=0
SAYI VAR BYTE
SURE VAR BYTE
SYMBOL DISPLEY1=PORTA.0
SYMBOL DISPLEY2=PORTA.1
SAYI=0:SURE=0

BASLA:
 SAYI=SAYI+1
 IF SAYI=99 THEN SAYI=0
 FOR SURE=0 TO 4
 LOW DISPLEY1 : HIGH DISPLEY2
 PORTB=SAYI DIG 0
 PAUSE 48
 LOW DISPLEY2 : HIGH DISPLEY1
 PORTB=SAYI DIG 1
 PAUSE 22
 NEXT SURE
 GOTO BASLA


Kabaca programıda senin programına sadık kalmaya çalışarak düzenledim.  Geliştirmek sana kalıyor. Şemada direnç, trasistör ..vb. kullanmadım, ama gerçek devrede kullanman gerekir.

Kolay gelsin
nurim
"Bilgi paylaştıkça artar ,acı ve keder paylaştıkça azalır"