HOME     STORE     BLOG     SCHEMATICS     TUTORIALS     DOWNLOADS     CONTACT

PIC Pages Tutorial
 
PIC Pages Tutorial


 

PIC Pages Tutorial

 


It is, however, most vital for designers of embedded control products to select the most suitable controller and companion devices. Embedded control products are found in all market segments: consumer, commercial, PC peripherals, telecommunications (including personal telecom products), automotive and industrial. Most embedded control products must meet special requirements: cost effectiveness, low-power, small-footprint and a high level of system integration.


PIC Pages Tutorial

Typically, most embedded control systems are designed around a MCU which integrates on-chip program memory, data memory (RAM) and various peripheral functions, such as timers and serial communication. In addition, these systems usually require complementary Serial EEPROM, display drivers, keypads or small displays. Microchip has established itself as a leading supplier of field-programmable embedded control solutions. The combination of high-performance MCUs from the PIC12CXXX, PIC16C5X, PIC16CXXX, PIC17CXXX and PIC18CXXX families, along with non-volatile memory products, provide the basis for this leadership. Microchip is committed to continuous innovation and improvement in design, manufacturing and technical support to provide the best possible embedded control solutions to you.

PICmicro MCU Overview and Roadmap
Microchip PICmicro MCUs combine high-performance, low-cost, and small package size, offering the best price/performance ratio in the industry. More than 120 million of these devices ship each year to cost-sensitive consumer products, computer peripherals, office automation, automotive control systems, security and telecommunication applications. Microchip offers four families of 8-bit MCUs to best fit your needs: PIC16C5X 12-bit program word, PIC16CXXX 14-bit program word, PIC17CXXX 16-bit program word, PIC18CXXX enhanced 16-bit program word and PIC12CXXX 8-pin 12-bit/14-bit program word MCU families. All families offer OTP, low-voltage and low-power options, with a variety of package options. Selected members are available in ROM, EEPROM or reprogrammable Flash versions. The widely-accepted PIC16C5X, PIC16CXXX and PIC17CXXX MCU families employ a modified RISC architecture. Today, the industry’s first 8-pin MCU family – the PIC12CXXX, joins these families. The PIC12CXXX family combines the 8-bit high-speed RISC architecture of the PICmicro MCUs with the smallest footprint MCU. Microchip pioneered the use of RISC architecture to obtain high speed and instruction efficiency.

