PIC18F452 UART code and Proteus Simulation

This post provides the UART code (compiled in MPLAB + HI-TECH C) for PIC18F452 (e-g to connect PIC18F452 controller with PC using serial adapter). Complete project code and the proteus simulation can be downloaded from the Downloads section at the bottom of this post. The following diagram shows the required circuit.

PIC18F452 UART

A crystal of 10MHz is used with PIC18F452. This crystal frequency is fed into PLL of PIC18F452, which boosts it to 40MHz. As we know that any PIC micro controller has an architecture which executes an instruction in 4 CPU cycles, hence this 10Mhz crystal + PLL makes this PIC run at 10MIPS (Million of instructions per second). The code for UART initialization is shown below.

In this function a baudrate of 9600 bps is defined (which you can easily change by changing the value from 9600 to any other number ). _XTAL_FREQ is basically the crystal frequency ( PLL output is 40MHz, which is the CPU frequency). After that different parameters of the serial port are being configured e-g the SPFRG register which is responsible for the baudrate generation for the UART. This function defines the UART to have these properties,

  • Baudrate = 9600 bps
  • 8 bit data mode
  • 1 start and 1 stop bit
  • No parity bit
  • No flow control

PIC18F452 UART schematic

The code for the main function is shown below.

Downloads

The code was compiled in MPLAB v8.76 with HI-TECH C and simulation was made in Proteus v7.7.
To download code and proteus simulation click here.

 

For more detail: PIC18F452 UART code and Proteus Simulation

About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:
LinkedinTwitter