PIC16x84

Last updated
Two Microchip PIC16C84 chips Two Microchip PIC16C84 chips.jpg
Two Microchip PIC16C84 chips

The PIC16C84, PIC16F84 and PIC16F84A are 8-bit microcontrollers of which the PIC16C84 was the first introduced in 1993 [ citation needed ] and hailed [ by whom? ] as the first PIC microcontroller to feature a serial programming algorithm and EEPROM memory. [ citation needed ] It is a member of the PIC family of controllers, produced by Microchip Technology. The memory architecture makes use of bank switching. Software tools for assembler, debug and programming were only available for the Microsoft DOS and Windows operating systems.[ citation needed ]

Contents

Description

The PIC16x84 is a microcontroller in the PIC family of controllers produced by Microchip Technology (originally named " Arizona Microchip"). It was Microchip's first microcontroller that utilised "EEPROM" memory technology for the program memory. The use of "EEPROM" technology for program memory has now been disused in favour of "FLASH" memory that is considerably cheaper to manufacture, releases less toxins into the atmosphere[ citation needed ] and is much more reliable than "EEPROM". Both "EEPROM" and "FLASH" utilise similar forms of "floating gate" technologies to operate. The device features one 8-bit timer, and 13 I/O pins. The PIC16x84 became popular in many hobbyist applications because it uses a serial programming algorithm that lends itself to very simple programmers. Additionally, the PIC16C84 uses EEPROM memory, so it is easy to erase and requires no special tools to do so. The PIC16F84 and its updated version, the PIC16F84A both utilised FLASH program memory. The PIC16C84, PIC16C84A, PIC16F84 and the PIC16F84A all contain an additional 64 Bytes of EEPROM addressed from the "DATA" memory map. This additional memory is intended for use as "user data", hence the reason it can only be addressed from the "DATA" memory mapping.

F-version

The PIC16F84/PIC16F84A is an improved version of the PIC16C84, and almost completely compatible, with better program security and using flash memory instead of EEPROM memory for program memory. The PIC16F84/PIC16F84A has 68 bytes of RAM whilst the PIC16C84 has 36 bytes.

Since the two chips are so similar they are often referred to by the term PIC16x84 (x is used as a wildcard when referring to chips).

History

Two PIC16C84s on a false smart-card used in the nineties to decode the signals of Sky Television. Carteapuce.jpg
Two PIC16C84s on a false smart-card used in the nineties to decode the signals of Sky Television.

The PIC16C84 was introduced in 1993 and has been hailed as the first PIC microcontroller to feature a serial programming algorithm and EEPROM memory (it was preceded by the Motorola MC68HC805B6 and MC68HC805C4 along with the MC68HC11E2 with serial bootloader and EEPROM program storage released in the late 1980s). These chips lend themselves to hobby use: only a simple and cheap programmer is required to program, erase and reprogram the chip. As PIC16C84 supplies became limited due to it being discontinued, the PIC16F84 became popular as it is an almost drop-in replacement. New programming software was needed as the programming algorithm is different but the programming hardware required was the same.

Even later (1998) Microchip Technology introduced the improved PIC16F84A which allowed for faster clock speeds (up to 20 MHz), faster programming, and decreased the current draw of the chip.

The PIC16x84 microcontroller is a member of Microchip's 14-bit series (the instruction word size is 14 bits for all instructions), making the '84 a good development prototype for other similar but cheaper one-time-programmable 14-bit devices.

Recent pin-compatible variants

Microchip's product line has gone through many revisions since the 16x84 and more powerful, flexible, cheaper pin-compatible PICs have been developed.

Existing PIC 16x84 code may require some modifications for these variants, namely making sure pins with multiple functions have been set up properly.

This is an 8-bit enhanced mid-range core with 14 additional instructions and optimizations for the C Programming Language.

See also

Related Research Articles

<span class="mw-page-title-main">Microcontroller</span> Small computer on a single integrated circuit

A microcontroller or microcontroller unit (MCU) is a small computer on a single integrated circuit. A microcontroller contains one or more CPUs along with memory and programmable input/output peripherals. Program memory in the form of NOR flash, OTP ROM, or ferroelectric RAM is also often included on the chip, as well as a small amount of RAM. Microcontrollers are designed for embedded applications, in contrast to the microprocessors used in personal computers or other general-purpose applications consisting of various discrete chips.

<span class="mw-page-title-main">EEPROM</span> Computer memory used for small quantities of data

EEPROM or E2PROM (electrically erasable programmable read-only memory) is a type of non-volatile memory. It is used in computers, usually integrated in microcontrollers such as smart cards and remote keyless systems, or as a separate chip device, to store relatively small amounts of data by allowing individual bytes to be erased and reprogrammed.

<span class="mw-page-title-main">AVR microcontrollers</span> Family of microcontrollers

AVR is a family of microcontrollers developed since 1996 by Atmel, acquired by Microchip Technology in 2016. These are modified Harvard architecture 8-bit RISC single-chip microcontrollers. AVR was one of the first microcontroller families to use on-chip flash memory for program storage, as opposed to one-time programmable ROM, EPROM, or EEPROM used by other microcontrollers at the time.

<span class="mw-page-title-main">PIC microcontrollers</span> Line of single-chip microprocessors from Microchip Technology

PIC is a family of microcontrollers made by Microchip Technology, derived from the PIC1640 originally developed by General Instrument's Microelectronics Division. The name PIC initially referred to Peripheral Interface Controller, and is currently expanded as Programmable Intelligent Computer. The first parts of the family were available in 1976; by 2013 the company had shipped more than twelve billion individual parts, used in a wide variety of embedded systems.

<span class="mw-page-title-main">TI MSP430</span> Mixed-signal microcontroller family

The MSP430 is a mixed-signal microcontroller family from Texas Instruments, first introduced on 14 February 1992. Built around a 16-bit CPU, the MSP430 was designed for low power consumption embedded applications and low cost.

<span class="mw-page-title-main">PICAXE</span>

PICAXE is a microcontroller system based on a range of Microchip PIC microcontrollers. PICAXE devices are Microchip PIC devices with pre-programmed firmware that enables bootloading of code directly from a PC, simplifying hobbyist embedded development. PICAXE devices have been produced by Revolution Education (Rev-Ed) since 1999.

JAL (Just Another Language) is a Pascal-like programming language and compiler that generates executable code for PIC microcontrollers. It is a free-format language with a compiler that runs on Linux, MS-Windows and MS-DOS (OSX support). It is configurable and extendable through the use of libraries and can even be combined with PIC assembly language.

<span class="mw-page-title-main">In-system programming</span> Embedded system programming technique

In-system programming (ISP), or also called in-circuit serial programming (ICSP), is the ability of some programmable logic devices, microcontrollers, chipsets and other embedded devices to be programmed while installed in a complete system, rather than requiring the chip to be programmed prior to installing it into the system. It also allows firmware updates to be delivered to the on-chip memory of microcontrollers and related processors without requiring specialist programming circuitry on the circuit board, and simplifies design work.

Microchip Technology Incorporated is a publicly listed American corporation that manufactures microcontroller, mixed-signal, analog, and Flash-IP integrated circuits. Its products include microcontrollers, Serial EEPROM devices, Serial SRAM devices, embedded security devices, radio frequency (RF) devices, thermal, power, and battery management analog devices, as well as linear, interface and wireless products.

<span class="mw-page-title-main">DataFlash</span> Flash memory

DataFlash is a low pin-count serial interface for flash memory. It was developed as an Atmel proprietary interface, compatible with the SPI standard. In October 2012, the AT45 series DataFlash product lines, related intellectual property, and supporting employee teams were purchased by Adesto Technologies.

<span class="mw-page-title-main">STM32</span> ARM Cortex-M based Microcontrollers by STMicroelectronics

STM32 is a family of 32-bit microcontroller integrated circuits by STMicroelectronics. The STM32 chips are grouped into related series that are based around the same 32-bit ARM processor core: Cortex-M0, Cortex-M0+, Cortex-M3, Cortex-M4, Cortex-M7, Cortex-M33. Internally, each microcontroller consists of ARM processor core(s), flash memory, static RAM, debugging interface, and various peripherals.

<span class="mw-page-title-main">NXP LPC</span> Family of 32-bit microcontroller integrated circuits

LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals. The earliest LPC series were based on the Intel 8-bit 80C51 core. As of February 2011, NXP had shipped over one billion ARM processor-based chips.

<span class="mw-page-title-main">ATtiny microcontroller comparison chart</span> Subfamily of 8-bit AVR microcontrollers

ATtiny is a subfamily of the popular 8-bit AVR microcontrollers, which typically has fewer features, fewer I/O pins, and less memory than other AVR series chips. The first members of this family were released in 1999 by Atmel.

The following outline is provided as an overview of and topical guide to electronics:

<span class="mw-page-title-main">ATmega328</span> 8-bit microcontroller

The ATmega328 is a single-chip microcontroller created by Atmel in the megaAVR family. It has a modified Harvard architecture 8-bit RISC processor core.

RL78 Family is a 16-bit CPU core for embedded microcontrollers of Renesas Electronics introduced in 2010.

<span class="mw-page-title-main">Arduino Uno</span> Microcontroller board

The Arduino Uno is an open-source microcontroller board based on the Microchip ATmega328P microcontroller (MCU) and developed by Arduino.cc and initially released in 2010. The microcontroller board is equipped with sets of digital and analog input/output (I/O) pins that may be interfaced to various expansion boards (shields) and other circuits. The board has 14 digital I/O pins, 6 analog I/O pins, and is programmable with the Arduino IDE, via a type B USB cable. It can be powered by a USB cable or a barrel connector that accepts voltages between 7 and 20 volts, such as a rectangular 9-volt battery. It has the same microcontroller as the Arduino Nano board, and the same headers as the Leonardo board. The hardware reference design is distributed under a Creative Commons Attribution Share-Alike 2.5 license and is available on the Arduino website. Layout and production files for some versions of the hardware are also available.

The MSP432 is a mixed-signal microcontroller family from Texas Instruments. It is based on a 32-bit ARM Cortex-M4F CPU, and extends their 16-bit MSP430 line, with a larger address space for code and data, and faster integer and floating point calculation than the MSP430. Like the MSP430, it has a number of built-in peripheral devices, and is designed for low power requirements. In 2021, TI confirmed that the MSP432 has been discontinued and "there will be no new MSP432 products".

<span class="mw-page-title-main">Arduino Nano</span> Single-board microcontroller

The Arduino Nano is an open-source breadboard-friendly microcontroller board based on the Microchip ATmega328P microcontroller (MCU) and developed by Arduino.cc and initially released in 2008. It offers the same connectivity and specs of the Arduino Uno board in a smaller form factor.