PIC12CXXX: 8-Pin, 8-Bit Family
The PIC12CXXX family packs Microchip’s powerful RISC-based PICmicro architecture into 8-pin DIP and SOIC packages. These PIC12CXXX products are available with either a 12-bit or 14-bit wide instruction set, a low operating voltage of 2.5V, small package footprints, interrupt handling and a deeper hardware stack. All of these features provide an intelligence level not previously available in applications because of cost or size considerations. PIC16C5X: 12-Bit Architecture Family
The PIC16C5X is the well-established base-line family that offers the most cost-effective solution. These PIC16C5X products have a 12-bit wide instruction set and are currently offered in 18-, 20- and 28-pin packages. In the SOIC and SSOP packaging options, these are among the smallest footprint MCUs. Low-voltage operation, down to 2.0V for OTPs, makes this family ideal for battery operated applications. Additionally, support is available for PIC16HV5XX that can operate directly from a battery at wide voltage ranges up to 15 volts. PIC16CXXX: 14-Bit Architecture Family
With the introduction of new PIC16CXXX family members, Microchip now provides the industry’s highest performance Analog-to-Digital Converter capability at 12-bits for an 8-bit MCU. The PIC16CXXX family offers a wide-range of options, from 18-pin to 68-pin packages as well as low to high levels of peripheral integration. This family has a 14-bit wide instruction set, interrupt handling capability and a deep, 8-level hardware stack. The PIC16CXXX family provides the performance and versatility to meet the more demanding requirements of today’s cost-sensitive marketplace for mid-range 8-bit applications. PIC17CXXX: 16-Bit Architecture Family
The PIC17CXXX family offers the world’s fastest execution performance of any 8-bit MCU family in the industry. The PIC17CXXX family extends the PICmicro MCU’s high-performance RISC architecture with a 16-bit instruction word, enhanced instruction set and powerful vectored interrupt handling capabilities. A powerful array of precise on-chip peripheral features provides the performance for the most demanding 8-bit applications. PIC18CXXX: 16-Bit Architecture Family
The PIC18CXX2 is a family of high performance, CMOS, fully static, 16-bit MCUs with integrated analog-to-digital (A/D) converter. All PIC18CXX2 MCUs employ an advanced RISC architecture. The PIC18CXXX has enhanced core features, 32 level-deep stack, and multiple internal and external interrupts sources. The separate instruction and data busses of the Harvard architecture allow a 16-bit wide instruction word with the separate 8-bit wide data. The two-stage instruction pipeline allows all instructions to execute in a single cycle, except for program branches, which require two cycles. A total of 68 instructions (reduced instruction set) are available. Additionally, a large register set gives some of the architectural innovations used to achieve a very high performance of 10MIPs for an 8-bit MCU. The PIC18CXXX family has special features to reduce external components, thus reducing cost, enhancing system reliability and reducing power consumption. These include programmable Low Voltage Detect (LVD) and Brown-Out Detect (BOR). Microchip has innovative programming options for the embedded systems designer. These programming options address procurement issues by reducing and limiting work-in-process liability and facilitating finished goods code revisions. Microchip's worldwide distributors stock reprogrammable inventory, allowing customers to respond to immediate sales opportunities or accommodate engineering changes off the shelf. One-Time Programmable (OTP) PICmicro OTP MCUs are manufactured in high volumes without customer specific software and can be shipped immediately for custom programming. This is useful for customers who need rapid time to market and flexibility for frequent software updates. FLASH (electrically reprogrammable). PICmicro FLASH MCUs allow erase and reprogramming of the MCU program memory. Reprogrammability offers a highly flexible solution to today's ever-changing market demands – and can substantially reduce time to market. Users can program their systems very late in the manufacturing process or update systems in the field. This allows easy code revisions, system parameterization or customer-specific options with no scrappage. Reprogrammability also reduces the design verification cycle. In-Circuit Serial Programming™ (ICSP™). Microchip's PICmicro MCUs feature ICSP capability. ICSP allows the MCU to be programmed after being placed in a circuit board, offering tremendous flexibility, reduced development time, increased manufacturing efficiency and improved time to market. This popular technology also enables reduced cost of field upgrades, system calibration during manufacturing, the addition of unique identification codes to the system and system calibration. Requiring only two I/O pins for most devices, Microchip offers the most non-intrusive programming in the industry. Self Programming. Microchip's PIC16F87X family features self programming capability. Self programming enables remote upgrades to the FLASH program memory and the end equipment through a variety of medium ranging from Internet and Modem to RF and Infrared. To setup for self programming, the designer programs a simple boot loader algorithm in a code protected area of the FLASH program memory. Through the selected medium, a secure command allows entry into the PIC16F87X MCU through the USART, I2C or SPI serial communication ports. The boot loader is then enabled to reprogram the PIC16F87X FLASH program memory with data received over the desired medium. And, of course, self programming is accomplished without the need for external components and without limitations on the PIC16F87X’s operating speed or voltage. Just think of the advantages that Microchip's self programming capability will provide your business. Quick-Turn Programming (QTP) Microchip offers a QTP programming service for factory production orders. This service is for users who choose not to program a medium to high quantity of units themselves and whose code patterns have stabilized. Serialized Quick-Turn Programming (SQTPSM) SQTP is a unique, flexible programming option that allows Microchip to program serialized, random or pseudo-random numbers into each device. Serial programming allows each device to have a unique number which can serve as an entry-code, password or ID number. Masked ROM Microchip offers Masked ROM versions of many of its most popular PICmicro MCUs, giving customers the lowest cost option for high volume products with stable firmware.
PIC16C84, PIC16F84

