AT89S51单片机ISP技术原理及ISP在线编程器

以ATMEL公司的AT89S51/AT89S52单片机为例,介绍ISP技术原理,及ISP在线编程器的实现方法。电路下图可实现ISP(在系统编程)的功能。不同的在线编程电路对应于不同的硬件电路,在程序实现上也有区别。

以ATMEL公司的AT89S51/AT89S52单片机为例,介绍ISP技术的原理以及ISP在线编程器的实现方法。

AT89S51/AT89S52 微控制器共有 4 个 ISP 引脚:RST、MOSI、MISO 和 SCK。

各引脚功能如下: RST 为在线编程输入控制端,仅在 ISP 下载过程中保持高电平。 系统正常工作时,该引脚为系统复位端,保持低电平。 MOSI 是主机输出/从机输入的数据端子。 系统正常工作时,该引脚为通用I/OP1.5端口线。 MISO 是主机输入/从机输出的数据端子。 系统正常工作时,该引脚为通用1/0P1.6口线。 SCK是串行编程的时钟端,可以实现主从时序的同步。 时钟频率不得超过系统时钟的1/16。

系统正常工作时,该引脚为通用I/OPl.7端口线。 AT89S51/AT89S52单片机的ISP引脚功能如下图所示。

AT89S51单片机ISP技术原理及ISP在线编程器

ISP下载基于串行传输,符合SPI协议。 SPI协议中,数据的发送和接收是同步的,即在同步时钟的作用下,一边发送数据一边接收数据。

ISP时序如下图所示。 每个字节数据都是低位在前,高位在后,在串行时钟的作用下逐位传输。 传输过程中,时钟输入端为高电平时数据有效,时钟输入端为低电平时数据更新。 编写ISP下载程序时一定要注意这一点。

AT89S51单片机ISP技术原理及ISP在线编程器

ISP下载功能的指令集如下表所示。

AT89S51单片机ISP技术原理及ISP在线编程器

使用上述说明时,请注意以下事项:

1、要进行ISP编程,首先要保证RST引脚为高电平,并且这个高电平持续到整个编程过程完成。

2、ISP编程操作是通过不同的指令来实现的。 编程使能命令用作其他命令的引导命令。 必须先执行编程使能命令,然后再执行其他命令。 例如,要擦除芯片,先执行编程使能命令,然后再执行芯片擦除命令,这样就可以完成操作擦除。

3. 每个命令都有自己的格式。 使用不同的命令时,必须严格遵循命令的格式。 例如,在芯片擦除命令中,虽然有2个多字节可以是任意数据,但仍然需要发送它们。

4. ISP数据传输符合SPI协议。 虽然数据的发送和接收是同时进行的,但是接收数据的选择是由用户决定的。

5、ISP编程时,尤其是写入Flash的过程中,最好不要被意外情况中断,如断电或RST引脚电压过低,这样很容易对内部Flash造成永久性损坏。芯片。

AT89S51/AT89S52单片机的在线编程(ISP)电路设计如下:计算机并行接口共有25条端口线,其中数据端口DO-D7(端口地址为378H,用于数据输出); 状态端口 Busy 和 nAck。 PE、Select、nError(端口地址为379H,用于数据输入); 控制端口nSelin、nlnit、AnrtoFeed、nStrobe(端口地址为37AH,用于输出控制)。 选择4条端口线来模拟ISP所需的引脚。 它非常灵活。 只需要考虑数据的输入输出方向以及操作的便捷性即可。 但需要注意的是,同一端口的数据方向必须一致。 例如,数据端口同时为8位。 运算只能作为输入或输出,但不能将一端作为输入,另一端作为输出。 下面的电路图可以实现ISP(在系统编程)功能。

在计算机并行接口部分,本电路用⑥脚模拟SCK,用⑦脚模拟MOSI,用⑨脚模拟RST,用⑩脚模拟MISO。 用引脚④控制驱动隔离电路SN74AS244的使能端。 注意不同的端口操作地址是不同的,这就涉及到程序的编写。 下图中,UIB引脚A2、A3、A4并联是为了增加驱动能力,上拉电阻是为了保证空闲时的电平状态。 该电路实际生产的产品如右图所示。

不同的在线编程电路对应不同的硬件电路,程序实现也存在差异。 本文的硬件电路设计完全基于共享软件Easy51Pro。 因此,您可以在线下载此共享软件,实现在线编程。 下载后无需安装即可直接运行程序,实现ISP(在线编程)功能。

AT89S51单片机ISP技术原理及ISP在线编程器

单片机

单片机和PLC哪个好学?单片机的优劣势是什么?

2024-1-27 14:03:50

单片机

单片机-最小系统原理解析-51、AD/DA、RS232

2024-1-27 15:05:41

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索