pic 16f877/16f628a

Lambiek

Special Member

Op 6 februari 2015 11:46:49 schreef hobby.bob:
na lang ploeteren heb ik het opgeven

Niet opgeven, gewoon doorgaan, begin nu eens met een simpel progje.

als ik eerste delay time op 180 zet werkt het programma goed.
zet ik de delay time op 518400 dan gaat mijn led direct branden ipv van na 30 dagen.

Zet de waarde eens op 60000, en kijk wat er gebeurt.

Als je haar maar goed zit, GROETEN LAMBIEK.

Op 6 februari 2015 14:52:14 schreef hadv:
Je kunt altijd nog de Amicus18 versie gebruiken.
Die is helemaal gratis, wordt up to date gehouden, is volledig hetzelfde als PicBasic en heeft geen beperkingen qua omvang van het programma.
Enige nadeel is dat er slechts twee typen PIC worden ondersteund (18F25K20 en 22).

Hij wil geen Basic, maar JAL omdat hij dat al kent (vind ik een goed argument).

If you want to succeed, double your failure rate.

@Lambiek,

Opgeven zit niet in mijn karater maar soms moet je meerdere erkenen.

als ik dit zo lees, zeg ik dat gaat niet omdat max 255 byte tussen haakjes.

heb progje gemaakt,

pin_d3_direction = output
pin_d3 = low
forever loop
delay_1s (60000)
pin_d3 = high
delay_5s (5)
pin_d3 = low
end loop

het verbaasde mij dat ongeveer na ander halve minuut led aan gaat.
heb delay time 5s gemaakt(is max) en ongeveer 8 min later gaat led(zoemertje) aan.(geklokt met stopwatch)

als ik terug na 1sec/65535 dan gaat led na ongeveer 4 min aan.
bij 5sec/65535 zou dit ongeveer 20 min moeten duren, maar na 40 min gebeurt er nog steedts niets.

@Jochem,
jal kennen is een groot woord.
ben pas een klein jaartje bezig.
na het boek van bert van dam 10 boeiende lessen doorgewerkt te hebben wordt het tijd om iets definitiefs te maken.
waar kan je dan het makkelijkst mee beginnen dacht ik.(een timertje)

Zijn de gegeven oplossingen voor je probleem te moeilijk voor je?

Op 30 januari 2015 10:25:20 schreef Jochem:
Dat er maar max een byte (255) als parameter opgegeven kan worden kun je natuurlijk omzeilen door in een for-lusje dit een aantal keer aan te roepen.

If you want to succeed, double your failure rate.

als je het weet is het niet moeilijk.(dat is met alles)
bij mij moet het muntje nog vallen.

Shiptronic

Overleden

Ik mis in het geheel de Declaraties voor de klok/frequentie van de PIC ?

Wie de vraag stelt, zal met het antwoord moeten leren leven.

include 16f877_bert, hadeigelijk nog boven het progje moeten staan.

Shiptronic

Overleden

Tja daar kan ik weinig mee , kristal interne RC, wel kristal gebruik je , welk kristal is er gedeclareerd ?

Dat soort dingen moet je mee beginne als je tijd gerelateerde zaken wilt regelen.

Wie de vraag stelt, zal met het antwoord moeten leren leven.
Lambiek

Special Member

Op 10 februari 2015 12:28:44 schreef Shiptronic:
Ik mis in het geheel de Declaraties voor de klok/frequentie van de PIC ?

Op 10 februari 2015 13:42:33 schreef Shiptronic:
Tja daar kan ik weinig mee , kristal interne RC, wel kristal gebruik je , welk kristal is er gedeclareerd ?

Dat staat allemaal in de include file, en daar kan je niets aan veranderen. Tenzij je het programma helemaal zelf schrijft natuurlijk.

Als je haar maar goed zit, GROETEN LAMBIEK.

volgens het boek hoef ik in programma niets anders te defineren dan de pic 16f877_bert.

bij opbouw op steekbord plaats ik een 20mhz kristal met 2 c'.

Lambiek

Special Member

Delay in Jall:
Voorbeeld: het commando delay_100ms (3) zorgt er voor dat je een delay krijgt van 300mS.
Als je nu delay_5s (255) doet betekent dat, dat je 5 X 255 = 1275 sec wachttijd krijgt. Dat is dus 1275 : 60 = 21.25 min

Heb je dit al eens geprobeerd?

Als je haar maar goed zit, GROETEN LAMBIEK.

ja dat heb ik al uitgeprobeerd.

delay_5s (180)900:60 = 15 minuten

Lambiek

Special Member

Als je nu bijv. dit maakt:
delay_5s (120) = 10 min, als je met dat getal gaat werken in combinatie met een teller.

Je maakt bijv. een counter aan.

code:


include ***********

