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
- Displayinde F'den 0'a kadar azaltmak,
- Displayinde 0'dan F'e kadar saydırmak,
- Displayinde Çift sayıları,
- Displayinde Tek sayıları göstermek istiyorum kodlarda veya devre de ne gibi değişikliklerin yapılması gereklidir?
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