IAP,In Application Programming ,它的意思是“在应用编程”,即在程序运行时程序存储器可由程序自身进行擦写。
STC89C51、52内部都自带有2K字节的EEPROM(可编程程序存储器),54、55和58都自带有16K字节的EEPROM,STC单片机是利用IAP技术实现的EEPROM的擦写。
ISP(In-system programmable)是在系统可编程:
指的是不需要把单片机从目标系统板上取下来就可以直接从PC往单片机里面烧录程序。
IAP(In-Application programmable)是在应用可编程:
指的是可以通过单片机自身的程序修改单片机该程序区的内容;
EEPROM功能是:
在程序区1中的程序可以修改程序区2中的内容;通常程序区2中的内容不可以执行,只能当数据使用,功能相当于EEPROM;
区别:
ISP:从PC机修改单片机程序区的内容(即烧录)
IAP:单片机自己修改自己程序区的内容
EEPROM:单片机程序区1中的程序可以修改程序区2中的内容
这么有技术含量的问题……你也好意思没给悬赏分!!!!!
stc普通芯片跟iap芯片读取eerom是不一样的。
普通芯片,有专门的EEPROM区,使用专用的寄存器和指令来读写的。
而IAP是没有专门的EEPROM区的,全部的FLASH的程序区都可以作为EEPROM来读写,而且在运行程序的过程中,随时可以修改程序,但千万别把程序改乱了,造成死机哟。
一般来说任何单片机如果同时有FLASH和EEPROM的话,用法是差不多的。现在我来说明一下这两种非易失性储存器各有什么用处。
1 Flash一般是用来储存程序的。就是你用汇编语言或者C语言开发的源程序,经过编译软件编译以后,成为一串“0”和“1”的组合。一般是十六进制的HEX文件。然后通过编程器或者下载线烧录到单片机里。这个一般就是放在单片机的Flash中的。掉电以后flash里面的内容不会消失,一般重新上电以后,程序从00h开始运行。(就是从头开始运行)
2 EEPROM一般是用来储存某些表格,常数数据的。它的读写一般是通过FLASH中的某些指令进行的。如果程序中没有相应的指令给它,EEPROM中的数据是不会被改变的。即使掉电以后数据也不会消失。你也许会奇怪为什么会有EEPROM,直接存在FLASH中不就是了吗?为什么要存在EEPROM中呢?举个例子说明吧。比如你有一个表格要存入单片机中。如果你存在flash中那么每次上电时程序从头开始运行,也就是你的表格中的数据,每次都是一样的了。不能被更改。只能被读出。而如果你存在EEPROM中就不一样了。数据既不会丢失。而且只有当你有相应的指令运行过去EEPROM中的数据才会被修改。否则是不会修改的。当你有相应的指令运行过去,里面的数据也会别读出。
那么为什么flash空间远远大于EEPROM空间呢?我个人认为理由很简单。EEPROM的价格也比FLASH贵的多了。其实你的这个片子EEPROM有2K之多。所以可以储存2K个字节的常数或者表格之类的东西。因为你是8位单片机。每个字节又能储存8位二进制数据。相当于你有2K个盒子,每个盒子能放8位二进制数据。这个EEPROM已经算是比较大的了。顺便说一句你的这个片子FLASH有60K也算是比较大的了。
STC的芯片比较特殊,理论上它的EEPROM实际就是程序存储器,而使用的IAP实现的EEPROM。类似与NXP的89LPC系列,不过STC烧写软件有限制不主动将程序写到这个空间去,而且还不排除它本身的ISP程序做了某写配置来限制用户这么使用。所以理论上是可以实现的,但实际 *** 作可能有些不便。
以上就是关于stc单片机中 epprom 和 IAP 是什么关系呢谢谢了全部的内容,包括:stc单片机中 epprom 和 IAP 是什么关系呢谢谢了、STC单片机的IAP功能和ISP功能有什么区别与联系为什么IAP功能同EEPROM联系在一起为什么、stc普通芯片跟iap芯片读取eerom一样 的吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)