Last update: 21/06/2023

Ficara Emilio Pietro Giovanni

Microchip PIC
Bing translate into ENG

Other pages in this section:

Atmel AVR
Mixed
Motorola HC05
ST ST6
Zilog Z8

Home


Attenzione:
Tutto ciò che trovate nel sito è stato realizzato da me ed è disponibile gratuitamente per fini non commerciali. Non mi assumo alcuna responsabilità per le eventuali inesattezze contenute nei programmi e/o negli schemi elettrici e per OGNI POSSIBILE DANNO derivante dall'uso del materiale messo a disposizione. Effettuando un download, IMPLICITAMENTE ACCETTATE di utilizzare quanto prelevato sotto la VOSTRA ESCLUSIVA responsabilità.
Warning:
Everything found at the site was made by me and is available free for non-commercial purposes.I do not take any responsibility for any inaccuracies contained in the programs and / or wiring diagrams and EVERY POSSIBLE DAMAGE arising out of the material made available. By doing a download, you IMPLICITLY AGREE to use as taken under YOUR EXCLUSIVE responsibility.


circuitpower supply :: MIDI expander with old ISA-BUS soundcard

-- Expander MIDI con una vecchia scheda audio per bus ISA

( nuova versione pagina a questo -> LINK <- )

Ef139.zip (34.6 KB)
  • Expander MIDI con una vecchia scheda audio per bus ISA.
    Basato su micro PIC18F4320, questo circuito permette di realizzare un piccolo expander MIDI con una vecchia scheda audio per bus ISA. Testato su 2 diverse schede, dovrebbe funzionare per qualunque scheda compatibile ADLIB (l'indirizzo di I/O DEVE essere 0x388). Il software (in questa prima release) risponde a comandi MIDI sul canale 1. I suoni sono generati per mezzo del sintetizzatore FM presente sul chip della scheda audio. L'alimentazione viene ricavata da due trasformatori a uscita variabile (vedi foto) di basso costo, regolati sui 9 Volt (in effetti l'uscita è prossima ai 12V). Nelle prossime versioni i preset degli strumenti saranno caricati nella earom del micro, invece che nella memoria programma, in modo da consentire esperimenti per la creazione di timbri personalizzati. I preset possono essere cambiati tramite MIDI dal numero 1 al 16.
    Il file ef139.zip contiene lo schema del circuito in formato PDF, il file oggetto .hex per programmare il micro e un programma di prova che permette di verificare su un PC se una scheda audio è compatibile con il circuito. Il programma funziona SOLO in modalità DOS reale, non in una finestra DOS di Windows.
  • MIDI expander with old ISA-BUS soundcard.
    Based on micro PIC18F4320, this circuit makes possible to realize a small MIDI expander using an old ISA-BUS soundcard. Tested on 2 different cards, it should work for any card ADLIB OPL3 compatible (the I/O address MUST be 0x388). The software (in this first release) responds to MIDI commands on Channel 1. The sounds are generated by the FM synthesizer built in the soundcard. The power is derived from two low-cost wall transformers (see picture) with variable output, set to 9V (the output is close to 12V). In future versions presets instruments will be loaded in the micro earom, rather than in the program memory, to allow experiments to create personalized sounds. The presets can be changed via MIDI ranging from 1 to 16.
    The file ef139.zip contains the circuit diagram in PDF format, the object file .HEX to program the micro and a test program to verify on the PC if a soundcard is compatible with my circuit. This program runs ONLY in true DOS mode, not in a Windows DOS session.

circuit :: Daily Timer with binary display

-- Timer giornaliero con display in binario

Ef142.zip (12.4 KB)
  • Timer giornaliero con display in binario. *** aggiornato il 22/03/2008 ***
    E' l'evoluzione dell'orologio binario e permette di programmare ora di accensione e ora di spegnimento per un relè. Per mantenere il consumo basso è stato utilizzato un relè bistabile, che necessita di un impulso solo al momento del cambio di stato. Tramite i due pulsanti si settano l'orario di accensione, quello di spegnimento e l'ora corrente. Per pilotare il relè bistabile a singola bobina, è stato usato un driver per RS485 che è in grado di fornire 60mA massimi in uscita. Dato che il relè ne assorbe 40, tutto funziona correttamente. Il difetto del driver è di avere un consumo non trascurabile (tutto il circuito assorbe 2.5 mA con i led spenti). Volendo si può sostituirlo con circuiteria equivalente a transistor, con consumo prossimo allo zero. I pulsanti, premuti per qualche istante, permettono la visualizzazione del Time ON, Time OFF e dell'orario (premendo uno, l'altro o entrambi). Se i pulsanti vengono premuti a lungo (oltre 5 secondi) si avvia la corrispondente procedura di time setting (time on, time off, orario). Per le modalità di regolazione vedere in basso la descrizione dell'orologio binario. *** Durante la visualizzazione dell'ora corrente, l'attivazione dell'uno o l'altro pulsante provoca l'accensione o lo spegnimento manuale del relè. ***
    Il file ef142.zip contiene lo schema del circuito in formato PDF e il file oggetto .hex per programmare il micro.
  • Daily Timer with the display in binary. *** updated 03/22/2008 ***
    Is the evolution of the binary clock and allows planning time ON and time OFF for a relay. To keep consumption low a bistable relay was used, 'cause it needs power only when the status changes. Through the two buttons you can set time ON, time OFF and the current time. To drive the single coil bistable relay I used an RS485 driver, because it can provide 60mA output. Since the relay absorbs 40mA, everything works correctly (a 485 driver is like an half bridge driver). Such driver has a non-negligible consumption (entire circuit absorbs 2.5 mA with Leds Off). If you want, you can replace it with equivalent transistor circuitry, with consumption close to zero. The buttons, pressed for a short time, shown on the leds the Time ON, Time OFF Time and Actual Time (press one, the other or both). If one or both buttons are pressed for a long time (more than 5 seconds) then the corresponding Time Setting procedure starts (time on, time off, actual time). For setup instructions, see below in the binary clock instructions. *** During the actual time display, the activation of one button or the other, manually sets the relè ON or OFF. ***
    The file ef142.zip contains the circuit diagram in PDF format and the object .HEX to program the micro.
schema elettrico

:: Scrolling text on Oscilloscope - ONLY ONE COMPONENT

-- Scritte a scorrimento su oscilloscopio - UN SOLO COMPONENTE

circuit


Ef140.zip (3.27 KB) --> VIEW C SOURCES
  • Scritte a scorrimento su oscilloscopio con un SOLO componente, il micro PIC16F628A. I caratteri da visualizzare vengono memorizzati in EEPROM (codici ASCII da 0x20 a 0x5F cioè numeri, lettere maiuscole e caratteri speciali). La prima locazione di EEprom con il valore 0xFF è considerata la fine del testo scorrevole. L'ultima locazione di EEPROM (indirizzo 0x7F) contiene la velocità di scorrimento (n * 20 mS). La configuration word per questa applicazione (locazione 0x2007) vale 0x3F34. Una volta programmato il micro tramite il connettore ICSP, cortocircuitare i pin VDD e VPP con un ponticello (reset collegato a Vdd). L'oscilloscopio andrà settato per asse X a 2 mS/div e asse Y 1V/div. I caratteri visualizzati in un'unica schermata sono 10.
    Il file ef140.zip contiene il file oggetto .hex per programmare il micro ed il file sorgente main.c.
  • Scrolling text on oscilloscope, built with only one component: the Microchip PIC16F628A. The characters to be displayed are stored in EEPROM (ascii codes from 0x20 to 0x5f so numbers, capital letters and special characters). The first Eeprom location with 0xFF value is considered as end of text. The last Eeprom location (addr 0x7F) contains the scrolling speed in 20mS steps. The configuration word for this application (address 0x2007) is 0x3F34. After programming the micro via the ICSP connector, place a jumper between the pins VDD and VPP (reset input tied to Vdd). The oscilloscope will be set for 2mS/div on X axis and 1V/div on Y axis. One full screen contains 10 characters.
    The file ef140.zip contains the object file (Hex) to program the micro and the main.c source file.

    *** added 4 Sept 2009 *** Note:
    When programming the micro, verify the configuration word (0x3F34) and remember that you MUST write some character to earom memory; try with this data starting from earom address 0x00: 0x49 0x54 0x20 0x57 0x4F 0x52 0x4B 0x53 0x20 0x41 0x54 0x20 0x45 0x4E 0x44 0xFF then write at address 0x7F: 0x0A (that's decimal 10 * 20 mS scrolling speed). If the scrolling speed is too fast, increment the number in location 0x7F.
    May be trigger level adjustment will be needed on the oscilloscope, in order to synchronize the scrolling text. The text field is preceded by a single sync pulse. Adjust the trigger level to make the text field stable. In many oscilloscopes, this will be done automatically, but some old one (like mine) will require a manual level adjust. Note that this circuit DOESN'T WORK with some digital oscilloscopes, due to the dot's visualization method.
schema elettrico
  • Added Mar 6 2010
    Note: I received many requests for 'C' or Assembler sources for this program;
    okay, I decided to make it available ! VIEW C SOURCES

  • circuit :: Clock with binary display

    -- Orologio con display in binario

    Binwatch.zip (8.42 KB)
    • Orologio con display binario, realizzato con Microchip PIC16F676 (oppure PIC16F630). Le ore vengono visualizzate con 4 led che valgono (da sinistra a destra) 8,4,2,1; vengono mostrate quindi le ore da 1 a 12 (niente am e pm). I minuti sono visualizzati con 5 led che valgono (da sinistra a destra) 40,20,10,5,0 . In pratica i minuti vengono mostrati di 5 in 5 e lo scoccare dell'ora (minuti 00) fa accendere il solo led 0, questo perché mi sembra brutto lasciare del tutto spenta la riga dei minuti. Per ottenere la visualizzazione dell'orario, si preme brevemente il pulsantino. Le cifre vengono mostrate per 3 secondi, quindi i led vengono spenti. Per regolare l'ora si tiene premuto a lungo il pulsante fino a quando si accende solo la riga superiore (ore) e i led cominciano un conteggio binario da 1 a 12. Quando si raggiunge l'ora desiderata, si lascia il pulsante. Trascorso un tempo di 5 secondi, il display mostra automaticamente i minuti e premendo nuovamente il pulsante, questi avanzano con il conteggio binario (si regola, quindi di 5 min in 5 min). Quando si raggiunge il minuto desiderato, lasciare il pulsante. Dopo un tempo di 5 secondi i led si accendono a mostrare ore e minuti (i secondi vengono azzerati automaticamente) e infine tutto si spegne. L'orario è stato regolato.
      Il file binwatch.zip contiene lo schema elettrico ed il file oggetto .hex per programmare il micro.
    • Binary Clock, built with Microchip PIC16F676 (or PIC16F630). The hours are displayed with 4 LEDs which are (from left to right) 8,4,2,1; so hours are shown from 1 to 12 (no am and pm). The minutes are displayed with 5 LEDs that are (from left to right) 40,20,10,5,0; in practice, they show in 5 to 5 way and the exact hour (minute 00) turns ON led 0, because I don't like to have the minutes row completely OFF. For viewing the time, press shortly the button. Hours and minutes are shown for 3 seconds, then the LEDs are off. To adjust the time, press and hold down the button until the top row only turns ON and leds begin a binary counting from 1 to 12. When you reach the desired time, release the button. After a time of 5 seconds, the display automatically shows the minutes and pressing the button, they advance with the binary counting (5 min steps). When you reach the desired minutes, release the button. Again, after a time of 5 seconds both the led rows turns ON to show hours and minutes (the seconds are cleared automatically), and everything is shut down. The time has been set.
      The file binwatch.zip contains the wiring diagram and the object file (Hex) to program the micro.
    schema elettrico