PIC16F877A ile Display Yakma

SebinLi028

Hectopat
Katılım
11 Şubat 2015
Mesajlar
199
Daha fazla  
Cinsiyet
Erkek
Meslek
Computer Engineer
Herkese merhaba, elimde böyle bir devre var. Devredeki segmentin
  1. Displayinde F'den 0'a kadar azaltmak,
  2. Displayinde 0'dan F'e kadar saydırmak,
  3. Displayinde Çift sayıları,
  4. Displayinde Tek sayıları göstermek istiyorum kodlarda veya devre de ne gibi değişikliklerin yapılması gereklidir?
1.jpg

Kod:
LIST P=16F877A
INCLUDE "P16F877A.INC"
SAYAC EQU h'20'
SAYAC1 EQU h'21'
SAYAC2 EQU h'22'
CLRF PORTB
BSF STATUS,5
CLRF TRISD
CLRF TRISB
MOVLW h'06'
MOVWF ADCON1
BCF STATUS,5

AZALT_ATAMA
MOVLW h'01'
MOVWF PORTD
MOVLW h'0F'
MOVWF SAYAC

AZALT
MOVF SAYAC,W
ANDLW B'00001111'
CALL TABLO
MOVWF PORTB
DECF SAYAC,F
CALL GECIKME
BTFSC SAYAC,15
GOTO ARTIR_ATAMA
GOTO AZALT

ARTIR_ATAMA
MOVLW h'01'
MOVWF PORTD
MOVLW h'00'
MOVWF SAYAC

ARTIR
MOVF SAYAC,W
ANDLW B'00001111'
CALL TABLO
MOVWF PORTB
INCF SAYAC,F
CALL GECIKME
BTFSC SAYAC,14
GOTO CIFT_ATAMA
GOTO ARTIR

CIFT_ATAMA
MOVLW h'01'
MOVWF PORTD
MOVLW h'02'
MOVWF SAYAC

CIFT
MOVF SAYAC,W
ANDLW B'00001111'
CALL TABLO
MOVWF PORTB
INCF SAYAC,F
INCF SAYAC,F
CALL GECIKME
BTFSC SAYAC,14
GOTO TEK_ATAMA
GOTO CIFT

TEK_ATAMA
MOVLW h'01'
MOVWF PORTD
MOVLW h'01'
MOVWF SAYAC

TEK
MOVF SAYAC,W
ANDLW B'00001111'
CALL TABLO
MOVWF PORTB
INCF SAYAC,F
INCF SAYAC,F
CALL GECIKME
BTFSC SAYAC,14
GOTO AZALT_ATAMA
GOTO TEK

TABLO
ADDWF PCL,F
RETLW h'3F';0
RETLW h'06';1
RETLW h'5B';2
RETLW h'4F';3
RETLW h'66';4
RETLW h'6D';5
RETLW h'7D';6
RETLW h'07';7
RETLW h'7F';8
RETLW h'6F';9
RETLW h'77';A
RETLW h'7C';b
RETLW h'39';C
RETLW h'5E';d
RETLW h'79';E
RETLW h'71';F
GECIKME
MOVLW h'FF'
MOVWF SAYAC1
DONGU1
MOVLW h'FF'
MOVWF SAYAC2
DONGU2
DECFSZ SAYAC2,F
GOTO DONGU2
DECFSZ SAYAC1,F
GOTO DONGU1
RETURN
END
 
Uyarı! Bu konu 9 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Geri
Yukarı