Fout met Wisp 648 en 16F628A

De kabel mag ik vast wel opsturen, maar de stekker klopt wel volgens mij.

Op 5 juli 2010 22:13:19 schreef r3dnax:
Misschien kan ik een dagje langskomen(mijn neef woont in zwolle, vanuit kan ik ook komen).

Prima!
En neem dan alles mee, dus ook je breadboard, Wisp648, netadapter, steker met gekleurde draden, de PIC(s) die je probeert te programmeren, enz., de hele bups...
Ben nu zelf namelijk zeer nieuwsgierig naar de oorzaak geworden.

Maar laat het wel van tevoren weten wanneer je wilt komen zodat we een afspraak kunnen maken.

Ohm sweet Ohm | www.picbasic.nl

Hallo,

Na de vakantie maar weer aan het prutsen, heb een nieuwe pic 16F628A gepakt en die doet wat ik hem opdraag:).

Het probleem was dus een kapotte 16F628A

EDIT:

De kapotte pic werd veroorzaakt door een kapotte 7805(uitgang = ingangsspanning).

[Bericht gewijzigd door r3dnax op donderdag 5 augustus 2010 17:02:03 (20%)

Ik ben nu aan het programmeren voor mijn opa. De 16F628A krijg ik geprogrammeerd, maar de 16F876A niet. Ik denk dat ik iets verkeerds doe in de programmeertaal(ik denk zelf de fuses).

pic basic code:

Device 16F876A                ;Gebruik een 16F876A type
Config WDT_OFF, PWRTE_OFF, LVP_OFF, XT_OSC
XTAL = 20
ALL_DIGITAL TRUE              ;Alle ingangen digitaal

Opnieuw:                      ;Label met zelf te verzinnen naam
Toggle PORTA.0                ;Aan moet uit, uit moet aan
DelayMS 500                   ;500 milliseconden = 0,5 seconde
GoTo Opnieuw                  ;Spring naar 'Opnieuw' en ga zo steeds door 

End                           ;Einde programma

Op de mclr heb ik een weerstand van 10k naar de plus, op a.o een led met weerstand. en een kristal van 20 mhz met 2 condensatoren van 22pF.

Ik ben zelf niet zo goed in het lezen van de datasheet, kan iemand me daarmee helpen?

Turbokeu

Golden Member

Je moet eerst nog RA0 in het TRISA register instellen als output (default=input).

Ik weet niet of ALL_DIGITAL TRUE werkt met een 16F876 in PICBASIC (ik denk van wel), bij een 16F628 gebeurt de instelling via het CMCON register, bij een 16F876 is dat via het ADCON1 register.

I love watching conspiracy theorists use the airtight logic of the argument from incredulity: "Well I don't understand how it works so it can't be real!!!"

Oke, dat zal ik nog eens proberen. Laat je bij trisa gewoon de eerste 2 bits als 0 gebruiken(pic heeft bij porta maar 6 pinnen)

Turbokeu

Golden Member

Bedoel je de 2 MSB's van TRISA (bit 6 en 7)?
Die zijn niet geïmplementeerd en worden gelezen als '0' (setting (0 of 1) heeft dus geen belang).

Wat bedoel je met 'heeft maar 2 pinnen'?
PortA heeft vijf I/O pinnen (RA0 tot RA5).

I love watching conspiracy theorists use the airtight logic of the argument from incredulity: "Well I don't understand how it works so it can't be real!!!"

Niet 6:)?

De aanpassing heeft dus niet geholpen. Ik denk dat de fuse settings verkeerd staan, of mijn kristal is kaduuk :(.

[Bericht gewijzigd door Henry S. op maandag 9 augustus 2010 17:46:33 (57%)

Turbokeu

Golden Member

Sorry, 6 I/O's inderdaad...

Config bits staan goed maar is het wel een 20MHz 16F876 (er is ook een 4MHz versie)?

I love watching conspiracy theorists use the airtight logic of the argument from incredulity: "Well I don't understand how it works so it can't be real!!!"

Lol, heb ik dan de verkeerde besteld :)

linkje max 20 mhz, kan dus wel.

[Bericht gewijzigd door Henry S. op maandag 9 augustus 2010 17:46:43 (43%)

probeer i.p.v. "XT_OSC" "HS_OSC"

Als het programmeren zelf niet lukt zou dit niet uit maken... Maar als alleen het programma het niet doet, maar je de pic wel geprogd krijgt kan het wel helpen.

Kan je ook niet de interne osscilator even proberen (die zit toch ook in een 16F876?). Dan weet je meteen of het aan het kristal ligt.
Je hebt gelijk, de 16F876 heeft geen interne osscilator. Je kan het Xtal wel testen door hem op een 16F628A aan te sluiten... Als je alles wilt uitsluiten.

@Turbokeu: Het instellen van het trisregister is inderdaad altijd nodig. Alleen bij de picbasic functie HIGH of LOW wordt de desbetreffende pin al gelijk een uitgang gemaakt.
Meer hierover: http://www.picbasic.nl/beginners3.htm

[Bericht gewijzigd door loopycoaster op maandag 9 augustus 2010 19:37:43 (13%)

Ik ben begonnen met hs_osc en ben toen naar Xt_osc gegaan, ik had toen nog niet de tris instellingen gedaan. Ik dacht dat de 16F876A niet zonder kristal kon, maarja. Ik probeer het zo, eerst de 2e pc opstarten.

Ik was te lui om de datasheet te pakken :P, ik heb het nu toch voor je opgezocht, en inderdaad geen interne osscilator. Heb je bij je xtal ook 2 c'tjes van 22pF van de 2 pinnen van het xtal naar de GND gezet? (Dat zal wel, maar voor de zekerheid.)

Maar lukt het programmeren zelf niet of het programma werkt niet??

[Bericht gewijzigd door loopycoaster op maandag 9 augustus 2010 19:40:21 (12%)

Het werkt. het breadboard maakte geen contact, en ik had de min aan de linkerkant een pinnetje te hoog. Ik weet niet wat er fout dat, maar hij doet het:):)

Turbokeu

Golden Member

Op 9 augustus 2010 19:29:28 schreef loopycoaster:
probeer i.p.v. "XT_OSC" "HS_OSC"

Verdorie, daar heb ik mijn stomme kop ook over gezien...

@Turbokeu: Het instellen van het trisregister is inderdaad altijd nodig. Alleen bij de picbasic functie HIGH of LOW wordt de desbetreffende pin al gelijk een uitgang gemaakt.

Wist ik niet.
Ik ben dan ook een 100% die hard PIC assembly programmer.

I love watching conspiracy theorists use the airtight logic of the argument from incredulity: "Well I don't understand how it works so it can't be real!!!"

Dat is het voordeel (en meteen ook het nadeel) van die HIGH en LOW commands.

Ik gebruik zelf alleen directe commands (porta.1 = 1), scheelt geheugen.

Alleen als ik even snel een testje bouw doe ik het nog welleens met HIGH en LOW.

Ik dacht het niet, proton zet toch alles om net zoals een symbolen lijst ook geen geheugen extra kost.

Henry S.

Moderator

Je vergeet dat HIGH/LOW/TOGGLE alles steeds weer instellen.

73's de PA2HS - ik ben een radiohead, De 2019 CO labvoeding.

Oow zo, niet gebruiken dus, ben overgestapt op hoog & laag :)