beste,

Heb na wat lastig de datasheets gelezen te hebben van de pic16F628 besloten het maar in basic te doen.

maar, hoe kan je in proton plus de hexfile opslaan?

groeten

Op 8 november 2004 00:29:34 schreef joerideman:
beste,

Heb na wat lastig de datasheets gelezen te hebben van de pic16F628 besloten het maar in basic te doen.

maar, hoe kan je in proton plus de hexfile opslaan?

groeten

in het menu "options" > "Compile"
oftewel F9 ...

groeten,
Kris

ok bedankt, nu nog een vraag. ik programmeer met ic prog.

maar hoe moet ik hem dan instellen, als ik met de interne oscilator werk?

Op 9 november 2004 09:32:52 schreef joerideman:
ok bedankt, nu nog een vraag. ik programmeer met ic prog.

maar hoe moet ik hem dan instellen, als ik met de interne oscilator werk?

in ICprog heb je aan de rechterkant "oscillator" met
een dropdown bij, die zet je op RC
in PicBasic zelf moet je bij je definities
SET_OSCCAL gebruiken.
(zoek even in de help van picbasic naar info over deze instructie)

Groeten & succes,
Kris

oke ikheb het volgende programma in basic


DEVICE 16F628                ;We gebruiken een 16F628A type 
CONFIG INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON, LVP_OFF, MCLRE_OFF 
;bij inbranden alleen pwrte aan en instellen op inrc clkout
ALL_DIGITAL TRUE              ;Alle ingangen digitaal 
   
DIM LedTeller AS BYTE         ;Maak variabele LedTeller aan 
CLEAR		  	 			  ; wist alle veriabelen
   
begin:                        ;begin van programma
  WHILE LedTeller < 5		  ;begin lus 4 keer knipperen
  high PORTA.1           	  ;led aan
  DELAYMS 500                 ;500 milliseconden = 0,5 seconde
  LOW PORTA.1				  ;led uit
  DELAYMS 500                 ;500 milliseconden = 0,5 seconde
  INC LedTeller				  ;teller met 1 verhogen
  WEND	  					  ;einde lus
  
  DELAYMS 1000				  ;wacht 1 s voor verdergaan
  CLEAR LedTeller			  ;cleard variabele ledteller
  
  WHILE LedTeller < 5 		  ;begin lus 4 keer knipperen
  HIGH PORTA.1  	  		  ;led aan
  DELAYMS 200	  	  		  ;wacht 0,2s
  LOW PORTA.1				  ;led uit
  DELAYMS 200				  ;wacht 0,2s
  INC LedTeller				  ;teller met 1 verhogen
  WEND	  	 	  	  		  ;einde lus
  GOTO begin                  ;Spring naar 'Opnieuw' en ga zo door 
   
END                           ;Einde programma

maar ik merk dat hij in het laatste gedeelte blijft hangen.
wat doe ik verkeerd.

Probeer het eens met :

clear ledteller

of met :

ledteller = 0

groet, Theo

maar het clearen doet hij wel, anders was hij nooit in het 2e gedeelte blijven hangen toch? anders had ledteller nog steeds waarde 5

het optellen in het 2e gedeelte is fout oid, want hij blijft de lus uitvoeren.

[Bericht gewijzigd door Joeri de Man op ]

Hoeft niet persé. Een Clear wist het memory, en ik weet niet oftie daarbij de variabelen meeneemt. Bovendien kan een pic ook nog wel eens rare streken uithalen...
Waarom probeer je het niet gewoon eens?

Overigens; Dit programmeert wat gestructureerder en overzichtelijker:

symbol led = porta.1

high led
....
....
....
low led

groet, Theo

ik zal het uitproberen, maar eerst een kleine reperatie aan me pic programmer, condensatortje is losgegaan :(

joerideman.

Je moet direct onder de label Begin:
eerst CLEAR LedTeller neerzetten.

Kijk maar wat er gebeurt, als je onderaan weer met GOTO naar Begin: springt, is LedTeller nog niet 0 gemaakt.

whahaha, zo simpel. ik wist het, het is een kleinigheidje :P

bedankt heh.

alleen komt het er nu wel op neer dat me ledje spontaan fel minder fel knippert :S

[Bericht gewijzigd door Joeri de Man op ]