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

movf ADRESL is geen geldige instructie.
De assembler zal daar ook een foutmelding op geven..

Geen foutmelding, maar de default target is volgens mij "F", en je wil de byte in W hebben.

Dus gebruik MOVF ADRESL,W