Bij mij dus wel heb je al die 10K over porta.3 al geprobeerd ?
en
TRISB = %00000001
TRISA = %00001000
Al toegevoegt ?
Frits Kieftenbelt
Ohm sweet Ohm | www.picbasic.nl
Het was me nog niet opgevallen dat je de KnopIn aan PORTA had zitten.
Deze moet je aan een PORTB doen, die hebben namelijk interne pull-ups.
Je KnopIn toets zweeft nu als je hem niet indrukt.
En je kunt het beste de LED's op PORTA zetten.
Gaan beide LED's aan?
Heb je de LED's wel aangesloten tussen PORT en 0V (via een serie weerstand van 1k)?
Dus niet tussen PORT en +5V!
Ferry
Ferry.......
Ik durf het ernstig te betwijfelen, lezen is kennelijk niet zijn sterkste punt.
maar ja zo hebben we allemaal wel wat)
Op 5 november 2007 20:37:28 schreef Frits Kieftenbelt:
Het was me nog niet opgevallen dat je de KnopIn aan PORTA had zitten.
Deze moet je aan een PORTB doen, die hebben namelijk interne pull-ups.
Je KnopIn toets zweeft nu als je hem niet indrukt.
En je kunt het beste de LED's op PORTA zetten.Gaan beide LED's aan?
Heb je de LED's wel aangesloten tussen PORT en 0V (via een serie weerstand van 1k)?
Dus niet tussen PORT en +5V!
Zweven zal ie niet doen want die zit met een weerstand aan +VDC. Of zie ik dat verkeerd?
Ja de leds heb ik zo aangesloten uiteraard met een weerstand. Die zaten vanaf het begin al zo, maar in principe zou een led ook met een GND van de port aangestuurd kunnen worden met de juiste programma aanpassing?
In principe mogen de leds toch ook op PORTB blijven?
Als ik de PULLUPS niet gebruik maar de inputs met een weerstand aan +VDC aansluit dan moet het toch ook werken?
@ Gerwinh: zal het zo proberen heb die pic inmiddels meer dan een paar honderd keer geprogrammeerd. Ik rkijg trouwens een foutmelding de laatste IF want Endif ontbreekt en ook met Endif hou ik fouten volgens Proton!
Ik hou jullie op de hoogte 
Alvast bedankt
Ik denk dat Proton ook een beetje gek is geworden.
Wat krijgen jullie met dit:
Device 16f84A
CONFIG PWRTE_ON
ALL_DIGITAL TRUE
; 76543210 <<<Een hulpregeltje
TRISB = %00000001
TRISA = %00001000
symbol KnopIN = porta.3 ;Door Switch Input
symbol ResetIN = portb.0 ;Reset Key Input
symbol Led1OUT = Portb.3 ;Lamp 1 Output
symbol Led2OUT = portb.4 ;Lamp 2 Output
DIM BD1 AS BYTE ;Dummy voor de FOR...NEXT
Clear
;Hoofdprogramma
While 1=1
WHILE KnopIn = 1 : WEND ;Wacht tot er op KnopIn wordt gedrukt
WHILE 1 = 1
toggle led1out
toggle led2out
FOR BD1 = 1 TO 50 ;50 x 10 = 500mSec
delayms 10 ;Meet om de 10 milliseconden de resettoets
IF ResetIn= 0 tHEN GaVerder
Endif
NEXT
WEND ;RESET knop ingedrukt=1
GaVerder: ;Hier verdergaan na ResetIn
low led1out
low led2out
wend Ik krijg \:
While without wend
Misplaced wend
En ook nog een if error
Snap er nu niks meer van
Frits Kieftenbelt
Ohm sweet Ohm | www.picbasic.nl
Ik proef hier teveel fouten zodat ik er op afstand ook niet uit wijs kan.
Bouw een programma langzaam op en test ieder stukje dat je programmeert steeds uit door dit in de PIC te programmeren.
Begin dus helemaal opnieuw, niet meteen teveel inprogrammeren.
Laat bijvoorbeeld eerst alleen een LED afhankelijk van de druktoets branden.
Als dat al niet werkt moet je dat eerst uitzoeken voordat je verder gaat.
Programmeer bijvoorbeeld als hoofdprogramma:
TRISA = %11111110
PORTB_PULLUPS ON
WHILE 1 = 1
PORTA.0 = PORTB.0
WEND
Waarbij op PORTA.0 een LED zit aangesloten en een toets tussen PORTB.0 en GND.
Als je op de toets drukt moet de LED daarop reageren.
EDIT:
Die foutmeldingen komen omdat je een losse ENDIF in je programma hebt staan.
Gebruik dan deze code
Device 16f628A
CONFIG INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON, LVP_OFF, MCLRE_OFF
ALL_DIGITAL TRUE
; 76543210 <<<Een hulpregeltje
TRISB = %00000001
TRISA = %00001000
symbol KnopIN = porta.3 ;Door Switch Input
symbol ResetIN = portb.0 ;Reset Key Input
symbol Led1OUT = Portb.3 ;Lamp 1 Output
symbol Led2OUT = portb.4 ;Lamp 2 Output
DIM BD1 AS BYTE ;Dummy voor de FOR...NEXT
Clear
PORTB_PULLUPS ON ;Interne pullups voor de schakelaars
;Hoofdprogramma
While 1=1
WHILE KnopIn = 1 : WEND ;Wacht tot er op KnopIn wordt gedrukt
WHILE 1 = 1
toggle led1out
toggle led2out
FOR BD1 = 1 TO 50 ;50 x 10 = 500mSec
delayms 10 ;Meet om de 10 milliseconden de resettoets
IF ResetIn = 0 THEN GaVerder
NEXT
WEND ;RESET knop ingedrukt=1
GaVerder: ;Hier verdergaan na ResetIn
low led1out
low led2out
Wend
Die werkt 1000% goed en prop dan direct een weerstand van 10K tussen +5V en porta.3 als het dan niet werkt moet je je toch eens goed achter de oren krabbelen
:100000002F2883178001840AFF3E031D02282A2817
:10001000A301A200FF30A207031CA307031C2A2888
:100020000330A100DF3016200A28A101E83EA0001D
:10003000A109FC30031C1F28A00703181C28A007D7
:100040000000A10F1C2820182528A01C292800002A
:1000500029280800831383120313000008000730C7
:100060009F00013083168600083085002030840010
:10007000603083120220A0308400503002202030F3
:10008000840030300120831681138312851D492896
:10009000462808308606831686111030831286069D
:1000A0008316061201308312A5003330250203188F
:1000B00060280A30082006185E286128A50F5528F8
:1000C000492886118316861183120612831606129A
:0400D000831245282A
:02400E00503F21
:00000001FF
En de hex file ^^^^^^^^
@ Gerwinh:
Thanks!
Deze doet het maar niet helemaal goed.
Volgens mij stoppen de ledjes zomaar met knipperen dan blijven ze aan of uit (heeft het met BD te maken?).
Als Reset ingedrukt is:
- de ledjes blijven aan als knopaan ingedrukt is
- de ledjes blijven uit als knopaan 'los' is
In principe werkt reset goed maar beiden leds zouden aan moeten blijven zolang reset ingedrukt is en uiteraard uitgaan als ik reset loslaat (knopaan moet dan ook los zijn anders moeten ze weer gaan knipperen bnij het loslaten van reset).
Maw:
Geen actie / opstarten= leds uit
KnopAan indrukken= leds gaan knipperen tot dat er gereset is
Reset ingedrukt= altijd leds aan
Reset los= ledjes uit en begin opnieuw (als knopin ingedrukt wordt of in moeten ze dan weer gaan knipperen)
IF ResetIn = 0 THEN GaVerder
vervangen door deze 4 regels mischien dat het dan wel werkt ?
IF ResetIn = 0 THEN GaVerder
delayms 20
WHILE Resetin = 0 : WEND
delayms 20
Nee werkt niet.
Knippert heel langzaam en bij reset ingedrukt zijn de uitgangen aan wanneer knopaan is ingedrukt en uit wanneer de knop los is.
PicBasic is niet zo makkelijk 
Of ik moet veel meer oefenen
ik zit echt m'n best te doen om het te begrijpen.. maar wat is nu de bedoeling?
moeten de leds gaan knipperen als KnopAan kort ingedrukt wordt, en weer uit met een korte druk op reset?
KnopAan in drukken= leds gaan knipperen tot dat er gereset is
of, moeten de leds net zo lang blijven knipperen zolang de reset aan is
Reset ingedrukt= altijd leds aan
Reset los= ledjes uit en begin opnieuw
dus leg even rustig uit (met goede zinnen) wat je precies wilt maken en wat het moet doen. immers.. als wij het niet begrijpen kunnen we je ook niet helpen.
ja sorry het is nu ook iets veranderd.
Als volgt:
Bij het opstarten staat alles uit
ResetIn ingedruk = beide leds aan wat er ook gebeurd maakt niet uit hoe de andere ingang(en) zijn.
Zodra KnopIn ingedrukt wordt(ResetIn is uit) moeten de ledjes knipperen en blijven knipperen ook als KnopIn los gelaten wordt.
Om de ledjes uit te zetten moet je ResetIn indrukken (de leds blijven wel continuo aan zolang reset is ingedrukt) en dan weer loslaten.
Bij het loslaten van ResetIN begint alles opnieuw of maw:
Als bij het loslaten (van ResetIN) KnopIn ingedrukt is moeten de leds uiteraard weer gaan knipperen, anders moeten ze uit blijven.
Ik hoop dat het een beetje duidelijk is..
Alvast bedankt
kijk.. dat is al een stuk duidelijker. 
EDIT: ik had net niks te doen en heb het eens opgebouwd op breadbord. en de volgende code werkt perfect:
Device 16f628A
CONFIG INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON, LVP_OFF, MCLRE_OFF
ALL_DIGITAL TRUE
; 76543210 <<<Een hulpregeltje
TRISB = %00000001
TRISA = %00001000
symbol KnopIN = porta.3 ;Door Switch Input
symbol ResetIN = portb.0 ;Reset Key Input
symbol Led1OUT = Portb.3 ;Lamp 1 Output
symbol Led2OUT = portb.4 ;Lamp 2 Output
DIM BD1 AS BYTE ;Dummy voor de FOR...NEXT
PORTB_PULLUPS ON ;Interne pullups voor de schakelaars
hoofdprogramma:
if ResetIN = 1 then ;als reset ingedrukt wordt
high Led1OUT ;leds aan
high Led2OUT
else ; anders..
if KnopIN = 1 then ; als knop ingedrukt wordt,
while ResetIN = 0 ;zolang reset nog niet ingedrukt is:
toggle led1out ; leds laten knipperen
toggle led2out
FOR BD1 = 1 TO 50 ;50 x 10 = 500mSec
delayms 10 ;Meet om de 10 milliseconden de resettoets
IF ResetIn = 1 THEN GaVerder ; als reset wordt ingedrukt dan:
NEXT
wend
GaVerder: ;stoppen met knipperen
end if
low Led1OUT ;geen knoppen ingedrukt?
low Led2OUT ;dan leds uit
end if
goto hoofdprogramma ; begin opnieuwwaarom wil je 2 pinnen tegelijk laten togglen? is toch dubbel?
ben wel benieuwd waarvoor je het wilt gaan gebruiken..
danny
edit2: programma nog iets aangepast.
waarschijnlijk is het gelukt met het programma, maar dat weten we nu dus niet 
IK vindt het jammer dat de TS niks meer van zich laat horen...
René Kramer
Ook tegenwind gaat liggen.
René Kramer
Ook tegenwind gaat liggen.
Op 12 november 2007 17:09:07 schreef René Kramer:
Nouja sorry hoor, maar ik had een paar topics van je bekeken en die hadden allemaal een open einde.
Valt wel mee.
Alleen de laatste maar ik ben er nog mee bezig.
Ik laat het zsm weten.
marcob
Honourable Member
People tend to overestimate what can be done in one year and to underestimate what can be done in five or ten years
Domme vragen bestaan niet, domme antwoorden wel
Maar antwoord op je vraag: Proton Pic Basic
kijk hier maar eens:
www.picbasic.nl
http://www.picbasic.org/proton_lite.php
[Bericht gewijzigd door marcob op (51%)]
hier werkt de code prima.. heb je een pull up weerstand aan pin 2 van de pic? en een kleine c over voeding van de pic?
Op 15 november 2007 19:19:35 schreef Danny:
hier werkt de code prima.. heb je een pull up weerstand aan pin 2 van de pic? en een kleine c over voeding van de pic?
Het werkt nu thanks.
Ik heb je trouwens gemaild