历史上的今天
今天是:2025年03月19日(星期三)
2018年03月19日 | 基于CH340T 的STC89C52RC编程器设计
2018-03-19 来源:eefocus
编程器通过USB 接口与PC 上位机通讯,用户只需要通过PC上位机GUI 的简单操作,就可以实现对STC 89C/S51XX/52XX 等系列单片机的擦除、编程、校验和加密。经过STC89C52RC 等单片机反复测试,该编程器功能稳定、速度快、价格低和易用性强等优点。
1 引言
STC(宏晶科技)公司推出的STC 89C/S 51XX/52XX 等系列单片机,具有价格便宜、无法解密、低功耗、高速、高可靠、强抗静电、强抗干扰等优点,其指令代码完全兼容传统8051 单片机,片内资源非常丰富,且均内置可反复擦写的Flash 存储器,并提供了ISP(In-System Programming)编程模式。STC89C52RC 作为STC 89C/S51XX/52XX 系列单品机的一个典型代表,其特征主要有,8K 字节可编程闪烁存储器、1000 次写/ 擦循环寿命、10 年的数据保留时间、三级程序存储器锁定、512 内部RAM、32 可编程I/O 线、两个16 位定时器/ 计数器、5 个中断源、可编程串行通道、低功耗的闲置和掉电模式以及片内振荡器和时钟电路等。因而这款功能强大和超高性价比的单片机,在国内应用极为广泛。
ISP 在线编程是一种彻底颠覆了传统的编程模式的技术,它不会损坏芯片的引脚,同时下载速度很快,从而缩短了设计时间,降低了研发成本、加速了产品的上市,大大提高了工作效率。一般编程器的采用方法都是使用PL2303、CP2102、FT232 等主控芯片,但往往成本较高,而且有的芯片稳定差,极少数芯片固件版本有Bug,鉴于此,本文提出以国产CH340T 芯片为主体的ISP 编程器的设计方案,经过STC89C52RC 等芯片反复测试,功能稳定,性能出色。
2 系统硬件设计
2.1 系统总体结构图
系统总体结构图如图1 所示。其中USB 供电和数据传输模块主要负责为单片机和CH340T 等模块供电,并将来自计算机的USB串行数据经CH340T 转换为串口数据后和单片机通信,为单片机编程提供数据通道。

2.2 核心芯片CH340T 介绍
CH340T 是南京沁恒电子有限公司设计生产的一款接口转换及单片机外围芯片,支持USB2.0.可以实现USB 转串口、扩展计算机异步串口和USB 转IrDA 红外等功能。本设计仅作USB 转串口使用,转换后的串口为全双工串口,内置收和发缓冲区,支持通讯波特率从50bps 到2Mbps,发送允许波特率误差< 0.3%,接收允许波特率误差<2%.其使用方法比较简单,外围元器件只需要晶体、电阻和电容即可。
CH340T 有20 个标准引脚接口。主要有1、UD+ 和UD- 引脚,这些引脚内置了USB 上拉电阻,可以直接接到USB 总线上。2、GND和VCC,即接地和电源引脚,支持5V 或者3.3V 电源电压。3、数据传输引脚TXD 和RXD,分别为串口数据发送和接收引脚。输入空闲时,一般RXD 是高电平,但是如果R232 引脚为高电平,且启用辅助RS232 功能,RXD 引脚内部会自动插入一个反相器,默认变成低电平;输出空闲时,一般TXD 是高电平。4、其他引脚。包括MODEM 联络信号引脚和辅助引脚。
2.3 系统原理图
原理图如图2所示。

图中,USB 接口P1 除用于数据传输外,还经过LM7805 稳压后为CH340T 芯片和单片机和其他部件供电,当使用5V 工作电压时,CH340 芯片的VCC 引脚输入外部 5V 电源,并且V3 引脚应该外接容量为4700pF 或者 0.01uF 的电源退耦电容。CH340T 转接芯片将UD1+ 和UD1- 转换为串口信号串口数据和单片机串口进行通信。需要注意的是,CH340T 芯片的串行接收口CRXD 需要和单片机的P3.1(串行输出口TXD)通过PNP 三极管Q1 接成射极发生器的形式,以到达数据的缓冲和隔离的作用。
单片机子系统,采用40 引脚的试验用插座,为了正常编程,外接必备的单片机复位电路和晶振电路。特别地,为提高编程器的适用性,晶振电路采用跳线开关J1 为单片机提供12MHz 和11.0592M共2 种工作频率。
3 系统测试
ISP 编程涉及的软件主要有USB 驱动程序、单片机固件程序和计算机应用程序三部分构成。单片机固件程序用来实现计算机读取和编程STC 单片机内部的E2PROM(数据Flash),已提前固化在单片机内部。
测试之前,必须首先安装USB 驱动软件USB DriverInstaller.exe,该驱动可以将接入计算机USB 接口的编程映射为虚拟串口,一般是COM3 或COM4.然后安装STC 单片机在线编程烧录软件STC-ISP.STC-ISP 是针对STC 系列单片机而设计的软件,可下载STC89 系列、12C2052 系列和12C5410 等系列的STC 单片机,功能强大,使用简便。本编程器要求版本在V3.0 以上。
测试步骤是,将单片机STC89C52RC 插入编程器插座,整体插入计算机USB 接口(或用USB 线将编程器和计算机连接)。然后打开STC-ISP 软件,依次在主界面中选择MCU 单片机型号(MCUTYPE),导入Hex 文件(Open File/ 打开文件),选择串口(COM :
COM3 或COM4 等)和波特率,最后点击下载按钮。下载成功的主界面如图3 所示。
经过多次反复测试本文设计的编程器,功能正常,性能可靠。

4 结束语
本文介绍了一种简单实用、价格低的ISP 编程器。该编程器具有功能稳定、速度快、价格低和易用性强等优点,适合STC 89C/S51XX/52XX 等系列单片机的程序烧录。另外,本系统扩展性较好,原理图稍加改动,借助于SPI 接口,实现对Atmega8515/ Atmega162(AVR 芯片)等更多的单片机的ISP 编程下载。
上一篇:单片机在金箔定位系统中的应用
史海拾趣
|
运行LPCXpresso的最佳操作系统是Vista 或者Win7 今天看LPCXpresso的用户手册,上面说运行LPCXpresso的最佳操作系统是Vista 或者Win7,在XP系统下运行的速度明显要慢。 大家的体会呢?… 查看全部问答> |
|
uC/OS II学习《二》—uC/OS II内核完全解析之空闲任务的建立 上次说到空闲任务的建立: OSTaskCreate(OSTaskIdle, (void *)0, &OSTaskIdleStk[0], OS_IDLE_PRIO);//建立空闲任务 空闲任务的建立是调用OS_TASK.C中的OSTaskCreate 任务创建函数完成的,OSTaskCreate函数接收4个变量:task是任务代码的指针 ...… 查看全部问答> |
|
想要自己设计一个I2s Controller用以将并行音频数据以I2s格式输出给WM8731进行播放并能够采集音频数据进行存储。现在I2s的主发送模式代码已经写完,软件仿真波形也没有问题。想要搭建一个基于NiosII的系统来验证我的I2s模块,不知道有没有可用的正 ...… 查看全部问答> |
|
在《ARM嵌入式系统开发-软件设计与优化 》P106页说: SUBS r1,r1,#1 ;comprare i with 1,i=i-1 BGT loop &nb ...… 查看全部问答> |
|
请教ALTERA DDR控制器local_rdata_valid信号的问题 用stratix II控制DDR2的读写。在使用中发现local_rdata_valid信号很奇怪,signalTap抓出来的读写数据都对,就是local_rdata_valid信号不出来,偶尔重新编译下载后能出现,有时候同一个SOF文件下载下去local_rdata_valid信号也是有时成功输出有时没 ...… 查看全部问答> |
|
最近要上手FPGA,有没有坛友申请过XLINX或者ALTERA大学计划的板子?申请过的请告知申请具体的步骤!~ 如果有人闲置FPGA的开发板也可以贴上来,价格合理就收几块(同学要要上手)。… 查看全部问答> |
|
如何编写testbench的总结(非常实用的总结) 1.激励的设置相应于被测试模块的输入激励设置为reg型,输出相应设置为wire类型,双向端口inout在测试中需要进行处理。方法1:为双向端口设置中间变量inout_reg作为该inout的输出寄存,inout口在te ...… 查看全部问答> |




