Hallo,
Ik heb eindelijk ook mijn eerste PIC-stappen gezet...
Ik werk met een 16F648A (net hetzelfde als een 16F628 maar meer geheugen).
Aan uitgangen a1 en b5 heb ik elk een led hangen.
Alles ziet eruit zoals het moet wanneer ik volgende zaken programmeer (onder JAL):
tijdje wachten, uitgang hoog maken, tijdje wachten, uitgang laag maken
of
indien variabele a > 10 --> hoog maken
Het begint pas fout te gaan wanneer ik er een knop aan toevoeg.
Heb dit al geprobeert op uitgangen a1, b1, b2 en b3 maar telkens lukt het niet.
Wanneer ik een code maak om een led te laten oplichten enkel wanneer op een knop gedrukt wordt dan brandt de led constant half (ook bij niet ingedrukte knop) en bij een ingedrukte knop brandt hij volledig.
Ik kom dit resultaat uit bij volgende JAL code:
include f628_4i
include jlib
var volatile byte CMCON at 0x1F = 0x07 -- disable port a analog functions
var bit RED is pin_b5
var bit YEL is pin_a1
pin_b5_direction = output
pin_a1_direction = output
var bit INP1 is pin_a0
pin_a0_direction = input
RED = low
YEL = low
delay_100ms( 10 )
YEL = high ---> zo zie ik of hij niet herstart (nee)
delay_100ms( 10 )
YEL = low
forever loop
if INP1 then
RED = high
else
RED = low
end if
end loop
Wanneer ik in de loop zet
RED = INP1
dan kom ik hetzelfde uit...
Ik denk niet dat het aan de JAL code ligt maar aan de hardware?
Of moet ik nog iets softwarematig instellen ofzo?
Aan de voeding ligt het niet (een constante 5V via een LM7805)
De knop is verbonden als volgt
pic ingang - knop - 10k weerstand - Pos pool
(Heb het ook al gebrobeerd via de Neg pool, resultaat blijft hetzelfde maar aan is natuurlijk uit en omgekeerd)
Kan er mij misschien iemand helpen?
Sn6ke
Het lijkt er op dat je die knop een beetje vreemd verbindt.
Of ik lees het verkeerd, kan natuurlijk ook.
Die knop sluit je als volgt aan:
-ingang van de PIC via een weerstand naar GND.
-ingang van de PIC ook naar 1 pool van je switch.
-2e pool van de switch naar Vcc.
Nu is de ingang altijd laag gedefinieerd, behalve wanneer je de switch indrukt, dan wordt ie hoog.
Ik heb geen verstand van JAL, dus laat ik daar maar niks over zeggen.
Idd je bent een pull-down weerstand vergeten, op je gebruikt je pull-up verkeerd.
Iig zoals DIY het zegt zou het moeten werken
Aha,
bedankt daar zat inderdaad de fout...
ben aan het bijleren (en de meeste dingen die ik al weet komen trouwens van deze site)
thx
sn6ke