PIC18F4550 belongs to pic18f family of microcontrollers. PIC18F4550 is one among the advanced Microcontrollers from the microchip technology. This microcontroller is very famous in between hobbyist and learners due it functionalities and features such as ADC and USB Integration. A typical PIC18F4550 comes in various packages like DIP, QPF and QPN. These packages can be selected according to the project requirement.
PIC18F4550 is an 8 bit microcontroller. PIC18F4550 has been implemented with Nano WATT technology hence it requires very low power for its operation.
PIC18F4550 has 16 bit Instruction Set Architecture, (ISA) which provides a degree of freedom to programmers with various data types , registers , instructions, memory architecture, addressing modes, interrupt and IO operations. PIC18F4550 also has an Extended Instruction Set as a special feature; it’s an optional extension to the PIC18 instruction set.
Memory Specifications: A PIC18F4550 has 256 bytes of EEPROM (Electrically Erasable and Programmable Read Only Memory), 2KB of SRAM (Static RAM) and 32KB of flash memory which in return proves another degree of freedom to programmers.
Communication Protocol: PIC18F4550 is remarked as advanced, as it uses well sophisticated protocols for communications. The modern protocols like USB, SPI, EUSART, are well supported in PIC18F4550. These technologies integrate with Nano Watt Technology (as mentioned before) to produce PIC18F4550, a well equipped, low power consuming microcontroller.
A Dedicated ICD/ICSP Port allows the programmers to code and debug easily.
- Enhanced flash program and the 1KB Dual Access RAM for USB are used for buffering.
- PIC18F4550 consists of up to 13 channels for analog to digital converter. The converter accuracy amounts to 10-bit to convert analog to digital signal relatively.
- PIC18F4550 is compatible to work with different internal and external clock sources. It comes with four built-in timers or an external oscillator can be interfaced for clocking.
- The frequency limit for a PIC18F4550 is from 31 KHz to 48 MHz respectively.
- The microcontroller PIC18F4550 comes with ADC comparators and other such peripherals as an in-built feature.
A very good description and in detailed features of PIC18F4550 microcontroller can be found in its respective datasheet. A copy of that PIC18F4550 Datasheet can be downloaded from microchip’s website.
PIC18F4550 supports USB functionality that it comes with a USB2.0 hardware inbuilt which can operate in two USB standard speeds.
USB Speed supported by pic18f4550
- Full speed 12 MBit per second
- Low speed 1.2 MBit per second
The entire USB configuration is handled with UCFG register (USB CONFIGURATION REGISTER) which helps in defining the mode, or in which USB-speed the microcontroller should perform. You can find more details about various USB Operation registers in PIC18F4550 like UCON, UCFG, USTAT, UADDR etc. from PIC18F4550 datasheet.
This PIC18F4550 microcontroller comes in varieties of pinout package, making it more usable for its users. The most commonly used package by hobbyist is 40 pin DIP – Dual Inline package structure (two rows of pins on either ends 20 left- 20 right).
40 PIN Package DIP (Dual Inline package)
PIC18F4550’s 40 pin DIP (Dual inline package) has got its special reputation in between hobbyist, it’s also easily available in any electronic store. DIP or Dual inline package is nothing but a typical microcontroller with two rows of pins on either side. A 40 pin DIP PIC18F4550 has 20 pin on each row.
44 Pin packages for PIC18F4550
44 pin packages are mostly focused on for production level devices, for other industries who wish to use them in their devices.
44-Pin QFP (Quad Flat Package) Pinout
44-Pin QFN (quad-flat no-leads) Pin out
40 pins of PIC18F4550 are divided into 5 ports. Out of which, 35 pins are Input-Output pins which can be configured for general Input or Output by setting registers associated with them. Please Refer the Pinout diagram above for a clear idea about location of these pins on the microcontroller.
Ports Number of pins Pin Name
PORTA 7 RA0-RA6
PORTB 8 RB0-RB7
PORTC 7 RC0-RC2, RC4-RC7 (Check the Pinout Diagram)
PORTD 7 RD0-RD7
PORTE 4 RE0-RE3
Registers Associated with Ports in PIC18F4550
Each port in pic18f4450 is associated with three 8 bit registers for IO operations.
- TRISX (8 bit)
- LATx (8 bit)
- PORTx (8 bit)
TRISx : where X is the name of the ports either of A, B, C, D, E. For example TRISA, TRISB etc.This register assigns the direction of the pins (Input or Output). For example “TRISB = 0xF0”, will set all the pins in port B to Output.
LATX: The latch registers reds and modifies the write operation on the value of I/O pin and stored the output data that is to be passed on to the external hardware.
PORTX: Reads the device level, stores the Input level of the pins and reads and registers the input signal from the external device if the pin is configured as Input.
Microchip is very well known for its extremely good and detailed documentation. Please download a copy PIC18F4550 Data sheet from their official website for more detailed information.
A C18 compiler with Mplab ide or Mplab X with XC8 Compiler must be good to getting started with programming a PIC18F4550. A free version of Software ide (Mplab and Mplab x) can be downloaded from microchip's website for getting started with pic18f4550. However other IDE software’s such as MikroC can also used for programming a pic18f4550.
A series of tutorial can help you learn to program a pic18f4550 microcontroller.
Some projects on pic18f4550 Microcontroller for your reference.