<?xml version="1.0"?>
<rss version="2.0">
   <channel>
      <title>Programmazione dei PIC
 by Andrea D&#39;Amico</title>
      <link>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f</link>
      <description></description>
      <language>en-us</language>
      <pubDate>2024-03-11 19:38:26 UTC</pubDate>
      <lastBuildDate>2024-04-22 14:41:01 UTC</lastBuildDate>
      <webMaster>hello@padlet.com</webMaster>
      <image>
         <url></url>
      </image>
      <item>
         <title>Il linguaggio C è ancora uno standard nell&#39;informatica, usato per la sua efficienza e controllo totale del computer. È fondamentale per imparare linguaggi specialistici. Anche se impegnativo, offre vantaggi come compattezza e velocità del codice. Permette di programmare sia ad alto che basso livello e di sfruttare appieno le capacità dei microcontrollori. Tuttavia, i programmi devono essere compilati prima di essere eseguiti.</title>
         <author>damicoandrea13090666</author>
         <link>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2914455484</link>
         <description><![CDATA[]]></description>
         <enclosure url="" />
         <pubDate>2024-03-11 19:43:04 UTC</pubDate>
         <guid>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2914455484</guid>
      </item>
      <item>
         <title>
L&#39;assembly è utile per comprendere le relazioni tra software e hardware nei microcontrollori, ottimizzando lo spazio del codice per programmi semplici. Tuttavia, diventa complesso e produce programmi molto grandi per progetti più complessi. È consigliabile passare a linguaggi di alto livello come mikroC, mikrobasic o mikropascal.</title>
         <author>damicoandrea13090666</author>
         <link>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2914456313</link>
         <description><![CDATA[]]></description>
         <enclosure url="" />
         <pubDate>2024-03-11 19:44:01 UTC</pubDate>
         <guid>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2914456313</guid>
      </item>
      <item>
         <title>I linguaggi di alto livello semplificano la programmazione, consentendo l&#39;uso di costrutti logici standard e strutture dati come vettori. Grazie a librerie dedicate, offrono accesso diretto alle funzionalità del microcontrollore, indipendentemente dal tipo. Le case produttrici forniscono compilatori integrati per convertire il codice sorgente in codice macchina.





