📄 flasheraseprogram.c
字号:
#include "STC12C5410AD.H"
void FlashErase(unsigned int FlashAddress);
unsigned char FlashRead(unsigned int FlashAddress);
void FlashProgram(unsigned int FlashAddress,unsigned char FlashData);
//----------------------------------------------------------------//
//Flash擦除扇区,地址在FlashAddress中-----------------------------//
//----------------------------------------------------------------//
void FlashErase(unsigned int FlashAddress)
{
ISP_CONTR = 0x83;//系统工作时钟<12M
ISP_CMD = 0x03;
ISP_ADDRH = FlashAddress / 256;
ISP_ADDRL = FlashAddress % 256;
ISP_TRIG = 0x46;
ISP_TRIG = 0xB9;
ISP_CONTR = 0;
ISP_CMD = 0;
ISP_TRIG = 0;
}
//----------------------------------------------------------------//
//Flash写扇区,地址在FlashAddress,需要写的字节是FlashData--------//
//----------------------------------------------------------------//
void FlashProgram(unsigned int FlashAddress,unsigned char FlashData)
{
ISP_CONTR = 0x83;//系统工作时钟<12M
ISP_CMD = 0x02;
ISP_ADDRH = FlashAddress / 256;
ISP_ADDRL = FlashAddress % 256;
ISP_DATA = FlashData;
ISP_TRIG = 0x46;
ISP_TRIG = 0xB9;
ISP_CONTR = 0;
ISP_CMD = 0;
ISP_TRIG = 0;
}
//----------------------------------------------------------------//
//Flash读扇区,地址在FlashAddress中-------------------------------//
//----------------------------------------------------------------//
unsigned char FlashRead(unsigned int FlashAddress)
{
unsigned char FlashData;
ISP_CONTR = 0x83;//系统工作时钟<12M
ISP_CMD = 0x01;
ISP_ADDRH = FlashAddress / 256;
ISP_ADDRL = FlashAddress % 256;
ISP_TRIG = 0x46;
ISP_TRIG = 0xB9;
FlashData = ISP_DATA;
ISP_CONTR = 0;
ISP_CMD = 0;
ISP_TRIG = 0;
return (FlashData);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -