logo
HomeAbout  |  Products  |  ApplicationsDownload  |  Contact Us  |  中文
 
Home-> Products-> 8-bit MCU
 
IC Induction
Develop & Tool
Application Project
Customer Service
 
Quick Coding
1 IO Ports 2 AD Converter
3 Timers 4 Capture
5 Compare 6 PWM 7 Interval Timer and Buzzer 8 External Interrupts
9 SPI 10 UART 11 LVR 12 Watch Dog Timer
13 STOP Mode 14 HALT Mode    

10 UART

1. Send data by polling method.

 clr   P_IOC_Buf,4
 clr   P_IOC_Buf,5
 clr   P_IOC_Attrib,4
 clr   P_IOC_Attrib,5
 set   P_IOC_Dir,4
 clr   P_IOC_Dir,5       ;PC5(Rx) as input,PC4(Tx) as output
 L_UART_Rx:
 Lda   #(C_UART_RXEN+C_UART_TXEN) ;enable UART TX & RX function
 Sta   P_UART_Ctrl
 Lda   #(C_UART_RXEN+C_UART_TXEN+C_UART_SOFTRST)
 Sta   P_UART_Ctrl ;reset UART
 Lda   #(C_UART_RXEN+C_UART_TXEN+C_UART_PSEL+C_UART_PEN)
      ;Int enable,enable parity check, even parity
 sta   P_UART_Ctrl
 lda   #$CC ;UART Baud Rate= 9600
 sta   P_UART_Baud
 lda   #(C_UART_OERR+C_UART_PERR+C_UART_FERR)
      ;clear error flag
 sta   P_UART_Status      
 L_TxReady:
 Tst   P_UART_Status,CB_UART_TXIF ;send data ready?
 Beq   L_TxReady
 Lda   #$98       ;send #$98
 Sta   P_UART_Data

2. Send data by interrupt.

 clr   P_IOC_Buf,4
  clr   P_IOC_Buf,5
  clr   P_IOC_Attrib,4
  clr   P_IOC_Attrib,5
  set   P_IOC_Dir,4
  clr   P_IOC_Dir,5       ;PC5(Rx) as input,PC4(Tx) as output
  L_UART_Rx:
  Lda   #(C_UART_RXEN+C_UART_TXEN) ;enable UART TX & RX function
  sta   P_UART_Ctrl
  lda   #(C_UART_RXEN+C_UART_TXEN+C_UART_SOFTRST)
  sta   P_UART_Ctrl     ;reset UART
  lda   #(C_UART_RXEN+C_UART_TXEN+C_UART_TXIE+C_UART_PSEL+C_UART_PEN)
       ;Int enable,enable parity check, even parity
  sta   P_UART_Ctrl
  lda   #$CC ;UART Baud Rate= 9600
  sta   P_UART_Baud
  lda   #(C_UART_OERR+C_UART_PERR+C_UART_FERR)
       ;clear error flag
  sta   P_UART_Status   
  cli 

3. Receive data by polling method.

  clr   P_IOC_Buf,4
  clr   P_IOC_Buf,5
  clr   P_IOC_Attrib,4
  clr   P_IOC_Attrib,5
  set   P_IOC_Dir,4
  clr   P_IOC_Dir,5       ;PC5(Rx) as input,PC4(Tx) as output
  L_UART_Rx:
  Lda   #(C_UART_RXEN+C_UART_TXEN)       
       ;enable UART TX & RX function
  sta   P_UART_Ctrl
  lda   #(C_UART_RXEN+C_UART_TXEN+C_UART_SOFTRST)
  sta   P_UART_Ctrl ;reset UART
  lda   #(C_UART_RXEN+C_UART_TXEN+C_UART_PSEL+C_UART_PEN)
       ;Enable parity check, even parity
  sta   P_UART_Ctrl
  lda   #$CC ;UART Baud Rate= 9600
  sta   P_UART_Baud
  lda   #(C_UART_OERR+C_UART_PERR+C_UART_FERR)   
       ;clear error flag
  sta   P_UART_Status         
  L_UART_Rx1:   
  tst   P_UART_Status,CB_UART_RXIF ;Rx data ready?
  beq   L_UART_Rx1       ;no
  lda   P_UART_Data       ;receive data

4. Receive data by interrupt.

  clr   P_IOC_Buf,4
  clr   P_IOC_Buf,5
  clr   P_IOC_Attrib,4
  clr   P_IOC_Attrib,5
  set   P_IOC_Dir,4
  clr   P_IOC_Dir,5      ;PC5(Rx) as input,PC4(Tx) as output
  L_UART_Rx:
  Lda   #(C_UART_RXEN+C_UART_TXEN)    
       ;enable UART TX & RX function
  sta   P_UART_Ctrl
  lda   #(C_UART_RXEN+C_UART_TXEN+C_UART_SOFTRST)
  sta   P_UART_Ctrl ;reset UART
  lda   #(C_UART_RXEN+C_UART_RXIE+C_UART_TXEN+C_UART_PSEL+C_UART_PEN)
      ;Int enable,enable parity check, even parity
  sta   P_UART_Ctrl
  lda   #$CC ;UART Baud Rate= 9600
  sta   P_UART_Baud
  lda   #(C_UART_OERR+C_UART_PERR+C_UART_FERR)
       ;clear error flag
  sta   P_UART_Status   
  cli
Copyright © BEIJING SUNNORTH TECHNOLOGY CO., LTD Web site:mcu.sunplusmcu.com online real name:凌阳单片机
Unauthorized copy or republish to the content of this website is forbidden. Any one cannot resume on ICP备05061966号