Hallo,
Ich brauche dringend hilfe beim debuggen dieses codes, nach ca 5-10 minuten gibt der adc falsche werte aus. Könnt ihr Fehler in der initialisierung finden?
mfg, spec
Code:
list p=12F683
;**************************************************************
;**************************************************************
;*
;*
;*
;* input: GPIO0
;* output: GPIO1
;* Takt: 8 MHz
;*
;*
;**************************************************************
; Includedatei für den 12F683 einbinden
#include <P12f683.INC>
; Configuration festlegen
; bis 4 MHz: Power on Timer, kein Watchdog, XT-Oscillator
__CONFIG _MCLRE_OFF & _PWRTE_OFF & _WDT_OFF & _INTRC_OSC_NOCLKOUT
;**************************************************************
;Variablennamen vergeben
cycl_1 Equ 0x20
loop Equ 0x21 ; Zähler
loops Equ 0x22
loops2 Equ 0x23 ; Zähler
Byte Equ 0x24
Byte2 Equ 0x25
Byte3 Equ 0x26
status Equ 0x27
Zaehler Equ 0x28
;**************************************************************
; los gehts mit dem Programm
; Pin RA2 auf Ausgabe stellen
Init
;12F683 alle Comparator-/ADC-Eingänge auf Digital umschalten
; beginnt in der Bank 0
BCF STATUS,RP0 ;Bank 0
CLRF GPIO ;Init GPIO
MOVLW 0x07 ;Set GP<2:0> to
MOVWF CMCON0 ;digital I/O
MOVLW 0x00 ;Left, Vdd Vref, AN0
MOVWF ADCON0
BSF STATUS,RP0 ;Bank 1
movlw B'01110101' ; interner Taktgenerator
movwf OSCCON ; 8-MHz
MOVLW 0x51 ;Set GP<1> to
MOVWF ANSEL ;digital I/O
MOVLW 0x01 ;Set GP<1> as output
MOVWF TRISIO
BCF STATUS,RP0 ;Bank 0
BSF ADCON0,0
Main
BSF ADCON0,1 ;Start conversion
Next
BTFSC ADCON0,1 ;Is conversion done?
GOTO Next
Lesezeichen