Skip to main content

PIC18F4550 Microcontroller

[Click the image to enlarge it]

PIC18F4550 belongs to ‘PIC18F’ family of microcontrollers. PIC18F4550 is one of popular Microcontrollers from the microchip technology, comes with a High-Performance, Enhanced flash, USB Microcontroller with nano-Watt-Technology. This is an 8-bit microcontroller popular among makers and engineers due its features and easy applications. PIC18F4550 comes in various packages like DIP, QPF and QPN and can be selected according to the project requirement.

 

PIC18F4550 Pinout Configuration

It is a 40 pin device as shown in PIC18F4550 pin diagram. There are so many features for a controller the manufacturer cannot provide that many I/O pins. So many pins of controller have multiple features. These features can be enabled through programming depending on requirement. We will describe each pin functions briefly below.

Pin Number

Pin Name

Description

1

MCLR/VPP/RE3

MCLR: Master Clear(RESET) Input

VPP:programming voltage input

RE3: I/O pin of PORTE, PIN 3

2

RA0/AN0

RA0: I/O pin of PORTA, PIN 0

AN0: Analog input 0

3

RA1/AN1

RA1: I/O pin of PORTA, PIN 1

AN1: Analog input 1

4

RA2/AN2/VREF-/CVREF

RA2: I/O pin of PORTA, PIN 2

AN2: Analog input 2

VREF-: A/D reference voltage (low) input

CVREF: Analog comparator reference output

5

RA3/AN3/VREF+

RA3: I/O pin of PORTA, PIN 3

AN3: Analog input3

VREF+: A/D reference voltage (high) input

6

RA4/T0CKI/C1OUT/RCV

RA4: I/O pin of PORTA, PIN 4

T0CKI: Timer0 external clock input

C1OUT: Comparator 1 output

RCV:External USB transceiver RCV input

7

RA5/AN4/SS/HLVDIN/C2OUT

RA5: I/O pin of PORTA, PIN 5

AN4: Analog input 4

SS: SPI slave select input

HLDVIN: High/Low-Voltage Detect input

C2OUT: Comparator 2 output

8

RE0/AN5/CK1SPP

RE0: I/O pin of PORTE, PIN 0

AN5: Analog input 5

CK1SPP: SPP clock 1 output

9

RE1/AN6/CK2SPP

RE1: I/O pin of PORTE, PIN 1

AN6: Analog input 6

CK2SPP: SPP clock 2 output

10

RE2/AN7/OESPP

RE2: I/O pin of PORTE, PIN 2

AN6: Analog input 7

OESPP : SPP Enabled output

11

VDD

Positive Power Supply (+5V)

12

VSS

Ground

13

OSC1/CLKI

OSC1:Oscillator pin 1

CLKI: External clock source input

14

OSC2/CLKO/RA6

OSC2: Oscillator pin 2

CLKO: clock source output

RA6: I/O pin of PORTA, PIN 6

15

RC0/T1OSO/T13CKI

RC0: I/O pin of PORTC, PIN 0

T1OSO :Timer1 oscillator output

T13CKI: Timer1/Timer3 external clock input

16

RC1/T1OSI/CCP2/UOE

RC1: I/O pin of PORTC, PIN 1

T1OSI: Timer1 oscillator input

CCP2:Capture 2 input/Compare 2 output/PWM2 output

UOE: External USB transceiver OE output

17

RC2/CCP1/P1A

RC2: I/O pin of PORTC, PIN 2

CCP1: Capture 1 input/Compare 1 output/PWM1 output.

P1A :Enhanced CCP1 PWM output, channel A

18

VUSB

VUSB:Internal USB 3.3V voltage regulator output

19

RD0/SPP0

RD0: I/O pin of PORTD, PIN 0

SPP0: Streaming Parallel Port data

20

RD1/SPP1

RD1: I/O pin of PORTD, PIN 1

SPP1: Streaming Parallel Port data

21

RD2/SPP2

RD2: I/O pin of PORTD, PIN 2

SPP2: Streaming Parallel Port data

22

RD3/SPP3

RD3: I/O pin of PORTD, PIN 3

SPP3: Streaming Parallel Port data

23

RC4/D-/VM

RC4: I/O pin of PORTC, PIN 4

D-: USB differential minus line (input/output)

VM: External USB transceiver VM input

24

RC5/D+/VP

RC5: I/O pin of PORTC, PIN 5

D+: USB differential plus line (input/output).

VP: External USB transceiver VP input

25

RC6/TX/CK

RC6: I/O pin of PORTC, PIN 6

TX: EUSART asynchronous transmit

CK: EUSART synchronous clock (see RX/DT).

26

RC7/RX/DT/SDO

RC7: I/O pin of PORTC, PIN 7

RX: EUSART asynchronous receive

DT: EUSART synchronous data (see TX/CK).

SDO: SPI data out

27

RD4/SPP4

RD4: I/O pin of PORTD, PIN 4

SPP4: Streaming Parallel Port data

28

RD5/SPP5/P1B

RD5: I/O pin of PORTD, PIN 5

SPP5: Streaming Parallel Port data

P1B: Enhanced CCP1 PWM output, channel B

29

RD6/SPP6/P1C

RD6: I/O pin of PORTD, PIN 6

SPP6: Streaming Parallel Port data

P1C: Enhanced CCP1 PWM output, channel C

30

RD7/SPP7/P1D

RD7: I/O pin of PORTD, PIN 7

