Transmitting and receiving data using UART protocol PIC Microcontroller
UART or serial communication is one of the important protocol used by the Microcontrollers to transmit and receive data from the external devices. Almost every controller is equipped with this protocol to make transmission and reception easier just using two pins. This tutorial will teach you to initialize and send data by using UART protocol PIC microcontroller.
I assume that you are familiar with the concept of UART and proceed to explain the steps to initialize and use it in PIC controller. If you are familiar with the concept of UART kindly go through this link before proceeding.
REGISTERS USED IN UART:
TXSTA REGISTER: This register have the status and control bits of the Transmission in the controller.
RXSTA: This register holds the status and control bits of the Reception in the microcontroller.
SPBRG: This register holds the value which decides the baud rate of the serial communication. The formula governing the calculation varies based on the modes high speed and low speed.
(Asynchronous) Baud Rate = FOSC/(64 (X + 1))
(Synchronous) Baud Rate = FOSC/(4 (X + 1))
Baud Rate = FOSC/(16 (X + 1))
Where X is the value of SPBRG register.
Since we are using standard 9600 bps, we are about to use 129 in the SPBRG register. According to the datasheet it results in giving 9600 bps 20MHZ crystal. You can find brief explanation of the bits in these registers in the data sheet of this controller.
Current Project / Post can also be found using:
- lcd displey project for pic