Advertisement
Guest User

Untitled

a guest
Dec 15th, 2016
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MPASM 2.75 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.  
  38.  
  39.    CLRF STATUS
  40.     BSF STATUS,5; banque 1
  41.     CLRF TRISA; registre trisa a 0
  42.     ;CLRF TRISC; registre trisc à 0
  43.     BSF TRISB,1
  44.     MOVLW b'00001111'
  45.  
  46.     BCF STATUS,5; retour banque 0
  47.     CLRF PORTA; registre porta a 0
  48.    
  49.     BANKSEL ANSEL
  50.     CLRF ANSEL
  51.     CLRF STATUS
  52. MAINLOOP
  53.     BANKSEL ADCON1 ;
  54.     MOVLW b'00000000' ;right justify
  55.     MOVWF ADCON1 ;Vdd and Vss as Vref
  56.     BANKSEL TRISA ;
  57.     BANKSEL ADCON0 ;
  58.     MOVLW b'10101001' ;ADC Frc clock,
  59.     MOVWF ADCON0 ;AN0, On
  60.     CALL tempo ;Acquisiton delay
  61.     BSF ADCON0,GO ;Start conversion
  62.     BTFSC ADCON0,GO ;Is conversion done?
  63.     GOTO $-1 ;No, test again
  64.     BANKSEL ADRESH ;
  65.     MOVF ADRESH,W ;Read upper 2 bits
  66.     MOVWF RESULTHI ;store in GPR space
  67.     ;MOVWF PORTA
  68.    ; movfw B'00100000'
  69.     CLRF PORTA
  70.     MOVFW B'10100000'
  71.     SUBWF RESULTHI
  72.     BTFSS STATUS,C
  73.     CALL NB4
  74.     MOVFW B'1000000'
  75.     SUBWF RESULTHI
  76.     BTFSS STATUS,C
  77.     CALL NB3
  78.     MOVFW B'01000000'
  79.     SUBWF RESULTHI
  80.     BTFSS STATUS,C
  81.     CALL NB2
  82.     MOVFW B'00100000'
  83.     SUBWF RESULTHI
  84.     BTFSS STATUS,C
  85.     CALL NB1
  86.    
  87. NB1
  88.    BSF PORTA,0
  89.    goto MAINLOOP
  90. NB2
  91.    BSF PORTA,0
  92.    BSF PORTA,1
  93.    goto MAINLOOP
  94. NB3
  95.    BSF PORTA,0
  96.    BSF PORTA,1
  97.    BSF PORTA,2
  98.    goto MAINLOOP
  99. NB4
  100.    BSF PORTA,0
  101.    BSF PORTA,1
  102.    BSF PORTA,2
  103.    BSF PORTA,3
  104.    goto MAINLOOP
  105. tempo
  106.     movlw .255
  107.     movwf tempo2  
  108.     decfsz tempo2,f
  109.     goto $-1
  110.     return
  111. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement