共2条
1/1 1 跳转至页
SM5964 请问如何在SM5964单片机内存储数据?

问
请问如何在SM5964单片机内存储数据?
答 1:
sfr SCONF = 0xbf; //SM8958 only
sfr ISPFAH = 0xf4;//ISP地址寄存器
sfr ISPFAL = 0xf5;
sfr ISPFD = 0xf6;//ISP数据寄存器
sfr ISPC = 0xf7;//ISP控制寄存器,bit7=start,bit1=F1,bit0=F0
---------------------------------------------------------------------------
//BL51 ...code_at.obj CODE(?CO?CODE_AT(0FC00h))...
//unsigned char code Nkey_a[6] _at_ 0x0fc00;
unsigned char code Nkey_a[6] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF};
---------------------------------------------------------------------------
//Flash页擦除
ISPFAH = (uchar)(((uint)Nkey_a)>>8);
ISPFAL = (uchar)Nkey_a;
ISPFD = 0x55;
ISPFD = 0xaa;
ISPFD = 0x55;
ISPC = 0x82;//start to Page erase (512 byte)
//写Flash
ISPFAH = (uchar)(((uint)Nkey_a)>>8);
ISPFAL = (uchar)Nkey_a;
for(i=0;i<6;i++)
{
ISPFD = send_buf[6+i];
ISPC = 0x80;//start to program
ISPFAL ++;
}
---------------------------------------------------------------------------
http://bbs.shmcu.com
sfr ISPFAH = 0xf4;//ISP地址寄存器
sfr ISPFAL = 0xf5;
sfr ISPFD = 0xf6;//ISP数据寄存器
sfr ISPC = 0xf7;//ISP控制寄存器,bit7=start,bit1=F1,bit0=F0
---------------------------------------------------------------------------
//BL51 ...code_at.obj CODE(?CO?CODE_AT(0FC00h))...
//unsigned char code Nkey_a[6] _at_ 0x0fc00;
unsigned char code Nkey_a[6] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF};
---------------------------------------------------------------------------
//Flash页擦除
ISPFAH = (uchar)(((uint)Nkey_a)>>8);
ISPFAL = (uchar)Nkey_a;
ISPFD = 0x55;
ISPFD = 0xaa;
ISPFD = 0x55;
ISPC = 0x82;//start to Page erase (512 byte)
//写Flash
ISPFAH = (uchar)(((uint)Nkey_a)>>8);
ISPFAL = (uchar)Nkey_a;
for(i=0;i<6;i++)
{
ISPFD = send_buf[6+i];
ISPC = 0x80;//start to program
ISPFAL ++;
}
---------------------------------------------------------------------------
http://bbs.shmcu.com
共2条
1/1 1 跳转至页