Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "p18F4520.inc"
- CONFIG OSC = HS
- CONFIG PWRT = OFF
- CONFIG WDT = OFF
- CONFIG PBADEN = OFF
- CONFIG LVP = OFF
- org 0x000000
- PORST GOTO MAIN
- ;---------DELAY 80 ms------------------------
- IDSHORT equ 0x07D
- IDLONG equ 0x07E
- ED80MS CLRF IDSHORT
- CLRF IDLONG
- LDLOOP DECFSZ IDSHORT
- GOTO LDLOOP
- DECFSZ IDLONG
- GOTO LDLOOP
- RETURN
- ;----END OF DELAY SUBROUTINE-----------------
- org 0x000020
- MAIN BSF TRISA, 0 ; RA0 = input for analog
- BCF TRISA, 1 ; RA1 = output for LED
- CLRF TRISD ; Port D I/O = out
- BSF PORTA, RA1 ; kolumn 1 på
- CLRF PORTD ; alla rader av
- MOVLW 0x01
- MOVWF ADCON0
- MOVLW 0x0E
- MOVWF ADCON1
- MOVLW 0x12
- OVER CALL ED80MS
- BSF ADCON0,GO
- BACK BTFSC ADCON0,DONE
- BRA BACK
- CALL COMVAL ;Anropa subrutiner som jämnför vilket intervall
- CALL ED80MS
- NOP
- NOP
- BRA OVER
- ;*******VÄRST SUBRUTINEN!*********
- COMVAL CLRF PORTD
- MOVLW 0xE0 ; Intervall 224-255
- CPFSLT ADRESH ; Om mindre..
- BSF PORTD, 7 ; ..släck!
- MOVLW 0xC0 ; Intervall 192
- CPFSLT ADRESH ; Om mindre..
- BSF PORTD, 6 ; ..tänd!
- MOVLW 0xDF ; till 223
- CPFSLT ADRESH ; Om större..
- BCF PORTD, 6 ; ..släck!
- MOVLW 0xA0 ; Intervall 160
- CPFSLT ADRESH ; Om mindre..
- BSF PORTD, 5 ; ..tänd!
- MOVLW 0xBF ; till 191
- CPFSLT ADRESH ; Om större..
- BCF PORTD, 5 ; ..släck!
- MOVLW 0x80 ; Intervall 128
- CPFSLT ADRESH ; Om mindre..
- BSF PORTD, 4 ; ..tänd!
- MOVLW 0x9F ; till 159
- CPFSLT ADRESH ; Om större..
- BCF PORTD, 4 ; ..släck!
- MOVLW 0x60 ; Intervall 96
- CPFSLT ADRESH ; Om mindre..
- BSF PORTD, 3 ; ..tänd!
- MOVLW 0x7F ; till 127
- CPFSLT ADRESH ; Om större..
- BCF PORTD, 3 ; ..släck!
- MOVLW 0x40 ; Intervall 64
- CPFSLT ADRESH ; Om mindre..
- BSF PORTD, 2 ; ..tänd!
- MOVLW 0x5F ; till 95
- CPFSLT ADRESH ; Om större..
- BCF PORTD, 2 ; ..släck!
- MOVLW 0x20 ; Intervall 32
- CPFSLT ADRESH ; Om mindre..
- BSF PORTD, 1 ; ..tänd!
- MOVLW 0x3F ; till 63
- CPFSLT ADRESH ; Om större..
- BCF PORTD, 1 ; ..släck!
- MOVLW 0x1F
- CPFSGT ADRESH ; Om större hoppa..
- BSF PORTD, 0 ; ..annars tänd!
- RETURN
- ;*********SLUT PÅ ELÄNDET************
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement