Microcontrollori PIC, microcontrollori Atmel, microcontrollori ARM, Freescale, Texas Instruments, STM, Renesas, NXP etc. A 8bit, a 16bit ed a 32bit! In questa categoria troverete progetti sui microcontrollori, firmware per programmare microcontrollori e tutorial. Ci sono anche articoli su Arduino e DSC, i microcontrollori con a bordo funzioni DSP e molto altro!
ACCESSO ALLA EEPROM NEI MICRO AVR Scrittura ad un indirizzo specifico Il listato 1 presenta una routine per la scrittura in EEPROM ad uno specifico indirizzo. La routine EEWrite assume che in EEdwr vi sia il dato da scrivere, in EEawr e EEawrh rispettivamente la parte bassa e la parte alta dell’indirizzo a cui scrivere. In figura 1 il diagramma di flusso della routine. La routine occupa 9 words (oltre il return) e viene eseguita in 11 cicli (oltre il return) se la EEPROM è pronta. .include “8515def.inc” .def EEdwr =r16 ;data byte to write to EEPROM .def EEawr …
Il controllo di ridondanza ciclica (altrettanto noto come CRC) è ampiamente utilizzato per la verifica dell’integrità dei dati nei sistemi di comunicazione: ecco come implementarlo su un PIC18F452. Controllo CRC32 con PIC Il listato 1 riporta l’implementazione dell’algoritmo CRC32 basato sul polinomio 04C11DB7 per microcontrollore PIC18F452. Questo tipo di controllo CRC è lo stesso utilizzato nei pacchetti Ethernet e dall’algoritmo di compressione ZIP. Il dato ed il valore corrente del CRC dovranno trovarsi rispettivamente in W e crc[0..3]. La routine restituisce il nuovo valore del CRC utilizzando 94 istruzioni eseguite in 35/85 cicli. list p=p18f452 #include p18f452.inc cblock 0 crc32:4 …
Dal 7 al 14 maggio si svolgerà a Milano un importante evento dal titolo "Disruptive Week Milan", una settimana di eventi nazionali ed internazionali coordinati dedicati alle tecnologie emergenti per evidenziare il modo in cui stanno modificando il nostro business e la vita quotidiana. All'interno di questo grande evento verrà ospitato anche l'EW&D Fortronic, appuntamento dedicato alle tecnologie Embedded, Wireless e Display che si concluderà con un aperitivo tecnologico sul tema “Come rendere Arduino Professionale”, organizzato dallo staff di Elettronica Open Source. L'EW&D Fortronic, è un forum di aggiornamento tecnologico sulle soluzioni Embedded, Wireless e Display per il mondo …
Un orologio/datario con visualizzazione su display LCD realizzato con un AT89C4051. In figura 1 è riportato lo schema elettrico. Lo switch SW3 permette di selezionare il parametro da modificare mentre con SW1 ed SW2 rispettivamente si decrementa o si incrementa il parametro selezionato. Il listato 4 riporta alcune delle funzioni per l’implementazione dell’orologio. /*---------------------------------------------------- ****** port and bit assignment for LCD ******* ----------------------------------------------------*/ typedef unsigned char bit_8; sbit rs=P3^5; // register select is port 3.5 sbit rw=P3^4; // read/write is port 3.4 sbit en=P3^3; // enable is port 3.3 sbit d7=P1^7; // busy flag is port 1.7 sbit sel_param=P3^2; // …
Il pulsiossimetro (o pulsossimetro o ossimetro) è un’apparecchiatura non invasiva che permette di stimare la quantità di emoglobina legata al sangue di un paziente. Il principio di funzionamento si basa sulla tecnologia sviluppata da una società giapponese che consiste in un fascio di luce nel rosso/infrarosso che penetra nella cute e a seconda dell’assorbimento si riesce a stimare la quantità di emoglobina. In generale, lo strumento permette di visualizzare la saturazione, la frequenza cardiaca e l'intensità della pulsazione, modelli più sofisticati permettono anche di visualizzare l’andamento della pulsazione (curva pletismografica) e registrare gli eventi su schede SD o memorie …
È online EOS Top12 di marzo, la nostra raccolta dedicata all'Elettronica e alla Tecnologia! Nel numero di questo mese troverete articoli di qualità sul mondo dei microcontrollori e molti progetti interessanti: Raspberry Pi 3, l'ultimissimo modello con WiFi e Bluetooth integrati; RENKFORCE Jak streaming Wi-Fi; OLO, il primo smartphone per stampare oggetti in 3D; progettazione di filtri digitali con i dsPIC Microchip; CuBox, il mini-computer con sistema operativo Linux e Android; Internet-of-Things Power Meter; ArduSiPM Shield KIT, un rivelatore di raggi cosmici e radiazioni nucleari; un innovativo e-reader da 13.3 pollici; Armadillo-43T & PICadillo-35T; AVR STUDIO 4; F2MC, la …
Una panoramica generale sulla famiglia F2MC, i microcontrollori ad 8 bit di Fujitsu: i campi di applicazione, le modalità di indirizzamento, le istruzioni assembler speciali, i tools di sviluppo. Modelli e campi di applicazione. La gamma dei microcontrollori della Fujitsu spazia su più di 500 dispositivi, con differenti architetture e prestazioni. Si va dalla famiglia base ad 8 bit (F2MC-8L e F2MC-8FX), fino alla serie più evoluta a 32 bit (FRlite) caratterizzata da una tecnologia a 90nmn, passando per la famiglia intermedia a 16 bit (F2MC -16L). Le MCU della Fujitsu sono largamente utilizzate in applicazioni industriali, home ed automotive. In quest’ultimo campo …
Lettura di sensori analogici con il microcontrollore Un sensore analogico può essere letto direttamente dall’ingresso del convertitore AD, tuttavia esistono particolari condizioni in cui è necessario considerare eventuali effetti della temperatura, della non linearità del sensore, delle oscillazioni della tensione di alimentazione, nonché delle eventuali tolleranze sui valori dei componenti impiegati. Di seguito sono illustrate tre tecniche diverse per la lettura di un sensore, facilmente utilizzabili su qualsiasi microcontrollore anche non dotato di ingressi analogici. Nell’ipotesi che il sensore sia di tipo resistivo è possibile adottare il metodo noto come RC-Timing in cui viene caricata una capacità nota attraverso …
Una delle applicazioni elettroniche più importanti, utilizzate e complesse è quella dei filtri. Ecco come realizzare il filtraggio di segnali alle frequenze più varie utilizzando un dsPIC Microchip, al posto dei consueti componenti passivi o degli operazionali esterni. TEORIA DEI FILTRI PASSIVI I Filtri Passa Basso Un filtro passa basso è costituito da un circuito elettronico che permette solo il passaggio di frequenze al di sotto di una data frequenza detta "di taglio". Può essere di tipo attivo o passivo a seconda del fatto che il massimo guadagno possa essere maggiore di uno nel primo caso, o inferiore a uno nel …
Come ottimizzare il codice assembler per i PICmicro È noto che nel linguaggio assembler per PIC vi sono alcune istruzioni che prevedono un bit di destinazione: a seconda del valore di tale bit il risultato dell’operazione verrà posto nel registro accumulatore W o nel registro sorgente coinvolto nell’operazione. Si supponga ad esempio di voler sommare il contenuto di due registri A e B quindi posizionare il risultato nel registro A. Un primo modo di effettuare questa operazione è quello riportato nel listato 1, ovvero spostare in W il contenuto del registro A, effettuare la somma con il registro B …
È online EOS Top12 di febbraio, la nostra raccolta dedicata all'Elettronica e alla Tecnologia! Nel numero di questo mese troverete articoli di qualità sul mondo dei microcontrollori e molti progetti interessanti: Controllino, un PLC Open Source; DM Board ICS, la piattaforma di sviluppo per applicazioni di controllo; PIC10F; realizzazione di un keyboard driver; Aido, l'assistente domestico che aspettavi; modalità di indirizzamento nei dsPIC30F; interfaccia JTAG su megaAVR; Patchblocks, un sintetizzatore programmabile; MCS1000, un microcontrollore per applicazioni di sicurezza; sistema di sviluppo CodeWarrior™ v.6 per architetture ColdFire®; la scheda Open Source C-Control Duino; generazione di toni DTMF con AVR. Se …
Esempio di circuito per la rilevazione del passaggio della tensione per lo zero con il microcontrollore MC9SO8QG8 della Freescale. Layout Lo schema di figura 1 mostra una applicazione del MC9S08QG8 come rilevatore di passaggio per lo zero con conseguente eccitazione di un triac. La tensione alternata viene applicata ad un ingresso dotato di interrupt e, grazie al potenziometro connesso ad un secondo ingresso analogico, è possibile rilevare anche il passaggio della tensione di ingresso non solo per lo zero, ma anche per un qualsiasi altro valore compreso tra zero e la tensione di alimentazione. Una applicazione tipica di questo circuito …
Lo sviluppo di applicazioni basate su trasmissione di dati attraverso reti LAN o WAN ha portato alla necessità di una sempre maggiore protezione delle informazioni trasferite. Il processore Moschip MCS1000, si presenta con un valido supporto per progetti in cui la sicurezza è uno degli aspetti fondamentali. Introduzione Il security processor MCS1000 di Moschip si propone come la soluzione ideale per lo sviluppo di progetti basati su comunicazione Ethernet, in cui la sicurezza dei dati trasmessi è il punto centrale dell’intero progetto. Si tratta di un system-on-chip (SOC) dalle elevate prestazioni, che permette di implementare una VPN (Virtual Private Network) basata sul …
Pilotaggio del display di un Nokia 3310 con microcontrollore PIC Il display del telefono cellulare Nokia3310 è un LPH7779 da 84x48 pixel. In figura 4 lo schema della connessione del display ad un microcontrollore PIC16F877. Lo schema prevede l’uso di una EEPROM per la memorizzazione dei caratteri. Nel listato 3 una serie di routine scritte in PICC (Hitech) per la gestione del display. Le routine prevedono la dichiarazione delle opportune variabili, in partico- lare la variabile “bytefornokia” che costituisce il dato da inviare al display. void nokia_write_command(void) //”bytefornokia” viene inviato come comando { nok_dc=0; nok_cs=0; nokia_write_dorc(); nok_cs=1; } void nokia_write_data(void) //”bytefornokia” …
Tutti i meccanismi per l’indirizzamento della memoria nel dsPIC: la tecnica PSV (Program Space Visibility), la tecnica con istruzioni Table, l’indirizzamento Modulo Addressing e la tecnica Bit-Reversed. Introduzione Per illustrare le varie modalità di indirizzamento per un dsPIC30F è necessario innanzitutto chiarire quale è la struttura della memoria dei dispositivi di questa famiglia. La figura 1 mostra la mappa di memoria del dsPIC30F6014. Lo spazio fisico termina all’indirizzo 0x27FF e la memoria può essere pensata composta da celle a 16bit in cui ciascun byte ha un proprio indirizzo (indirizzo pari per il byte meno significativo e dispari per quello più significativo). …
Riconoscimento automatico del baud-rate su microcontrollori 8051 Nel listato 2 è riportata una tecnica per il riconoscimento automatico del baud rate nelle comunicazioni seriali. La soluzione riportata è scritta per un microcontrollore 8051, ma è facilmente modificabile per altri tipi di micro. Il baud rate viene calcolato assumendo che la comunicazione seriale sia di tipo 8-N-1. autobaud: mov tmod, #0x11 ;abilitazione timer #1 mov tcon, #0x00 clr a mov th1, a mov tl1, a autob2: jb p3.0, * ;attesa start bit jb p3.0, autob2 jb p3.0, autob2 ;Prolungamento dell’attesa jb p3.0, autob2 ;per evitare inneschi da rumore jb p3.0, autob2 jnb …
Primo microcontrollore al mondo ad essere presentato nel case SOT-23, il PIC10F20x offre una soluzione miniaturizzata, ma robusta ed efficace per il controllo in soli 6 pin. Com’è chiaro agli utenti più attenti alle evoluzioni del mercato, Microchip ha negli ultimi anni spostato la strategia dei propri investimenti verso l’alta gamma (si pensi alle nuovissime famiglie a 16 bit PIC24, dsPIC30, dsPIC33 e ai moltissimi componenti usciti nella famiglia ad 8 bit PIC18). Pur avendo effettuato una scelta strategica di questo tipo però, la casa di Chandler cerca naturalmente di mantenere il proprio primato nella vendita di microcontrollori ad 8 …
Generatore di numeri pseudo-random su microcontrollori 8051 La generazione di numeri casuali può spesso causare inutili perdite di tempo. Nel listato 1 sono riportate due soluzioni per la generazione di numeri a 8 e 16 bit su microcontrollori 8051. .equ rand8reg, 0x20 ;one byte .equ rand16reg, 0x21 ;two bytes ;Generazione di un numero ad 8 bit. ;Il risultato viene posto nell’accumulatore. rand8: mov a, rand8reg jnz rand8b cpl a mov rand8reg, a rand8b:anl a, #10111000b mov c, p mov a, rand8reg rlc a mov rand8reg, a ret ;generazione del numero a 16 bit. ;Il byte meno significativo viene posto nell’accumulatore …
Siamo alla fine di questo piccolo viaggio alla scoperta della STM32 Discovery. Nei primi tre articoli (1°, 2° e 3°) abbiamo tentato di abbracciare quanti più argomenti possibili, cercando di ingolosire gli sviluppatori. In questo appuntamento impareremo ad usare le modalità di debug messe a disposizione da CoIDE ed da STMSTudio, un tool di debug più performante. Infine come sempre chiuderemo con un piccolo esempio pratico realizzando un piccolo progetto di domotica. Soddisfatti dal successo ottenuto nei primi tre articoli, segno di una community viva ed attenta, speriamo che questo non sia un arrivederci ma l’inizio di un proficuo …
È online EOS Top12 di gennaio, la prima raccolta del 2016 dedicata all'Elettronica e alla Tecnologia! Nel numero di questo mese troverete articoli di qualità sul mondo dei microcontrollori e molti progetti interessanti: orologio “parlante” open source; 7 soluzioni per misurare la qualità dell’aria con Arduino e Raspberry Pi; una preziosa rassegna dei sistemi di sviluppo per microcontrollori; un modulo sensore radar di movimento dalle dimensioni decisamente ridotte; Raspberry Pi Wind measurement; il debugging con MPLAB; una sveglia imbattibile per il tuo risveglio; routine matematiche nei microcontrollori PIC Microchip; Air mouse; PID; Pancake CNC Machine; FreeRTOS. Se vi siete …