Vai Indietro   PcTuner Forum > Sezione Hardware > Programmazione PIC
Arcade Registrazione Blogs Regolamento Feedback FAQ Lista Utenti Calendario Segna come Letti

Ultimi 5 blog pubblicati su PcTuner Blog
Data Titolo

Rispondi
 
Strumenti Discussione Modalità Visualizzazione
Vecchio 12-12-2008, 18.37.37   #1
Registered User
 

Iscritto da: 12-12-2008
Messaggi: 26
Feedback: (0)
AIUTO programma centralina

Salve a tutti
io avrei bisogno di un'urgentissimo aiuto per la programmazione di un PIC16F84A
contenuto all'interno di una centralina da me progettata e costruita (quasi)

vorrei che fosse programmata in C in modo da poterci capire qualcosa nel caso dovessi modificare il listato...
problemi vari:
1) a scuola ci hanno insegnato poco o nulla (e comunque non ci ho mai capito molto di mio)
2)manca poco tempo
3)quel poco che sapevo, ora non me lo ricordo più

ho un programmatore che ho usato più volte il propic2clone perciò intendo usare quello

gradirei usare MPLAB per la programmazione e poi ICprog per caricarlo sul pic

qualcosina l'ho scritto a livello di inizializzazioni ma è probabile che siano tutte str****te

questa benedetta centralina "RAIN BOX" servirebbe appunto per gestire gli effetti del temporale all'interno del presepe, in pratica l'unica cosa che deve fare il PIC è gestire l'accensione e i ritardi dei RELE

vi allego gli schemi e un tentativo di inizio di programma

questa RAIN BOX in soldoni dovrebbe:

tenere un RELE su ON (sulla quale è attaccata un autoradio)
non appena l'altra centralina accende il rele corrispondente deve partire il ciclo della rain box:
-STOP autoradio
-LUCI ON (attiva una scheda per luci psichedeliche)
-PLAY rumori fulmini (ovvero attiva il contatto play di un vecchio lettore CD-ROM)
-POMPA ON (attiva la pompa che fa piovere)

delay(15 sec)

-LUCI OFF
-STOP lettore cd

delay (15 sec)

-POMPA OFF

appena il contatto della prima centralina torna a 0

-autoradio ON

ho predisposto un dipswirch da 4 per poter selezionare diverse combinazioni di tempo (perchè non so come verrà il risultato finale e montare e smontare il PIC per riprogrammarlo non è una gran soluzione)

spero di non aver omesso nulla e spero vivamente che qualcuno mi possa aiutare...

GRAZIE
Files Allegati
Tipo di File: pdf PIC-RELE 1.pdf‎ (22.1 KB, 37 visite)
Tipo di File: pdf PIC-RELE 2.pdf‎ (17.8 KB, 15 visite)
Tipo di File: c rainbox.c‎ (6.2 KB, 18 visite)
grim86 Non in Linea   Rispondi Citando
Vecchio 13-12-2008, 09.31.12   #2
Io cavalco da solo
 
L'avatar di  the rider
 

Iscritto da: 17-08-2008
Locazione: Tivoli
Messaggi: 158
Feedback: (0)
Ok, lo so. Non è compito mio ma mi viene da dire:

Buongiorno eh, non si bussa alla casa tua?
( dal film Troy doppiato in abruzzese da Marco Papa )

Cmq benvenuto nel forum....
A proposito del circuito, non è complicato, è giusto un timer che avvia una sequenza pilotata da un segnale in ingresso.
A questo punto però (secondo me) non dovendo effettuare compiti alla velocità della luce ti conviene usare un quarzo da 16 KHz (si trovano da 16384Hz) perché tirare fuori un ritardo di 15 secondi da un oscillatore da 8 MHz diventi scemo a forza di fare loops. Puoi sostituirlo?

ciao Augusto

P.S. ma il tuo compilatore C accetta il punto e virgola come indicatore di commento?
the rider Non in Linea   Rispondi Citando
Vecchio 13-12-2008, 17.24.11   #3
Registered User
 

