| | #9 (permalink) Top | |
| User Data registr.: 21-01-2004 Residenza: Milano
Messaggi: 989
| Citazione:
Per i ritardi non si usa quasi mai (a meno di ritardi veramente molto piccoli) mettere in loop il processore e fargli 'perdere tempo', ma si usano i timer, che danno anche tanti altri vantaggi. Se non ti serve (come primo esercizio) precisione setti il prescaler del Timer0 a 4 e avrai un overflow del timer ogni 1,024 millisecondi. Aspetti che il bit T0IF vada a 1, lo azzeri e quando torna a 1 sai che è passato 1,024 ms e il tuo ciclo diventa più o meno così: Loop: - testa T0IF fino a quando lo trova 1 - azzera T0IF - decrementa il contatore di ritardo e controlla se è 0 se 0: ripristina il valore del contatore accende ( o spegne) il led salta a Loop se >0: salta a loop questo ti da ritardi di 256 ms al massimo, sufficienti per vedere il lampeggio del led. Per aumentare il ritardo puoi usare due contatori per il ritardo. Per accendere o spegnere il led puoi semplicemente fare questo: movlw 1 (nel tuo caso 1 perchè LED è sul bit 0) xorwf PORTB,f Buon divertimento! Michele
__________________ __________________________________________________ The worst day flying is better than the best day working. | |
| | |
| Bookmarks |
| |
Discussioni simili | ||||
| Discussione | Autore discussione | Forum | Commenti | Ultimo Commento |
| programmare cc45A PER 3D?? | fedor60 | Elimodellismo Acrobazia | 6 | 18 aprile 08 22:17 |
| Programmare regolatore | KAOS® | Elimodellismo Motore Elettrico | 5 | 29 febbraio 08 23:10 |
| programmare il regolatore | andrea72 | Elimodellismo Motore Elettrico | 1 | 26 luglio 07 14:24 |
| Mi aiutate a programmare ? | sbronzolo | Radiocomandi | 4 | 26 novembre 06 15:25 |