RS-232多串口扩展器件SP2538及其应用
RS-232多串口扩展器件SP2538及其应用

RS-232多串口扩展器件SP2538及其应用摘要:SP2538是采用低功耗CMOS工艺生产的专用串行口(RS232)扩展芯片,它可将单片机或DSP等原有的单UART串口扩展至5个全双工UART口,从而解决了此类器件串口太少的问题。
文中介绍了SP2538的性能特点,引脚功能及应用方法,并以单片机为例给出了多串口扩展的硬件电路及相应的通信程序。
关键词:RS-232;串口扩展;单片机;SP25381概述SP2538是专用低功耗串行口扩展芯片,该芯片主要是为解决当前基于UART串口通信的外围智能模块及器件较多,而单片机或DSP原有的UART串口又过少的问题而推出的。
利用该器件可将现有单片机或DSP的单串口扩展至5个全双工串口。
与其它具有多串口的单片机或串口扩展方案相比,采用SP2538实现的多串口扩展方案,具有扩展串口数量多、对扩展单片机的软硬件资源占用少、使用方法简单、待扩展串口可实现较高的波特率、成本低廉、性价比高等优点。
同时,它还具有如下特点:●可将单UART串口扩展为5个UART串口;●工作速率范围宽,5个子串口可产生2400bps~9600bps之间的任意波特率;●可全双工工作,母串口和所有子串口都支持全双工UART传输模式;●工作电源电压范围宽:3.3V~5.5V;●典型工作电流为4.6mA(子串口速率为9600bps、VCC为3.3V时);●资源占用少,除占用上位机原有串行口中断外,不占用任何中断资源;●具有节电模式,进入节电模式后,其典型静态电流约8μA;●上位机发送数据可自动唤醒;●输出误差小,所有子串口的输出波特率误差均小于0.08%;●误码率低于10-9(所有串行口数据输入波特率误差小于等于±2%);●接收范围宽,波特率误差小于2.5%时,子串口即可完全正确接收;母串口的接收范围更宽,并可自适应56000bps和57600bps两种标准波特率(fosc—in为20.0MHz时);●可用上位机进行监控,并具有上电复位和看门狗监控输出,适用于没有看门狗或需要更多重监控的高可靠上位机程序监控系统。
RS232RS485串口服务器解决方案

一、 技术特点及应用方式 ..................................................................................................................................3
串口服务器可以与其他嵌入式网络设备联合使用。但是两个设备的工作模式必须 匹配。
在串口服务器为 Server 模式时,其他网络设备必须为 Client 模式。
串口服务器为 Client 模式时,其他网络设备必须为 Server 模式 串口服务器为 UDP 广播模式时,其他网络设备必须为 UDP 广播模式。 在与其他网络设备通讯时,建议开启串口服务器的<自适应数据帧>模式,由串口 服务器完成串口数据帧重组,用于消除拆包现象。
在使用 Socket 方式时,请打开 TCP/IP 的 KeepAlive 机制,并将检测超时设 置为 10 秒,这样可以快速检测出网络故障,并做出相应处理。
两个(或多个)串口服务器透明传输
串口服务器 A 设置为 TCP/IP Server 模式,串口服务器 B 设置为 TCP/IP Client, 并将 B 的远程服务器地址设置为 A 的 IP 地址,这 2 个串口服务器就可以实现 透明传输。在 UDP 广播模式下,多个串口服务器的接收端口设置为 A 的发送端 口,A 的接收端口设置为多个串口服务器的发送端口,这样就可以实现串口服 务器的单对多透明传输。 串口服务器与其他嵌入式网络设备联合使用
二、 串口服务器工作模式 ..................................................................................................................................8
干燥箱上装的通讯接口RS232与RS485的功能和区别