Iscritto da: 12-12-2008
Messaggi: 26
Feedback: (0)
immaginavo che mi avreste risposto così...cercavo la pagina delle presentazioni ma non l'ho trovata...cmq non è per maleducazione...

buongiorno a tutti!
si esatto il circuito è semplice e anche a dirsi sono tutti timer da programmare mail max che ho fatto a scuola è accendere un led in mille modi diversi ma solo quello...

in effetti io ho usato la solita configurazione dei due condensatori da 22p e il quarzo da 8MHz per la forza dell'abitudine...si può sosituire penso di sì perchè non l'ho ancora ne stampata ne montata se si può sempilcemente lasciare tutto com'è e sostituire il quarzo ok altrimenti no..

come detto nel messaggio prima io non sono un programmatore quindi è probabile che copiando il template di scuola abbia scazzato qualcosa comunque ritengo che la risposta alla tua domanda sia NO!..

può anche essere che aprendo il listato con notepad o altro ti si sia sgranata l'indentazione per cui si sono spostati i punti e virgola

P.S.
uso MPLAB come ho già detto, compilatore HI-TECH...(quello per il C insomma, Lite ovviamente)
grim86 Non in Linea   Rispondi Citando
Vecchio 13-12-2008, 17.35.49   #4
Io cavalco da solo
 
L'avatar di  the rider
 

Iscritto da: 17-08-2008
Locazione: Tivoli
Messaggi: 158
Feedback: (0)
Era per sghignazzare un po', non volevo essere scortese
Non mi pare comunque che ci sia una pagina di presentazioni, era giusto per la velocità dell'entrata..
Comunque, visto che un timer per tempi lunghi con 16F84 l'ho già fatto per il terrario di mia figlia posso vedere se trovo un attimo libero, comunque lo scrivo per un oscillatore a 16.384 KHz, ok?
Attento al circuito stampato, questi quarzi sono molto più piccoli di quelli standard (sono quelli fatti a "tubetto"), ma in compenso hanno i terminali lunghi e flessibili per cui probabilmente ci va lo stesso. Se non lo trovi smonta qualche vecchia scheda madre, li ci sono di sicuro per l'RTC

Dammi un po' di tempo e vediamo se riusciamo a far piovere sul presepe

ciao Augusto
the rider Non in Linea   Rispondi Citando
Vecchio 14-12-2008, 15.00.47   #5
Registered User
 
L'avatar di  Camillo
 

Iscritto da: 31-01-2006
Locazione: Genova
Messaggi: 1,471
Feedback: (0)
Non vedo controindicazioni, se non il consumo, nell'utilizzare un quarzo ad alta frequenza anche per tempi lunghi.
Comunque il quarzino più facile da trovare è quello da 32KHz degli orologi.
__________________
Camillo

Internet ti fa vedere tutto ma non ti fa toccare niente. (Camillo Ferrari)
Camillo Non in Linea   Rispondi Citando
Vecchio 14-12-2008, 18.18.36   #6
Io cavalco da solo
 
L'avatar di  the rider
 

Iscritto da: 17-08-2008
Locazione: Tivoli
Messaggi: 158
Feedback: (0)
Quote:
Originariamente inviato da Camillo Visualizza Messaggio
Comunque il quarzino più facile da trovare è quello da 32KHz degli orologi.
Io intendevo quello, come caspita mi è uscito 16384 ?!? Probabilmente l'unico neurone che mi è rimasto aveva il prescaler 1:2 inserito
Ho buttato giù qualcosa, a te il debugging, il codice è semplice e commentato (spero) piuttosto bene.

Per Camillo: lo so, anche a 20 MHz va bene, solo che devo mettere 2 o 3 contatori in cascata, invece così risparmio sia istruzioni che consumo...
In ogni caso a 4 interrupt al secondo posso eseguire più di 2000 istruzioni tra un irq e l'altro e per quello che deve fare questa scheda....

