Advertisement
Guest User

Untitled

a guest
Jan 6th, 2017
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MPASM 3.32 KB | None | 0 0
  1. ;* Projet : Labo XXX *
  2. ;************************************************************************
  3. ;* Nom de fichier: Labo XXX *
  4. ;* Date: XX-XX-XXXX *
  5. ;* *
  6. ;* Auteur: YY *
  7. ;* Haute Ecole Louvain en Hainaut *
  8. ;************************************************************************
  9. ;* Fichiers nécessaires: aucun *
  10. ;************************************************************************
  11. ;* Notes: *
  12. ;************************************************************************
  13.     list p=16F887, f=INHX8M ; directive pour definir le processeur
  14.     list c=90, n=60 ; directives pour le listing
  15.     #include <p16F887.inc> ; incorporation variables spécifiques
  16.     errorlevel -302 ; pas d'avertissements de bank
  17.     errorlevel -305 ; pas d'avertissements de fdest
  18.  
  19.  
  20.     __CONFIG _CONFIG1, _LVP_OFF & _WDT_OFF & _INTOSCIO
  21.     __CONFIG _CONFIG2, _IESO_OFF & _FCMEN_OFF
  22.  
  23.  
  24. ;*************************************************************************
  25. ;* Définitions et Variables *
  26. ;*************************************************************************
  27.     cblock 0x020
  28.     tempo2,RESULTHI,VAR
  29.     endc
  30.  
  31.  
  32. ;*************************************************************************
  33. ;* Programme principal *
  34. ;*************************************************************************
  35.     ORG 0x000 ; vecteur reset
  36. START
  37.     CLRF STATUS          ; INIT
  38.     BSF STATUS,5          ; BANK 1
  39.     CLRF TRISA             ; PORTA en output
  40.     CLRF TRISC             ; PORTC en 0
  41.     COMF TRISC           ; PORTC en input
  42.     BSF STATUS,6         ; BANK 3
  43.     CLRF ANSEL           ; SIGNAL DIGITAL
  44.     CLRF STATUS         ; BANK 0
  45.     CLRF PORTA           ; INIT LES LEDS
  46.     MOVLW b'11111111' ; on met 255 dans le registre w
  47.     MOVWF VAR ; ensuite dans VAR
  48. MAINLOOP
  49.     DECF, VAR ; on décrémente la variable VAR
  50.     BTFSC VAR,7 ;'00000000'
  51.     CALL INIT
  52.     BTFSC VAR,6 ;'10000000'
  53.     CALL TOGGLE7
  54.     BTFSC VAR,5 ;'11000000'
  55.     CALL TOGGLE6
  56.     BTFSC VAR,4 ;'1110000'
  57.     CALL TOGGLE5
  58.     BTFSC VAR,3 ;'11110000'
  59.     CALL TOGGLE4
  60.     BTFSC VAR,2 ;'11111000'
  61.     CALL TOGGLE3
  62.     BTFSC VAR,1 ;'11111100'
  63.     CALL TOGGLE2
  64.     BTFSC VAR,0 ;  si VAR = la valeur binaire '1111 1110'
  65.     CALL TOGGLE
  66.     goto MAINLOOP  
  67. LOOP2
  68.     INCF, VAR ; on incrémente la variable VAR
  69.     BTFSS VAR,7 ;'1111 1111'
  70.     CALL INIT
  71.     BTFSS VAR,6 ;'0111 1111'
  72.     CALL TOGGLE1
  73.     BTFSS VAR,5 ;'0011 1111'
  74.     CALL TOGGLE2
  75.     BTFSS VAR,4 ;'0001 1111'
  76.     CALL TOGGLE3
  77.     BTFSS VAR,3 ;'0000 1111'
  78.     CALL TOGGLE4
  79.     BTFSS VAR,2 ;'0000 0111'
  80.     CALL TOGGLE5
  81.     BTFSS VAR,1 ;'0000 0011'
  82.     CALL TOGGLE6
  83.     BTFSS VAR,0 ;  si VAR = la valeur binaire '0000 0001'
  84.     CALL TOGGLE7
  85.     goto LOOP2
  86. TOGGLE1
  87.     CLRF PORTA
  88.     MOVLW b'11111110'
  89.     MOVWF PORTA
  90.     RETURN
  91. TOGGLE2
  92.     CLRF PORTA
  93.     MOVLW b'11111100'
  94.     MOVWF PORTA
  95.     RETURN
  96. TOGGLE3
  97.     CLRF PORTA
  98.     MOVLW b'11111000'
  99.     MOVWF PORTA
  100.     RETURN
  101. TOGGLE4
  102.     CLRF PORTA
  103.     MOVLW b'11110000'
  104.     MOVWF PORTA
  105.     RETURN
  106. TOGGLE5
  107.     CLRF PORTA
  108.     MOVLW b'11100000'
  109.     MOVWF PORTA
  110.     RETURN
  111. TOGGLE6
  112.     CLRF PORTA
  113.     MOVLW b'11000000'
  114.     MOVWF PORTA
  115.     RETURN
  116. TOGGLE7
  117.     CLRF PORTA
  118.     MOVLW b'10000000'
  119.     MOVWF PORTA
  120.     RETURN
  121. INIT
  122.     CLRF PORTA
  123.     BTFSC VAR,7
  124.     CALL LOOP2
  125.     BTFSS VAR,7
  126.     CALL MAINLOOP
  127.     RETURN
  128. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement