‘壹’ 51单片机里EEPROM能存负数吗
能存。
51单片机里EEPROM是可以存负数的,可以对EEPROM进行字节读/字节编程/扇区擦除操作。
保存在单片机RAM中的数据,掉电后就丢失了,保存在单片机的FLASH中的数据,又不能随意改变,也就是不能用它来记录变化的数值。
‘贰’ 51单片机都有eeprom吗
51单片机内部程序存储器五花八门:
1、内部没有程序存储器如:8031
2、内部有EPROM(可擦除ROM)如:8751
3、内部有EEPROM(电可擦除ROM)如:AT89C51
4、内部有FLASHROM(可以在线编程ISP)如:STC、AT89S51等等。
‘叁’ 金沙滩51单片机eeprom写满了这么清除
金沙滩51单片机eeprom写满了擦除一页,就是512字节,从0xC000开始,直到0XC200,全部为0XFF。
1、写凯察99H满一页,也全部成功。
2、读出从0XC000至0XC200的内容并与99H比较正确与否,遇错即停。结果是没有一个错。大空间操作是做点慎此阵屏,多信息存储的基础,不太方便的是如早期的外挂存储器一样,不能单独任意字节修改,动一下就要宽孙迅512字节。期待业间哪家单片机公司可以改革突破。
‘肆’ 如何用51单片机来检测一个外接EEPROM的好坏
EEPROM存储器,有并行的,如28系列的,IIC的,如24系列的。
24系列的,比较好接电路,只需要2个脚与单片机相连,重点是写IIC通信程序。逐个单元写入一个特定的数,如AAH,55H等,然后再读出来,看是否相同,如有一个单元的数据读/写不同,就说明芯片有问题。
并行的,如28系列的,要与单片机连接,就有点麻烦,需要用到地址总线,数据总线,读/写控制线,扩展成外部数据存储器电路。检测好坏的方法与上面的相同。
‘伍’ 51单片机内部eeprom怎么使用,求大神指导,查过一些资料,但是看不明白
以下是我一个项目中关于STC12C5A60S2内部EEPROM的相关部分程序
;------------读写内部EEPROM定义区-----------------------
P4SW EQU 0BBH
P4 EQU 0C0H
IAP_DATA EQU 0C2H
IAP_ADDRH EQU 0C3H
IAP_ADDRL EQU 0C4H
IAP_CMD EQU 0C5H
IAP_TRIG EQU 0C6H
IAP_CONTR EQU 0C7H
;定义ISP/IAP命令
ISP_IAP_BYTE_READ EQU 1H ;字节读
ISP_IAP_BYTE_PROGRAM EQU 2H ;字节编程,可以将1写成0,要将1变成0,必须执行字节编程
ISP_IAP_SECTOR_ERASE EQU 3H ;扇区擦除,可以将0擦成1,要将0变成1,必须擦除整个扇区
ENABLE_IAP EQU 83H ;系统工作时钟<12MHz时,对IAP_CONTR寄存器设置此值
;------------------------------------------------
;读一字节,调用前需打开 IAP 功能,入口:DPTR = 字节地址,返回:A = 读出字节
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位地址
MOV IAP_TRIG,#5AH ;先送5Ah,再送A5h到ISP/IAP触发寄存器,每次都需如此
MOV IAP_TRIG,#0A5H ;送完A5h后,ISP/IAP命令立即被触发起动
NOP
MOV A,IAP_DATA ;读出的数据在IAP_DATA单元中,送入累加器A
LCALL IAP_Disable ;关闭 IAP 功能, 清相关的特殊功能寄存器,使CPU处于安全状态,
RET
;------------------------------------------------
;字节编程,调用前需打开 IAP 功能,入口:DPTR = 字节地址, A=须编程字节的数据
IAP_WRITE:
MOV IAP_CONTR,#ENABLE_IAP ;打开 IAP 功能, 设置 Flash 操作等待时间
MOV IAP_CMD,#ISP_IAP_BYTE_PROGRAM ;设置为IAP/ISP/EEPROM字节编程模式命令
MOV IAP_ADDRH,DPH ;设置目标单元地址的高8位地址
MOV IAP_ADDRL,DPL ;设置目标单元地址的低8位地址
MOV IAP_DATA,A ;要编程的数据先送进ISP_DATA寄存器
MOV IAP_TRIG,#5AH ;先送5Ah,再送A5h到ISP/IAP触发寄存器改芦,每次都需如此
MOV IAP_TRIG,#0A5H ;送完A5h后,ISP/IAP命令立即被触发起帆歼旁动
NOP
LCALL IAP_Disable ;关闭 IAP 功能, 清相关的特殊功能寄存器,使CPU处于安全状态态橡,
RET
;------------------------------------------------
;擦除扇区, 入口:DPTR = 扇区地址
IAP_Erase:
MOV IAP_CONTR,#ENABLE_IAP ;打开 IAP 功能, 设置 Flash 操作等待时间
MOV IAP_CMD,#03H ;设置为IAP/ISP/EEPROM扇区擦除模式命令
MOV IAP_ADDRH,DPH ;设置目标单元地址的高8位地址
MOV IAP_ADDRL,DPL ;设置目标单元地址的低8位地址
MOV IAP_TRIG,#5AH ;先送5Ah,再送A5h到ISP/IAP触发寄存器,每次都需如此
MOV IAP_TRIG,#0A5H ;送完A5h后,ISP/IAP命令立即被触发起动
NOP
LCALL IAP_Disable ;关闭 IAP 功能, 清相关的特殊功能寄存器,使CPU处于安全状态,
RET
;------------------------------------------------
IAP_Disable:
;关闭 IAP 功能, 清相关的特殊功能寄存器,使CPU处于安全状态,
;一次连续的IAP操作完成之后建议关闭IAP功能,不需要每次都关
MOV IAP_CONTR,#0 ;关闭 IAP 功能
MOV IAP_CMD,#0 ;清命令寄存器,使命令寄存器无命令,此句可不用
MOV IAP_TRIG,#0 ;清命令触发寄存器,使命令触发寄存器无触发,此句可不用
MOV IAP_ADDRH,#0FFH ;送地址高字节单元为00,指向非EEPROM区
MOV IAP_ADDRL,#0FFH ;送地址低字节单元为00,防止误操作
RET
‘陆’ c51单片机和c52单片机有什么区别
C51与C52单片机同为MCS-51内核,也就是常说的51单片机。而有些人误称为C51单片机和C52单片机恐怕是受了ATMEL的型号为at89c51和at89c52两款单片机的影响,这两款已经停产。