Variables from 1 to 15 bits, packed in memory to save space
Use of program EEPROM for long term storage of variables
Arrays from 1 to 16 elements in RAM, or 1 to 1024 elements in EEPROM
Handles strings as constants or constant arrays
15 bit arithmetic capability, integers range from -16384 to +16383
Full range of arithmetic functions including logical and bit operations
Structured BASIC language including WHILE/WEND, FOR/NEXT, subroutines and user defined functions
Supports use of interrupts
Standard RS232 serial interface for programming and communications
2kx8 or 8kx8 EEPROM
9 lines of usable I/O
24 bytes internal PIC RAM available for user variables and stack


The PIC16C84 is a relatively recent addition to Microchip Technology Incorporated's range of microcontrollers (for which they coined the name Peripheral Interface Controllers or PICs). The 16C84 is particularly interesting because its program memory is implemented in EEPROM technology. This gives the 16C84 a marked advantage over EPROM microcontrollers (even other PICs) during the prototyping stages of a project simply because it can be reprogrammed instantly (or nearly so - it takes about 20 seconds).
Microchip's PIC16C84 is a general-purpose, low-cost, 18pin, 8bit microcontroller with the capability of in-system software downloads to its on-chip EEPROM memory. For the shoe-string-budget developer, this makes for dramatically improved ease of use over the more conventional UVEPROM based microcontrollers where you're constantly wasting time pulling out the chip, erasing it, reprogramming it, and plugging it back in again. With the PIC16C84, you won't need that expensive programmer or pin adapter and you can have your code edited, re-assembled, downloaded and running again, all within a few seconds. What's more, MicroChip have made their excellent, PC hosted, MPASM assembler and all the hardware and software manuals (in PDF) you'll ever need available free over the internet. What you will need to do is build a very simple, low cost parallel port programming adapter to connect your PC to your target board, enabling the PC to re-program your PIC16C84 in-system. Microchip even publish a design for such an adapter in their AN589 application note, my contribution is to improve their hardware design, and produce a DOS based program to drive it. These tools, PROG84 hardware and PP84 software, are made freely available to the internet community via this page. There are several other sources for such stuff already on the web and there are a few pointers provided below, however I designed these tools specifically for:

DOS or DOS-box-under-windows operation
Minimum wear on EEprom cells
Fast turn-around time
Command-line driven, no on-line interaction
Compatibility with MPASM __CONFIG, __IDLOCS and DE statements
Reliable timing on all PCs from 286s to MegaMHz Pentiums

PP84 softwareThe operating software, PP84.EXE, runs on your PC under DOS (or in a dos box under windows). It reads an 8-bit (INHX8M) HEX file produced by MPASM and, via the PC's parallel port and programming adapter, re-programs all the PIC memory locations that need changing. A bulk erase is not performed unless the PIC to be programmed is code-protected. A memory location that already contains the correct data word is not programmed, empty memory locations are not programmed either. The short set-up and hold timing delays called for in the programming spec are timed using an oscillator built into the programming adapter, longer delays are timed by the PC with a software delay mechanism, calibrated at start-up against the real-time clock. In this way excessive over timing on delay loops due to a requirement to cope with a range of PC performances can be avoided. These measures all result in a fast time-to-program, secure timing margins and reduced wear on EEPROM cells. PP84 takes device config, ID information and EE data memory initialisation bytes directly from the HEX file in accordance with MPASM's specifications. In this way, all such control information can be contained, and documented, within the assembler source file and there are no interactive decisions to be made during the programming process. PP84 software will NOT work with AN589 hardware PROG84 hardwarePROG84 is the parallel port adapter hardware, it's a modification and extension to MicroChip's AN589 reference design. It is 100% compatible (and other software which works with AN589 hardware will work with PROG84 hardware) but includes a 555 oscillator, running at about 250KHz, which provides a system tick to the PP84 software from which it derives the short duration timing delays called for in Microchip's programming spec. It also includes its own 12V voltage regulator making it independent of the external power supply's regulation and a couple of status LEDs give visual confirmation of activity. Note that the BAT85 diode is a Schottky type and is used only to square up the waveform from the 555, use a 1N4148 if you can't source a BAT85. Also note that it sometimes _may_ be possible for the 12v Vpp voltage, applied to the CLR pin during programming, to source enough current into the 5v Vcc power supply rail (via the CLR pull-up resistor) to pull this rail above 5.5v and thus prevent the PIC from programming properly. This can be cured by including a series diode with the CLR pull-up resistor to prevent current flowing into the Vcc rail, see the sample target schematic below. IMPORTANT - The 1nF (or 1000pF) capacitor Cx between pins 5 and 12 of the PIC chip is essential and should be placed as close as possible to the chip it filters impulse noise from the clock line. Third party PCB artwork is available for the adapter, see below. I take no credit for these designs but also I take no blame. The adapter should also work with the 'F84 device although, due to one or two subtle differences, you may find that the code-protection feature does not work. However, a third party version of the sotware is now available specifically for the F84, see below. PP84 software detects the presence of PROG84 hardware by looking for the square wave clock signal from the 555 timer. It makes no attempt to measure the frequency of the clock, as this is not critical, but does measure the clock's mark-to-space ratio and tests for it being roughly 50:50. So if you have problems with PP84 not finding your PROG84 hardware you should first look to the 'squareness' of your clock waveform - it can often help to just lower the frequency a bit, to say 100KHz.If you have an IBM PC with a parallel printer port, then you can program PIC16C84 microcontrollers by building this simple circuit.

