Help me code EUART pic16f883 asm

Discussion in 'Embedded Systems and Microcontrollers' started by kidteam, Jan 1, 2013.

  1. kidteam

    Thread Starter New Member

    Dec 22, 2011
    1
    0
    hi all
    i'm try code asm with pic16f883
    code transmit
    code
    Code ( (Unknown Language)):
    1.  
    2. #include p16f883.inc
    3. __config _CONFIG1, _FOSC_XT& _WDTE_OFF& _PWRTE_OFF& _MCLRE_OFF& _CP_OFF& _CPD_OFF& _BOR_OFF& _IESO_OFF& _FCMEN_OFF& _LVP_OFF& _DEBUG_OFF
    4. __config _CONFIG2, _BOR21V& _WRT_OFF
    5. ;thach anh 3.686400 MHz
    6.         c1          equ         0x20
    7.         c2          equ         0x21
    8.         c3          equ         0x22
    9.         org         0x0000
    10.         goto        start
    11. start
    12.         banksel     ANSEL
    13.         clrf        ANSEL
    14.         clrf        ANSELH
    15.         banksel     TXSTA
    16.         bsf         TXSTA,      TXEN
    17.         bcf         TXSTA,      SYNC
    18.         banksel     RCSTA
    19.         bsf         RCSTA,      RCEN
    20.         bsf         RCSTA,      SPEN
    21.         banksel     SPBRG
    22.         clrf        SPBRGH
    23.         movlw       d'5'
    24.         movwf       SPBRG
    25. main
    26.         banksel     PIR1
    27.         btfss       PIR1,       TXIF
    28.         goto        $-1
    29.         banksel     TXREG
    30.         movlw       'K'
    31.         movwf       TXREG
    32.         call        delay
    33.         goto        main
    34. ;--------------------------------------------------------------
    35. delay
    36.         banksel     0
    37.         movlw       100
    38.         movwf       c1
    39. loop2
    40.         movlw       50
    41.         movwf       c2
    42. loop1
    43.         movlw       3
    44.         movwf       c3
    45.         decfsz      c3,         1
    46.         goto        $-1
    47.         decfsz      c2,         1
    48.         goto        loop1
    49.         decfsz      c1,         1
    50.         goto        loop2
    51.         return
    52. ;==============================================================
    53.                
    54. end
    55.  
    is work fine
    can i help me code receive.
    Please help me.
     
  2. joev

    New Member

    Jan 11, 2013
    1
    0
    You're almost done. Once you get the transmit to work, you've verified that the baud rate is correct. You've already go the receiver enabled (RCEN, SPEN). Now just poll RCIF for received data and read RCREG.
     
Loading...