简易单片机编程器的研制

preview
需积分: 0 2 下载量 102 浏览量 更新于2010-06-13 收藏 257KB PDF 举报
### 简易单片机编程器的研制 #### 概述 随着单片机技术的发展及其应用领域的不断扩大,单片机已经成为一个真正意义上的独立微型计算机系统,可以在无需额外ROM的情况下构建最小应用系统。AT89C51作为一款带有4K字节闪速可编程和可擦除只读存储器的单片机,在实际应用中非常广泛。然而市面上专门针对这类单片机的编程器价格较高,限制了其普及和使用。因此,本文介绍了一种在AT89C51仿真板上实现简易编程器的方法,该方法可以替代昂贵的专业编程器,并详细阐述了其实现过程。 #### 仿真板和编程器的工作原理 为了在仿真板上开发编程器,首先需要了解仿真器的性能以及编程器的基本工作原理。 ##### 仿真板 采用的仿真板主要由AT89C51单片机和随机存储器6264构成。AT89C51的串行口P3.0(P3.0)和P3.1(P3.1)与PC机的异步通信口相连。工作流程为:通过PC机的串行口下载待调试程序到6264中,单片机调用其中的程序执行。6264作为程序存储器和数据存储器复用,编程地址范围从0x0000~0xFFF。当下载HEX文件时,PC机通过串口将程序代码发送给AT89C51,AT89C51的监控程序将收到的数据用MOVX指令存入6264中。当执行程序时,如果地址超过0xFF,则/EA引脚为低电平,实现外部存储器寻址,从而读取6264中的指令。 ##### 编程器的工作原理 要对一片AT89C51单片机进行编程,需根据HEX文件的相关信息进行操作。在编程过程中,AT89C51各个引脚具有特定的功能,即地址信息由P0和P2口输入,P0提供低位地址,P2为高位地址,而P3口作为数据口,P3.6(PGND)、P3.7(PGND)、ALE和WR等编程控制端按图所示连接。编程控制信号需按照表1的要求施加,并按规定的时序进行。 | 功能 | 控制端 | |--------|--------| | 写数据 | /EA=0 | | | PSEN=1 | | | ALE=1 | | | PGND=0 | | | PGND=0 | | | ALE=1 | | 读数据 | /EA=0 | | | PSEN=0 | | | ALE=1 | | | PGND=1 | | | PGND=1 | | 擦除 | /EA=0 | | | PSEN=1 | | | ALE=0 | | | PGND=0 | | | PGND=1 | 一般而言,编程AT89C51的过程分为五个步骤: 1. **地址设置**:在地址线上输入存储器地址。 2. **数据输入**:在数据线上输入正确数据。 3. **控制信号设置**:设置相应的控制信号组合。 4. **电压提升**:将/VPP升至12V。 5. **数据写入**:执行写入操作。 #### 硬件实现 硬件部分主要包括电源电路、复位电路、编程接口电路等。电源电路为单片机提供稳定的工作电压;复位电路确保单片机能正常启动;编程接口电路则负责与外部编程器或PC机之间的数据交换。 #### 软件实现 软件部分包括两大部分:一是运行于PC机上的上位机软件,用于HEX文件的解析和编程命令的生成;二是运行于AT89C51单片机上的下位机软件,主要完成编程指令的解析和执行。上位机软件可以通过串行通信接口向单片机发送编程命令,而下位机软件负责接收这些命令,并根据命令执行相应的操作。 ### 结论 本文介绍了一种基于AT89C51仿真板的简易编程器的设计与实现方法。通过这种方式,不仅可以有效降低编程成本,还能提高编程效率。该方案适用于教学实验、产品开发等多种场合,对于促进单片机技术的应用和发展具有重要意义。