APP下载

SST89C系列单片机ISP/IAP功能的实现

2015-11-14唐义思

科技资讯 2015年21期
关键词:单片机

唐义思

摘 要:具有ISP/IAP功能的单片机给使用者提供了极大的方便,特别是在高校,大部份的单片机实验室都采用SST89C××系列的单片机,一是该型单片机价格低廉,二是该型单片机同时具有ISP/IAP功能。但是由于某些不可预料的原因,很容易造成用于实现ISP和IAP功能的监控程序损坏,从而导致单片机无法工作,该文阐述了SST89C××单片机的ISP/IAP功能的实现方法。由于SST89C××系列的单片机在刚出厂时就已结具备了ISP功能,因此图文并茂地着重介绍了具有ISP功能的SST89C××单片机在没有专用编程器时该如何实现IAP功能的方法。

关键词:单片机 ISP IAP 监控程序

中图分类号:TP27 文献标识码:A 文章编号:1672-3791(2015)07(c)-0011-02

如今单片机在电子领域的应用已经相当普遍,在高校大多数的工科专业也开设了相应的单片机课程,而且以C51单片机居多,因此单片机实验室从实用和方便的角度出发,大多数就采用SST89C××型号的单片机,因为该型单片机同时具有ISP/IAP功能。当然,该型单片机也存在不足,那就是该型单片机很容易发生ISP/IAP监控程序损坏的情况,从而导致单片机无法正常工作,那么怎样来修复这种软故障,这就是该文所要讨论的内容。

1 ISP/IAP概念及联系

1.1 ISP概念

ISP(In System Programing),即在系统编程。ISP是指可以在板级上进行编程,而不用把芯片拆下来放到烧写器中,即不脱离系统,所以称作“在系统编程”,它是对整个程序的擦除和写入,通过单片机专用的串行编程接口对单片机内部的Flash存储器进行编程。即使芯片焊接在电路板上,只要留出和上位机接口的串行口就能进行烧写。ISP的在线下载需要适当的辅助电路才能实现。

1.2 IAP概念

IAP( In applicating Programing),在应用编程。IAP同样是在板级上进行编程,MCU获取新代码并对程序的某部分重新编程,即可用程序来改变程序,修改程序的一部分达到升级、消除bug的目的,而不影响系统的其它部分,烧写过程中程序可以继续运行,这样可以进行远程升级而不影响应用。IAP技术是从结构上将Flash存储器映射为两个存储体,当运行一个存储体上的用户程序时,可对另一个存储体重新编程,之后将控制从一个存储体转向另一个。IAP的实现更加灵活,通常可利用单片机的串行口接到计算机的RS232口,通过专门设计的固件程序来编程内部存储器。

1.3 ISP/IAP联系

实际上单片机的ISP功能就是通过IAP技术来实现的,即片子在出厂前就已经有一段小的boot程序在里面,片子上电后,开始运行这段程序,当检测到上位机有下载要求时,便和上位机通信,然后下载数据到数据存储区。

2 ISP/IAP的实现方法

SST89C××系列单片机在厂家设计时,已经在硬件上使其具有了ISP/IAP功能的前提,但还需要使用编程器向其写入与ISP/IAP相对应的监控程序才能达到在系统编程和在应用编程的目的,另外,对于SST89C××系列单片机,一般在出厂时厂家已经写入了与ISP功能所对应的监控程序,因此就刚买的SST89C××系列单片机而言,他已经具备了ISP功能,但不具备IAP功能,但如果操作不当,同样会导致ISP监控程序的损坏。由于SST89C××单片机的Flash存储器映射为两个存储体,监控程序需写入存储体1。该文以SST89C58单片机为例来介绍SST89C××系列单片机的ISP/IAP如何从软件上来实现,其他型号的以此类推。SST89C58单片机的FLASH存储器被映射为如下两个区:BLOCK1:F000H-F3FFH;BLOCK0:7000H-7FFFH,要使单片机实现ISP和IAP功能,就需要向BLOCK1区写入相应的监控程序,监控程序可以直接在网上下载。

