前一阵一直在做单片机的程序,由于串口不够,需要用IO口来模拟出一个串口
经过若干曲折并参考了一些现有的资料,基本上完成了
现在将完整的测试程序,以及其中一些需要总结的部分贴出来
程序硬件平台:11
0592M晶振,STC单片机(兼容51)/****************************************************************在单片机上模拟了一个串口,使用P2
1作为发送端*把单片机中存放的数据通过P2
1作为串口TXD发送出去***************************************************************/#include#include#includetypedefunsignedcharuchar;inti;ucharcodeinfo[]={0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55};sbitnewTXD=P2^1;//模拟串口的发送端设为P2
1voidUartInit(){SCON=0x50;//SCON:serailmode1,8-bitUARTTMOD|=0x21;//T0工作在方式1,十六位定时PCON|=0x80;//SMOD=1;TH0=0xFE;//定时器0初始值,延时417us,目的是令模拟串口的波特率为2400bpsfosc=11
0592MHzTL0=0x7F;//定时器0初始值,延时417us,目的是令模拟串口的波特率为2400bpsfosc=11
0592MHz//TH0=0xFD;//定时器0初始值,延时417us,目的是令模拟串口的波特率为2400bpsfosc=18
432MHz//TL0=0x7F;//定时器0初始值,延时417us,目的是令模