干燥箱上装的通讯接口RS232与RS485的功能和区别RS232接口是1970年由电子工业协会(EIA)联合贝尔系统、调制解调器及计算机终端生产共同制定的用于串行通讯的标准。
它的全名是"数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准'该标准规定采纳一个25个脚的 DB25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。
DB25的串口一般只用到的管脚只有2(RXD)、3(TXD)、7(GND)这三个,随着设备的不断改进,现在DB25针很少看到了,他的是DB9的接口,DB9所用到的管脚比DB25有所变化,是2(RXD)、3(TXD)、5(GND)这三个。
因此现在都把RS232接口叫做DB9。
元器件常识:市场上把公头的接插件叫做DRXX,母头的叫DBXX,比如我们电脑上的串口,在市场上叫做DR9,不是DB9,许多人都误叫做DB9,实际上的DB9是两个把两个DR9相互连接在一起的接口。
在文章中,我把全部的串口设备接口都统一叫做RS232接口。
RS-485接口由于RS232接口标准消失较早,难免有不足之处,主要有以下四点:(1) 接口的信号电平值较高,易损坏接口电路的芯片,又由于与TTL 电平不兼容故需使用电平转换电路方能与TTL电路连接。
(2) 传输速率较低,在异步传输时,波特率为20Kbps;因此在"南方的老树51CPLD开发板'中,综合程序波特率只能采纳19200,也是这个缘由。
(3) 接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输简单产生共模干扰,所以抗噪声干扰性弱。
(4) 传输距离有限,大传输距离标准值为50英尺,实际上也只能用在50米左右。
针对RS232接口的不足,于是就不断消失了一些新的接口标准,RS-485就是其中之一,它具有以下特点:1. RS-485的电气特性:规律"1'以两线间的电压差为+(26)V表示;规律"0'以两线间的电压差为-(26)V表示。
不同类型串口的应用场景 -回复

不同类型串口的应用场景-回复串口是一种常见的通信接口,可连接各种外设和设备。
不同类型的串口具有不同的特点和适用场景,下面我们将以不同类型串口的应用场景为主题,逐步探讨各种串口的特点和应用。
1. RS232串口RS232串口是最常见的串口类型之一,它是一种具有较低传输速率和较短传输距离的串行通信接口。
RS232串口适用于一些简单的数据传输场景,如连接计算机和打印机、调试串口设备等。
由于其传输速率较低,而且不能实现远距离传输,因此在高速数据传输和长距离通信方面相对不那么适用。
2. RS485串口RS485串口是一种常用的工业级串口,它具有较高的传输速率和较长的传输距离。
RS485串口可以实现多主多从的通信,适用于需要进行长距离通信的场景,如工业自动化控制系统、楼宇自动化系统等。
由于RS485串口支持多点通信,可以连接多个设备,因此在一些需要将多个设备进行集中管理和控制的场景中应得到广泛应用。
3. USB串口USB串口是一种通过USB接口进行串口通信的方式。
它能够提供较高的传输速率,同时还支持热插拔和即插即用的特性。
USB串口广泛应用于PC和外设之间的数据传输,如连接数码相机、手机、蓝牙模块等。
此外,由于USB接口在现代计算机中普遍存在,因此USB串口也常用于连接一些必须与计算机进行通信的设备,如微控制器、开发板等。
4. TTL串口TTL串口是一种工作电平为0~5V的串口,它通常被用作与微控制器或嵌入式系统进行通信的接口。
TTL串口可以通过UART(通用异步收发传输器)来实现数据传输。
由于TTL串口的电平逻辑与大多数单片机的工作电平兼容,因此在嵌入式系统的开发中常常使用TTL串口进行调试和数据传输。
5. Bluetooth串口Bluetooth串口也称为蓝牙串口,它是通过蓝牙无线技术实现的串口通信。
蓝牙串口适用于需要无线传输数据的场景,如无线传感器网络、智能家居系统等。
蓝牙串口具有较高的传输速率和较低的功耗,可以实现远距离通信,并且可以方便地与各种设备进行无线连接。
如何扩展51单片机的串行口?

在以单片机为核心的多级分布式系统中,常常需要扩展单片机的串行通信口,本文分别介绍了基于SP2538专用串行口扩展芯片及Intel8251的两种串行口扩展方法,并给出了实际的硬件电路原理及相应的通信程序段。
关键词:串口扩展;单片机;SP2538;Intel82511 引言在研究采场瓦斯积聚模拟试验台的过程中,笔者设计了主从式多机采控系统结构。
主从式多机控制系统是实时控制系统中较为普遍的结构形式,它具有可靠性高,结构灵活等优点。
当选用单串口51单片机构成这种主从式多机系统时,51单片机一方面可能要和主机Computer通信,一方面又要和下位机通信,这时就需要扩展串行通道。
本文具体介绍了两种串行通道的扩展方法。
2 串行口的扩展方法常用的标准51单片机内部仅含有一个可编程的全双工串行通信接口,具有UART的全部功能。
该接口电路不仅能同时进行数据的发送和接收,也可作为一个同步移位寄存器使用。
当以此类型单片机构成分布式多级应用系统时,器件本身的串口资源就不够用了。
笔者在实际开发中,查阅了有关资料,总结出如下两种常用而有效的串行通道扩展方法。
2.1 基于SP2538的扩展方法SP2538是专用低功耗串行口扩展芯片,该芯片主要是为解决当前基于UART串口通信的外围智能模块及器件较多,而单片机或DSP原有的UART串口又过少的问题而推出的。
利用该器件可将现有单片机或DSP 的单串口扩展至5个全双工串口。
使用方法简单、高效。
在应用SP2538扩展串行通道时,母串口波特率K1=2880*Fosc_in,单位是MHz,且Fosc_in小于20.0MHz 在SP2538输入时钟Fosc_in =20.0MHz时母串口可自适应上位机的56000bps和57600bps两种标准波特率输入。
子串口波特率K2=480*Fosc_in。
母串口和所有子串口都是TTL电平接口,可直接匹配其他单片机或TTL数字电路,如需连接PC机则必须增加电平转换芯片如MAX202 、MAX232 等。
UART多串口扩展器SP2338DP及其应用

