|PIC Microcontroller Zone
PIC Items and Kits for Sale
PIC Books for Sale
PIC 16C48 Programmer
Intel 8051 Microcontroller
PIC Articles and Websites of interest
How to get started in PIC Programming by Eric Edwards. E-mail:
firstname.lastname@example.org GW8LJJ ;
BAEC Newsletter No. 140 Aug 2001
About the PIC 16F84. First details a digital circuit to count in binary on LEDs using a 555 Timer and
CMOS 4024 7-bit (÷128) Ripple Counter Chip plus 2 resistors, 3 capacitors and 7 LEDs. Constructed on plugboard, no soldering. Then shows how a PIC can do the exact same thing using only one IC (Integrated Circuit) with only 2 resistors, a capacitor and again off course 7 LEDs. The PIC is programmed using a PIC BASIC compiler (PBC) to produce HEX (Hexadecimal, base 16: 0-9 + A-F) code. So no need to know about op-codes, assembler, the accumulator, status register (flags: zero, carry, division-by-zero error...), stack, ALU (Arithmetic and Logic Unit, does logic and addition) fetch-execute cycle... Then goes on to show how the PIC can be re-programmed to do a different task. Impossible for the digital circuit! Less components and more functions.
- PIC FAQ (frequently asked questions).
WinPicProg 1.91 - Free programming software for various of the MicroChip PIC series of micro-controllers by Nigel Goodwin.
Eric's PIC Page - includes:
- Code fragments, tips, and techniques including:
- Hardware tips and tricks:
- And other useful material and links
Tweaking a PIC Page: A-D Converter, Parity, Sine, Arc Sine, Arc Tan... Interesting examples include:
Square Roots using PIC's.
- Square Root Theory.
- CRC on a PIC - Lots and lots of material here -
Cyclic redundancy check. A type of hash function used to produce a checksum, in order to detect errors in transmission or storage. More efficient than parity bit-byte check which takes 1/8 of bandwidth. Modern tele-communications seldom fails. Especially for one byte only.
CRC is used to check data is transmitted correctly over the internet in packets (250 Bytes long????). It is a complex mathematical algorithm that says whether there is or isn't a error by using a key. Packet Switching is how the internet works by breaking a data transmission down into small packets which are sent individually with a number to order them. Then re-combined at the other end. If a packet fails it is requested to be sent again. Transmissions can be routed through several different computers. Changing if one is down.
Originally designed by ARPA U.S. [Defence] Advanced Research Projects Agency. Founded in
1958 in response to the Soviet launching of Sputnik Satellite in 1957 whose signal could be picked up by electronics enthusiasts round the world. For if there was a Nuclear Strike to ensure Command-and-Control continues to maintain a realistic chance of a retaliatory strike and thus deter a dangerous first strike possibility. As seen in the Dr. Strangelove Film with Peter Sellers playing three main characters. Quote: "No fighting in the War Room". You can get in cheap from eBay.
DIY Calculator - very well presented site.
Four Functions and Beyond - Tips for Designing an RPN Calculator
PIC16F84 Calculator with Keys: 0-9, CE, +, -, x, /, = and Text LCD Display. Site also has links to many other digital electronic circuits. 5 Stars *****
- Posted by Eagre on 29 June 2006 on the
"I have found that to do floating-point arithmetic and transcendental functions with a PIC the best way is to use an external floating-point processor. The uM-FPU from Micromega is an inexpensive 32 bit FPU in a 8-pin DIP package that connects to PICs via a three-wire SPI
interface. Incidentally, I have no connection to Micromega, and have (unfortunately) never even received a free sample from them.
The uM-FPU has 16 32-bit registers which it uses in its calculations. It can work in either 32-bit floating-point or long integer. In use with a suitable (SPI enabled) PIC the most time-consuming operations, by far, are sending the data to and from the FPU; the math is very
fast. The data can be transmitted by (4) bytes, (2) words, or by a 32 bit sequence (which requires knowledge of floating-point coding). The FPU can handle complicated expressions up to its limit of 16 registers."
PIC Items and quality Kits for Sale
- Arizona MicroChip Ltd. main producer of PIC Microcontrollers: RISC low Kbyte microprocessors with built in input/output drivers. Site has a commercial section and a huge amount of documentation.
Example: PIC16C5X Family
- ROM/EPROM - 8-bit CMOS - ½, 1, 2 KBytes
- RAM - 24, 25, or 72 Bytes
- Instruction Set - RISC 33 12-bit Word Instructions, plus two 2-Word Branch Instructions
- Input/Output - RA0-3, RB0-7, and RC0-7 (on some PIC16C55/57 models)
- Power Consumption
- < 2mA @ 5V, 4 MHz
- 15 µA @ 3V, 32 KHz
- < 0.6 µA Standby @ 3V (Sleep mode)
- [Jun06] eLabtronics ;
51 Byron Place, Adelaide, South Australia 5000. Tel. +61 8 8231 5966 ; +61 8 8231 5266
Below no longer available but interesting to read about:
- LED Fun
- 8-in-1 Educational Kit.
CoreChart a ground breaking Graphical Assember.
CoreChart .pdf -
Core Chart Graphical versus Text Assembler. Choose Download to Desktop.
- PIC Fun Kit
- A keep, quality PIC Microcontroller kit.
- PIC Fun 2
- Programmer & Controller, For Educational and Professional Applications.
- The BAEC Trading Pages: PIC Items for sale.
PIC Books for Sale
Giorgio de Prez
an Italian BAEC member recommends the following books:
[Jun06] Eric Edwards E-mail:
a BAEC member has published:
- A PIC book called 'PIC BASIC - an introduction'. It includes a CD full of data, source codes, HEX codes and other info. GBP 23.44 inc. VAT.
- Also available 3 other books for GBP 4.99 each [plus GBP 1 P&P] from
eBay on-line Book seller:
Electronics Book -
PICBASIC Projects Book -
Radio Book1 README.
- PLUS an Electronic book that he has produced on a CD-ROM for GPB 4.99 plus GPB 1 P&P.
More Info Here.
"LEARN ELECTRONICS THE FUN WAY. A 'PRACTICAL' ELECTRONICS BOOK WITH OVER 420 PAGES ON A CD-ROM. A FUN WAY OF LEARNING BY DOING."
- It is available in the UK from:
Crownhill Associates Ltd, 32 Broad Street, ELY, Cambridge, CB7 4PW. Tel 01353 666709.
The following information was kindly provided by
Giorgio de Prez
an Italian BAEC Member:
An instruction list at Planet Microchip
Description of the PIC name
Decodify PICmicro microchips
The code is divided into the following parts:
FAMILY - the available families are: 12, 14, 16, 17 e 18
TECHNOLOGY - available technologies are: Flash and Cmos MODEL
VERSION - the version letter may also be not present; usually there are no differences between the different versions, however some electrical characteristics (current, voltage, etc.) may change
CLOCK - the maximum clock supported by the processor
TEMP. - if present, mean that the processor accept an extended temperature range
CASE - indicate the case type: P and SP refers to DIP, others indicate SMD case (the erasable
version is identified from the final letters JW or CL)
Intel 8051 Microcontroller
8051: a Harvard architecture single chip microcontroller (µC) developed by Intel in 1980 for use in embedded systems. It was extremely popular in the 1980s and early 1990s, but today it has largely been superseded by a vast range of enhanced devices with 8051-compatible processor cores that are manufactured by more than 20 independent manufacturers.
- Intel's original 8051 family was developed using NMOS technology, but later versions, identified by a letter "C" in their name, e.g. 80C51, used CMOS technology and were less power-hungry than their NMOS predecessors - this made them eminently more suitable for battery-powered devices.
- Important Features of 8051 :
- It contains Processor (CPU), RAM, ROM, Serial Port, Parallel Port, Interrupt logic, Timer etc.
- Data Bus - 8 bit data bus..
- Address Bus - 16 bit address bus. Can access 216 memory locations i.e 64 KB of memory each of RAM and ROM.
- On chip RAM - 128 Bytes (Data Memory).
- On chip ROM - 4 KB (Program Memory).
- Four Bit bi-directional Input Output port.
- Serial Port.
- Two 16 - bit Up-Counter.
- Two level interrupt priority.
- Power saving mode.
- A particularly useful feature of the 8051 core is the inclusion of a boolean processing engine which allows bit-level boolean logic operations to be carried out directly and efficiently on internal registers and RAM. This feature helped to cement the 8051's popularity in industrial control applications. Another valued feature is that it has four separate register sets, which can be used to greatly reduce interrupt latency compared to the more common method of storing interrupt context on a stack.
- The 8051 UART can be configured to use a 9th data bit that can provide addressable communications in an RS-485 multi-point communications environment.
- 8051 based microcontrollers typically include one or two UARTs, two or three timers, 128 or 256 bytes of internal data RAM (16 bytes of which are bit-addressable), up to 128 bytes of I/O, 512 bytes to 128kb of internal program memory, and sometimes a quantity of extended data RAM (ERAM) located in the program address space. The original 8051 core ran at 12 clock cycles per machine cycle, with most instructions executing in one or two machine cycles. With a 12 MHz clock frequency, the 8051 could thus execute 1 million one-cycle instructions per second or 500,000 two-cycle instructions per second. Enhanced 8051 cores are now commonly used which run at six, four, two, or even one clock per machine cycle, and have clock frequencies of up to 100 MHz, and are thus capable of an even greater number of instructions per second. All SILabs, some Dallas and a few Atmel devices have single cycle cores.
- Even higher speed single cycle 8051 cores, in the range 130 MHz to 150 MHz, are now available in internet downloadable form for use in programmable logic devices such as FPGAs, and at many hundreds of MHz in ASICs, for example the netlist from e8051.com.
- Common features included in modern 8051 based microcontrollers include built-in reset timers with brown-out detection, on-chip oscillators, self-programmable Flash ROM program memory, bootloader code in ROM, EEPROM non-volatile data storage, I2C, SPI, and USB host interfaces, PWM generators, analog comparators, A/D and D/A converters, RTCs, extra counters and timers, in-circuit debugging facilities, more interrupt sources, and extra power saving modes.
- Several C compilers are available for the 8051, most of which feature extensions that allow the programmer to specify where each variable should be stored in its six types of memory, and provide access to 8051 specific hardware features such as the multiple register banks and bit manipulation instructions. Other high level languages such as Forth, BASIC, PASCAL, PL/M and Modula 2 are available for the 8051, but they are less widely used than C and assembly.
- The 8051's predecessor, the 8048, was used in the keyboard of the first IBM PC, where it converted keypresses into the serial data stream which is sent to the main unit of the computer. The 8048 and derivatives are still used today for basic model keyboards.