C8051F35X单片机内部Flash存储器的擦写方法

发布者:平和的心态最新更新时间:2011-11-28 关键字:C805lF35X  Flash  单片机  包装机 手机看文章 扫描二维码
随时随地手机看文章

    C805lF35X是Cygnal公司推出的混合信号片上系统型单片机MCU,采用CIP-5l内核可大大提升指令运行速度,另外该器件内部还具有一个完整而先进的时钟系统和片内调试电路,其内置的Flash代替ROM和EPROM,不仅为用户的存储提供方便,还大大简化电路。这里给出使用C80-5lF35X单片机内部Flash存储器的擦除、写入和读取操作方法。

1 存储器结构
    C805lF35X单片机内部含有2个独立的存储器:程序存储器和数据存储器。程序存储器中包含8 KB可在系统编程的Flash存储器。C8051-F35X通过设置程序存储写允许位(PSCTL.0)采用MOVX指令对程序存储器写入。如图l所示。


    这8 KB的Flash存储器在一个连续的存储器块内(地址范围为OX0000~OXlDFF,OXlE00以上的地址保留),其通过硬件接口或采用MOVX指令对Flash存储器在系统编程。
    为了保证操作正确,写入和擦除操作由硬件自动定时,无需数据查询判断写/擦除操作何时结束。程序在Flash写入/擦除操作时停止执行。[page]

2 Flash存储器的锁定与解锁
    在Flash操作之前,必须按顺序向Flash锁定和关键码寄存器(FLKEY)写入正确的关键码,该关键码禁止对知识产权信息(以程序或常数形式存储在Flash中)进行未经授权访问或防止用户无意修改程序代码以及因系统条件异常导致代码改变。写关键码时必须按顺序写,否则Flash写入或擦除操作被禁止,直到下一次系统复位。存储在Flash用户空间的最后一个字节的安全锁定字节保护Flash存储器,使其不被非保护代码或通过硬件接口读写或擦除。使用安全锁定字节时有以下关键点:1)将Flash安全字节中的位设置为0,保护Flash存储器不通过JTAG接口被访问;2)采用软件设置一个软件读访问限制,保护存储器不被读取;3)已被软件访问保护的Flash存储器也应用Flash安全字节进行保护。使其不通过JTAG接口访问;4)在保护Flash时,包含Flash安全字节的Flash页也应保护;5)如果最终用户无需访问Flash,可通过简单锁定整个Flash存储器保护其不通过JTAG访问。

3 Flash数据擦除
    采用软件MOVX指令对Flash存储器编程,在使用MOVX指令前,先允许Flash写操作,其过程为:1)将程序存储写允许位PSWE(PSCTL.0)设置为逻辑“1”,这将使MOVX操作指向目标Flash存储器;2)按顺序向Flash锁定寄存器(FLKEY)写入Flash关键码,PSWE位将保持置位状态,直到被软件清除。
    在采用软件修改Flash内容前,PSWE必须置为逻辑“l”;而在软件擦除Flash存储器前,PSWE位和PSEE位都必须置为逻辑“1”。写入Flash存储器操作可清除数据位,但不能使数据位置“1”,只有擦除操作能将Flash中的数据位置为“l”。所以在写入新值前,必须先擦除待编程地址。Flash存储器是以512字节的扇区为单位构成的,一次擦除操作将擦除整个扇区(将扇区内的所有字节置为OXFF)。
    擦除一个扇区的步骤如下:1)禁止中断;2)置“l”程序存储器擦除允许位(PSCTL中的PSEE),以允许Flash扇区移除:3)置“1”程序存储器写允许位(PSCTL中的PSWE),允许Flash写入;4)向FLKEY写第1个关键码:0XA5;5)向FLKEY写第2个关键码:0XFl;6)用MOVx指令向待擦除页内的任何一个地址写入1个数据字节;7)清除PSWE和PSEE位;8)重新允许中断。

4 Flash数据写入
    Flash存储器可一次写1个字节,也可一次写1组字节,寄存器PFEOCN中的FLBWE位为一次Flash写操作可写入1个或2个字节。当FLBWE清零时,每次Flash写操作写入1个字节;当FLBWE位置为“1”时,每次Flash写操作写入2个字节(块写)。块写时间与单字节写的时间相同,在向Flash存储器写入大量数据时可节省时间。在单字节写Flash时,分别写入字节数据,每个MOVX写指令执行一次Flash写操作。C805lF35X的Flash存储器写入程序代码如下:


5 Flash数据读取
    由于Flash读操作采用MOVC指令实现,因此用于读操作的Flash指针必须是CODE类型。由于Flash写操作是用MOVX指令实现的,所以写入或擦除操作的Flash指针必须是XDATA类型。对于C8051F35X的Flash存储器读取数据程序代码如下:
  

[page]

6 实际应用
    C805lF35X内部Flash存储器的读写操作可应用于包装机控制器的参数存储。在开机运行时如果每次重新输入分装重量值、分装精度等参数会降低工作效率,这时需在系统上电后自行调用事先设置的参数以简化工作人员的操作步骤,提高生产效率。图2是包装机参数调用流程。开机上电后先初始化串口,如果按下设置键重新设置分装重量,内部Flash需保存新参数,先将事先保存在Flash内的数据删除后再写入新数据,使掉电时数据不丢失,可在下次开机时直接调用数据。此方法已成功运用于包装机控制器中。

7 结论
    C805lF系列的其他型号的单片机Flash的基本操作只需修改上述程序代码即可完成Flash存储器的相关操作。此外,在线写入C805lF35X单片机片内Flash时需注意:1)Flash读写或擦除地址超出用户代码空间引起系统复位;2)1个Flash位一旦清零,必须经擦除才能回到“1”状态,在重新写入之前,一般要将数据字节擦除(置为0XFF);3)为保证Flash内容的正确性,用户使用软件对Flash存储器进行写或擦除操作时,需先使能片内VDD监视器。

 

关键字:C805lF35X  Flash  单片机  包装机 引用地址:C8051F35X单片机内部Flash存储器的擦写方法

上一篇:基于单片机的发动机尾气参数采集系统的设计
下一篇:基于51单片机的汉字LCD智能显示模块设计

推荐阅读最新更新时间:2024-03-16 12:47

基于ATMEL89S52单片机的三相桥式可控触发电路的设计
1 引言 晶闸管作为一种半控性功率半导体器件,其基本功能是对电压进行整流、调压和斩波等进行控制,以满足实际需求。目前,晶闸管整流器装置已在工农业生产中得到了广泛的应用,特别是在直流调速系统中。触发电路是晶闸管电力变流技术的一种核心技术,触发电路应具有可靠性高,对称性好等要求。以分立元件及专用集成电路为主的触发电路,其性能不尽如人意,其具有电路复杂、易受电网电压影响、触发脉冲对称度不好等缺点。由单片机组成的控制,其触发电路具有性能良好、触发电路结构简单、控制灵活、温漂影响小、控制精度高、移相范围可任意调节等特点; 因其移相触发角通过软件计算完成,由于软件的可编程性,使微机数字触发器的调速范围更加灵活,能满足更多方面的需要。
[单片机]
基于ATMEL89S52<font color='red'>单片机</font>的三相桥式可控触发电路的设计
基于单片机的温度采集及无线发送系统
  0 引言   随着数字化脚步的加快,越来越多的数字化产品取代了原有的机械式仪表,从而大大提高了数据的准确率。然而,多数情况下,温度的采集过程只在现场实时显示,在增加了工作量的同时,也可能会造成很多不便,如进入危险区域。因此,将无线网络应用在工业生产中,不仅能大大提高工作效率,同时也在一定程度上降低了劳动强度。   本设计基于以上两点,将工业生产中常用到的温度进行数字化,并通过无线模块将数据发送出去,在接收方利用无线接收设备接收实时的数据,从而大大降低劳动强度。   1 系统组成   系统由单片机、温度传感器、串口通信模块和无线传输模块等几部分组成。测温系统将测得的温度通过单片机在数码管上实时显示,同时,通过串口通信部分