</title>
         <author>damicoandrea13090666</author>
         <link>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2914456442</link>
         <description><![CDATA[]]></description>
         <enclosure url="" />
         <pubDate>2024-03-11 19:44:09 UTC</pubDate>
         <guid>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2914456442</guid>
      </item>
      <item>
         <title>Attenzioni di programmazione</title>
         <author>damicoandrea13090666</author>
         <link>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2914457791</link>
         <description><![CDATA[]]></description>
         <enclosure url="" />
         <pubDate>2024-03-11 19:45:36 UTC</pubDate>
         <guid>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2914457791</guid>
      </item>
      <item>
         <title>1. E’ sempre buona norma salvare periodicamente i programmi e soprattutto conservare una copia del programma quando si effettua qualche modifica per poter sempre tornare allaversione precedente</title>
         <author>damicoandrea13090666</author>
         <link>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2914458054</link>
         <description><![CDATA[]]></description>
         <enclosure url="" />
         <pubDate>2024-03-11 19:45:53 UTC</pubDate>
         <guid>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2914458054</guid>
      </item>
      <item>
         <title>2. Creare sempre una cartella in cui inserire il progetto e tutti i file collegati: non lasciare file sparpagliati e controllare con attenzione dove sono salvati.</title>
         <author>damicoandrea13090666</author>
         <link>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2914458481</link>
         <description><![CDATA[]]></description>
         <enclosure url="" />
         <pubDate>2024-03-11 19:46:22 UTC</pubDate>
         <guid>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2914458481</guid>
      </item>
      <item>
         <title>3. Tutte le istruzioni in mikroC, come in tutte le versioni di C o di C++ devono terminare</title>
         <author>damicoandrea13090666</author>
         <link>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2914458797</link>
         <description><![CDATA[<p>sempre con il punto e virgola ‘’ ; ‘’</p>]]></description>
         <enclosure url="" />
         <pubDate>2024-03-11 19:46:46 UTC</pubDate>
         <guid>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2914458797</guid>
      </item>
      <item>
         <title>4. I commenti in MikroC sono utilizzati per migliorare la leggibilità del codice. Possono essere su più righe, iniziando con /* e terminando con */, oppure su una sola riga, utilizzando //. I commenti non influenzano lo spazio o la velocità di esecuzione del programma. È importante terminare correttamente i commenti per evitare errori nel codice.</title>
         <author>damicoandrea13090666</author>
         <link>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2914459451</link>
         <description><![CDATA[]]></description>
         <enclosure url="" />
         <pubDate>2024-03-11 19:47:31 UTC</pubDate>
         <guid>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2914459451</guid>
      </item>
      <item>
         <title>Per convenzione, le istruzioni che fanno parte di una funzione sono indentate, cioè spostatea destra di un certo spazio (una tabulazione). Ciò migliora la leggibilità del programma.</title>
         <author>damicoandrea13090666</author>
         <link>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2914460068</link>
         <description><![CDATA[]]></description>
         <enclosure url="" />
         <pubDate>2024-03-11 19:48:14 UTC</pubDate>
         <guid>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2914460068</guid>
      </item>
      <item>
         <title>5. Codici ASCII per ottenere alcuni caratteri speciali (premere ALT + il codice sul tastierinonumerico; rilasciare il tasto ALT)Selezionare Tools-&gt;ASCII Chart per vedere i caratteri associati ai numeri del codice ASCII</title>
         <author>damicoandrea13090666</author>
         <link>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2914460306</link>
         <description><![CDATA[]]></description>
         <enclosure url="" />
         <pubDate>2024-03-11 19:48:33 UTC</pubDate>
         <guid>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2914460306</guid>
      </item>
      <item>
         <title>7. Tipi numerici in MikroC</title>
         <author>damicoandrea13090666</author>
         <link>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2914460614</link>
         <description><![CDATA[]]></description>
         <enclosure url="" />
         <pubDate>2024-03-11 19:48:53 UTC</pubDate>
         <guid>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2914460614</guid>
      </item>
      <item>
         <title>Esadecimale il numero è preceduto da 0x oppure 0X: o Esempio 0x3f oppure anche 0X3f</title>
         <author>damicoandrea13090666</author>
         <link>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2914460803</link>
         <description><![CDATA[]]></description>
         <enclosure url="" />
         <pubDate>2024-03-11 19:49:07 UTC</pubDate>
         <guid>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2914460803</guid>
      </item>
      <item>
         <title>Decimale il numero non è preceduto da alcuna annotazione: o Esempio 50</title>
         <author>damicoandrea13090666</author>
         <link>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2914461259</link>
         <description><![CDATA[]]></description>
         <enclosure url="" />
         <pubDate>2024-03-11 19:49:30 UTC</pubDate>
         <guid>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2914461259</guid>
      </item>
      <item>
         <title>Ottale si mette uno zero prima del numero: o Esempio 050</title>
         <author>damicoandrea13090666</author>
         <link>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2914461430</link>
         <description><![CDATA[]]></description>
         <enclosure url="" />
         <pubDate>2024-03-11 19:49:42 UTC</pubDate>
         <guid>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2914461430</guid>
      </item>
      <item>
         <title>Binario si mette 0b oppure 0B prima del numero: o Esempio 0b00110011 anche 0B00110011</title>
         <author>damicoandrea13090666</author>
         <link>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2914461799</link>
         <description><![CDATA[]]></description>
         <enclosure url="" />
         <pubDate>2024-03-11 19:50:09 UTC</pubDate>
         <guid>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2914461799</guid>
      </item>
      <item>
         <title>La funzione main() è il punto di inizio del programma e viene eseguita per prima. Ogni funzione, inclusa main(), è racchiusa tra parentesi graffe e contiene le istruzioni per svolgere il lavoro della funzione. </title>
         <author>damicoandrea13090666</author>
         <link>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2964818333</link>
         <description><![CDATA[]]></description>
         <enclosure url="" />
         <pubDate>2024-04-22 14:31:14 UTC</pubDate>
         <guid>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2964818333</guid>
      </item>
      <item>
         <title>Le librerie non devono essere definite nel codice, mikroC le include automaticamente. Si consiglia di includere tutte le librerie all&#39;inizio del progetto per facilitare lo sviluppo iniziale, ma successivamente è preferibile non includerne alcuna per rendere il progetto più leggero e la compilazione più veloce. È possibile aggiungere librerie manualmente tramite il Library Manager. L&#39;accesso ai singoli bit di un registro è utile per settare/reset o leggere lo stato di un pin.</title>
         <author>damicoandrea13090666</author>
         <link>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2964818634</link>
         <description><![CDATA[]]></description>
         <enclosure url="" />
         <pubDate>2024-04-22 14:31:27 UTC</pubDate>
         <guid>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2964818634</guid>
      </item>
      <item>
         <title>1. Formato binario per accedere ai singoli bit; si modificano tutti i bit contemporaneamente: PORTB=0b00000001; //setta bit 0 di PORTB e resetta contemporaneamente // tutti gli altri bit all’interno del registro PORTB </title>
         <author>damicoandrea13090666</author>
         <link>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2964820491</link>
         <description><![CDATA[]]></description>
         <enclosure url="" />
         <pubDate>2024-04-22 14:32:33 UTC</pubDate>
         <guid>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2964820491</guid>
      </item>
      <item>
         <title>2. Accesso diretto al bit di una porta: PORTB.B0=1; per settare il bit 0 di PORTB

