How to take input with PIC18F4550 Microcontroller

Summary

Any microcontroller based system typically has an input and a corresponding output. Taking simple output with a PIC microcontroller has been explained in LED blinking with PIC18F4550. This article explains how to provide an input to the controller and get a corresponding output using PIC18F4550.

Description

 

PIC18F4550 has a total of 35 I/O (input-output) pins which are distributed among 5 Ports. Each Port of a PIC microcontroller corresponds to three 8-bit registers (TRIS, PORT & LAT) which should be configured to use the Port for general I/O purpose. For more details, refer LED blinking using PIC.

 
To configure a particular port/pin as input, the corresponding TRIS register/TRIS bit should be set to high (1). For output, the relevant TRIS register/bit should be set to low (0).
 
For example, for PortD
·         To set the entire PortD as input               
TRISD
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Value
1
1
1
1
1
1
1
1
 
 
·         To set only 3rd pin (RD2) of PortD as input                    
TRISD
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Value
-
-
-
-
-
1
-
-
 
 
·         To set  1st pin (RD0) as output and 4th pin (RD3) of PortD as input                   
TRISD
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Value
-
-
-
-
1
-
-
0
 
 
In this program, a tactile switch has been connected on pin RA5 of PortA to provide input to the microcontroller. The input is monitored as an output on LED connected to pin RA0. The connections are shown in the adjoining circuit diagram.

Circuit Diagram

Video

Code

This Code is only visible to Registered users. Please Login/Register

 

Components

LEDs | Light Emitting Diode
LED
 
Light emitting diodes (LEDs) are semiconductor light sources. The light emitted...
PIC18F4550 Microcontroller Image
PIC18F4550

PIC18F4550 is an 8-bit microcontroller of PIC18 family. PIC18F family is based on 16-bit instruction set architecture. PIC18F4550 consists of 32 KB flash memory, 2 KB SRAM...