登录站点

用户名

密码

串行通信(异步串行I/0模式)的应用实例

已有 729 次阅读  2009-10-14 10:02   标签串行  实例  异步  通信  模式 

串行通信(异步串行I/0模式)的应用实例

3.1应用实例的说明

异步串行I/O模式通信的方法如下(主时钟输入振荡频率设为16MHz)。

(1)使用UART0。在串行数据输出时使用P14/TxDo管脚,在串行数据输入时使用Pl5/RxDo管脚。

(1) 通信格式如下(SFR设定的详细内容可参照4.3.2节):

传送速度  :约9615bps    传送数据长度  :8位

停止位    :1位          校验位    :偶数校验

其传送格式如图4.14所示,传送速度的设定如图4.15所示。


(1) 发送数据时,给变量trn_buf[req_cnt](发送缓冲区)设定任意值,并将变量req_cnt (发送请求计数)加1(最大值为7)。实际发送时,当变量trn_cnt(发送计数) 和变量rec_cnt不一致时,将变量trn_buf[trn_cnt】的内容写到发送缓冲寄存器uOtbl,发送数据,然后将变量trn_cnt加1。

(2) 接收处理时,根据接收中断请求ir_sOric判断接收是否结束。如果接收结束,就    将接收缓冲寄存器uOrbl的内容保存到变量rcv_buf[rcv_cnt](接收缓冲区),然后将变量rcv_cnt(接收计数)加1。


在本示例程序中,由于SFR的位配置的原因,可能会操作不使用的功能位。必须根据用户系统的使用情况设定这些位的设定值。

3.2主要寄存器的初始设定

(1)UART0发送/接收模式寄存器的设定(如图4.16所示)。


(1)    UART0发送/接收控制寄存器O的设定(如图4.17所示)


4.17 UART0发送,接收控制寄存器0的设定

 

(1)    UART0发送/接收控制寄存器1的设定(如图4.18所示)
 

(4)UART0发送/接收控制寄存器2的设定(如图4.19所示)
 

(5)UARTO传送速度寄存器的设定(如图4.20所示)
 

3.3使用的管脚

 

异步串行I/0模式使用的管脚和功能如表4.4所示。

 


异步串行I/O模式使用的管脚如图4.21所示。
 

3.4使用的存储器

 

异步串行I/O模式使用的存储器如表4.5所示。
 

异步串行I/0模式使用的RAM和定义如表4.6所示。
 

3.5流程图

 

本应用实例由以卜几个功能模块组成:

 

(1)    初始运行和主循环程序,其流程图如图4.22所示。
 

(1)    SFR的初始设定程序,其流程图如图4.23所示。
 

(1)    串行发送和接受(异步串行I/O)处理程序,其流程图如图4.24所示。
 

3.6   参考程序

 





上一篇: 定时器x(定时器模式)的应用实例 下一篇: A/D转换器(读取使用模拟输入的键)的应用实例

分享 举报