Ciao Augusto
Files Allegati
Tipo di File: zip pioggiap_c.zip‎ (2.2 KB, 10 visite)
Tipo di File: zip pioggiap_hex.zip‎ (1.1 KB, 0 visite)
the rider Non in Linea   Rispondi Citando
Vecchio 14-12-2008, 22.16.28   #7
Registered User
 

Iscritto da: 12-12-2008
Messaggi: 26
Feedback: (0)
[the rider] non mi apre gli zip...ritenta...

c'è qualcosa che non va con sto quarzo su hobby cnc mi dicono che basta uno da 4MHz e che da 8 e 16 è troppo...
qui l'opposto...di chi mi fido?
alla fine mi sa che lo lascio da 8
ah già mi dite come cacchio si calcola sto prescaler che non trovo più i miei appunti di sistemi? (mi sa che li ho bruciati dopo la maturità...scherzo non li trovo più)
grim86 Non in Linea   Rispondi Citando
Vecchio 14-12-2008, 22.47.37   #8
Io cavalco da solo
 
L'avatar di  the rider
 

Iscritto da: 17-08-2008
Locazione: Tivoli
Messaggi: 158
Feedback: (0)
Ci riprovo, ma gli altri li apro senza problemi...

Per il quarzo, fino a 20 MHz vanno bene tutti, solo che poi devi adattare il programma per quella frequenza, il prescaler divide al massimo per 256. Questo programma è scritto per un quarzo da 32 khz.

Ah dimenticavo, non ho messo la config word nel sorgente, (in C non ricordo mai come si imposta) comunque è 0x3FF0 o puoi provare 0x3FF1

Se per caso ancora non apri lo zip posto anche il sorgente in C (senza il .hex)

ciao Augusto
Files Allegati
Tipo di File: zip presepe.zip‎ (3.5 KB, 3 visite)
Tipo di File: c pioggiap.c‎ (7.3 KB, 8 visite)
the rider Non in Linea   Rispondi Citando
Vecchio 15-12-2008, 13.50.27   #9
zef
frullapic
 

Iscritto da: 19-09-2005
Locazione: Reggio Calabria
Messaggi: 20
Feedback: (0)
Quote:
Originariamente inviato da grim86 Visualizza Messaggio
c'è qualcosa che non va con sto quarzo su hobby cnc mi dicono che basta uno da 4MHz e che da 8 e 16 è troppo...
Infatti 32 KILO Hz è molto più basso di 4, 8 o 16 MEGA Hz

quindi più semplice da gestire in termini di software per le tue temporizzazioni.

Ciao ciao
Zef
zef Non in Linea   Rispondi Citando
Vecchio 16-12-2008, 00.28.40   #10
Registered User
 

Iscritto da: 12-12-2008
Messaggi: 26
Feedback: (0)
non so perchè ma mi da errore quando apro lo zip
il prof mi ha dato qualche dritta
ho provato a scrivere qualcosa
dateci un occhio
grazie
ciao
Files Allegati
Tipo di File: c RAINBOX.c‎ (5.1 KB, 13 visite)
grim86 Non in Linea   Rispondi Citando
Vecchio 16-12-2008, 10.01.59   #11
Io cavalco da solo
 
L'avatar di  the rider
 

Iscritto da: 17-08-2008
Locazione: Tivoli
Messaggi: 158
Feedback: (0)
Ok per lo zip, ma il ".C" lo vedi?

La differenza tra i due programmi è che uno opera in sequenza (rainbox.c) mentre il mio opera per stati (pioggiap.c).
Per una applicazione così semplice sono equivalenti quindi vai tranquillo.

Ah, dimenticavo, se il pioggiap.c lo vedi con le righe una attaccata all'altra piuttosto che una sotto l'altra aprilo con wordpad invece che con notepad e poi risalvalo.... (Io OOooodio winzozz.....)

ciao Augusto

P.S. mi sa che il prof non ha utilizzato i dip switch
the rider Non in Linea   Rispondi Citando
Vecchio 16-12-2008, 23.13.47   #12
Registered User
 

