导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→请教STC12C2052AD ;EEROM的使用[气贯长虹]

 *第36700篇: 请教STC12C2052AD ;EEROM的使用

  
楼 主:气贯长虹 2005年12月26日10:06
 请教STC12C2052AD ;EEROM的使用
这问题我已解决,谢谢大家了!27/12
我是刚拿到了STC12C2052AD芯片,在使用中EEROM的不能使用,以下是源程序,请大虾指点,在下载器上使用的:

#include   <REG51.H>  
#include   <intrins.h>   

sfr ISP_DATA = 0xE2;
sfr ISP_ADDRH = 0xE3;
sfr ISP_ADDRL = 0xE4;
sfr ISP_CMD  = 0xE5;
sfr ISP_TRIG = 0xE6;
sfr ISP_CONTR = 0xE7;


sbit CONTR = 0xB4; //P3.4 

extern void DataFlashByteWrite(unsigned int address, unsigned char bytedata);
extern unsigned char DataFlashLoad(unsigned int address);
extern void DataFlashPageErase(unsigned int address);
void main(void)
{
 

 EA   =  0; 

// SP  = 0xe0;
// ISP_CONTR = 0x40;

 DataFlashPageErase(0x1000);
 DataFlashByteWrite(0x1000,0x03);

// P3=ISP_DATA;
 
 ISP_DATA=0x00;

 if (DataFlashLoad(0x1000)==0x03)
 CONTR=0;
}


void DataFlashByteWrite(unsigned int address, unsigned char bytedata)
{
 ISP_CONTR=0x80;
 ISP_CMD=0x02;
 ISP_ADDRH=address/256;
 ISP_ADDRL=address%256;
 ISP_DATA=bytedata;
 
 ISP_TRIG=0x46;
 ISP_TRIG=0x89;    //waiting for write over
 _nop_(); 
 ISP_CONTR=0;
 ISP_CMD=0;
 ISP_TRIG=0;
 ISP_ADDRH=0;
 ISP_ADDRL=0;
 
 
}

unsigned char DataFlashLoad(unsigned int address)
{
 idata unsigned char temp;
 
 ISP_CONTR=0x80;
 ISP_CMD=0x01; 
 ISP_ADDRH=address/256;
 ISP_ADDRL=address%256;
 
 ISP_TRIG=0x46;
 ISP_TRIG=0x89;    //waiting for read over
 _nop_();
 temp=ISP_DATA;
 ISP_CONTR=0;
 ISP_CMD=0;
 ISP_TRIG=0;
 ISP_ADDRH=0;
 ISP_ADDRL=0;
 return temp;
}


void DataFlashPageErase(unsigned int address) //erase 512 Bytes(one page word);
{
 ISP_CONTR=0x80;
 ISP_CMD=0x03;
 ISP_ADDRH=address/256;
 ISP_ADDRL=address%256;
 ISP_TRIG=0x46;
 ISP_TRIG=0x89;    //waiting for erase over
 _nop_(); 
 ISP_CONTR=0;
 ISP_CMD=0;
 ISP_TRIG=0;
 ISP_ADDRH=0;
 ISP_ADDRL=0;
}


>>>>>>对该主题发表你的看法

本主题贴数1,分页: [第1页]


[上一篇主题]:我是新手,大家多照顾!!

[下一篇主题]:请教keilc?