Hey iedereen,
Ik ben na een toch wel lange tijd weeris begonnen met PIC schakelingen. Nu is het allemaal een beetje weggezakt waardoor ik vrij snel al vastgelopen ben. Het gaat om een schakeling met een 16F628A. Volgens mij heb ik em goed aangesloten, maar voor de zekerheid zal ik even vermelden wat ik gedaan heb;
Ik heb een 10K weerstand aangesloten tussen de MCLR en de 5V+/Vdd.
Meteen maar een druk schakelaartje van diezelfde MCLR naar de Vss/GND getrokken, altijd handig. In het programma heb ik XTAL 20 neergezet dus heb ik een 20 Mhz resonator genomen en daarvan de 2 buitenste pinnen gepakt en daarvan één aan de CLKIN en één aan de CLKOUT verbonden. De middelste pin heb getrokken aan de Vss/GND. Ik dacht, laat ik hem even testen om te kijken of er wat gebeurd voor dat ik verder ga. Nu moet na 3 seconden (DelayMS 3000, toch?) poort B2 hoog worden. Alleen er gebeurt 3x niks. Dus, heb ik wat verkeerd gedaan met het aansluiten van de PIC of ligt het aan het programma. Zo ja, dan post ik m'n progamma'tje wel even. Het is toch vrij klein..
Alvast bedankt!
Gr Felix
Wouter van Ooijen
Wouter van Ooijen: VOTI webwinkel, docent HvU (Technische Informatica); C++ on mictrocontrollers blog
Op 16 januari 2010 20:50:21 schreef Lambiek:
OK, maar kan je dan wel XTAL = 20 in je programma zetten.
ja
OP: laat het volledige programma zien, en een foto van je schakeling is ook wel handig. Geeft je programmer trouwens aan dat de PIC succesvol geprogrammeerd is?
Fuzzbass
Mijn echte naam: Joris | Mijn elektronica website: Fuzzcraft.com
Op 16 januari 2010 20:50:21 schreef Lambiek:
OK, maar kan je dan wel XTAL = 20 in je programma zetten.
Dat zal wel moeten ja.
Dat ontkoppel C'tje zou het misschien wel kunnen zijn... Ik begrijp dat die tussen de 2 voedingspennen moet?
Het programma:
Device 16F628A
Declare XTAL 20
DelayMS 200
ALL_DIGITAL = TRUE
TRISB=0
TRISA=1
Symbol SERV_POS = PORTB.1
Symbol SERV_NEG = PORTB.2
Symbol TRIM_POS = PORTB.3
Symbol TRIM_NEG = PORTB.4
Symbol TGA_SW = PORTA.1
Symbol AT_DIS_SW = PORTA.2
Symbol TRIM_UP = PORTA.3
Symbol TRIM_DOWN = PORTA.4
Calibration_TRIM:
TRIM_POS = 1
TRIM_NEG = 0
DelayMS 3000
PORTB = 0
GoTo Calibration_THROTTLE
Calibration_THROTTLE:
SERV_POS = 0
SERV_NEG = 1
DelayMS 2000
PORTB = 0
SERV_POS = 1
SERV_NEG = 0
DelayMS 2000
PORTB = 0
TRIM:
If TRIM_UP = 1 Then TRIM_POS = 1
TRIM_NEG = 0
DelayMS 200
TRIM_POS = 0
TRIM_NEG = 0
If TRIM_DOWN = 1 Then TRIM_NEG = 1
TRIM_POS = 0
DelayMS 200
TRIM_POS = 0
TRIM_NEG = 0
THROTTLE_TGA:
If TGA_SW = 1 Then SERV_NEG = 1
SERV_POS = 0
DelayMS 1000
SERV_POS = 0
SERV_NEG = 0
End
@ Wouter van Ooijen: Ik neem aan van wel, ik heb de PIC namelijk bij jou laten programmeren ;-P
Technojunk
Printje geëtst hebben? mail me! | Even the invisible must be perfect | Ook een Meetsnoeren ophangrekje
Heb je de picbasic cursus al eens doorgelezen?
Zo ja, dan weet je dat je standaard, bij elk programma dat je met een PIC maakt een regeltje met instelling moet plaatsen:
DEVICE 16F628A ;We gebruiken een 16F628A type
CONFIG INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON, LVP_OFF, MCLRE_OFFFredjuhh
"Ben nog een N00B, maar dat is al aan het veranderen ;)
Ik begrijp dat die tussen de 2 voedingspennen moet?
Tussen + en - van de pic, en er zo dicht mogelijk bij..
Nieko
LED addicted... Fijnmalen en snuiven maar!! :P
Vergeet in je programma in de config regel niet de interne oscillator uit te zetten (commando verwijderen). Plaats daar voor in de plaats HS_OSC. Verder zal jij je MCLRE_ON moeten zetten (omdat je deze gebruikt).
Oke dank, ik ga het allemaal is proberen. Wat ik wel vreemd vind is dat ik een aantal programma's die ik een aantal jaren geleden heb geschreven voor PIC's 16F628A hadden nooit zo'n config regel staan. En die deden het allemaal 1 voor 1.. Zelfs 1 programma waarmee ik destijds door ben geholpen door een ervaren PIC gebruiker hier van het forum, geen config regel te vinden.
Maar nogmaals, ik zal het proberen..
Gr Felix
Kevinoud
Een zak tuinaarde opescheuren
hmm lijkt me sterk je zal toch wel wat configs nodig hebben zoiezo als je een 20Mhz kristal gebruik want dat heb je HS_OSC nodig
Wouter van Ooijen
Wouter van Ooijen: VOTI webwinkel, docent HvU (Technische Informatica); C++ on mictrocontrollers blog
Op 16 januari 2010 23:12:19 schreef dcggames:
@ Wouter van Ooijen: Ik neem aan van wel, ik heb de PIC namelijk bij jou laten programmeren ;-P
Dus bij iedere wijziging laat je hem weer bij mij herprogrammeren??
Nee, dat zou een beetje ingewikkeld worden.. Ik heb hier wel een Velleman liggen, alleen die deed laatst een beetje raar, dus vandaar. Ik moet hem even nalopen.. 
[EDIT]: hmm, hij leest en wist wel, maar hij wil niet schrijven. Hij zegt ook steeds dat de geselecteerde PIC niet in het apparaat zit. Terwijl ik toch echt de 628A heb gekozen. Verder heb ik bij de configuratie 010 HS Oscillator, 11 Code protection off, Low voltage enable, brown-out data, pin function (MCLR) en watchdog timer geselecteerd/aangevinkt.. Ook heb ik de patch kabels precies zo zitten als de software vraagt.