Iscritto da: 12-12-2008
Messaggi: 26
Feedback: (0)
ah no ma il prof mi ha scritto solo la routine e mi ha precisato che il MCLR è hardware cosa che non avevo considerato...
no ma infatti i dipswitch non li ho messi perchè non so se il delay va bene usato così e quindi...
non vorrei che quando lo compilo vengono fuori migliaia di errori che non so dove mettere le mani..

ma quindi quello che ho scritto io ha anche un senso logico? incredibile
grim86 Non in Linea   Rispondi Citando
Vecchio 16-12-2008, 23.59.43   #13
Registered User
 

Iscritto da: 12-12-2008
Messaggi: 26
Feedback: (0)
ok il programma ora lo vedo bastava aprirlo con java editor..

allora credo che ci siano alcune correzioni da fare...ovvero la'utoradio io la collego su uno dei tre contatti del relè in modo che funzioni come normalmente chiuso...quindi all'inizio del cilco bisogna disattivarla portando il relè a 1 e ariattivarla alla fine ponendolo a 0


mm ok quindi se lo compilo dovrebe andare? mi sa che l'unica chance di capire se va è provarlo....però ho l'impressione che ci siano delle inesattezze sul nome delle porte...

quindi scrivo qui l'assegnazione delle porte:
pin1 RA2 DIP2 opzione tempo
pin2 RA3 DIP3 opzione tempo
pin3 RA4/T0CK1 DIP4 opzione tempo
pin4 MCLR RESET tasto di reset
pin5 VSS (GND) GND
pin6 RB0/INT PLAY CD1 play/forward
pin7 RB1 STOP CD1 stop/eject
pin8 RB2 RADIO autoradio
pin9 RB3 RELE4 non collegato
pin10 RB4 RELE5 POMPA
pin11 RB5 RELE6 LUCI LAMPI
pin12 RB6 RELE7 non collegato
pin13 RB7 LED HeartBeat
pin14 VDD (+5V) (+5V)
pin15 OSC2 CLKOUT
pin16 OSC1 CLKIN
pin17 RA0 START segnale di start da centralina
pin18 RA1 DIP1 opzione tempo

poi...tutta questa parte:

