本帖最后由 suncat0504 于 2021-12-24 21:37 编辑
#申请原创#
开发单片机应用的时候,你一定会用到编程器。以往,觉得制作编程器,是很高大上的工作。所以我们大多数人都是选择买一款编程器。比如下面这款:
虽然很小,但是能编程很多芯片。 我是1993年开始从事单片机的开发工作的,那个时候买的一款编程器,还是针对计算机并行口的、DOS6.22系统下的,到现在已经很难提供它的工作环境了,所以我在网上买了几块线程的开发板,是针对STC89C52的。拿到手里以后,看了看开发板的构成,是由一个USB转串口的芯片负责MPU和计算机APP之间通讯,实现对芯片的编程。但是由于这块开发板上的USB芯片已经不再支持Win10,由此产生了自己也只做一块适用于Win10的开发板的念头。实际上网店已经有以CH340作为通讯芯片的开发板。话说作为电子爱好者,我也曾试着自己制作针对AT89C2051的编程器,也成功了,但是编写速度慢。作为一个实验,成功后,就放弃了后续的开发。 有了自己做开发板的念头,就开始准备。首先买了CH340芯片(当初买这个芯片的时候,是想着制作USB通讯用的,包括上下位机的程序)。然后开始制作开发板。查了资料后,发现只要实现CH340和STC89C52的TX/RX之间的连接,就可以实现编程。于是开始涉及原理图和PCB。以往做程序开发的时候,如果出了问题,不知道MCU管脚是什么状态,所以在设计开发板的时候,所以准备在MCU的所有IO端口都加上LED显示。这样通过LED的亮灭,可以直观地确定IO口的状态。同时加上几组排针,便于使用杜邦线灵活连接其它实验模块。关于PCB的设计软件,20多年前,用过TANGO,后来用的是protel99及2004,在WIN10下不是那么好用了。查了下,选择了用AD。因为是初次用,所以很多功能是一边上网查找,一边操作。跌跌撞撞地设计好了PCB,没有仔细确认,就拿去制版了。结果CH340外围电路的设计出了问题,导致无法使用CH340了。 焊盘没设置过孔,导致无法使用。虽然使用跳线强行焊接了CH340的外围器件,但连上电脑后,显示USB通讯协议有问题,说不清楚是那里的毛病,就放弃了。
幸好有USB转串口TTL的模块,利用这块开发板,连接电脑和MCU的TX/RX,使用编程APP,一样能对STC89C52进行编程。这样终于验证了自己是可以制作STC89C52的开发板的。接着修改了错误和部分电路,追加对LCD1602和12864的支持,又重新制作了一块开发板,下面是焊接好的成品: 因为之前USB是失败的,所以非常忐忑。拿着焊好后的板子,连接USB电缆。哈哈哈,竟然成功了。在计算机的设备中出现了CH340所在的串口。马上打开stc-isp编程软件,进行烧写测试,没问题。能正常写入程序了。经过测试,LCD1602口和12864口也正常,能支持液晶的显示。至此这块开发板可以工作了。 另外板子上增设了对ATMega16的支持,但是需要转接板才能连接到插座上。 板子上右上角是两个复位电路,因为ATMega16和STC89C52的复位电平是相反的,需要用跳线选择。
有兴趣的朋友,可以动手试试哦。
|