0
παιδες καλησπερα...θα ηθελα να ρωτησω αν ο κωδικας που σας δινω παρακατω ειναι σωστος προκειμενου να αναβουν τα led απο το 1 εως το 7 περιστροφικα...
#include <p16F882.inc>
__CONFIG _CONFIG1, _LVP_OFF & _FCMEN_OFF & _IESO_OFF & _BOR_OFF & _CPD_OFF & _CP_OFF & _MCLRE_ON & _PWRTE_ON & _WDT_OFF & _INTRC_OSC_NOCLKOUT
__CONFIG _CONFIG2, _WRT_OFF & _BOR21V
cblock 0x20
DELAY1
DELAY2
DISPLAY
endc
org 0
START:
BSF STATUS,RP0 ; πηγαινε στην bank1
CLRF TRISC ;κανε 0 ολα τα bit του trisc
BCF STATUS,RP0 ;γυρνα στη bank 0
MOVLW 0x02 ;πηγαινε στον καταχωρητη w την τιμη 0x02=00000010
MOVWF DISPLAY ;πηγαινε την τιμη του w στον display
MAINLOOP:
MOVF DISPLAY,W ;Αντεγραψε και μετεφερε την τιμη του display στον w
MOVWF PORTC ;Μετεφερε την τιμη του w στον portc
ONDELAYLOOP:
DECFSZ DELAY1,F ;Μειωσε την τιμη του delay1 κατα 1 και αν βρει 0 πηδα την επομενη αλλιως loop
GOTO ONDELAYLOOP ;πηγαινε στο ondelayloop
DECFSZ DELAY2,F ;Μειωσε την τιμη του delay2 κατα 1 και αν βρει 0 πηδα την επομενη αλλιως loop
GOTO ONDELAYLOOP ;πηγαινε στο ondelayloop
BCF STATUS,C ;κανε το carrybit 0
RLF DISPLAY,F ;περιστρεψε προς τα αριστερα την τιμη του display
BTFSC STATUS,C ;ελεγξε αν to carrybit ειναι 0 και αν ειναι 0 πηδα την επομενη
GOTO MOVEIT ;πηγαινε στο moveit
GOTO MAINLOOP ;πηγαινε στο mainloop
MOVEIT:
BSF DISPLAY,1 ;κανε 1 στον display to bit 1
GOTO MAINLOOP ;πηγαινε στο mainloop
END