Hallo,
Ik probeer op de PIC 16F688a een AD meeting uittevoeren.
Het signaal komt binnen op pin 3 / AN1
Xtal @ 20MHz
dit is de code die ik nu gebruik:
<code>
; -----------------------------------------------------------------------
; Template source file generated by piklab
#include <p16f877a.inc>
; -----------------------------------------------------------------------
; Configuration bits: adapt to your setup and needs
__CONFIG _HS_OSC & _WDT_OFF & _PWRTE_OFF & _BODEN_OFF & _LVP_OFF & _CPD_OFF & _WRT_OFF & _DEBUG_OFF & _CP_OFF
; -----------------------------------------------------------------------
STARTUP CODE 0x000
start
BANKSEL TRISA
clrf TRISB ;PORTB all outputs
clrf TRISD ;PORTD all outputs
movlw b'11111111' ;PORTA all inputs
movwf TRISA
;---------------------
; Parameters for AD
;---------------------
BANKSEL ADCON1
movlw b'11000000'
movwf ADCON1
BANKSEL ADCON0
movlw b'10001001'
movwf ADCON0
main
BANKSEL ADCON0
bsf ADCON0,GO_DONE ;start messurement
btfsc ADCON0,GO_DONE
goto $-1
BANKSEL ADRESL
movf ADRESL ;send low data
BANKSEL PORTB
movwf PORTB
goto main
END
</code>
Wanneer ik nu met mijn multimeter de pinnetjes aftast van PORTB blijf deze op '11110000' staan ookal verbind ik AN1 met +5V of GND?
Heeft iemand een idee wat ik mis doe?
Alvast bedankt
Fuzzbass
Mijn echte naam: Joris | Mijn elektronica website: Fuzzcraft.com
Geen foutmelding, maar de default target is volgens mij "F", en je wil de byte in W hebben.
Dus gebruik MOVF ADRESL,W