pin_d2_direction = output -- LED
var byte counter, of var woord counter
pin_d2 = low

foreverloop
counter = counter + 1
delay_5s (120)
if counter = = 6 then
pin_d2 = high
else pin_d2 = low
endif
end loop

Include moet je zelf even invullen.
dit zou dus een uur moeten duren voordat de led hoog wordt.

Als je haar maar goed zit, GROETEN LAMBIEK.

pphhhfff eindelijk na lang ploerteren zit er leven in.

beginners fout verkeerde pin configuratie.(voor dat ik dat door had...)

dit opgelost had ik gelijk het volgende probleem, bij compileren. bleef constant fout aan geven in de regel, if counter = = 6 then.

na veel ergenis en proberen moest de regel zijn, if counter == 6 then.

na delay regel veranderd te hebben in, delay_5s (5), gaat led na 2,5 minuut branden en na 25 sec gaat led uit.(dit klopt)

alleen werkt de forever loop regel niet.
het programma zou zich moeten herhalen maar dit gebeurt niet.

wat zie nu over het hoofd.?????????

Arco

Special Member

Die dubbele '=' ('==') is wat uit C, bestaat niet in basic (alleen enkele '=', voor JAL weet ik 't niet)
Voor een eindeloze loop moet je 'END LOOP' vervangen door 'GOTO FOREVERLOOP'

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

Op 13 februari 2015 18:14:21 schreef hobby.bob:
wat zie nu over het hoofd.?????????

De counter loopt door tot ???
Je moet de counter(s) op 0 zetten na veranderen van ledstatus, anders telt die door ipv te herbeginnen en tegen dat die nogmaals op 6 staat ben je al wat ouder. :)

LDmicro user.

na drie weken ploeteren en experimenteren.(ergenis van het niet lukken)

ben gestopt met het project timer.

dank aan allen die met ideeen enmee gedacht hebben.

mvrgr,

Bob, ik denk dat je beter zou beginnen met LDMICRO.
Dit is een soort PLC programma met heel veel mogelijkheden en zeer makkelijk om mee te beginnen samen met Bumblebee.
Ik programmeer daar altijd mee, vooral voor besturingen van relais ed.
Je kunt alles wat je maakt simuleren vooraleer in de µC te stoppen.

je zult nooit iets anders meer willen, vooral als je wat ouder bent zoals wij ;)

Het heeft zijn beperkingen maar daar is goed mee te leven.
Het grootste nadeel is het beperkt aantal controllers dat het ondersteunt.
Proberen kan geen kwaad en stuur mij eens een email als je vragen hebt, hier mag het ook natuurlijk, misschien kunnen we nog anderen warm maken.

Je moet maar 1 file downloaden en dat is ldmicro.exe (laatste versie= vet gedrukt)

LDmicro user.
diebobo

Golden Member

Hobby Bob, waar kom je vandaan ? Misschien dat een middagje 'stoeien' met iemand je verder kan helpen...

Lees een stukje terug dat je liever niet van programmeertaal wilt veranderen, misschien dat je dat eens kan heroverwegen ? Als je bereid bent om bijvoorbeeld PICBasic aan te leren zullen hier veel meer mensen zijn die je goed kunnen helpen. Het is niet zo dat allllles opnieuw geleerd moet worden,een hoop basis blijft hetzelfde. De problemen waar je nu tegen aan loopt zal je bij een nieuw projectje ook weer tegenkomen. Dus echt niet opgeven !

"foreverloop" moet zijn "forever loop" dus spatie ertussen.
Nu doet JAL daar niets mee en aan het eind van het programma stopt het gewoon.

[Bericht gewijzigd door Paul50 op maandag 16 februari 2015 13:45:41 (26%)

Een onuitgesproken verwachting leidt tot een teleurstelling

Aangezien het eenmaal goed werkt zal de loop wel goed werken, maar de counter telt gewoon door en dat is het probleem.
De rest zal wel een typfout zijn en geen kopie van de editer.

LDmicro user.
Lambiek

Special Member

@ hobby.bob,

Als je niet te ver weg woont, wil ik je wel opgang helpen met picbasic.

Als je haar maar goed zit, GROETEN LAMBIEK.

dank voor alle reacties.

woon in de bollenstreek.

blijf het liefst bij jal.
heb alle drie de boeken liggen van bert vindt het een zonde om er geen gebruik van te maken.

hoef geen hoogstaande projecten maken.(Hou het graag als maar weet wat ik aan het ben)

Lambiek

Special Member

Denk niet dat er veel enthousiasme is voor Jal, maar mijn uitnodiging staat voor picbasic. :)

Dus zeg het maar, je mag ook een mail sturen.

Als je haar maar goed zit, GROETEN LAMBIEK.

Lambiek, hou dit in gedachte.

dank je wel.