PORTB.B0=0; per resettare il bit 0 di PORTB.

In versioni precedenti si usava la ‘’F’’ al posto della B. Si possono usare entrambi i metodi. Per leggere lo stato di un bit si può scrivere ad esempio ingresso= PORTB.B0</title>
         <author>damicoandrea13090666</author>
         <link>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2964821423</link>
         <description><![CDATA[]]></description>
         <enclosure url="" />
         <pubDate>2024-04-22 14:32:57 UTC</pubDate>
         <guid>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2964821423</guid>
      </item>
      <item>
         <title>3. Nome del bit: RB0_bit=1; o RB0_bit=0;

Per leggere lo stato di un bit si può scrivere ad esempio ingresso= RB0_bit

Esempio1: lampeggio di un led posto su RB0

Al posto del classico “Hello world!” realizziamo un programma che faccia lampeggiare un LED utilizzando un PIC 16F84A.</title>
         <author>damicoandrea13090666</author>
         <link>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2964822426</link>
         <description><![CDATA[]]></description>
         <enclosure url="" />
         <pubDate>2024-04-22 14:33:18 UTC</pubDate>
         <guid>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2964822426</guid>
      </item>
      <item>
         <title>Ad ogni bit nel registro di una PORT corrisponde uno specifico bit nel registro direzione TRIS. ∙ Zero imposta il bit corrispondente sulla porta come uscita; ∙ Uno imposta il bit corrispondente sulla porta come ingresso.</title>
         <author>damicoandrea13090666</author>
         <link>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2964824194</link>
         <description><![CDATA[]]></description>
         <enclosure url="" />
         <pubDate>2024-04-22 14:34:14 UTC</pubDate>
         <guid>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2964824194</guid>
      </item>
      <item>
         <title>