[单片机]
基于<font color='red'>单片机</font>的温度采集及无线发送系统
求一种STM32单片机交通灯控制系统设计方案
一、功能简介 本项目使用Proteus8.12仿真STM32单片机控制器,使用数码管、按键、交通信号灯模块等。 系统运行后,交通灯系统开始运行,数码管显示初始时间,默认南北绿灯5S,东西红灯8S,绿灯过后南北黄灯3秒;然后切换东西绿灯5S,南北红灯8S,绿灯过后南北黄灯3秒;如此循环。可使用K1键进入红绿灯时间设置,K2和K3进行加减调节,设定好后,K4键确定并继续运行。在运行过程中,可通过K2键禁止通行,此时东南西北方向红灯亮,K3键允许南北通行,此时南北绿灯亮,东西红灯亮。K4键允许东西通行,此时南北红灯亮,东西绿灯亮。此时可按下K1键返回交通灯自动控制模式运行。 主要功能如下: (1)东西南北红黄绿灯控制; (2)交
[单片机]
求一种STM32<font color='red'>单片机</font>交通灯控制系统设计方案
MCS51单片机的排序程序(ASM源代码)
MCS51单片机的排序程序(ASM源代码) ;内部RAM数据排序程序(升序) ;入口 :R0(起始地址),N(数据个数) ;占用资源:ACC,B,R5,R6,R7 ;堆栈需求:2字节 ;出口 :R0 ISELSORT :MOV R7,N DEC R7 ISST1 :MOV A,R7 MOV R6,A MOV A,R0 MOV R1,A MOV R2,A MOV B,@R1 ISST2 :INC R1 MOV A,@R1 CLR C SUBB A,B JC ISST3 MOV A,R
[单片机]
关于STM8S单片机低功耗应用中时钟源切换时的注意点
简介:一般正常运行时,我们使用的时HSE(外部高速时钟源),当准备进入低功耗时,我们会切换到内部高速时钟HSI(一般需要分频以降低功耗),关闭HSE(若不关闭就不会出现下面的问题,即不用看本文了)。当从低功耗退出,进入正常运行时,会切换HSE。 这时由于之前关闭了HSE,再次打开HSE时会需要一段时间才会ready,然后再由HSI切换到HSE。 //该函数可实现切换时钟源功能。HSE与HSI互切。 void Switch_SysClock(CLK_Source_TypeDef CLK_NewClock) { switch(CLK_NewClock) { case CLK_SOURCE_HSE: //启用
[单片机]
单片机系统软件抗干扰方法
简介:在提高硬件系统抗干扰能力的同时,软件抗干扰以其设计灵活、节省硬件资源、可靠性好越来越受到重视。下面以MCS-51单片机系统为例,对微机系统软件抗干扰方法进行研究。 1 软件抗干扰方法的研究 在工程实践中,软件抗干扰研究的内容主要是: 一、消除模拟输入信号的嗓声(如数字滤波技术);二、程序运行混乱时使程序重入正轨的方法。本文针对后者提出了几种有效的软件抗干扰方法。 1.1 指令冗余 CPU取指令过程是先取操作码,再取操作数。当PC受干扰出现错误,程序便脱离正常轨道“乱飞”,当乱飞到某双字节指令,若取指令时刻落在操作数上,误将操作数当作操作码,程序将出错。若“飞” 到了三字节指令,出错机率更大。 在关键地方人为插
[单片机]
自制51单片机常用头文件(st7920串行方式)
/*-------------------------------------------------------------------------- ST7920.H The user function is C51. Copyright (c) 1988-2004 Keil Elektronik GmbH sum zhaojun All rights reserved. --------------------------------------------------------------------------*/ // 串行方式 #ifndef __ST7920_H__ #define __ST7920_H__ #
[单片机]
消费电子和32位产品成为推动中国MCU市场增长的明星
去年中国MCU市场整体规模首次突破300亿元,同比增长15.8%。从增长速度来看,与前几年相比目前全球电子产品制造业向中国转移已趋于平稳发展态势,而且在持续几年快速发展之后,中国电子制造业产量也进入了一个相对较高的水平,因此增长空间和潜力都受到一定限制。而在MCU方面,去年销售额和销量增幅均比前一年明显下降,从而也可以确定中国MCU市场已经走过市场快速增长的初期阶段,开始进入平稳增长的相对成熟发展阶段。 明星应用:消费电子领域 从去年中国MCU市场主力应用领域来看,销售额增长最快的是汽车电子领域,其同比增长超过50%,这与汽车电子类整机产品产量增长最为迅速的发展态势完全吻合,但是由于目前汽车电子类MCU市场规模相对较小,200
[焦点新闻]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved