汇编语言写的,依据stc单片机官方提供的资料,测试ok,另外还有c语言的大家可到论坛去找。
stc的eeprom 功能还是不错的,可以简化我们的外围电路,但是缺点是是有就那就是写入速度太慢了,只能按扇区的写,不能字节写.
下面是代码
AUXR1 EQU 0A2H
ISPDATA EQU 0E2H
ISPADDRH EQU 0E3H
ISPADDRL EQU 0E4H
ISPCMD EQU 0E5H
ISPTRIG EQU 0E6H
ISPCONTR EQU 0E7H
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN:
MOV AUXR1,#0
INC AUXR1
MOV DPTR,#2000H
ACALL ERASE
MOV A,#0FEH
ACALL EEPROMW
ACALL EEPROMR
INC AUXR1
AJMP MAIN
ERASE:;擦除
MOV ISPCONTR,#81H
MOV ISPCMD,#03H
MOV ISPADDRH,DPH
MOV ISPADDRL,DPL
CLR EA
MOV ISPTRIG,#46H
MOV ISPTRIG,#0B9H
NOP
SETB EA
ACALL ISPXX
RET
EEPROMW:;写
MOV ISPCONTR,#81H
MOV ISPCMD,#02H
MOV ISPADDRH,DPH
MOV ISPADDRL,DPL
MOV ISPDATA,A
CLR EA
MOV ISPTRIG,#46H
MOV ISPTRIG,#0B9H
NOP
SETB EA
ACALL ISPXX
RET
EEPROMR:;读
MOV ISPCONTR,#81H
MOV ISPCMD,#01H
MOV ISPADDRH,DPH
MOV ISPADDRL,DPL
CLR EA
MOV ISPTRIG,#46H
MOV ISPTRIG,#0B9H
NOP
MOV A,ISPDATA
SETB EA
ACALL ISPXX
RET
ISPXX:
MOV ISPCONTR,#0
MOV ISPCMD,#0
MOV ISPTRIG,#0
RET
DEL:
MOV R2,#0FFH
D1:
MOV R1,#0FFH
DJNZ R1,$
DJNZ R2,D1
RET
END
关键字:STC单片机 EEPROM 读写程序
引用地址:
STC单片机EEPROM的读写程序
推荐阅读最新更新时间:2024-03-16 13:11
51 单片机 EEPROM小结(FLASH)
概念先行 RAM:可读可写,掉电消失 ROM:只读,掉电保存,存一些开机引导相关信息 两者同属内存,常说的电脑硬盘属外存。 SRAM就是速度快一点,EEPROM就是可重复编程可擦除,FLASH就是高级的EEPROM。 STC8利用ISP/IAP技术将内部DATA FLASH当EEPROM,可以自己设置,512字节单扇区擦除,每次擦除一个扇区,建议同一次修改的数据在一个扇区内。 寄存器 数据寄存器 IAP_DATA 读:读出的EEPROM的数据保存在其中 写:写之前必须将数据放入其中,再发写指令 地址寄存器 IAP_ADDRH:目标地址高字节 IAP_ADDRL:目标地址低字节 命令寄存器IAP_CMD 低两位置
[单片机]
STC单片机片内EEPROM的读写
宏晶STC很多系列的单片机片内都集成了EEPROM存储器(其实是Data Flash),方便用户使用,想得真周到!今天写了个小程序,测试了一下,工作正常。下面就上我自己写的源程序。本人在STC89C52RC单片机上试验成功。 首先是stcEEPROM.h头文件内容: /* When Who Remarks ---------------------------------- 2011-Oct-06 黄长浩 初始版本 */ #ifndef __STCEEPROM_H__ #define __STCEEPROM_H__ #define STC_EEPROM_START_ADDR 0x2000 //STC89C
[单片机]
AVR单片机有什么特点
什么是AVR单片机? VR单片机有什么优点? 什么要选择AVR单片机? AVR单片机是ATMEL公司研制开发的一种新型单片机, 它与51单片机、PIC单片机相比具有一系列的优点: 1:在相同的系统时钟下AVR运行速度最快; 2: 芯片内部的Flsah、EEPROM、SRAM容量较大; 3:所有型号的Flash、EEPROM都可以反复烧写、全部支持在线编程烧写(ISP); 4:多种频率的内部RC振荡器、上电自动复位、看门狗、启动延时等功能,零外围电路也可以工作; 5:每个IO口都可以以推换驱动的方式输出高、低电平,驱动能力强; 6:内部资源丰富,一般都集成AD、DA模数器;PWM;SPI、USART、TWI、I2
[单片机]
【菜鸟入门】stm32 之 eeprom
/* at24c02.c */ #include stm32f10x.h #include init.h #include iic.h #define send_slave_addr(a) iic_send_byte(a) #define send_rom_addr(a) iic_send_byte(a) #define ROM_SIZE (2*1024) //2K #define ADDR_SIZE 256 #define PAGE_SIZE 8 #define PAGE 32 int at24c02_init(unsigned char slave_addr) { iic_init(); iic_start(
[单片机]
FLASH和EEPROM的区别
FLASH和EEPROM的最大区别是FLASH按扇区操作,EEPROM则按字节操作,二者寻址方法不同,存储单元的结构也不同,FLASH的电路结构较简单,同样容量占芯片面积较小,成本自然比EEPROM低,因而适合用作程序存储器,EEPROM则更多的用作非易失的数据存储器。当然用FLASH做数据存储器也行,但操作比EEPROM麻烦的多,所以更“人性化”的MCU设计会集成FLASH和EEPROM两种非易失性存储器,而廉价型设计往往只有FLASH,早期可电擦写型MCU则都是EEPRM结构,现在已基本上停产了。在芯片的内电路中,FLASH和EEPROM不仅电路不同,地址空间也不同,操作方法和指令自然也不同,不论冯诺伊曼结构还是哈佛结构都是这
[单片机]
EEPROM和Flash这样讲,我早就懂了
存储器分为两大类:RAM和ROM,本文主要讨论ROM。。ROM最初不能编程,出厂什么内容就永远什么内容,不灵活。 后来出现了PROM,可以自己写入一次,要是写错了,只能换一片,自认倒霉。人类文明不断进步,终于出现了可多次擦除写入的EPROM,每次擦除要把芯片拿到紫外线上照一下,想一下你往单片机上下了一个程序之后发现有个地方需要加一句话,为此你要把单片机放紫外灯下照半小时,然后才能再下一次,这么折腾一天也改不了几次。 历史的车轮不断前进,伟大的EEPROM出现了,拯救了一大批程序员,终于可以随意的修改rom中的内容了。 EEPROM的全称是“电可擦除可编程只读存储器”,即Electrically Erasable Pro
[单片机]
AT28C系列EEPROM中数据的保护
1 前言 EEPROM是一种具有掉电记忆功能的存贮器,其内容可以象普通RAM一样进行改写,而且改写时能够自动擦除并换成新内容。它不象EPROM那样需要紫外线擦除;而只需用电即可擦除并改写存贮在其内部的内容。EEPROM通常在内部带有编程电源。由于它只需外接单一+5V电源,因此使用起来十分方便。和串行芯片相比,并行EEPROM的电路接口和编程设计均简单得多,所以在对电路板面积要求不很苛刻的情况下,使用EEPROM存贮器还是十分的方便。 2 并行EEPROM中数据丢失的原因 并行EEPROM通常采用总线扩展接口方法,图1所示是基于AT28C256的接口电路,其中为地址译码产生的片选信号为单片机的读、写信号。 编程时,只需
[单片机]
【STC单片机学习】第七课:单片机控制静态/动态数码管
1.7.1.什么是数码管 1.7.1.1、几方面看数码管 (1)外观 (2)作用:数码管是显示器件,用来显示数字的:工业场合用的比较多! (3)分类:单个(1位)、联排(2位、4位、8位) 1.7.1.2、工作原理 (1)亮灭原理(其实就是内部的照明LED) 一个数码管里面有8个LED。 (2)显示数字(甚至文字)原理:利用内部的LED的亮和灭让外部的组成数字的笔画显示或者不显示,人看到的就是不同的数字。和点灯很相似!例如下面:显示2、8 1.7.1.3、共阳极和共阴极数码管 (1)驱动方法的差异 必须清楚一个数码管内部的8颗LED是独立驱动的。如果8颗LED的正极接在一起接到VCC上(负极分别接到单
[单片机]