![](https://www.baronerosso.it/img/t.gif)
![]() | #1 (permalink) Top |
User Data registr.: 03-11-2008 Residenza: Sestri Levante-Genova
Messaggi: 74
| Programmare pic12c508
Ciao. Da tempo mi frulla per la testa l'idea di programmare i Pic... Volevo fare un lampeggiatore a led. L'assembler lo so usare decentemente e poi ci sono i datasheet ma ho ancora dei dubbi... La resistenza di Pull-Up del pin mclr da quanti ohm deve essere?che resistenza deve essere? Per l'oscillatore:lo hanno interno da 4mhz i 12c508 o no...sul datasheet non ho capito come usarlo... sto lavorando a uno schemino...e alla relativa programmazione. Grazie anticipatamente
__________________ Federico Violato |
![]() | ![]() |
![]() | #2 (permalink) Top | |
User Data registr.: 09-09-2005 Residenza: Scandicci (FI)
Messaggi: 4.216
![]() | Citazione:
visto che inizi a programmare i Pic, ti consiglio di cominciare quelli con la serie F tipo 12F o 16F in quanto all'interno usano la Flash e sono riprogrammabili più volte. Saluti | |
![]() | ![]() |
![]() | #3 (permalink) Top | |
User Data registr.: 03-11-2008 Residenza: Sestri Levante-Genova
Messaggi: 74
| Grazie Citazione:
Ma fino a quante volte posso riprogrammarli???
__________________ Federico Violato | |
![]() | ![]() |
![]() | #4 (permalink) Top | |
User Data registr.: 09-09-2005 Residenza: Scandicci (FI)
Messaggi: 4.216
![]() | Citazione:
di preciso non mi ricordo, ma intorno alle migliaia. Se vuoi usare un'alternativa alle pic 12c508, ci sono le 12f675 sempre 8 pin ma riprogrammabili. Saluti | |
![]() | ![]() |
![]() | #5 (permalink) Top |
User Data registr.: 09-09-2005 Residenza: Scandicci (FI)
Messaggi: 4.216
![]() |
Ciao, sotto il codice in assembler per accendere un led, ma non mi chiedere spiegazioni, perchè programmo solo in Picbasic pro. ![]() ;************************************************* *********************** ; * ; Filename: BA_L1-Turn_on_LED.asm * ; Date: 7/9/07 * ; File Version: 1.0 * ; * ; Author: David Meiklejohn * ; Company: Gooligum Electronics * ; * ;************************************************* *********************** ; * ; Architecture: Baseline PIC * ; Processor: 12C508/509 * ; * ;************************************************* *********************** ; * ; Files required: none * ; * ;************************************************* *********************** ; * ; Description: Lesson 1, exercise 1 * ; * ; Turns on LED. LED remains on until power is removed. * ; * ;************************************************* *********************** ; * ; Pin assignments: * ; GP1 - indicator LED * ; * ;************************************************* *********************** list p=12C509 #include <p12C509.inc> ; ext reset, no code protect, no watchdog, 4Mhz int clock __CONFIG _MCLRE_ON & _CP_OFF & _WDT_OFF & _IntRC_OSC ;************************************************* ********************* RESET CODE 0x3FF ; processor reset vector res 1 ; holds movlw with factory RC cal value MAIN CODE 0x000 ; effective reset vector movwf OSCCAL ; update OSCCAL with factory cal value ;***** Initialisation start movlw b'111101' ; configure GP1 (only) as an output tris GPIO movlw b'000010' ; set GP1 high movwf GPIO goto $ ; loop forever END Saluti |
![]() | ![]() |
![]() | #7 (permalink) Top |
User Data registr.: 03-11-2008 Residenza: Sestri Levante-Genova
Messaggi: 74
|
Ecco le mie prime righe:se il led è acceso lo spegne e viceversa..poi ci vorrà un delay..anche se +o- non so a che velocità lampeggia senza delay ******************************** PROCESSOR 16F84A RADIX DEC INCLUDE "P16F84A.INC" __CONFIG 0x3FF1 LED EQU 0 ORG 0x0C Count RES 2 "bit riservati per il delay che sto progettando" ORG 0x00 bsf STATUS,RP0 movlw B'00011111' movwf TRISA movlw B'11111110' movwf TRISB bcf STATUS,RP0 bsf PORTB,LED MainLoop btfsc PORTB,LED goto SetToZero bsf PORTB,LED goto MainLoop SetToZero bcf PORTB,LED goto MainLoop (spazio per il delay) END ************************** Dite che funzionerà?cmq i 2 bit riservati a count sono per il delay su cui sto lavorando..ovvero far compiere operazioni inutili al pic del tipo ************* Delay clrf Count clrf Count+1 DelayLoop decfsz Count,1 goto DelayLoop decfsz Count+1,1 goto DelayLoop return ************** Dite che funziona così........o come al solito non ho capito niente???
__________________ Federico Violato |
![]() | ![]() |
![]() | #8 (permalink) Top |
User Data registr.: 03-11-2008 Residenza: Sestri Levante-Genova
Messaggi: 74
| Help
Ciao a tt Come si calcola il valore delle resistenza..ovvero se ho un led da 3 v e lo voglio usare con la 12 volt come faccio a sapere il valore della resistenza da usare?
__________________ Federico Violato |
![]() | ![]() |
![]() | #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. | |
![]() | ![]() |
![]() | #10 (permalink) Top | |
User Data registr.: 03-11-2008 Residenza: Sestri Levante-Genova
Messaggi: 74
| Citazione:
__________________ Federico Violato | |
![]() | ![]() |
![]() |
Bookmarks |
| |
![]() | ||||
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 |