Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include "p18F4520.inc"
  2.    
  3.     CONFIG OSC = HS
  4.     CONFIG PWRT = OFF
  5.     CONFIG WDT = OFF
  6.     CONFIG PBADEN = OFF
  7.     CONFIG LVP = OFF
  8.    
  9.     org 0x000000
  10.  
  11. PORST   GOTO MAIN
  12.  
  13. ;---------DELAY 80 ms------------------------
  14. IDSHORT equ 0x07D
  15. IDLONG  equ 0x07E
  16.    
  17. ED80MS  CLRF    IDSHORT
  18.     CLRF    IDLONG
  19. LDLOOP  DECFSZ  IDSHORT
  20.     GOTO    LDLOOP
  21.     DECFSZ  IDLONG
  22.     GOTO    LDLOOP
  23.     RETURN
  24. ;----END OF DELAY SUBROUTINE-----------------
  25.     org 0x000020
  26.    
  27. MAIN    BSF  TRISA, 0      ; RA0 = input for analog
  28.     BCF  TRISA, 1      ; RA1 = output for LED
  29.     CLRF TRISD     ; Port D I/O = out
  30.     BSF  PORTA, RA1    ; kolumn 1 på
  31.     CLRF PORTD     ; alla rader av
  32.    
  33.     MOVLW 0x01
  34.     MOVWF ADCON0
  35.     MOVLW 0x0E
  36.     MOVWF ADCON1
  37.     MOVLW 0x12
  38.    
  39. OVER    CALL    ED80MS
  40.     BSF ADCON0,GO
  41. BACK    BTFSC   ADCON0,DONE
  42.     BRA BACK
  43.    
  44.     CALL    COMVAL      ;Anropa subrutiner som jämnför vilket intervall
  45.     CALL    ED80MS
  46.     NOP
  47.     NOP
  48.     BRA OVER
  49.        
  50.     ;*******VÄRST SUBRUTINEN!*********
  51. COMVAL  CLRF    PORTD
  52.     MOVLW   0xE0        ; Intervall 224-255
  53.     CPFSLT  ADRESH      ; Om mindre..
  54.     BSF PORTD, 7    ; ..släck!
  55.        
  56.     MOVLW   0xC0        ; Intervall 192
  57.     CPFSLT  ADRESH      ; Om mindre..
  58.     BSF PORTD, 6    ; ..tänd!
  59.     MOVLW   0xDF        ;      till 223
  60.     CPFSLT  ADRESH      ; Om större..
  61.     BCF PORTD, 6    ; ..släck!
  62.    
  63.     MOVLW   0xA0        ; Intervall 160
  64.     CPFSLT  ADRESH      ; Om mindre..
  65.     BSF PORTD, 5    ; ..tänd!
  66.     MOVLW   0xBF        ;      till 191
  67.     CPFSLT  ADRESH      ; Om större..
  68.     BCF PORTD, 5    ; ..släck!
  69.    
  70.     MOVLW   0x80        ; Intervall 128
  71.     CPFSLT  ADRESH      ; Om mindre..
  72.     BSF PORTD, 4    ; ..tänd!
  73.     MOVLW   0x9F        ;      till 159
  74.     CPFSLT  ADRESH      ; Om större..
  75.     BCF PORTD, 4    ; ..släck!
  76.    
  77.     MOVLW   0x60        ; Intervall 96
  78.     CPFSLT  ADRESH      ; Om mindre..
  79.     BSF PORTD, 3    ; ..tänd!
  80.     MOVLW   0x7F        ;      till 127
  81.     CPFSLT  ADRESH      ; Om större..
  82.     BCF PORTD, 3    ; ..släck!
  83.    
  84.     MOVLW   0x40        ; Intervall 64
  85.     CPFSLT  ADRESH      ; Om mindre..
  86.     BSF PORTD, 2    ; ..tänd!
  87.     MOVLW   0x5F        ;      till 95
  88.     CPFSLT  ADRESH      ; Om större..
  89.     BCF PORTD, 2    ; ..släck!
  90.    
  91.     MOVLW   0x20        ; Intervall 32
  92.     CPFSLT  ADRESH      ; Om mindre..
  93.     BSF PORTD, 1    ; ..tänd!
  94.     MOVLW   0x3F        ;      till 63
  95.     CPFSLT  ADRESH      ; Om större..
  96.     BCF PORTD, 1    ; ..släck!
  97.    
  98.     MOVLW   0x1F
  99.     CPFSGT  ADRESH      ; Om större hoppa..
  100.     BSF PORTD, 0    ; ..annars tänd!
  101.    
  102.     RETURN
  103.     ;*********SLUT PÅ ELÄNDET************
  104.  
  105.     end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement