STC的51单片机可以用串口烧写,非常方便,用了它就不想再用ATMEL 89C51了。
但是用串口时发现:
1. 串口电平是RS232,要用MAX232转换成TTL电平。
RS232是1是负电压或0V,0是正电压。
TTL是1为5V,0为0V。
买了一个MAX232转换板,接上串口后,发现它会通电,它取的是串口的电。
MAX232转换板出口接三条线到STC单片机RXD,TXD和GND,单片机未通电,但这时RXD上有电,电反灌到单片机上,于是单片机就运行了!
这样就没办法烧写了,于是对MAX232转换板改造,取消取电电路,然后MAX232转换板由单片机供电,这样就OK了,单片机上电,MAX232转换板才会上电,使用正常了。
2. 用买的几元的USB转串口线,牛屎的,发现烧写STC单片机很不稳定!!通常要烧写好几次,不是检测不到,就是烧到一半就出问题,有时烧写很多次都不成功,烦!
用老电脑的串口,很正常!
3. 于是又买了一个PL2303的USB转串口TTL转换板。从官网下载了驱动。
结果发现,PL2303上电后,输出串口线有电压,同样会造成电流反灌到STC单片机中,造成单片机运行,无法下载!!
以为是LED指示灯接过来会带来电压,把LED灯电路切断,结果也一样。
后上网搜了一下,是共地的问题,于是PL2303转换板输出只接二条线RXD,TXD到单片机,GND不接,这样单片机就不会上电了!!这时,单片机的电源要接到同一台电脑的USB口才行,这样就能共地。于是,问题解决了!