UART 多串口扩展器 SP2338DP 及其应用 摘要 2338 是一种新颖的串口扩展器,可将一个高波特率的扩展为 3 个,解决了普通单片机串口太少的问题。
文中给出该器件的主要特性、引脚说明及应用说明,并以 8952 单片 机为例给出多串口扩展应用电路及相应软件。
关键词串口扩展单片机 1 概述 当前,以单片机为核心构成的智能化测控系统及电子产品不断涌现, 为了满足数字化及智能化要求,许多外围电路功能模块、部件、器件及传 感器也具备了串口通信功能。
而现阶段的 8 位、16 位、32 位单片机却大部分仅提供一个串口,这 样就很难满足系统中一方面要与具有功能的串口部件通信,另一方面又要 与上位机通信的要求。
利用 2338 多串口扩展器,可很好地解决此问题。
2 工作特性 2338 是采用低功耗工艺设计的多串口扩展芯片。
该器件可将一个高波特率的串口扩展为 3 个较高波特率的串口,从而 为系统需要多个串口时提供了很好的解决方案。
该器件的主要特性如下*可将 1 个串口扩展为 3 个串口。
*全双工异步工作 4 个串口都为全双工异步工作模式。
*高工作速度 1200——9600 可由晶振频率设定任意非标准波特率。
*波特率设置简单不需软件设置,只需更改输入时钟频率即可。
*波特率误差小每个串口的数据输出波特率误差小于 025 *接收波特率范围宽要求每个串口数据波特率小于 25 即可。
*数据传输误码率极低小于 10-9 接收的数据波特率误差小于 2 时。
*具有节电模式进入节电模式后典型静态电流为 05μ *可自动唤醒任意串口的接收端有数据出现时自动唤醒。
*宽工作电源电压 24——55 *低工作电流典型工作电流为 44 3 封装及引脚说明 该器件具有、和多种封装形式。
下面以封装形式为例,给出元件的封装及引脚排列,如图 1 所示。
引脚功能及说明见表 1 表 12338 引脚功能 名称编号类型 描述 018 串口 3 接收数据地址线 0117 串口 3 接收数据地址线 101 串口 3 发送数据地址线 012 串口 3 发送数据地址线 108 串口 0 数据接收 09 串口 0 数据发送 111 串口 1 数据接收 110 串口 1 数据发送 213 串口 2 数据接收 212 串口 2 数据发送 36 串口 3 数据接收 37 串口 3 数据发送 16 时钟输入 15 时钟输出 3,4,14-正电源 5-地 4 应用说明 2338 在使用时应遵循以下原则 ①2338 适用于串行数据为 8 位 的应用领域如数据位 7 为位,可选用 2337 器件; ②串口 0——2 为较高波特率的串口子串口。
成都思普 SP2327 8DP 数据应用手册

