Die Grundlagen der
Referenzspannungsquelle
sind bereits an anderer Stelle erläuter worden. In diesem
Beispiel
wird mit der Referenzspannungsquelle des 16F628 eine langsame (0,25 Hz)
Sägezahnspannung (0 V ... 3,125 V) erzeugt.
Schaltung
Die Schaltung besteht lediglich aus einem PIC16F628 und einer
10-MHz
Taktquelle für den PIC. Am Port B sind 4 Leuchtdioden
angeschlossen.
Am Pin RA2 ist ein hochohmiges Voltmeter angeschlossen.
(Die LEDs sind für die Sägezahnfunktion nicht unbedingt erforderlich.) Zum Aufbau eignet sich z.B. die 16F84-Testplatine. oder die 16F84-Minitestplatine mit einer LED-Platine. Beim Brennen des PIC ist der HS-Oszillator auszuwählen. Bitte darauf achten, dass beim Brennen LV-Programming-Enable nicht aktiv ist. |
Programmablauf
Ich habe aber einen anderen Prozessor
Programmlisting
list p=16f628
;************************************************************** ;* Pinbelegung ;* ---------------------------------- ;* PORTA: 0 - ;* 1 - ;* 2 > Spannungsausgang ;* 3 - ;* 4 - ;* 5 < MCLR ;* 6 > OSC2 ;* 7 < OSC1 ;* ;* PORTB: 0 > LED ;* 1 > LED ;* 2 > LED ;* 3 > LED ;* 4 - ;* 5 - ;* 6 - ;* 7 - ;* ;************************************************************** ; ;sprut (zero) Bredendiek 01/2003 ; ; Sägezahn mit der Referenzsspannungsquelle am Port RA2 ; Spannung steigt in 4 Sekunden von 0V auf 3,125 V ; ; Prozessor 16F628 ; ; Prozessor-Takt 10 MHz ; ; LED-Zeile am PortB ; ;************************************************************** ; Includedatei für den 16F628 einbinden #include <P16f628.INC>
ERRORLEVEL
-302
; SUPPRESS BANK SELECTION MESSAGES
; Configuration
festlegen:
; Constanten festlegen
; Variable festlegen
;**************************************************************
org 0 ;**************************************************************
init
clrf counter ;Hauptprogrammschleife
movlw B'11100000'
movlw
D'255'
; 250 ms Pause
incf counter, f
goto mainloop
;*****************************************************
WAIT
end |