Microchip manufacture a sequence of microcontrollers called PIC. PIC is a Peripheral Interface Microcontroller which was created in 1993 by the General Instruments Microcontrollers. It is controlled by software and programmed in the manner to perform several tasks. There are so many types of microcontrollers available and some of them are low memory type. These microcontrollers are almost economical, functional and simple to discover. As comparable to different microcontrollers like Arduino Board which are little expensive and hard to manage. But if you do not want to spend much for your project, pic programming kit would be perfect to get you started. PIC18F is easily available, amazing, and calm competent microcontroller which can help you to add some logic and Intel to your projects. This tutorial is an introduction to PIC16F84A microcontroller. PIC16F84A microcontroller is a very famous pic microcontroller. you may like to check pic microcontroller tutorials.
Introduction to PIC16F84A microcontroller
PIC16F84A also known as the beginners’ microcontroller. This microcontroller from Microchip was presented in 1998 as a successor to the specific first sequentially programmable PIC, the PIC16C84. This was the starting point for learning PIC microcontrollers because it only contains 35 assembly language instructions as well as it only costs less than $5 per piece. Creating a serial programmer for this microcontroller also won’t take a lot of time. The PIC16F84A is an 8-bit device which implies the majority of its registers are 8 bits wide. If you are working on a simple applications then 1750 bytes of program memory is enough, and this is where PIC16F84A is frequently used.
PIN Diagram of PIC16F84A
Explanation of pins of PIC16F84A microcontroller
Pins 1,2,3,6,7,8,9,10,11,12,13,17&18: These 13 I/O pins can be independently configured either as input or as output. Also each pin can either supply or can absorb a maximum of 25mA current per pin. So, accordingly every pin can drive a LED easily but cannot drive any dc motor. The mentioned 13 I/O pins are assembled into two groups known as ports.
- Port A: contains 5 pins which are 1, 2, 3, 17 & 18
- Port B: contains 8 pins which are 6, 7, 8, 9, 10, 11, 12 & 13
Pin 4: This is an active low pin known as MCLR (Memory Clear). Obviously, this pin is used to clear the temporary RAM memory. Whenever, it is kept low while connecting to the ground then it performs only its assigned function.
Pin 5: This is ground pin of the IC and must be associated with the negative terminal of the battery.
Pin 14: This is supply pin and must be connected to the positive terminal of the battery.
Pin 15 & 16: This is where crystal oscillator connected and the maximum frequency can be used is 20MHz. you can also use 4MHz crystal but the higher the frequency of crystal used, the quicker the controller works.
Specifications of PIC16F84A:
|Bus Width||8 Bits|
|Pin Count||18 (PDIP, SOIC) / 20 (SSOP)|
|Processor Speed||5 Million Instructions per second|
|Program Memory||1750 Bytes|
Features of PIC16F84A microcontroller
I/O Pins: There are 13 I/O pins and these pins can be configured individually either as input or as output. Each of these pins source and sinks 25mA current.
Supports ICSP: ICSP stands for In Circuit Serial Programming. With little careful you can program the microcontroller deprived of eliminating it from the target board for example in-circuit. This is widely used for in-circuit programming as it contains USART module.
PIC16F84A Memory: This PIC microcontroller comes with enhanced EEPROM memory. It contains 64 bytes memory that is mainly used to store data and 1K program memory specifies the capacity of code you can burn inside. 68 bytes of RAM (Data Memory).
Watchdog timer: This microcontroller has built in Watchdog timer. There is an internal timer located under the chip. You can make this timer enable or disable by programming. The timer is mainly used to rest the microcontroller when program goes wrong or it may enter to infinite loop.
Registers: There are two types of registers which are as follow here.
- General Purpose Registers (GPR): These general purpose registers are used to store any arbitrary value in which you can operate.
- Special Function Registers (SFR). The special function registers are used to perform various functions which can be help to control the device.
Timer: PIC16F84a contains one 8-bit clock that can be utilized in both ways i.e. clock and counter. Furthermore, accompanies internal and external clock select capability.
Sleep Mode: This mode is included the chip that produces a low current power down mode. The sleep mode can be removed using an interrupt, external reset, and watchdog timer.
Power on Reset: This feature is utilized in various other PIC controller when it is powered on. If there arises a problem in the chip, powering on the device will dismiss it from the loop of any malfunctioning in the device.
PIC16F84a Projects: This version of PIC controllers are mostly used in students projects where the main concern is automation. This is also used in Central heating projects, Production of temperature data logger, and gas sensor projects. Also used in security systems and setting up serial communication with other devices.
Compilers: PIC controller has different compliers MPLAB C18 Compiler and MikroC Pro for complier. The code written in the compiler creates a hex record that is transferred on the PIC Microcontroller.
Ram Memory Banks: the RAM memory is consist of four banks. Before accessing any register during the time of programming or program writing you must need to select the certain bank which contains that register. Handling banks may be difficult if you write the code in assembly language.
USART module: this microcontroller enhance with USART module. This is an Auto-Baud detector and supports RS-485, RS-232 and LIN2.0.
Flash Memory: This consist of Flash memory based on 8-bit microcontroller packs. The same microcontroller device can be used for prototyping and production.
Some Other Features of PIC16F84A microcontroller
|Number of pins||18|
|CPU||8 bit PIC|
|Operating Voltage||2 to 5.5 V|
you may also like to check pic microcontroller based projects list.