The 16C84 can be programmed in a serial mode which requires very few connections between the chip and programmer. This is the approach adopted for this project (despite being connected to the PC via a parallel port, the PIC is actually programmed in serial mode). Together with this text you should have received the file pp.asc, which is the schematic for the programmer. Although this circuit will do the job, you might like to modify it in various ways. For example:
I find it useful to use LEDs to show when VDD and Vpp are applied to the 16C84; the two unused sections of the 4066 can be used to isolate RB6 and RB7; the 4066 can be replaced by two transistors and a few resistors. Provided your circuit is compatible with the one shown in pp.asc, then the software provided should still work. The schematic specifies 13.8V for the programming voltage - I use a CB power supply - however, 12V should be fine, and in many PCs this can be obtained from a spare floppy-disk power lead. The hardware can be attached to any available parallel port provided it is at one
of the standard port addresses.For the serial port you can use the following circuit:


PIC Pages Tutorial






Accurate LC Meter Capacitance Inductance Meter with 16F628 and LCD
Volt Ampere Meter with 16F876 Microcontroller and LCD display
 
Accurate LC Meter

Build your own Accurate LC Meter (Capacitance Inductance Meter) and start making your own coils and inductors. This LC Meter allows to measure incredibly small inductances making it perfect tool for making all types of RF coils and inductors. LC Meter can measure inductances starting from 10nH - 1000nH, 1uH - 1000uH, 1mH - 100mH and capacitances from 0.1pF up to 900nF. The circuit includes an auto ranging as well as reset switch and produces very accurate and stable readings.
PIC Volt Ampere Meter

Volt Ampere Meter measures voltage of 0-70V or 0-500V with 100mV resolution and current consumption 0-10A or more with 10mA resolution. The meter is a perfect addition to any power supply, battery chargers and other electronic projects where voltage and current must be monitored. The meter uses PIC16F876A microcontroller with 16x2 backlighted LCD.

50MHz 60MHz Frequency Meter / Counter with 16F628 & LCD
1Hz - 2MHz XR2206 Function Generator
60MHz Frequency Meter / Counter

Frequency Meter / Counter measures frequency from 10Hz to 60MHz with 10Hz resolution. It is a very useful bench test equipment for testing and finding out the frequency of various devices with unknown frequency such as oscillators, radio receivers, transmitters, function generators, crystals, etc.
1Hz - 2MHz XR2206 Function Generator

1Hz - 2MHz XR2206 Function Generator produces high quality sine, square and triangle waveforms of high-stability and accuracy. The output waveforms can be both amplitude and frequency modulated. Output of 1Hz - 2MHz XR2206 Function Generator can be connected directly to 60MHz Counter for setting precise frequency output.