{
stato |= FASEA_ON; /* fase a, stop suoni start tuoni, pompa, luci */
PORTA |= STOPSOUND_ON; /* attivo lo stop alla musica */
PORTA |= STARTTUONI_ON; /* attivo lo start ai tuoni */
PORTB |= LUCI_ON; /* via ai lampi */
PORTB |= POMPA_ON; /* via alla pioggia */
time1 = preload_t1; /* inizializzo il primo timer */
time2 = preload_t2; /* idem per il timer 2 */
}
else if(stato & FASEA_ON) /* fase A attiva, passo alla B */
{
stato &= FASEA_OFF;
stato |= FASEB_ON;
PORTA &= STOPSOUND_OFF; /* rilascio il pulsante di stop alla musica */
PORTA &= STARTTUONI_OFF; /* rilascio il pulsante di start tuoni */

quando dice attivo lo stop alla musica ti riferisci all'autoradio immagino...

starttuoni è il lettore cd giusto? quindi il tasto corrispondente al play va spinto e rilasciato per diciamo un po più di mezzo secondo direi...
idem per lo stop va spinto e rilasciato...

naturalmente può essere che abbia frainteso io...
fatemi sapere...
grim86 Non in Linea   Rispondi Citando
Vecchio 17-12-2008, 18.31.27   #14
Io cavalco da solo
 
L'avatar di  the rider
 

Iscritto da: 17-08-2008
Locazione: Tivoli
Messaggi: 158
Feedback: (0)
c'è qualcosa che non va....
L'assegnazione dei pin i/o per te è così:
Quote:
quindi scrivo qui l'assegnazione delle porte:
pin1 RA2 DIP2 opzione tempo
pin2 RA3 DIP3 opzione tempo
pin3 RA4/T0CK1 DIP4 opzione tempo
pin4 MCLR RESET tasto di reset
pin5 VSS (GND) GND
pin6 RB0/INT PLAY CD1 play/forward
pin7 RB1 STOP CD1 stop/eject
pin8 RB2 RADIO autoradio
pin9 RB3 RELE4 non collegato
pin10 RB4 RELE5 POMPA
pin11 RB5 RELE6 LUCI LAMPI
pin12 RB6 RELE7 non collegato
pin13 RB7 LED HeartBeat
pin14 VDD (+5V) (+5V)
pin15 OSC2 CLKOUT
pin16 OSC1 CLKIN
pin17 RA0 START segnale di start da centralina
pin18 RA1 DIP1 opzione tempo
però se vedi dallo schema gli switch per le "opzioni tempo" vanno dalla RB4 alla RB7 e anche le altre porte sono abbastanza rismescolate per cui prima di andare avanti io direi di stabilire una volta per tutte se è buono lo schema o la lista...

per quello che riguarda il cd effettivamente nella fase "A" attivo lo start del player (STARTTUONI_ON) e nella fase "B" 0,25 secondi dopo, lo rilascio (STARTTUONI_OFF) idem per lo stop nelle fasi "D" ed "E"

Per ultimo, dallo schema risulta che anche la colonna sonora ha uno start ed uno stop separati, per cui mi sono regolato nello stesso modo se invece hai un solo rele per dare o togliere alimentazione le cose vanno un po' modificate


ciao Augusto
the rider Non in Linea   Rispondi Citando
Vecchio 17-12-2008, 23.20.56   #15
Registered User
 

Iscritto da: 12-12-2008
Messaggi: 26
Feedback: (0)
scusami ho fatto una boiata io ti ho postato gli schemi vecchi!
ti ho allegato gli schemi giusti...

comunque ho sistemato un po' la mia versione del programma che devo ancora finire... a questo punto mi servono consulenze e delucidazioni perchè io i programmi li ho sempre scritti così quindi succede che se prendo il tuo già fatto non ci capisco nulla...
diciamo che se alla fine non ne vengo fuori uso il tuo..sempre che la scheda funzioni la devo ancora testare...

mi servirebbe sapere bene come si imposta e come si richiama la funzione delay..
il mio prof mi ha spedito questo:

void delay20sec(void){
unsigned char cont;
cont = 200;
do{
DelayMs(100);
}while(--cont);
}

a questo punto io avevo in mente di fare così creare delle routine tipo questa sopra ma cambiando i tempi dei ritardi, creare degli if per i DIPSWITCH e fare un copia e incolla del programma coi ritardi cambiati

però non mi è chiaro DelayMs è un comando specifico oppure io posso fare ad esempio così...

void delay5sec(void){
unsigned char cont;
cont = 50;
do{
Delay5(100);
}while(--cont);
}
e poi quando ne ho bisogno richiamo una volta Delay5(100), Delay10...Delay15..ecc...

in pratica non so come si usa...

inoltre il prof mi ha detto di impostare OPTIONS e INTCON
intcon serve per gli interrupt e se non sbaglio sviluppando così come ho fatto io il programma non servono quindi INTCON =0b00000000 ;

mentre OPTIONS ora è settato così:

OPTION =0b10000111 ; // HARDWARE del PIC
// |||||+++------bit0,1,2 prescalererTMR0parte da2,perWDTda1
// ||||+---------bit3 PSA Prescaler source 0=TMR0 1=WDT
// |||+----------bit4 T0SE TMR0 source edge 0=fronte salita RA4
// ||+-----------bit5 T0CS timer input sel. 0=clock 1=RA4
// |+------------bit6 INTDEDG int.edge 1=fronte salita 0=fonte
// +-------------bit7 RPBUport B pull up 0=enable

c'è qualcosa da cambiare?
ora delay a parte se si può impostare come ho detto i dipswitch manca solo il led di heartbeat credo...
Files Allegati
Tipo di File: pdf PIC-RELE1_ultima.pdf‎ (23.9 KB, 5 visite)
Tipo di File: pdf PIC-RELE2_ultima.pdf‎ (19.3 KB, 2 visite)
grim86 Non in Linea   Rispondi Citando
Vecchio 18-12-2008, 00.04.24   #16
Registered User
 

Iscritto da: 12-12-2008
Messaggi: 26
Feedback: (0)
in realtà nel progetto di partenza avevo previsto di usare un lettore CD per la colonna sonora e uno per i rumori solo che c'era un problemino e cioè che il lettore della colonna sonora doveva avere un autoreverse..per fare ciò avevo immaginato di creare un contatore con un numero prefissato di tracce...ma poi per ridurre drasticamente i lavori in termini di tempo l'ho sosituito con l'autoradio che l'autoreverse ce l'ha di suo e così basta attivare e disattivare..sicuramente il risultato è più brutto ma non veramente più tempo...

comunque ho montato la scheda per ora sembra che non sia esploso nulla...attendo che il programma sia pronto e intanto preparo i collegamenti per il lettore e le altre robe...

GRAZIE

CIAO
grim86 Non in Linea   Rispondi Citando
Vecchio 18-12-2008, 12.58.32   #17
Io cavalco da solo
 
L'avatar di  the rider
 

Iscritto da: 17-08-2008
Locazione: Tivoli
Messaggi: 158
Feedback: (0)
Quote:
scusami ho fatto una boiata io ti ho postato gli schemi vecchi!
dalle parti mie direbbero "Te pozzano cascà le recchie!" hehehe
Quote:
però non mi è chiaro DelayMs è un comando specifico oppure io posso fare ad esempio così...
,,, La prima che hai detto. Io non uso quel compilatore li, ne uso uno più "per i poveri" per cui i ritardi me li devo inventare da solo, però nel tuo caso DelayMs() è una funzione di libreria che se chiamata genera un ritardo di x millisecondi pari all'argomento passato.
Tra parentesi, su PIC di fascia bassa come questo ho iniziato ad usare l'assembler un paio di mesi fa e ti assicuro che indietro non torno.
Quote:
...l'ho sosituito con l'autoradio che l'autoreverse ce l'ha di suo e così basta attivare e disattivare
ok, ma allora quale è il relè "buono", quello su RB0 o quello su RB1?

Un'ultima considerazione: il tuo programma è sequenziale, per cui si aspetta di procedere con tutte le operazioni previste una dopo l'altra, ma se a metà del ciclo "START" va a 0 rimane tutto come fotografato in quel momento invece dovresti riportare le cose in condizioni attesa (pompa off, musica on ecc....)

Ultima ultima, ma poi che quarzo hai montato?

ciao Augusto

Ultima Modifica di the rider : 18-12-2008 13.02.05.
the rider Non in Linea   Rispondi Citando
Vecchio 18-12-2008, 19.31.16   #18
Registered User
 

Iscritto da: 12-12-2008
Messaggi: 26
Feedback: (0)
si dopo mi ha spiegato il prof che DelayMs() è un comando..quindi ok

lo so che tutti i robottari e gli autodidatti usano assembler..però io avendo "imparato" si fa per dire a usare il C a scuola uso quello...se mi metto a cambiare ancora non vado da nessuna parte anche perchè all'università noi usiamo java che è + simile al C (anzi praticamente identico)

alla fine ho montato il quarzo da 4MHz spero vada bene (penso di si ma nel caso si fa presto a cambiare)

a scanso di equivoci ti allego il file in C che ho scritto io dove sono contenute tutte le definizione dei pin (aprilo con notepad e leva "a capo automatico" si dovrebbe leggere bene)

come vedrai l'autoradio è su RB2

in effetti alla questione dell'interruzione improvvisa del programma non avevo pensato...e quindi come faccio?
Files Allegati
Tipo di File: c RAINBOX.c‎ (5.3 KB, 6 visite)
grim86 Non in Linea   Rispondi Citando
Vecchio 18-12-2008, 21.00.09   #19
Io cavalco da solo
 
L'avatar di  the rider
 

Iscritto da: 17-08-2008
Locazione: Tivoli
Messaggi: 158
Feedback: (0)
Dunque... vedi che hai definito delle funzioni che però non chiami mai, in pratica il tuo codice iniziale
Codice:
main(void)
{
for(;;){			  /*apro il for*/
va modificato in
Codice:
main(void)
{
init();  // inizializzi il controller
for(;;){			  /*apro il for*/
in modo da inizializzare tutti i registri necessari al funzionamento; dopo di ché le chiamate per i ritardi a 20 secondi non puoi farle con
Codice:
		POMPA = 1;	  /*accendo la POMPA*/
		DelayMs(100); /* 20sec */
		LAMPI = 0;    /*spengo le luci*/
così aspetti al massimo 100ms per cui modificale con
Codice:
		POMPA = 1;	  /*accendo la POMPA*/
		delay20sec() /* 20sec */
		LAMPI = 0;    /*spengo le luci*/
del resto l'hai definita apposta....
Per l'attacco e lo stacco dei pulsanti start e stop del cd 5mS (DelayMs(5)) mi sembrano proprio pochi, fai almeno 250 altrimenti il relè nemmeno si muove, o almeno usa "DelayDecimi(5)" che hai definito ma non usi mai....
Se invece "sparisce" il segnale start a metà ciclo non vedo in che modo tu possa cavartela "a poco prezzo" con un ciclo in sequenza, dovresti controllare in continuazione il segnale prima di ogni operazione.....

Morale della favola: operare per stati è un po' più complicato (nonché palloso) però ti lascia molto più libero.... fai finta di scrivere in java, no?

ciao Augusto
the rider Non in Linea   Rispondi Citando
Vecchio 18-12-2008, 21.05.59   #20
Io cavalco da solo
 
L'avatar di  the rider
 

Iscritto da: 17-08-2008
Locazione: Tivoli
Messaggi: 158
Feedback: (0)
Ooops... dimenticavo:
Quote:
o so che tutti i robottari e gli autodidatti usano assembler.
io l'assembler l'ho imparato a partire da un mese e mezzo fa, normalmente (anche per lavoro) programmo in C sotto linux o windows ma sono passato per il basic, il forth e RPG II....
Dammi retta se continui a trafficare con questi aggeggi (e hai tempo) e ti comincia a servire una precisione molto stretta sui tempi l'assembler è la cosa migliore. Oltre tutto un programma che scrissi in C per 16F876 mi ha riempito la rom, lo stesso programma in assembler sta a poco più di 1/4 di impegno....

riciao Augusto

EDIT: (mi ero dimenticato pure questo)
per i tempi variabili fai così: alla fine della init() controlla lo stato degli switch e poi carica una variabile in proporzione al valore ottenuto, fatto questo modifica la delay20sec() in modo che accetti in ingresso il numero di secondi che avrai ottenuto nella init() ed il gioco è fatto

Ultima Modifica di the rider : 18-12-2008 21.17.12.
the rider Non in Linea   Rispondi Citando
Rispondi Per le vostre immagini su questo forum potete usare PcTunerUp!
Iscriviti gratuitamente alla nostra newsletter.


Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 visitatori)
 
Strumenti Discussione
Modalità Visualizzazione

Regole di scrittura
non Puoi inserire messaggi
non Puoi rispondere ai messaggi
non Puoi inviare allegati
non Puoi modificare i tuoi messaggi

codice vB è Attivo
Smilies è Attivo
[IMG] il codice è Attivo
Il codice HTML è Disattivato
Trackbacks are Disattivato
Pingbacks are Disattivato
Refbacks are Disattivato
Vai al Forum


Tutti gli Orari sono GMT +2. Attualmente sono le 19.20.02.


Powered by vBulletin Versione 3.6.12
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright © 2010 - Master New Media S.r.l. a socio unico - P.I. 02947530784. Tutti i diritti di proprietà letteraria e artistica sono riservati- Privacy
www.pctuner.net è testata telematica registrata presso il Tribunale di Torino, n. 39 del 07.05.2008, Editore Master New Media S.r.l.