Per saperne di input analogico quindi inviare l'output al computer

F

freddo

Guest
Qualcuno mi potrebbe suggerire come fare questo programma?
Questo programma leggerà di input analogico da potenziometro quindi mostrare il valore in PORTC.Quando tutti i bit di PORTC è impostato quindi il programma scriverà 1 in RE2.Se RC7 = 1, quindi il programma scriverà 1 in RE1, se RC7 = 0 allora il programma scriverà 1 in RE0 e chiaro RE1
Qui è il mio codice sorgente
Quote:
LIST P = 16F877, W =- 302
INCLUDE P16F877.INC
__CONFIG 0x3D32; quarzo 20 Mhz.HS GAIN

include "p16f877.inc"
ADCON0 EQU H'001F '
ADCon1 EQU H'009F '

; Inizia il vettore di reset
org 0x000
goto Start
org 0x004
Interrupt
retfie
Inizio
MOVLW B'00000000 '; PORTE = uscita
MOVWF TRISE
bsf STATUS, RP0; Banca 1
bcf STATUS, RP1
movlw H'00 '
movwf TRISC; PORTC [7-0] uscite
ADCon1 clrf; giustificato a sinistra, tutti gli ingressi A / D
bcf STATUS, RP0; Bank 0
B'01000001 movlw '; FOSC / 8 [7-6], A / D CH0 [5-3], A / D su [0]
movwf ADCON0

Principale
call ad_portc
call Loop1
call Loop2
Goto mainad_portc
; aspettare che il tempo acquision (20US)
; (non-critical per questo test)

BSF ADCON0, GO; Start conversione A / D
Attendere
ADCON0 btfsc, GO, aspettare la conversione in completa
goto Wait

MOVF ADRESH, W; scrivere A / D a seguito PORTC
movwf PORTC; LED
ritorno

Loop1 movlw 0x31
xorwf PORTC, w
btfsc STATUS, Z
BSF PORTE, 3
bcf PORTE, 3
goto Loop1

LOOP2 btfss PORTC, 7
BSF PORTE, 1
BSF PORTE, 2
btfss PORTC, 7
bcf PORTE, 2
bcf PORTE, 1
goto Loop2

fine

 
Non funziona.Ho cercato di trovare il motivo, ma non poteva.
Qualcuno potrebbe darmi qualche suggerimento?

 

Welcome to EDABoard.com

Sponsor

Back
Top