La struttura while crea un ciclo infinito che contiene istruzioni da eseguire continuamente. All&#39;interno del ciclo while, il livello di RB0 viene portato alto e successivamente viene chiamata una routine che genera un ritardo di 500 millisecondi (mezzo secondo).</title>
         <author>damicoandrea13090666</author>
         <link>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2964825848</link>
         <description><![CDATA[]]></description>
         <enclosure url="" />
         <pubDate>2024-04-22 14:35:16 UTC</pubDate>
         <guid>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2964825848</guid>
      </item>
      <item>
         <title>Operatori aritmetici a due operandi </title>
         <author>damicoandrea13090666</author>
         <link>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2964827307</link>
         <description><![CDATA[<p>* moltiplicazione </p><p>/ divisione </p><p>% resto divisione intera Es. 9 % 3; //risultato è 0 Es. 7 % 3; //risultato è 1 + somma </p><p>- differenza </p><p>= assegnazione </p><p>++ incremento; aggiunge uno all’operando.  </p><p>Es. a++; equivale ad a=a+1; </p><p>- - decremento; sottrae uno all’operando.  </p><p>Es. a- -; equivale ad a=a-1;</p>]]></description>
         <enclosure url="" />
         <pubDate>2024-04-22 14:36:17 UTC</pubDate>
         <guid>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2964827307</guid>
      </item>
      <item>
         <title></title>
         <author>damicoandrea13090666</author>
         <link>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2964827935</link>
         <description><![CDATA[<p>x+=2; equivale a x=x+2; </p><p>x-=3; equivale a x=x-3;</p><p>x*=2; equivale a x=x*2;</p><p>x/=3; equivale a x=x/3;</p><p>x%3; equivale a x=x%3;</p>]]></description>
         <enclosure url="" />
         <pubDate>2024-04-22 14:36:44 UTC</pubDate>
         <guid>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2964827935</guid>
      </item>
      <item>
         <title>Scorrimento a sinistra:</title>
         <author>damicoandrea13090666</author>
         <link>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2964829914</link>
         <description><![CDATA[<p>Scrivendo x &lt;&lt; y;</p><p>Il valore di x viene ottenuto facendo scorrere di y posizioni verso sinistra i bit di x; y deve essere un numero positivo. I bit che escono dall'estremo sinistro vengono persi e viene aggiunto uno zero sul lato destro per ogni bit che esce.</p><p>Esempio: PORTB = PORTB &lt;&lt; 1 // Scorrimento a sinistra di un bit</p><p>Prima: PORTB = 0b00000001</p><p>Dopo: PORTB = 0b00000010</p>]]></description>
         <enclosure url="" />
         <pubDate>2024-04-22 14:38:04 UTC</pubDate>
         <guid>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2964829914</guid>
      </item>
      <item>
         <title>Scorrimento a destra:</title>
         <author>damicoandrea13090666</author>
         <link>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2964830332</link>
         <description><![CDATA[<p>Scrivendo x &gt;&gt; y;</p><p>Il valore di x viene ottenuto facendo scorrere di y posizioni verso destra i bit di x; y deve essere un numero positivo. I bit che escono dall'estremo destro vengono persi. Se x è di tipo unsigned, viene aggiunto uno zero sul lato sinistro per ogni bit che esce; se x è di tipo signed, viene aggiunto un bit uguale al segno (0 per positivo, 1 per negativo).</p><p>Esempio: PORTB = PORTB &gt;&gt; 1 // Scorrimento a destra di un bit</p><p>Prima: PORTB = 0b10000000</p><p>Dopo: PORTB = 0b01000000</p>]]></description>
         <enclosure url="" />
         <pubDate>2024-04-22 14:38:24 UTC</pubDate>
         <guid>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2964830332</guid>
      </item>
      <item>
         <title>&amp;&amp;  </title>
         <author>damicoandrea13090666</author>
         <link>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2964832460</link>
         <description><![CDATA[<p>AND logico</p><p>(espressione_logica1)&amp;&amp; (espressione_logica2)</p><p>restituisce vero se entrambi gli operandi sono veri,  restituisce falso in caso contrario</p>]]></description>
         <enclosure url="" />
         <pubDate>2024-04-22 14:40:00 UTC</pubDate>
         <guid>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2964832460</guid>
      </item>
      <item>
         <title>||  </title>
         <author>damicoandrea13090666</author>
         <link>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2964832686</link>
         <description><![CDATA[<p>OR logico</p><p>(espressione_logica1) || </p><p>(espressione_logica2)</p><p>restituisce vero se almeno una delle espressioni è  vera; </p><p>restituisce falso in caso contrario</p>]]></description>
         <enclosure url="" />
         <pubDate>2024-04-22 14:40:08 UTC</pubDate>
         <guid>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2964832686</guid>
      </item>
      <item>
         <title>!  </title>
         <author>damicoandrea13090666</author>
         <link>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2964832870</link>
         <description><![CDATA[<p>NOT logico</p><p>! espressione_logica </p><p>restituisce vero se espressione_logica è 0 (falso) restituisce falso se espressione_logica è 1 (vero)</p>]]></description>
         <enclosure url="" />
         <pubDate>2024-04-22 14:40:18 UTC</pubDate>
         <guid>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2964832870</guid>
      </item>
      <item>
         <title>operatori logici</title>
         <author>damicoandrea13090666</author>
         <link>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2964833159</link>
         <description><![CDATA[]]></description>
         <enclosure url="" />
         <pubDate>2024-04-22 14:40:30 UTC</pubDate>
         <guid>https://padlet.com/damicoandrea13090666/2ukxxc4h84yp2q0f/wish/2964833159</guid>
      </item>
   </channel>
</rss>
