历史上的今天
今天是:2025年04月10日(星期四)
2018年04月10日 | AT89S系列单片机ISP方案解析
2018-04-10 来源:eefocus
1. ISP简 述
从事单片机设计和开发的技术人员目前一般采用以下常用的方法开发单片机产品:首先利用单片机仿真设备进行硬件和软件的仿真调试,然后将调试通过的目标代码用程序烧写器固化到单片机的程序存储器中。在这个过程中,程序烧写器是必不可少的开发工具。程序烧写器一般价格较昂贵,对于初学者来说是一笔不小的开支,并将直接影响到初学者进一步学习开发单片机的积极性。另外,以后每修改一次源程序就要将单片机芯片从目标板上取出,再将更新后的目标代码重新固化到单片机芯片中,这样调试时就会由于频繁地插拔单片机芯片而对芯片和电路板带来相应的物理损坏。借助程序烧写器进行单片机编程的缺点是烧写设备昂贵,烧写操作麻烦,不便于实现在系统编程(ISP)。为了克服上述缺点和局限性,一些80C51的新型兼容品设计了串行编程能力,也就是在芯片内部设置了实现“串行编程接口逻辑”硬件功能。
近几年,ATMEL公司不断完善和主力推出的AT89S系列单片机(包括AT89S51,AT89LS51,AT89S52,AT89LS52,AT89S53,AT89LS53,AT89S8252,AT89LS8252.AT89S8253,AT891.58253等型号)已逐渐取代原来的AT89系列和AT89C系列单片机。AT89S系列单片机其内部都是在标准80C51的基础上额外设计了一个实现“串行编程接口逻辑”硬件功能,支持单片机芯片在系统编程(ISP)。
ISP是系统在线可编程,指电路板上的空白器件可以编程写入最终用户代码,而不需要从电路板上取下器件,对于已经编程的器件也可以用ISP方式擦除或再编程。ISP的实现比较简单,通常的做法是芯片内部的程序存储器可以由上位机的软件通过同步串行通信接口SPI来进行改写,对于单片机来说可以通过SPI或其他的串行接口接收上位机传来的数据并写入程序存储器中。ISP技术的优势是不需要编程器也可以进行单片机的实验和开发,既节省了单片机开发的成本,又免去了调试时频繁插拔芯片的麻烦。ISP技术是未来单片机发展的方向。
2 .AT89S系列单片机ISP原理
ATMEL公司推出的AT89S系列单片机支持ISP功能。AT89S系列单片机中的AT89S52单片机具有较强的功能和较高的性能价格比,因此本文选用AT89S系列单片机中的典型芯片AT89S52为例来介绍AT89S系列单片机的ISP原理。
AT89S52单片机具有在线编程功能,即在RST引脚处在高电平的情况下,利用P1.5/MOSI(串行数据输入端),P1.6/MISO(串行数据输出端),P1.7/SCK(同步时钟信号输入端)三个引脚的数据设置或传送实现程序下载的功能。AT89S52单片机40引脚双列直插式封装(简称DIP40)引脚图如图1所示,AT89S52单片机串行编程接口如图2所示。

图1 AT89S52 DIP40引脚图

图2 AT89S52串行编程接口电路图
史海拾趣
|
KernelIoControl找设备号的问题 if(!KernelIoControl(IOCTL_HAL_REQUEST_SYSINTR,&g_Irq,sizeof(UINT32),&g_SysIntr,sizeof(UINT32),NULL)) { RETAILMSG(1,TEXT(\"ERROR:Failed to request sys ...… 查看全部问答> |
|
GPIO寄存器的读写方法。不过我看了还是很多疑惑,为什么在内存映射表里面这样定义 DCD 0x91600000, 0x56000000, 1 ; I/O Port register 而在s2410.h中又会这样#define IOP_BASE 0xB1600000 // 0x ...… 查看全部问答> |
|
驱动设计四挑战 由于LED在原器件的物理特性差异,制作光源系统的观念则与传统设计大不相同,需要有更多方面的技术与专业辅助。 1.电源转换:LED原器件若非特殊制作方式,一般都是直流驱动 ...… 查看全部问答> |
|
菜鸟问题:如何将头文件中定义的寄存器结构体与联合体与实际的物理寄存器联系起来? 最近刚开始学DSP,目前学的是TMS320F2812,,现在有个疑惑,就是我在头文件中定义了寄存器相对应的struct与union后,程序如何得知这些struct与union到底与哪个实际的物理寄存器联系起来呢?也就是说,如何知道struct、union与物理寄存器的映射关系?… 查看全部问答> |
|
这个寒假玩了一个月AVR,在家里只有两块AVR最小系统板和一些模块,太粗心了,连续两次配置熔丝位将单片机锁死。下面是当时的学习笔记和解决方法 2013.1.23 今天不小心把M16的熔丝位的时钟误改成了外部时钟(本来想改内部 ...… 查看全部问答> |
|
配置好IP和MAC后,直接运行例程的程序,液晶屏上根本不显示IP,加入断点后,发现调试根本没有执行到断点这句,想问下,程序中是不是要自己修改下才行? 如果要修改,是修改哪一块呢?是第二个断点那部分的IP和子网掩码吗? 串口显示: 执 ...… 查看全部问答> |




