关于51单片机EEPROM的一些问题,求大神指教

实验现象:24C02地址00H处送入#33H ;从24C02地址00H处读出数据送入内存50H
我写的C程序中包括指定地址读,当前地址读,指定地址写,当前地址写,我先写入地址00H,再在00H处写入数据33H;因为此时我已经处于当前地址00H处,我再从当前地址读出数据,可是我用数码管显示的时候却无法显示我想要的数字,一直显示5,无论怎么改地址都没有用,想问下,EEPROM里的数字是不是已经固定了,为什么修改没用啊?

"再在00H处写入数据33H;因为此时我已经处于当前地址00H处"
24C02内部地址计数器会自动加1,当你写完33H后,它指向的地址其实是01H那个地方。所以你要重新指定地址00H,从00H处读。
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-05-22
肯定是程序错误

关于51单片机EEPROM的一些问题,求大神指教
24C02内部地址计数器会自动加1,当你写完33H后,它指向的地址其实是01H那个地方。所以你要重新指定地址00H,从00H处读。

51单片机 EEPROM 的 一些顺序问题,求大神
原来的程序,用tmp<<=1空出低位,在通过条件判断决定低位是否用tmp|=0x0置1。你改动的程序,先通过条件判断决定低位是否用tmp|=0x0置1,如果条件成立会覆盖低位,然后用tmp<<=1左移1位,相当于乘2,当收的1位没收到,到这你再给乘2,当然不行了。

在STC系列的51单片机中,有5个数要存进EEPROM,如何存储占用空间最小...
为了程序好写一下,可以这么用:创一个字节k 1,k1的0和1位有m3的最高两位,m1,m2的最高位用3和4位。m4只需要4位,m5只需要1位,所以也可以合在一起得到k2,k2的低4位为m4,第五位为m5,这样分配也只有10个字节,程序的控制上相对容易,这的所说的位为二进制位....

跪求有谁知道 为什么51单片机的eeprom中存储的数据不能在外部中断子程序...
关于读取:在一个中断读取,如果其它中断到来且可以嵌套本中断,那么就可能读错。如果嵌套的中断中没有读取同地址的、且嵌套中断结束执行的主程序指令不是读取同地址的,那么就不会出错(如AVR中断规定,中断结束后最少执行主程序一条指令,再返回或响应其它中断)。所以,不管读写,保证原子性,也就是读...

关于51单片机的几个问题
4、“MSC 51单片机定时\\计数器对外部脉冲进行计数时,要求输入的计数脉冲的高电平或低电平的持续时间不少于一个机器周期”,这句话哪里有错,实在没看出来 有错吗?--- 5、两数相减用补码运算时,是不是CY等于0表示第一个数小于第二个数,CY等于1表示第一个数大于第二个数 单片机的计算,是按...

51单片机怎么使用内部EEPROM,上电次数、断电记忆,怎么实现计到最大...
IAP_READ:MOV IAP_CONTR,#ENABLE_IAP ;打开 IAP 功能, 设置 Flash 操作等待时间 MOV IAP_CMD,#ISP_IAP_BYTE_READ ;设置为IAP\/ISP\/EEPROM字节读模式命令 MOV IAP_ADDRH,DPH ;设置目标单元地址的高8位地址 MOV IAP_ADDRL,DPL ;设置目标单元地址的低8位地址 ;CLR EA MOV IAP_TR...

51单片机怎么使用eeprom来时时存储数据,这个数据是电机的坐标值,时时...
用eeprom来时时存储数据,原则上可以做到,但是需要注意以下问题:某些器件的eeprom的寿命(以改写次数表示)有限。例如有的规定寿命为10万次。如此,你如果每秒钟改写一次,那么运行要不了一天多,寿命就到头了。所以,通常需要实时记录的数据,平时都是记录在RAM里的缓存中,只在关键时刻(例如掉电前)将...

51单片机串行口通信数据丢失问题
中断服务程序占用时间太长,将网EEPROM写的程序放在外边,另外,需要开辟一个接收缓冲区,否则有可能丢失数据,用串口助手是没有握手的,所以PC没有多长时间的等待,你来不及接收就丢失了。

金沙滩51单片机eeprom写满了这么清除
金沙滩51单片机eeprom写满了擦除一页,就是512字节,从0xC000开始,直到0XC200,全部为0XFF。1、写99H满一页,也全部成功。2、读出从0XC000至0XC200的内容并与99H比较正确与否,遇错即停。结果是没有一个错。大空间操作是做点阵屏,多信息存储的基础,不太方便的是如早期的外挂存储器一样,不能...

51单片机内部EEPROM使用求教
针对STC15F4K系列单片机EEPROM使用实例如下:单字节操作,串口发送 include "reg51.h"#include "intrins.h"typedef unsigned char BYTE;typedef unsigned int WORD;\/\/---sfr P1M1 = 0x91; \/\/PxM1.n,PxM0.n =00--->Standard, 01--->push-pullsfr P1M0 = 0x92; \/\/ =10--...

相似回答