RS232串口通信电路往往是采用专用的串口传输芯片MAX232(5V)或MAX3232(3.3V),芯片起到驱动、匹配、隔离、保护等作用,这种电路常用于实际系统中的远距离串口通信。多数爱好者搭建串口通信电路只是用于学单片机,其实没有必要用上述专用的驱动芯片,向大家推荐一种用两只三极管组成的串口通信电路(如图),经本人测试,稳定性丝毫不减,对于大家来学习单片机足矣。
我也是第一次做AT89S52的串口通信实验,分享这个测试程序:
/**************************************************************
程序名称:51串口通信测试、演示程序,晶振11.0592M
程序功能:单片机依次发送0~F这16个数至上位机,通过串口调试软件
进行hex观察
编 写:
时间地点:09/03/21晚于寝室
**************************************************************/
#include
#define uchar unsigned char
#define uint unsigned int
uchar dis[]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
/*****n(ms)延时子程序*****/
void delayms(uint ms)//延时ms
{
uchar i;
while(ms--)
{
for(i=0;i<120;i++);
}
}
/*****主程序*****/
void main()
{
int i;
TMOD=0x20;//定时器1工作于8位自动重载模式, 用于产生波特率
TH1=0xFD;//波特率9600
TL1=0xFD;
SCON=0x50;//设定串行口工作方式
TR1=1;//启动定时器1
while(1)
{
for(i=0;i<16;i++)
{
SBUF=dis[i];
while(!TI);//等特数据传送
TI=0;//清除数据传送标志
delayms(500);
}
}
}
/*****END*****/
程序功能是依次向上位机发送0~F这16个数,用串口调试助手观察,需要勾选“HEX显示”选项,如图:
如果觉得《主板rs232接口测试软件 简洁的RS232串口通信电路与串口通信测试程序》对你有帮助,请点赞、收藏,并留下你的观点哦!