Microcontroller for Audio Multi brand System (Project Jupiter)

Navigation Bar (Click on It)

 

 

PIC PROGRAMMING

 

This system was design in early 2007, so used chips and hardware are maybe not optimal for this project, but basic programming methods and skills could be useful for any modern application. I used very popular and cheap Microprocessor made by Microchip to this application. The Microprocessor PIC16F877 made by Microchip is very versatile 8 bit programmable microprocessor.

A newer device is available. Please consider the PIC16F887. This powerful (200 nanosecond instruction execution) yet easy-to-program (only 35 single word instructions) CMOS FLASH-based 8-bit microcontroller packs Microchip's powerful PIC® architecture into an 40- or 44-pin package and is upwards compatible with the PIC16C5X, PIC12CXXX and PIC16C7X devices. PIC16F877 features 256 bytes of EEPROM data memory, self programming, an ICD, 8 channels of 10-bit Analog-to-Digital (A/D) converter, 2 additional timers, 2 capture/compare/PWM functions, the synchronous serial port can be configured as either 3-wire Serial Peripheral Interface (SPI™) or the 2-wire Inter-Integrated Circuit (I²C™) bus and a Universal Asynchronous Receiver Transmitter (USART). All of these features make it ideal for more advanced level A/D applications in automotive, industrial, appliances and consumer applications.

 

PROGRAMMING HARDWARE

To program those microcontrollers for Speakers Switch Controller Yamaha MX-35X and Input Selector Switch Technics SH-AC500DX, we need to make or buy the programmer. The programmer is a device used to get a program code into the target PIC. Most PICs that Microchip currently sell feature ICSP (In Circuit Serial Programming) and/or LVP (Low Voltage Programming) capabilities, allowing the PIC to be programmed while it is sitting in the target circuit. ICSP programming is performed using two pins, clock and data, while a high voltage (12V) is present on the Vpp/MCLR pin. Low voltage programming dispenses with the high voltage, but reserves exclusive use of an I/O pin and can therefore be disabled to recover the pin for other uses (once disabled it can only be re-enabled using high voltage programming).

There are many free schematics of programmers and tools available on the Internet:

Most those old programmers require serial port communication with Personal Computer which is more hard to find on new machines. USB is a king.

Building your own programmer is good learning experience, but more effective approach is to buy one. I use one, very simple and cost effective made by PICCIRCUIT.COM with USB port connecting to PC. The ICA03 - USB Programmer set.

 

It comes with software loader installer PICkit2v2.61.zip

 

PROGRAMMING SOFTWARE

 

To make working program for those PIC some programming skills and software are required. The MICROCHIP designed a bunch supporting tools and software for developers and programmers. The most popular is MPLAB X IDE . It can be downloaded for free from "Microchip" site. It is very complex programming tool, not recommended for beginners.

For beginners I recommend some tutorials - for tutorials to go there.

Depends of your programming skills you can create the program using programing language C, Assembler, BASIC. There are some variations in PIC specific languages.

I used PICBASIC Compiler made by MicroEngineering Labs, Inc. simple and powerful tool.

MicroCode Studio is a powerful, visual Integrated Development Environment (IDE) with In Circuit Debugging (ICD) capability designed specifically for microEngineering Labs PICBASIC™ and PICBASIC PRO™ compiler. It is for free to download.

The Project Jupiter contains 2 separate Microprocessors connected by Ethernet network cable using simple proprietary "ITM NetCom1" serial connection.

ITMNetCom1 serial link above.

The copy of programs for both chips (Master, Slave) for PIC16F877A microprcessors can be obtain from My Store Link

There are in Binary HEX format, ready to be uploaded to PIC chips using any kind described above programmer, like IAC03 with PICkit2v2.61.zip loader.