SPP7: Streaming Parallel Port data

P1D: Enhanced CCP1 PWM output, channel D

31

VSS

Ground

32

VDD

Positive Power Supply (+5V)

33

RB0/AN12/INT0/FLT0/SDI/SDA

RB0: I/O pin of PORTB, PIN 0

AN12: Analog input 12

INT0: External interrupt 0

FLT0: Enhanced PWM Fault input (ECCP1 module)

SDI: SPI data in

SDA: I2C data I/O

34

RB1/AN10/INT1/SCK/SCL

RB1: I/O pin of PORTB, PIN 1

AN10: Analog input 10

INT1: External interrupt 1

SCK: Synchronous serial clock input/output for SPI mode

SCL: Synchronous serial clock input/output for I2C mode

35

RB2/AN8/INT2/VMO

RB2: I/O pin of PORTB, PIN 2

AN8: Analog input 8

INT2: External interrupt 2

VMO: External USB transceiver VMO output

36

RB3/AN9/CCP2/VPO

RB3: I/O pin of PORTB, PIN 3

AN9: Analog input 9

CCP2: Capture 2 input/Compare 2 output/PWM2 output

VPO: External USB transceiver VPO output

37

RB4/AN11/KBI0/CSSPP

RB4: I/O pin of PORTB, PIN 4

AN11: Analog input 11

KBI0: Interrupt-on-change pin

CSSPP: SPP chip select control output

38

RB5/KBI1/PGM

RB5: I/O pin of PORTB, PIN 5

KBI1: Interrupt-on-change pin

PGM: Low-Voltage ICSP Programming enable pin

39

RB6/KBI2/PGC

RB6: I/O pin of PORTB, PIN 6

KBI2: Interrupt-on-change pin

PGC: In-Circuit Debugger and ICSP programming clock pin.

40

RB7/KBI3/PGD

RB7: I/O pin of PORTB, PIN 7

KBI3: Interrupt-on-change pin

PGD: In-Circuit Debugger and ICSP programming data pin.

 

PIC18F4550 Microcontroller Features

PIC18F4550 – Simplified Features

CPU

8-bit

Total Number of Pins

40

Operating Voltage

+4.0 to +5.5 V (+5.5V being absolute maximum)

Number of  programmable I/O pins

35

Communication Interface

USB Serial Interface (23,24 PINS) [Can be used for programming this controller]

Master/Slave SPI Serial Interface(7,26,33, 34 PINS) [Can be used for programming this controller]

Programmable Serial UART(25,26 PINS) [Can be used for programming this controller]

Two-wire Serial Interface(33, 34 PINS)[Can be used to connect peripheral devices like sensors and LCDs]

ADC Module

13channels, 10-bit resolution ADC

Timer Module

One 8-bit counter, Three 16-bit counter

Analog Comparators

2

PWM channels

4

External Oscillator

Up to 48MHz

Internal Oscillator

32KHz-8MHz  Calibrated Internal Oscillator

Program Memory Type

Flash

Program Memory

32Kbytes[10000 write/erase cycles]

CPU Speed

12 MIPS

RAM Bytes

2KBytes

EEPROM

256Bytes

Watchdog Timer

Programmable Watchdog Timer with Separate On-chip Oscillator

Power Save Modes

Available

Operating Temperature

-40°C to +85°C(+85 being absolute maximum, -40 being absolute minimum)

 

PIC18F4550 Replacements

PIC18F4455

 

PIC18F4550 Family

PIC18F2455, PIC18F2550

 

Where to use PIC18F4550 Microcontroller

PIC18F4550 is easy to program PIC controller. The controller program memory satisfies most applications. Along with 35 programmable Input/output pins, it can interface many peripherals easily. With Watchdog timer to reset under error it can be used on systems with no human interference. Having USB interface feature you can communicate with controller from any PC without any hassle. With many features added together further promotes use of PIC18F4550 controller.

 

How to Use PIC18F4550 Microcontroller

PIC18F4550 is used as any other microcontroller. Micro controllers are not like digital ICs. For working of PIC18F4550, first we need to save the appropriate program file in the controller FLASH memory. Once power is provided, the controller executes this code saved in FLASH memory to create the response.

Entire process of using PIC18F4550 goes like this -

  • List the functions to be executed by PIC18F4550
  • Write the functions in IDE application using relative programming language
  • (MPLAB IDE for Windows OS [ www.microchip.com/mplabx-ide-windows-installer ]
  • (For these IDE the functions should be written in ‘C’ language)
  • After writing the desired program compile for error elimination using IDE.
  • After successful compilation IDE application generates HEX file for the written program.
  • Choose the programming device (usually ‘PIC kit 3’) which establishes communication between PC and PIC18F4550.
  • Run the HEX file dumping software which is related to the chosen programming device.
  • Choose the appropriate program HEX file.
  • Burn the HEX file of program in PIC18F4550 flash memory using this program.
  • Disconnect the programmer, connect the appropriate peripherals for the controller and power the system.
  • After connecting the power the controller executes this HEX code saved in the memory and performers tasks as instructed.

 

Applications of PIC18F4550

There are thousands of applications for PIC18F4550 -

  • Hobbyist and Engineer general projects
  • Development board for learners
  • Temperature control systems
  • Analog signal measuring and manipulations.
  • Embedded systems like coffee machine, vending machine.
  • Motor control systems
  • Peripheral Interface system

 

2D Model of PIC18F4550

PIC18F4550 2D Model


Comments