《STC单片机虚拟串口发送程序(超简单)(共2页).doc》由会员分享,可在线阅读,更多相关《STC单片机虚拟串口发送程序(超简单)(共2页).doc(2页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上STC单片机(STC12C5A32S)虚拟串口发送程序/虚拟串口发送子函数void Uart(uint8 a)ACC=a; /TXD3是已经定义的任意的发送端口TR1=1;TXD3=0; /发送起始位while(TF1=0);TF1=0; /TF1必须清零,因为只有启用T1中断才会自动清零TXD3=ACC0; /发送8个位也可以用移位来发送,ACC0-ACC7也必须先定义while(TF1=0); /表示ACC的8个位,如果用移位发送,就不用这样定义。TF1=0;TXD3=ACC1;while(TF1=0);TF1=0;TXD3=ACC2;while(TF1=0);T
2、F1=0;TXD3=ACC3;while(TF1=0);TF1=0;TXD3=ACC4;while(TF1=0);TF1=0;TXD3=ACC5;while(TF1=0);TF1=0;TXD3=ACC6;while(TF1=0);TF1=0;TXD3=ACC7;while(TF1=0);TF1=0;TXD3=1; /发送停止位while(TF1=0);TF1=0;TR1=0;该子函数使用T1定时器,T0也可以。采用8位自动重装,重装值为A0Main()TMOD = 0x21; /T0:模式1,16位定时器。T1:模式2,8位定时器,自动重装AUXR &= 0x3f; /定时器0和定时器1与普通8051定时器一样(不同的单片机设置可能不同)TL1 = 0xa0; /虚拟串口波特率:9600TH1 = 0xa0; ET0 = 1;ET1 = 0; /T1中断一定不要使用,要不接收会错误TR0 = 1;TR1 = 0;Uart(0xaa); /0xaa是发送的数据,如果接收有误,在发送一个字节后可加点延时/延时While(1); /具体程序此处省略注:因本人实验的硬件不需要模拟串口来接收数据,故没给出虚拟串口接收程序。以上程序已验证成功。专心-专注-专业