het idee;
een analoog signaal (0 t/m 5V) wordt door de pic 12f675 ingelezen.
aan de hand van dit signaal wordt een led aangestuurd d.m.v. pwm.

bijvoorbeeld: er staat een analoog signaal van 2,5V op pin 3 dan moet de led een duty cycle hebben van 50%.
- analoge signaal zit op pin 3
- led zit op pin 7
- 5V voeding op pin 1 en GND op pin 8

probleem=de led verandert niet gelijkmatig.


Device = 12F675
Config wdt_off, INTRC_OSC_NOCLKOUT 
 
Declare ADIN_RES 10 
Declare ADIN_TAD FRC  
Declare ADIN_STIME 50 
 
       ; 76543210 
ADCON0 =%10001101 
TRISB = %11111000 
PORTB = 0 ; Alle uitgangen laag.
 

Symbol led = PORTB.0 
Dim duty As Byte 
Dim inlezenled As Word 
 
While 1=1 
 
inlezenled = ADIn 3 
If inlezenled < 1 Then inlezenled = 1 
 
duty = inlezenled 
duty = duty / 4
PWM PORTB.0, duty, 1 
 
Wend
End

Je hebt ANSEL niet ingesteld.

En de 12F675 heeft alleen de GPIO poort. PoortB bestaat niet.

If memory serves kan PORTB als synoniem voor GPIO worden gebruikt.


duty = inlezenled 
duty = duty / 4
PWM PORTB.0, duty, 1 

duty is een BYTE...

hier had ik even over heen gekeken

nu wil ik een analoog signaal inlezen en aan de hand daarvan de led dmv pwm aansturen,
dit werkt allemaal alleen ik krijg pin5 (portb.2) niet hoog.
dit heb ik nodig om de fet open te sturen


Device = 12F675
Config wdt_off, INTRC_OSC_NOCLKOUT 
 
Declare ADIN_RES 10 
Declare ADIN_TAD FRC  
Declare ADIN_STIME 50 
 
       ; 76543210 
ADCON0 =%10001101 
TRISB = %11111000 
PORTB = %0 
 
Symbol led = PORTB.0 

Dim inlezenled As Word 

While 1=1 

High PORTB.2              
                 
inlezenled = ADIn 3 
If inlezenled < 1 Then inlezenled = 1 
inlezenled=inlezenled / 4
PWM PORTB.0, inlezenled, 1
 
Wend
End

[Bericht gewijzigd door Henry S. op (93%)]

De 12F675 kent geen portB, dat heet GPIO. Struikelt de compiler daar niet over?

Basic ken ik niet, maar moet je ANSEL niet nog instellen?

ik heb nu portb.2 verandert in gpio.2 (geen verandering)

de compiler gaf geen problemen.
ik heb de ANSEL ingesteld probleem is weg

[Bericht gewijzigd door Henry S. op (48%)]