we provide information about gadget news and price information and specs samsung, huawei, Tecno Price products, Specifications, Features and more information about software from blackberry and android

Sunday, September 9, 2012

Implementing USART using PIC16F877A + MPLAB X

Implementing USART using PIC16F877A + MPLAB X - Did you know that every day there is always a new technology that is created? if you want to know please refer to the blog Gadget News well now we will discuss first about Implementing USART using PIC16F877A + MPLAB X as you need now, we have compiled this article carefully, so please see to finish.

Articles : Implementing USART using PIC16F877A + MPLAB X
full Link : Implementing USART using PIC16F877A + MPLAB X

You can also see our article on:


Implementing USART using PIC16F877A + MPLAB X


The Universal Synchronous Asynchronous Receiver Transmitter (USART) module is one of the two serial I/O modules in PIC16F877A. (USART is also known as a Serial Communications Interface or SCI.) The USART can be configured as a full duplex asynchronous system that can communicate with peripheral devices such as CRT terminals and personal computers, or it can be configured as a half duplex synchronous system that can communicate with peripheral devices such as A/D or D/A integrated circuits, serial EEPROMs etc.

5 Registers are used for USART in PIC16F877A and they are 

  • TXSTA - Transmit status and control Register
  • RCSTA - Receiver status and control Register
  • TXREG -USART Transmit Data Register 
  • RCREG - USART Receive Data Register
  • SPBRG - Baud Rate Generator Register
Steps to follow when setting up an Asynchronous Transmission
1.Initialize the SPBRG register for the appropriate baud rate. If a high speed baud rate is desired,
set bit BRGH .
2. Enable the asynchronous serial port by clearing bit SYNC and setting bit SPEN.
3. If interrupts are desired, then set enable bit RCIE.
4. If 9-bit reception is desired, then set bit RX9.
5. Enable the reception by setting bit CREN.
6.Flag bit RCIF will be set when reception is complete and an interrupt will be generated if enable bit RCIE is set.
7. Read the RCSTA register to get the ninth bit (if enabled) and determine if any error occurred during reception.
8. Read the 8-bit received data by reading the RCREG register.
9. If any error occurred, clear the error by clearing enable bit CREN.
10. If using interrupts, ensure that GIE and PEIE (bits 7 and 6) of the INTCON register are set.

To start programming in MPLAB X follow the steps as in the :  Blinking a LED using MPLAB X , PIC16F877A

up to 9th step same as in  Blinking a LED using MPLAB X , PIC16F877A

The main program have a change according to the steps for Asynchronous Transmission
#########################################################################


/* Asynchronous Transmission in  PIC16F877A
 * File:   main.c
 * Author: ebin
 *
 * Created on 10 September, 2012, 11:39 AM
 */

#include <htc.h>

#if defined(WDTE_OFF)
__CONFIG(WDTE_OFF & LVP_OFF);
#elif defined (WDTDIS)
__CONFIG(WDTDIS & LVPDIS);
#endif
int main(void)
{
    TRISC6 = 0;
    TRISC7 = 1;
    SPBRG = 25 ;
    BRGH =1 ;
    SPEN =1 ;
    SYNC = 0 ;
    CREN =1 ;
    TXEN =1;
    

    while (1)
    {
        TXREG ='A';
        while(TXIF == 0);
        TXIF=0;
    }
 return 0;
}


##############################################################################



article Implementing USART using PIC16F877A + MPLAB X has been completed in the discussion

hopefully the information Implementing USART using PIC16F877A + MPLAB X that we provide can be useful for you to know the development of technology in the present

articles Implementing USART using PIC16F877A + MPLAB X we have conveyed to you, if feel this information is useful and you want to bookmark or share so that more people who know please use link https://profsmythe.blogspot.com/2012/09/implementing-usart-using-pic16f877a.html.

Tag :
Share on Facebook
Share on Twitter
Share on Google+
Tags :

Related : Implementing USART using PIC16F877A + MPLAB X

0 comments:

Post a Comment