0XB5 将实现芯片软件复位 复位时间为 21.75mS 如果写入的数据为
0X55 或 0XD5 则芯片将进入 Sleep 模式
z 芯片 Wake up 条件为 向串口 0~串口 3 中的任意一个串口发送数据 由
于 SP2327/8XX 的唤醒时间需要 25mS 左右 用于芯片唤醒的数据将不能够被接
收 建议芯片唤醒处理流程 先发送一个用于唤醒芯片的数据 建议发送
0X63
延时至少 25mS 后即可进行有效的数据传输
注 由于串口 3 的波特率是串口 0 串口 1 串口 2 的波特率的 4 倍 同时
由于没有数据发送完标志 为了快速可靠的传输大量的数据可以采用下面的方法
完全有效的解决波特率不匹配的问题
管脚 类型
I I O O I O I O I O I O I O -----
管脚描述
串口 3 发送数据地址线 0 串口 3 发送数据地址线 1 串口 3 接收数据地址线 0 串口 3 接收数据地址线 1
串口 0 数据接收 串口 0 数据发送 串口 1 数据接收 串口 1 数据发送 串口 2 数据接收 串口 2 数据发送 串口 3 数据接收 串口 3 数据发送
时钟输入 时钟输出
电源 参考地
第 页 共 17页
成都思普科技有限公司
SP2327/8DP 应用手册 AP0219 2002.05
5 设计选型
SP232 X XX
表2 代码 A B
C
A BC
内容 一个 UART 串口扩展为三个 UART 串口芯片系列 7 发送 接收的数据位为 7 位数据 8 发送 接收的数据位为 8 位数据 DP 双列直插封装 SO 双列宽体贴片封装 SS 双列缩小窄体贴片封装
多串口卡让您事半功倍