BA1404 HI-FI Stereo FM Transmitter
USB IO Board PIC18F2455 / PIC18F2550
BA1404 HI-FI Stereo FM Transmitter

Be "On Air" with your own radio station! BA1404 HI-FI Stereo FM Transmitter broadcasts high quality stereo signal in 88MHz - 108MHz FM band. It can be connected to any type of stereo audio source such as iPod, Computer, Laptop, CD Player, Walkman, Television, Satellite Receiver, Tape Deck or other stereo system to transmit stereo sound with excellent clarity throughout your home, office, yard or camp ground.
USB IO Board

USB IO Board is a tiny spectacular little development board / parallel port replacement featuring PIC18F2455/PIC18F2550 microcontroller. USB IO Board is compatible with Windows / Mac OSX / Linux computers. When attached to Windows IO board will show up as RS232 COM port. You can control 16 individual microcontroller I/O pins by sending simple serial commands. USB IO Board is self-powered by USB port and can provide up to 500mA for electronic projects. USB IO Board is breadboard compatible.

ESR Meter / Transistor Tester Kit
Audiophile Headphone Amplifier Kit
 
ESR Meter / Capacitance / Inductance / Transistor Tester Kit

ESR Meter kit is an amazing multimeter that measures ESR values, capacitance (100pF - 20,000uF), inductance, resistance (0.1 Ohm - 20 MOhm), tests many different types of transistors such as NPN, PNP, FETs, MOSFETs, Thyristors, SCRs, Triacs and many types of diodes. It also analyzes transistor's characteristics such as voltage and gain. It is an irreplaceable tool for troubleshooting and repairing electronic equipment by determining performance and health of electrolytic capacitors. Unlike other ESR Meters that only measure ESR value this one measures capacitor's ESR value as well as its capacitance all at the same time.
Audiophile Headphone Amplifier Kit

Audiophile headphone amplifier kit includes high quality audio grade components such as Burr Brown OPA2134 opamp, ALPS volume control potentiometer, Ti TLE2426 rail splitter, Ultra-Low ESR 220uF/25V Panasonic FM filtering capacitors, High quality WIMA input and decoupling capacitors and Vishay Dale resistors. 8-DIP machined IC socket allows to swap OPA2134 with many other dual opamp chips such as OPA2132, OPA2227, OPA2228, dual OPA132, OPA627, etc. Headphone amplifier is small enough to fit in Altoids tin box, and thanks to low power consumption may be supplied from a single 9V battery.
 

Arduino Prototype Kit
RF Remote Control 433MHz Four Channel
 
Arduino Prototype Kit

Arduino Prototype is a spectacular development board fully compatible with Arduino Pro. It's breadboard compatible so it can be plugged into a breadboard for quick prototyping, and it has VCC & GND power pins available on both sides of PCB. It's small, power efficient, yet customizable through onboard 2 x 7 perfboard that can be used for connecting various sensors and connectors. Arduino Prototype uses all standard through-hole components for easy construction, two of which are hidden underneath IC socket. Board features 28-PIN DIP IC socket, user replaceable ATmega328 microcontroller flashed with Arduino bootloader, 16MHz crystal resonator and a reset switch. It has 14 digital input/output pins (0-13) of which 6 can be used as PWM outputs and 6 analog inputs (A0-A5). Arduino sketches are uploaded through any USB-Serial adapter connected to 6-PIN ICSP female header. Board is supplied by 2-5V voltage and may be powered by a battery such as Lithium Ion cell, two AA cells, external power supply or USB power adapter.
200m 4-Channel 433MHz Wireless RF Remote Control

Having the ability to control various appliances inside or outside of your house wirelessly is a huge convenience, and can make your life much easier and fun. RF remote control provides long range of up to 200m / 650ft and can find many uses for controlling different devices, and it works even through the walls. You can control lights, fans, AC system, computer, printer, amplifier, robots, garage door, security systems, motor-driven curtains, motorized window blinds, door locks, sprinklers, motorized projection screens and anything else you can think of.
 

Electronics-DIY.com © 2002-2024. All Rights Reserved.