用STC89C52连接Phyphox(烧录)
用STC89C52连接Phyphox(烧录)
刚刚要自学单片机的时候,买了一套普中科技的CH6800-ES 2G的开发板,这个开发板上有自动烧写的电路模块,同时还配套了他们自己的烧录软件,使用的时候,只要和电脑连接,正常操作,烧录就完成了。因此从来就没有感觉到烧录是怎样一件麻烦事儿。
后来在购置其它零散电子元件的时候,有时候会提示再添几元钱,就给个简单的51锁紧座啥啥啥的。贪了便宜,就有了一种最简单的51板子。但从来没有细致使用过,而是把普中开发板上的片子取下来放在这个简单锁紧座上面试试二极管、三极管之类的小玩意。这段时间零散地琢磨STC89C52RC片子与Phyphox连接,才发现普中开发板只能烧录它自己带的STC89C52片子,是不能烧录后缀RC这种片子的。
解决的办法,只能是不用普中科技的开发板烧录,自己接线。当然接线并不麻烦。大体上就是接上晶振电路,然后把用USB2TTL的RXD、TXD反接芯片的TXD(P3.1)、RXD(P3.0)就行了。似乎晶振电路不接也是可以的。如图1,将USB2TTL与电脑连接,GND对应GND,VCC接5V,USB2TTL上的TXD和RXD与这个核心板上的RXD、TXD反接。
图1
STC89C52RC的RXD、TXD对应第10、11号引脚。如图2。
图2
我们使用stc-isp 6.88烧录。如图3。
图3
连接好芯片和USB2TTL之后,打开STC-ISP 6.88,在芯片型号处选择“STC89C52RC/LE52RC”,然后选择USB2TTL所在的串口号,最最最最最最最最最最重要的是,要把
最低波特率和最高波特率都设为“1200”
这个地方至为关键。其他不用改动。打开程序文件,在右侧程序文件处显示代码,再开始“下载/编程”,可以看到烧录提示,直至完成。STC89C52RC烧录需要冷启动,也就是,在开始“下载/编程”按下之前,先不接VCC(40引脚),按下之后,再接上VCC引脚。
不知为什么,这个问题,在使用普中开发板的使用者之中到处都是这个问题,但网络上却找不到解决办法。我也是烧录了多次总是不成功,提示“正在检测目标单片机”,然后就停住不动了,等1分钟也仍然是不动的。后来想到Arduino开发板或Atmega系列芯片当烧写速度太快时,容易失败,于是把STC-ISP也限制波特率为1200,一试之下,成功。是否本质原因确为下载速度太快?未知。那么限制波特率为2400能不能成功?我想估计也可以,不必试验了,能烧录即可。
琢磨单片机,应该属于软硬件结合的事情,各种意料之外的操作,都是可以理解的。