




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机片内大容量EEPROM的一种巧妙应用引 言MCS-51单片机是目前国内应用最广泛的一种单片机型。全球各单片机生产厂商在MCS-51内核基础上,派生了大量的51内核系列单片机,极大地丰富了MCS-51的种群。其中STC公司推出了STC89系列单片机,增加了大量新功能,提高了51的性能,是MCS-51家族中的佼佼者。早期的单片机控制系统,采用单片机加片外EEPROM配合,来存储一些需要预置的重要参数,并在数码管上显示出来。由于单片机控制的整流器要求实时性很强,而早期EEPROM的写周期在10 ms左右,因此运行参数的预置是在整流器待机的情况下进行的。而很多情况下需要在运行的同时记
2、录数据,如用单片机控制的12脉波汽车电泳整流器要求在运行的同时实时记录重要数据,而且在掉电时不丢失。由于在12脉波整流器中运行的单片机程序,其周期必须小于167 ms(交流电网的1个周期是20 ms,除以12就是l_67 ms),这就要求实时记录的时间在1ms以下甚至更短(考虑到程序的执行时间)。经查阅资料发现,目前很多EEPROM达不到这个要求1,即使时间最短的AT89S8252单片机片内。EEP-ROM的写周期也是25 ms。本文通过对EEPROM的巧妙应用,实现了整流器在线记录数据的功能。1 寻找符合要求的单片机设备使用的是Atmel公司的AT89C52(40DIP封装)单片
3、机和EEPROM芯片2817A。要想在不改变原设备电路板的情况下完成要求的功能,就只能在兼容的MCS-51系列单片机中想办法。AT89S8252片内含有2 KB的EEPROM,经编程测试发现,它虽然能实时记录数据并且断电不丢失,但是在向片内EEPROM中记录1个数据时,能引起输出电压和电流的波动,不能满足实际运行的需要。其原因是AT89S8252单片机片内EEPROM的写周期为25 ms,超过了167 ms的程序的执行周期,从而影响了程序的正常运行。所以执行周期是解决问题的关键。由参考文献2-3知:STC89C51RCRD+系列单片机片内含有EEPROM(Data Flash),读1个字节编程
4、1个字节擦除1个扇区(512字节)的时间分别为10s60s10 ms。编程1个字节的时间为60s,远小于AT89S8252片内EEPROM 25 ms的编程时间,这为解决问题提供了思路。2问题的解决单片机STC89C55RD+(40DIP封装),其引脚、功能完全与AT89C52兼容,与MCS-51程序也兼容,片内含有20KB的Flash程序存储器,16KB的EEPROM数据存储器。把原用于AT89C52中的程序写到STC89C255RD+中,放到原设备上运行,可长期稳定地运行。经修改的在整流器中运行的单片机程序,实时记录一些数据到STC289C55RD+的EEPROM中,整流器可正常运行,但不
5、能执行扇区擦除操作。执行扇区擦除操作将严重影响整流器的正常运行,引起输出电压和电流的很大波动。执行扇区擦除操作时,从示波器来看整流器的输出间断了20 ms,电压电流显示很大的波动。用示波器捕捉到了EEPROM写时的波形,输出波形暂停了20 ms,1个周波电压,电压波形如图1所示,不执行扇区擦除操作时的波形如图2所示。从图中可以看出,问题得到了很好的解决。究其原因,这与EEPROM的特点有关。STC89C5lRCRD+系列单片机片内的EEPROM,与普通的EEPROM不同。普通的EEPROM有字节读写功能,不需要擦除,在字节写的时候自动擦除。而STC89C51RCRD+系列单片机片内的EEPRO
6、M,具有Flash的特性,只能在擦除了扇区后进行字节写,写过的字节中不能重复写,只有待扇区擦除后才能重新写,而且没有字节擦除功能,只能扇区擦除。3 EEPROM(Data FIash)的巧妙应用基于以上EEPROM(Data Flash)不易擦除的特点,可以写后先不擦除。利用EEPROM(Data Flash)容易写、时间短(字节写只有60 s)的特点,可以充分利用其写的功能。根据汽车电泳整流器的特点:每泳1辆汽车,整流器的输出电流就从0逐渐上升到最大电流,然后又逐渐回到0。从电流的变化可以准确地识别出电泳过的车的数量。每识别出1辆车,就在EEPROM(Data Flash)的1个
7、字节中(起始地址为0000H)写入#01H(也可以是其他数,但不能为#OFFH),然后地址自动加1,等待识别出下一辆车。这样就通过EEPROM(Data Flash)字节地址的方式,间接记录了汽车电泳整流器电泳过的车辆总数,并可在数码管上显示出来。16 KB的EEPROM(Data Flash)可记录16 384辆车。待将计满时,可按擦除按钮擦除EEP-ROM(Data Flash)中的所有扇区,再重新计数。如按每10分钟电泳1辆车,1天工作16小时,可连续记录16 3846010×16)=170天。此种方法也可用于对电泳整流器连续工作时间的累计,如每10分钟记录1个数据,可连续记录16 384(6010)=2 730小时。整流器停机断电后,每次开机给单片机上电时,在初始化程序中,首先从地址#0000H读片内EEPROM的数据,如果数据不为#OFFH,地址自动加1,再读下一个字节,直到所读数据为#OFFH为止。此时EEPROM的地址指针数据,即为前面累加的电泳车辆数(或累计电泳工作时间),可在数码管上显示出来。整流器工作后,按前述结语结合上产的实际情况,在不改变原设备电路板的情况下,通过使
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 热单位与供应商用车合同书
- 海安厂房购买合同范本
- 铁路房交易合同范本
- 2025劳保用品采购合同模板
- 2025年标准版买卖合同样本
- 语言学导论知到课后答案智慧树章节测试答案2025年春潍坊学院
- 2025工程监理聘用合同范例
- 高一英语学案:预习导航AtasteofEnglishhumour-SectionⅣ
- 2024年栖霞市市属事业单位考试真题
- 2024年吕梁市市属事业单位考试真题
- 道路纵断面设计
- 1.3.1 三角函数的周期性课件
- 智能感知系统布局
- 综合能力测试真题及答案
- 幼儿园中班创意美术《我运动了》课件
- 自动焊锡机烙铁头更换记录表
- 广东省省级政务信息化服务预算编制标准(运维服务分册)
- 汽车维修公务车辆定点维修车辆保养投标方案
- 歌曲Wonderful U:美妙的你.中英互译
- 部编教材教读课教学课例例说课件
- 冀教2011版四年级英语下册《Lesson23MyFavouriteSchoolWork》评课稿
评论
0/150
提交评论