logo
 
首页-> 产品信息-> 8位单片机
 
入门指南
开发&工具
应用方案
客户支持
 
快速编程
一、IO口设置 二、AD设置 三、Timer定时设置 四、捕获设置
五、比较输出设置 六、PWM比较输出设置 七、时基设置 八、外部中断的设置
九、SPI的设置 十、UART的设置 十一、LVR的设置 十二、看门狗的设置
十三、STOP模式的设置 十四、HALT的设置    
警告:由于格式的原因,直接从网页上复制程序,粘贴到编译环境里面,编译时会出错。敬请直接下载word档,从word里面直接复制到编译环境里面即可。 ( word原文件下载)

UART的设置

1.发送模式:采用查询方式发送数据

 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.发送模式:采用中断方式发送数据

 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.接收模式:采用查询方式接收数据

  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.接收模式:采用中断方式接收数据

  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
版权所有:北京凌阳爱普科技有限公司 京ICP备05061966号 未经许可网站内容严禁复制、转载,任何人不得擅自使用
友情链接:凌阳爱普 嵌入式培训 安卓培训 凌阳大学计划 北京嵌入式培训 深圳嵌入式培训 成都嵌入式培训