Ⅰ 关于单片机程序下载 ISP
1、关于ISP和IAP的概念:简单的讲,ISP模式是其它电路直接操作单片机的几根专用的端口(比如AT89S51的3根,但其不是JTAG口,只是硬件接口类似)完成烧录,属于硬件烧录模式;IAP模式是单片机通过串口接收到需要烧录的程序代码,然后进行“自编程”完成烧录。区别在“自编程”(关于ISP和IAP,可以看一下我以前的一个回答,里面简单说明了单片机下载烧录的原理,应该对你有帮助的:http://..com/question/266155202.html)
2、关于仿真器,你的理解是正确的;而仿真芯片一般只是用来做仿真器的。
3、关于在线调试,分为两种情况:一种是将仿真器的仿真头插在用户板上,从而实现全速、断点、单步调试;第二种则是单片机自身具备这种接口,比如JTAG接口,只需通过串口实现全速、断点、单步调试。这两种都叫在线调试。而IAP和ISP只是编程烧录操作,含义不一样。
4、第一句话含义是兼容ISP、IAP。第二句话意思是在单片机的ROM区包含了实现单片机自编程的代码,可以通过串口实现编程操作。第三句话的意思是可以由用户自己编制编程软件,从而在最终的应用里实现代码的自编程操作。关于第二和第三句话的详细含义都可以看上面的连接。
在板子上设计232接口连接到单片机的UART,只要单片机支持IAP就可以实现下载程序的功能;同样,如果单片机具备JTAG接口就支持串口模式的在线调试,否则只能使用仿真器进行在线调试。
Ⅱ 学习单片机第一步:如何将程序(控制思想)下载到单片机中
一定要看哦。。通过这个视频的短短讲解可以收获不小哦。 下载器的工作原理: 其实单片机下载器很简单,记得在07年的时候,那时候利用单片机ISP功能的串口下载器非常流行,过了两年科技发达了,人民生活水平提高了,笔记本降价了,台式机淘汰了。很多人都购买了笔记本,可是笔记本没有了DB9串口。这可难倒了很多人哦。 就这么简单,在一块电路板上有块芯片,我们一起来看下它的原理图吧: 仔细看,可以知道,原来这个电路图里无非就三部分,第一两个接插头,第二辅助的器件,第三就是主控制芯片,Atmega8-16PU,也就是AVR系列的单片机。其他的大家应该都看得明白,结合实物图有元器件、usb公头、还是黑忽忽的芯片。 但是焊接好了,就能用了吗?其实不然,这个下载器功能所在关键就在于那个芯片,这个芯片这里起到了虚拟USB的功能,通过它与电脑通讯,可以在电脑虚拟一个USB接口出来,通过专用的软件就可以下载程序了。 所以这个芯片比较神秘,它里面就有一个程序,只要想办法把这个程序下载到ATMEGA8芯片中,它就能正常工作了,以下是下载器的软件界面: 该软件可以非常神速的将单片机所能识别的十六进制文件下载到单片机中。 当然了,说到这里我想DIY爱好者应该很想知道那个atmega8的程序在那里了吧。我这里有,得以与网友帮忙,自己修改了一个。如果有需要的朋友可以在留言中留下自己的邮箱,我发一个给你们。不过自己做成功以后要交流心得哦。 先找到一台有串口的台式机电脑,根据原理图设计一个不需驱动程序利用MAX232可以控制的串口下载器。将该程序通过串口下载器下载进去即可。这样母板就做成了。 USB下载器驱动程序的朋友可以留下邮箱地址。
Ⅲ 求STC51单片机下载器原理图有意者发到[email protected]
非常简单,只需一颗芯片,我现在做的一个工程就是STC的,都是自己做的下载线。STC单片机带有ISP功能,上电后单片机内部的ISP引导代码会检测UART口是不是有下载程序的数据流,如果检测到的话就会和PC通信,读取程序代码,并将代码烧写到flash中。
电脑上的232串口也是一种UART口,但是电平是10V的,不能和单片机的UART口连接,所以要进行电平转换,需要的芯片就是SP3232或是MAX3232,开始的时候买过一个STC官方的下载器,上用的芯片就是sp3232.
下载器原理图如下.
另外我看了你给的电路图,应该说是线接反了.232接口的2号引脚是RXD输入,3号是TXD输出,分别应该接T1OUT和R1IN.请你仔细检测接线问题!
Ⅳ 51单片机下载原理,讲一下流程,从电脑端到单片机,电脑端是怎么工作的,单片机端是怎么工作的
简单说,大概流程是:
电脑端通过下载器软件或叫程序烧录工具(如STC-ISP等),把已经编译好了的程序数据文件(hex)以串口通信方式,向单片机发送数据;
而单片机本身固化有所谓都片内烧录程序(ISP),在单片机复位时,先运行一段ISP代码,就是去检测特定引脚状态,以判断是继续运行ISP,还是转去运行用户先前已经烧录好都程序;
如果检测到是用户需要烧录新数据,就继续运行ISP,并接收电脑发送来的数据,按要求把数据烧录到相应都地方;
Ⅳ 究竟地球上有没有人知道AT89S51单片机USB ISP下载线的工作原理
地球上谁知道?肯定是首先制造这USBISP的德国人知道。
那个mega8单片机工作频率12MHz,是模拟USB总线和计算机通信的,就是说这mega8单片机是一个USB从设备,和计算机上的软件配合,接收要烧写的单片机(比如你用的AT89S51单片机)的程序——即从计算机通过USB传导mega8上先存放——然后 mega8模拟AT89S51单片机的串行烧写方法将这些程序写入到AT89S51中。
Ⅵ 麻烦问下单片机串口下载的原理是什么
一般串行下载分两种:
1、ISP:在系统编程,一般目标芯片内包含了专用的接口电路,上位机发送编程命令码及编程控制信息后由芯片硬件自动完成编程。比如通过JTAG口升级就是其中的一种,现在推出的许多新的芯片比如ARM都采用此模式。ATMEL公司的AT89S5x系列的单片机的下载模式虽然不属于JTAG模式,但很类似,应该属于ISP类。
2、IAP:一般叫做在应用编程。MCS-51系列单片机中采用比较多的sst、stc两家公司的单片机就属于这种模式,与上面的模式是有区别的。
下面重点介绍一下IAP的工作流程:
以SST公司的89E564为例:FLASH分为2块,一块64K,就是我们应用程序要使用的程序空间;另一块是8K,现在出厂时一般都预置了自编程的软件代码,这部分代码与上位机的下载软件通讯,获取机器码内容,然后实现对64K的编程操作。这8K的软件用的不是专门的指令,都是51系列标准的指令,只是增加了一些特殊功能寄存器用于实现自编程。
芯片上电启动后,程序首先在8K的程序空间中运行(其实此时相当于89C52芯片),程序主要工作流程如下:
第一步、首先检测串口有无上位机传递过来的编程命令,有的话应答,然后开始自编程操作,编程结束后重新启动;
第二步、如果串口没有编程命令,则检测64K区是否存在有效的机器码。如果有则跳转到64K区正式开始执行应用程序,否则会在8K区中等待,准备接收上位机传送过来的编程命令。
对64K区的编程操作,8k区中的软件只要将其代码从串口接收过来,送到相应的寄存器中,按照要求循环编程就可以了。所以这部分软件是可以修改的,比如某种设备有IC卡接口,就可以修改这8K的程序,实现通过IC卡升级软件的功能,只是这种方式第一次烧写时需要编程器,将8K区的出厂预装程序换成用户自己需要的升级程序。
归纳一下二者:
ISP编程属于纯硬件操作,只要FLASH的物理特性未损坏,就可以实现串口升级,但升级模式是固定的。
IAP模式属于属于软件操作,如果8K区并无物理损坏但软件有问题,就只能使用编程器来编程,无法实现串口升级。但正是由于这种可更改性,可以扩展多种升级方式,更灵活。其实物理损坏的可能性不大,所以我个人认为还是IAP更好些。