Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;* Projet : Labo XXX *
- ;************************************************************************
- ;* Nom de fichier: Labo XXX *
- ;* Date: XX-XX-XXXX *
- ;* *
- ;* Auteur: YY *
- ;* Haute Ecole Louvain en Hainaut *
- ;************************************************************************
- ;* Fichiers nécessaires: aucun *
- ;************************************************************************
- ;* Notes: *
- ;************************************************************************
- list p=16F887, f=INHX8M ; directive pour definir le processeur
- list c=90, n=60 ; directives pour le listing
- #include <p16F887.inc> ; incorporation variables spécifiques
- errorlevel -302 ; pas d'avertissements de bank
- errorlevel -305 ; pas d'avertissements de fdest
- __CONFIG _CONFIG1, _LVP_OFF & _WDT_OFF & _INTOSCIO
- __CONFIG _CONFIG2, _IESO_OFF & _FCMEN_OFF
- ;*************************************************************************
- ;* Définitions et Variables *
- ;*************************************************************************
- cblock 0x020
- tempo2,RESULTHI,VAR
- endc
- ;*************************************************************************
- ;* Programme principal *
- ;*************************************************************************
- ORG 0x000 ; vecteur reset
- START
- CLRF STATUS ; INIT
- BSF STATUS,5 ; BANK 1
- CLRF TRISA ; PORTA en output
- CLRF TRISC ; PORTC en 0
- COMF TRISC ; PORTC en input
- BSF STATUS,6 ; BANK 3
- CLRF ANSEL ; SIGNAL DIGITAL
- CLRF STATUS ; BANK 0
- CLRF PORTA ; INIT LES LEDS
- MOVLW b'11111111' ; on met 255 dans le registre w
- MOVWF VAR ; ensuite dans VAR
- MAINLOOP
- DECF, VAR ; on décrémente la variable VAR
- BTFSC VAR,7 ;'00000000'
- CALL INIT
- BTFSC VAR,6 ;'10000000'
- CALL TOGGLE7
- BTFSC VAR,5 ;'11000000'
- CALL TOGGLE6
- BTFSC VAR,4 ;'1110000'
- CALL TOGGLE5
- BTFSC VAR,3 ;'11110000'
- CALL TOGGLE4
- BTFSC VAR,2 ;'11111000'
- CALL TOGGLE3
- BTFSC VAR,1 ;'11111100'
- CALL TOGGLE2
- BTFSC VAR,0 ; si VAR = la valeur binaire '1111 1110'
- CALL TOGGLE
- goto MAINLOOP
- LOOP2
- INCF, VAR ; on incrémente la variable VAR
- BTFSS VAR,7 ;'1111 1111'
- CALL INIT
- BTFSS VAR,6 ;'0111 1111'
- CALL TOGGLE1
- BTFSS VAR,5 ;'0011 1111'
- CALL TOGGLE2
- BTFSS VAR,4 ;'0001 1111'
- CALL TOGGLE3
- BTFSS VAR,3 ;'0000 1111'
- CALL TOGGLE4
- BTFSS VAR,2 ;'0000 0111'
- CALL TOGGLE5
- BTFSS VAR,1 ;'0000 0011'
- CALL TOGGLE6
- BTFSS VAR,0 ; si VAR = la valeur binaire '0000 0001'
- CALL TOGGLE7
- goto LOOP2
- TOGGLE1
- CLRF PORTA
- MOVLW b'11111110'
- MOVWF PORTA
- RETURN
- TOGGLE2
- CLRF PORTA
- MOVLW b'11111100'
- MOVWF PORTA
- RETURN
- TOGGLE3
- CLRF PORTA
- MOVLW b'11111000'
- MOVWF PORTA
- RETURN
- TOGGLE4
- CLRF PORTA
- MOVLW b'11110000'
- MOVWF PORTA
- RETURN
- TOGGLE5
- CLRF PORTA
- MOVLW b'11100000'
- MOVWF PORTA
- RETURN
- TOGGLE6
- CLRF PORTA
- MOVLW b'11000000'
- MOVWF PORTA
- RETURN
- TOGGLE7
- CLRF PORTA
- MOVLW b'10000000'
- MOVWF PORTA
- RETURN
- INIT
- CLRF PORTA
- BTFSC VAR,7
- CALL LOOP2
- BTFSS VAR,7
- CALL MAINLOOP
- RETURN
- END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement