AT89S51 的编程方式可分为并行及串行模式。由于目前 PC 台式及及笔记本已经逐渐取消并口,因此并口编程器已经逐渐被淘汰。采用 USB 接口的 ISP 编程器比较适合实验之用。本书所附赠的电路就是以 USB ISP 串行模式来对 AT89S51 进行编程的,其电路如图所示。图为 AT89S51 USB ISP 编程器电路图:

USB 编程器电路
本实验板电路采用 USB 接口对 AT89S51 进程编程。除了通过 USB 接口编程外,也通过 USB 接口为电路板提供 5V 电压。所以在实验过程中,不用再额外使用外接电源。USB 编程电路如图所示。
CH341A 是一个 USB 总线转接芯片,通过 USB 总线提供异步串口、打印口、并口,以及常用的 2 线和 4 线等同步串行接口。CH341A 采用 SOP-28 无铅封装,具体功能由复位后的功能配置决定,同一引脚在不同功能下的定义可能不同。CH341 芯片正常工作时需要外部向 XI 引脚提供 12MHz 的时钟信号。一般情况下,时钟信号由 CH341 内置的反相器通过晶体稳频振荡产生,外围电路只需在 XI 和 XO 引脚之间连接一个 12MHz 晶体,并为 XI 和 XO 引脚对地连接振荡电容。CH341 芯片支持 5V 电源电压或者 3.3V 电源电压。当使用 5V 工作电压时,CH341 芯片的 VCC 引脚输入外部 5V 电源,第 9 脚(V3 引脚)应该外接容量为 4700pF 或者 0.01μF 的电源去耦电容。CH341 第 10、11 脚连接到 USB 数据总线。第 13、14 脚外接 12MHz 晶体,为芯片提供时钟。第 16、18、20、22 脚分别接 300Ω的限流电阻,作为 RST、SCK、MOSI、MISO 信号输入/输出。在使用 CH341A 的 USB 转 ISP 功能时,第 23 脚必须接地。第 28 为电源 5V 输入,接去耦电容,可使让芯片工作更稳定。

图 3.12 USB 编程器电路图
在图 3.12 里,USB1 为与电脑连接的 USB 插座。此 USB 插座共有 4 个脚,分别为+5V、D-、D+及 GND。+5V 及 GND 是本电路板的电源来源。R3 为限流电阻,此电阻的取值需要根据实际情况确定。在使用此电阻时,应保证后端的 CH341A 及 AT89S51 芯片供电电压大于 4.5V。在保证接入的元件接线正确及电路整体消耗电流小于 500mA 的情况下,此电阻可以不接,直接用短线连接即可。CH341A 芯片通过 USB 接口和 USB 连接线完成与电脑的数据传输。