2.1 ISP功能的实现

如果单片机不能实现ISP功能,这时必须要用专用的编程器向单片机BLOCK1区写入ISP功能监控程序,相应的监控程序名为F51MBLF3.HEX。

2.2 IAP功能的实现

要实现IAP功能,需要向BLOCK1区写入仿真监控程序SOFTICE58.HEX,下面分两种情况来说明。

第一种情况:如果用户有专用的编程器,则直接写入IAP功能监控程序SOFTICE58.HEX即可。

第二种情况:对于一般的用户来说是没有专用编程器的,那么该如何向BLOCK1区写入IAP监控程序呢?这时要实现IAP功能有一个前提,那就是单片机必须要有ISP功能,而前面已经述及对于刚出厂的新SST89C××系列单片机是具有ISP功能的,这时只需要手工焊接一个简单的串口下载电路即可实现。

(1)串口下载电路。

(2)监控程序IAP下载。

利用SST89C××系列单片机对应的下载软件SSTEasyIAP11F.exe下载IAP监控程序到单片机中。相应的操作如下。

第一步,运行软件SSTEasyIAP11F.exe,界面如下。

第二步,执行菜单命令DetectChip/rs232->Detect Target MCU For Firmware1.1F And RS232 Config 。

在图中选择相应的单片机型号。

第三步,设置连接串口,点击Detect MCU 按钮。

第四步,给下载电路通电,如果图2窗口右边Chip Information区域显示单片机类型,则说明系统已经发现单片机,如果没有出现单片机类型,则系统没发现单片机,这时需要对单单片机进行复位。点击图2中的download,出现图5界面。

在File Name框中添加SOFTICE58.HEX仿真监控程序并且在Starting框中输入BLOCK1区的首地址,然后点击OK即可下载。

综上所述,SST89 C××单片机要实现ISP/IAP功能,必须要保证相应的监控程序不损坏,如果SST89 C××单片机发生了ISP/IAP故障,在硬件完好无损的情况下,则应该根据实际情况向单片机存储体1写入相应的监控程序即可修复。

3 结语

SST89 C××系列单片机由于其能够实现ISP/IAP功能,因此其使用起来非常方便,故在高校单片机实验室和高校理工科学生中得到了较为广泛的应用,但由于某些不可预料的原因,经常发生ISP及IAP监控程序损坏的情况,导致单片机不能正常运行,该文首先介绍了ISP及IAP功能的相关概念,二者之间的联系及区别,然后介绍了单片机实现ISP/IAP功能的硬件要求,最后图文并茂地重点介绍了IAP监控程序的写入方法。

参考文献

[1] 马忠梅.单片机C语言应用程序设计[M].北京:北京航空航天大学出版社,2007:129-132.

[2] 陈明荧.8051单片机基础教程[M].北京:科学出版社,2003:201-205.

[3] 李朝青.PC机及单片机数据通信技术[M].北京:北京航空航天大学出版社,2000:185-188.

[4] 彭伟.单片机C语言程序设计实训100例[M].北京:电子工业出版社,2013:210-214.

[5] 刘昌华.8051单片机的C语言应用程序设计与实践[M].北京:国防工业出版社,2009:170-173.

[6] 周润景,袁伟亭,景晓松.Proteus在MCS-51&ARM7系统中的应用百例[M].北京:电子工业出版社,2014:178-181.

猜你喜欢

单片机
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的多功能智能插排
基于单片机的便捷式LCF测量仪
小议PLC与单片机之间的串行通信及应用
MSP430单片机在仿真中要注意的几点问题
基于单片机的平衡控制系统设计
基于单片机的三维LED点阵设计
Microchip推出两个全新PIC单片机系列
基于Proteus的单片机控制系统的仿真设计