多串口卡让您事半功倍多串口卡是一种可分配多个串/并行端口供终端连接的设备,每个终端可以通过它与主机进行通讯。
使用多用户卡是最便捷简单地解决扩展计算机外部设备数量的方案。
它可使计算机方便扩展串口或并口,所以也称为串并口扩展卡。
多串口卡有2种类型,一种插在PCI插槽里,可以扩展1~4个串口,安装上驱动后,在设备管理器中就可以看见com3,come4等. 还有一种是接在网络中,可以让多台电脑共享上面的串口资源,但是配置麻烦一些。
多串口卡功能串口RS-232多串口卡是简单易用、具有高可靠性能的PCI总线四串口卡产品。
您只需要在计算机的PCI扩展槽上插入串口RS-232多串口卡,所有的设置都可能通过软件完成,I/O地址和IRQ中断均由系统自动分配,无冲突之忧。
作为一款工业级的多串口卡产品,串口RS-232多串口卡具有很高的可靠性和抗恶劣环境能力。
串口RS-232多串口卡的每个端口均可以抗击2KV的静电冲击(ESD),而串口RS-232多串口卡更具有搞击8KV的静电冲击(ESD)和15KV的浪涌抑制(TVS)能力。
当您的计算机需要连接和控制多台RS-232设备,而计算机的COM1和COM2不够用或者稳定性不能满足要求时,串口RS-232多串口卡产品将提供您既经济实惠又稳定可靠的解决方案。
多串口卡的应用以太网交换机连接软饮料瓶生产线时moxa多串口卡的应用以太网交换机连接软饮料瓶生产线时moxa多串口卡的应用项目介绍一家世界领先的机械制造商,专业从事计划、开发、制造、安装机械设备。
正进行灌装、贴标及封装生产线的开发制造。
作为一家以太网控制机械自动化的创新者,公司正在扩展他们的机械集成方案,通过在单个机械或者机组中植入工业网络,力图为机械控制行业树立典范。
他们最初的方案之一是组装一条由三种主要机器构成的软饮料瓶生产线,包括灌装机、贴标机和封装机。
该公司想要找到顶尖级别、符合工业应用强度的以太交换机,为此生产线线及其他产品生产线组成“内部网络”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
RS-232多串口扩展器件SP2538及其应用摘要:SP2538是采用低功耗CMOS工艺生产的专用串行口(RS232)扩展芯片,它可将单片机或DSP等原有的单UART串口扩展至5个全双工UART口,从而解决了此类器件串口太少的问题。
文中介绍了SP2538的性能特点,引脚功能及应用方法,并以单片机为例给出了多串口扩展的硬件电路及相应的通信程序。
关键词:RS-232;串口扩展;单片机;SP25381概述SP2538是专用低功耗串行口扩展芯片,该芯片主要是为解决当前基于UART串口通信的外围智能模块及器件较多,而单片机或DSP原有的UART串口又过少的问题而推出的。
利用该器件可将现有单片机或DSP的单串口扩展至5个全双工串口。
与其它具有多串口的单片机或串口扩展方案相比,采用SP2538实现的多串口扩展方案,具有扩展串口数量多、对扩展单片机的软硬件资源占用少、使用方法简单、待扩展串口可实现较高的波特率、成本低廉、性价比高等优点。
同时,它还具有如下特点:●可将单UART串口扩展为5个UART串口;●工作速率范围宽,5个子串口可产生2400bps~9600bps之间的任意波特率;●可全双工工作,母串口和所有子串口都支持全双工UART传输模式;●工作电源电压范围宽:3.3V~5.5V;●典型工作电流为4.6mA(子串口速率为9600bps、VCC为3.3V时);●资源占用少,除占用上位机原有串行口中断外,不占用任何中断资源;●具有节电模式,进入节电模式后,其典型静态电流约8μA;●上位机发送数据可自动唤醒;●输出误差小,所有子串口的输出波特率误差均小于0.08%;●误码率低于10-9(所有串行口数据输入波特率误差小于等于±2%);●接收范围宽,波特率误差小于2.5%时,子串口即可完全正确接收;母串口的接收范围更宽,并可自适应56000bps和57600bps两种标准波特率(fosc—in为20.0MHz时);●可用上位机进行监控,并具有上电复位和看门狗监控输出,适用于没有看门狗或需要更多重监控的高可靠上位机程序监控系统。
2引脚功能SP2538具有双列直插DIP及双列贴片SOIC两种封装形式。
后缀为SP2538xxH的复位时输出高电平而后缀为SP2538xxL的复位时输出低电平,可分别适用高、低电平复位的单片机。
图1给出了DIP封装高电平复位SP2538DPH的外形及引脚排列图,各引脚的功能说明列于表1。
[!--empirenews.page--]表1 SP2538引脚说明引脚名称引脚编号引脚类型引脚描述TX5~TX01、3、5、7、9、14Output 串口5~串口0数据发送(连接上位机RX口)RX5~RX02、4、6、8、10、13Input串口5~串口0数据接收(连接上位机TX口)VCC111- - -电源1(逻辑电路电源)+RST12Output复位控制输出(适用于高电平复位的MCU)VCC215- - -电源2(时钟电路电源)GND16- - -电源地OSCI17Input时钟输入(用于波特率发生器等)OSCO18Output时钟输出ADRI0~ADRI219~21Input母串口(RX5)数据接收地址0~2ADRO0~ADRO222~24Output母串口(RX5)数据发送地址0~23应用说明3.1母串口收发数据过程与时序(1)上位机接收来自母串口的数据上位机从母串口接收到一个字节数据后,会立即读取SP2538的输出地址ADRO2~ADRO0(编码方式为:8-4-2-1码),然后根据输出地址的编码即可判断接收到的数据来自哪个子串口,上位机接收来自母串口的数据时序如图2所示。
(2)上位机向母串口发送数据发送数据时,上位机首先通过串口写入欲发送数据的子串口号,即先由上位机的串口发送数据地址ADRI2~ADRI0(编码方式:8-4-2-1码),然后将欲发送的数据由上位机串口发出。
需要注意的是:母串口的波特率是子串口的6倍,即上位机在连续向母串口发送6个字节的时间内,子串口才能发送完一个字节。
上位机向母串口发送数据的时序如图3所示。
表2列出了SP2538的操作时限要求。
表2 SP2538操作时限时限内容说明最小值典型值最大值Tpwr-up上电复位延时150ms……Treset芯片指令复位时间……50μsTwdt-rst看门狗溢出复位脉冲宽度80ms……Taddr-in数据接收地址保持时间10ns……Twake-up芯片唤醒延时……9msTaddr-hold数据发送地址保持时间(2/fosc-in)ms……Twdt-over看门狗溢出周期800ms……3.2其它说明母串口和所有子串口内部均具有独立的数据发送缓冲存储器(FIFOBuffer)和接收缓冲存储器(FIFOBuffer),所有的RS232串行口都支持全双工异步传输模式,即所有串行口都可以同时独立接收和发送数据,且不会丢失任何数据。
母串口波特率由K1=2880fosc-in计算,其单位为MHz,且fosc—in小于20.0Hz。
在SP2538输入时钟fosc—in为20.0MHz时,母串口可自动适应上位机的56000bps和57600bps两种标准波特率输入,即fosc—in为20.0MHz时,上位机的RS232波特率可以设置成56000bps或57600bps。
子串口波特率为:K2=480fosc—in。
母串口和所有子串口都是TTL电平接口,可直接与单片机或TTL数字电路接口,若需连接PC机,则必须增加电平转换芯片,如MAX202,ICL232等。
[!--empirenews.page--]SP2538具有内置的上电复位电路和可关闭的看门狗监控电路,用于监控上位机程序是否正常运行,同时也可以简化上位机复位电路的设计。
上位机写命令字“0x10”可实现喂狗,而写命令字“0x15”则可关闭看门狗(初次上电后,看门狗处于激活状态),写命令字“0x20”可激活看门狗监控功能。
上位机可通过芯片复位指令(命令字为“0x35”)在任何时候对芯片进行指令复位(复位时间Treset小于50μs)。
图2和图3 上位机可通过芯片睡眠指令(命令字为“0x55”)使芯片在任何时候进入微功耗睡眠模式,以降低系统功耗。
初次上电后,芯片不会自行进入睡眠模式。
应当注意的是,只能由上位机发送任意一个字节数据将其唤醒,而其它所有子串口均不能将其唤醒。
未使用的输入端口(如:RX0、RX1、RX2…等)必须连接到VCC,未使用的输出端口(如:TX0、TX1、TX2…、ADRO0、ADRO1…等)[1][2]下一页必须悬空。
4应用实例SP2538的应用领域包括数据采集、工业控制、仪器仪表、智能家电、医疗设备、税控加油机、商业POS机、家庭安防控制、车辆监控和调度、GPS卫星定位与导航、有线及无线数据传输、基于PC机的多串口卡、水、电、气表抄表系统、室外多媒体电子广告以及其它对通信稳定性、成本和开发周期要求比较严格的各种应用和工业MODEM阵列等方面。
4.1应用电路利用SP2538可将仅有一个UART串口的单片机扩展为具有5个UART串口的单片机。
图4以常用的AT89C52单片机为例给出了相应的串口扩展电路。
图中,AT89C52的全双工串口与SP2538的母串口5相连。
该串口5同时也作为命令/数据口。
SP2538的ADRI0、ADRI1、ADRI2分别与AT89C52的P2.3、P2.4、P2.5口相连,可用于选择发送数据时的相应串口0~4,ADRO0、ADRO1、ADRO2与AT89C52的P2.0、P2.1、P2.2口线相连,可用于判别接收的数据来自串口0~4的哪一个。
SP2538的时钟频率可选为20MHz,此时母串口5的波特率为57600bps,串口0~4的波特率为9600bps。
4.2应用程序下面是与上述硬件电路相关的接口程序,该程序用C51语言编制,程序分为上位机发送、接收中断服务程序和主程序两部分。
ucharidatauart0_t_but[8];haridatasend_buf[8];ucharidatauart0_r_but[!--empirenews.page--]ucharidatauart0_send_numucharidatauart_port_num,send_byte_num,uart_point-bdatawritesuccess,uart_busy;bitbdatauart0_receivesbitADRI_0=P2^0;sbitADRI_1=P2^1;sbitADRI_2=P2^2;sbitADRO_0=P2^3;sbitADRO_1=P2^4;sbitADRO_2=P2^5;serial()interrupt4using3{ //上位机RS232接收、发送中断入口if(RI){;Switch(P2&0x07){caseuart0_r_buf=SBUFuart0_receive=1break;}else {TI=0;switch(uart_pointer){caseuart_pointer++;if(uart0_send_num){ADRO_0=0;ADRO_1=0;ADRO_2=0;Uart0_send_num--;SBUF=uart0_t_buf[uart0_send_num]uart_busy=1break;}elseif(uart1_send_num|uart2_send_num|uart3_send_num|uart4_send_num){ADRO_0=0[!--empirenews.page--]ADRO_1=0ADRO_2=0SBUF=0x00uart_busy=1break;}else {uart_busy=0;break;}}注:case1:…case2:…case3:…case4:…除地址不同外其余同case0。
Voiduart_send(uncharuart_port_num,ucharsend_bytenum){uchariswitch(uart_port_num)“casefor(i=0;i<send_byte_num;i++){uart0_t_buff[i]=send_buf[i];}uart0_send_num=send_byte_num;write_success=1;if(uart_busy==0){T1=1;uart_pointer=0;break;}else{break;}}注:case1:…case2:…case3:…case4:…除地址不同外其余同case0。
main(){TMOD=0x20;THI=0xff;TCON=0x40;SCON=0x50;PCON=0x80;send_buf[0]=0x31;[!--empirenews.page--]write_success=0;if(!uart0_send_num){uart_send(0,4)}}}5结束语近年来,以单片机为核心构成的具有UART接口的智能仪器仪表及智能模块不断涌现,此类产品可方便地与单片机构成分布式系统。