STC8A8K64D4 Series Manual
IAP_CONTR = 0x80;
IAP_TPS = 12;
IAP_CMD = 3;
IAP_ADDRL = addr;
IAP_ADDRH = addr >> 8;
IAP_TRIG = 0x5a;
IAP_TRIG = 0xa5;
_nop_();
IapIdle();
}
void main()
{
P0M0 = 0x00;
P0M1 = 0x00;
P1M0 = 0x00;
P1M1 = 0x00;
P2M0 = 0x00;
P2M1 = 0x00;
P3M0 = 0x00;
P3M1 = 0x00;
P4M0 = 0x00;
P4M1 = 0x00;
P5M0 = 0x00;
P5M1 = 0x00;
UartInit();
IapErase(0x0400);
UartSEND(IapRead(0x0400));
IapProgram(0x0400, 0x12);
UartSEND(IapRead(0x0400));
while (1);
}
Assembly code
;Operating frequency for test is 11.0592MHz
AUXR
DATA
T2H
DATA
T2L
DATA
IAP_DATA
DATA
IAP_ADDRH
DATA
IAP_ADDRL
DATA
IAP_CMD
DATA
IAP_TRIG
DATA
IAP_CONTR
DATA
IAP_TPS
DATA
P0M1
DATA
P0M0
DATA
P1M1
DATA
P1M0
DATA
P2M1
DATA
P2M0
DATA
P3M1
DATA
8EH
0D6H
0D7H
0C2H
0C3H
0C4H
0C5H
0C6H
0C7H
0F5H
093H
094H
091H
092H
095H
096H
0B1H
//Enable IAP
//Set the erasing wait parameter of 12MHz
//Set IAP erasing command
//Set IAP low address
//Set IAP high address
//Write trigger command (0x5a)
//Write trigger command (0xa5)
//
//Disable IAP function
- 462 -
Need help?
Do you have a question about the micro STC8A8K64D4 Series and is the answer not in the manual?
Questions and answers