Schaltung
Die Schaltung besteht lediglich aus einem PIC16F876 (oder
anderer 16F87x)
und einer 20-MHz Taktquelle für den PIC (z.B. Quarzgenerator). Die
analoge Spannung wird an RA0 in den PIC gespeist.
Zur Anzeige wird der gemessene ADC-Wert 8-bittig an PortB ausgegeben und mit LEDs binär angezeigt. Zum Aufbau eignet sich z.B. die 16F876-Testplatine. beim Brennen des PIC ist der HS-Oszillator auszuwählen |
Programmablauf
Spannung messen:
Programmlisting
;**************************************************************
;* ;* Pinbelegung ;* ---------------------------------- ;* PORTA: 0 analoger Eingang ;* 1 ;* 2 ;* 3 ;* 4 ;* PORTB: 0 LED ;* 1 LED ;* 2 LED ;* 3 LED ;* 4 LED ;* 5 LED ;* 6 LED ;* 7 LED ;* PORTC: 0 ;* 1 ;* 2 ;* 3 ;* 4 ;* 5 ;* 6 ;* 7 ;* ;************************************************************** ; ; sprut (zero) Bredendiek 04/2002 ; ; ADC-Lernbeispiel: ; ; 16F876 wandelt die an RA0 anliegende Spannung in einen ; 10-Bit-Wert um ; die oberen 8 Bit des Wertes werden an PortB angezeigt ; ; Prozessortakt: 20 MHz ; Eingangsspannung: 0V ... 5V (Vss ... Vdd) ; ;**************************************************************
list
p=16f876
ERRORLEVEL
-302
;SUPPRESS
BANK
SELECTION MESSAGES ;************************************************************** ;********************************************************** ; Variablen ; Anfangsinitialisierung init ; ADC einschalten ; ADC-Eingang AN0 auswählen
; ADC speed für 20 MHz
einstellen ; Daten linksbündig
;**********************************************************
Main ; Wert nach PortB schreiben
; Warten, damit der ADC sich erholen
kann goto Main end ;********************************************************** |