500)this.style.ouseg(this)">  可自动唤醒,任意串口的接收端有数据出现时自动唤醒;  宽工作电源电压(2.4V~5.5V);  低工作电流,典"> 500)this.style.ouseg(this)">  可自动唤醒,任意串口的接收端有数据出现时自动唤醒;  宽工作电源电压(2.4V~5.5V);  低工作电流,典" />
多串口扩展器在单片机系统中的应用

多串口扩展器在单片机系统中的应用

ID:22322047

大小:54.50 KB

页数:5页

时间:2018-10-28

多串口扩展器在单片机系统中的应用_第1页
多串口扩展器在单片机系统中的应用_第2页
多串口扩展器在单片机系统中的应用_第3页
多串口扩展器在单片机系统中的应用_第4页
多串口扩展器在单片机系统中的应用_第5页
资源描述:

《多串口扩展器在单片机系统中的应用》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、多串口扩展器在单片机系统中的应用

2、第1lunouseg(this)">500)this.style.ouseg(this)">  可自动唤醒,任意串口的接收端有数据出现时自动唤醒;  宽工作电源电压(2.4V~5.5V);  低工作电流,典型工作电流为4.4mA。  该器件具有DIP型、SOIC型和SSOP型多种封装形式。引脚排列如图1所示。引脚功能见表1。3应用技术  在使用SP2337时应遵循许多原则。  SP2337适用于串行数据为7位的应用领域。  串口0—串口2为三个较高波特率的串口(子串口)。  串口3为高波

3、特率串口(母串口),它的数据传输速率是子串口的4倍。如当输入时钟频率fos,cin为10MHz,串口3的波特率为19200b/s。串口0—2的波特率为19200b/s/4=4800b/s;如果需要在串口0—串口2上获得波特率K,则需按以下公式改变时钟频率。  500)this.style.ouseg(this)">  ADRI1、ADRI0为下行地址线,ADRI1ADRI0=00、01、10时,分别对应子串口0,1,2,ADR1ADR0=11时为串口3的地址,同时,它也是SP2337的命令/数据口地址。  ADRO1、A

4、DRO0为上行数据的串口地址线,ADRO1ADRO0=00、01、10时分别对应子串口0、1、2,当上位机的UART接收到由串口3发送的数据时,立即读取地址线ADRO1和ADRO0的状态,根据ADRO1和ADRO0的状态判断数据由哪个串口发送。  唤醒条件为向串口0—串口3的任意一个数据接收端口写入一个字节数据。由于SP2337的唤醒时间为25ms左右,故用于芯片唤醒的数据将不能够被正确接收,因此,应采用下面的芯片唤醒流程:先发送一个字节数据,用于唤醒芯片,延时25ms后再发送有效的数据。  为了快速可靠地传输批量数据,

5、可以采用下面的方法实现数据快速可靠接收、发送。  如上位机只需要向一个串口发送数据,则可向该串口发送完一个字节数据,再向地址11(串口3的地址)连续发送四个字节“0X00”,其后再向需要发送数据的串口发送一个字节数据。再向串口3发送四个字节“0X00”,按此方式循环发送即可。  如果上位机需向两个串口分别发送两个数据块,则可分别向两个相应的子串口发送一个字节的数据后再向串口3发送四个字节的“0X00”,再分别将两个数据块的下一个字节发送到两个子串口。  如果上位机有三个数据块需要分别向三个子串口发送,则可先向三个子串口分

6、别发送一个字节的有效数据,再向串口3发送两个字节的“0X00”,再循环向3个子串口发送有效的数据。  注意写入串口3用于延时的数据只能是“0X00”,如果写入其他数据,将产生不可预料的结果。  SP2337数据发送过程如下:如果上位机需要将数据“0X28”由串口2发送出去,则需先将ADRI1置为“1”,ADRI0置为“0”,再将数据“0X28”通过上位机的UART口发送到串口3。  SP2337可执行的命令仅有两条即复位和睡眠命令。当上位机通过串口3(地址为“11”)写入数据“0X35”或“0XB5”时,则芯片执行软件复

7、位,复位时间约为21.75ms,当写入的数据为“0X55”或“0XD5”时,则芯片进入睡眠状态。4具体应用  利用SP2337可将仅具有一个UART串口的单片机扩展为具有3个UART串口的单片机。下面以常用的AT89C51单片机为例给出相应的串口扩展电路,如图2所示。500)this.style.ouseg(this)">  图2中,AT89C51的UART口与SP2337的串口3相连。串口3同时也作为命令/数据口。ADRI1和ADRI0与AT89C51的P2.3、P2.2口线相连,用于发送数据时相应串口0—2的选择,A

8、DRO1和ADRO0与AT89C51的P2.1、P2.0口线相连,用于判别接收的数据来自串口0—2的哪一个。SP2337的时钟频率选为20MHz,此时,串口3的波特率为19200b/s,串口0—2的波特率为9600b/s。下面给出与上述电路配套的通信程序。程序采用C51编制。  #include<regh1.h>  500)this.style.ouseg(this)">  500)this.style.ouseg(this)">  500)this.style.ouseg(this)">  500)this

9、.style.ouseg(this)">  500)this.style.ouseg(this)">  500)this.style.ouseg(this)">  500)this.style.ouseg(this)">  500)this.style.ouseg(this)">  500)this.style.ou

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。