RS-232多串口扩展器件SP2538及其应用
未使用的输入端口(如:RX0、RX1、RX2…等)必须连接到VCC,未使用的输出端口(如:TX0、TX1、TX2…、ADRO0、ADRO1…等)必须悬空。
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语言编制,程序分为上位机发送、接收中断服务程序和主程序两部分。
uchar idata uart0_t_but[8];
uchar idata send_buf[8];
uchar idata uart0_r_but
uchar idata uart0_send_num
uchar idata uart_port_num,send_byte_num,uart_point-er
bit bdata write success,uart_busy;
bit bdata uart0_receive
sbit ADRI_0=P2^0;
sbit ADRI_1=P2^1;
sbit ADRI_2=P2^2;
sbit ADRO_0=P2^3;
sbit ADRO_1=P2^4;
sbit ADRO_2=P2^5;
serial()interrupt4 using3{ //上位机RS232接收、发送中断入口
if(RI){
RI=0;
Switch(P2&0x07){
case
uart0_r_buf=SBUF
uart0_receive=1
break;
}
else {
TI=0
- 上一篇论文: 嵌入式系统的实时数据接口扩展
- 下一篇论文: 基于PCI总线的实时图像识别与跟踪平台设计