久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
關于STC12C2052單片機掉電存儲EEPROM程序
[打印本頁]
作者:
3花木城
時間:
2022-1-8 19:44
標題:
關于STC12C2052單片機掉電存儲EEPROM程序
網上研究了關天,各種STC12C的EEPROM使用,最后都沒成功,都沒辦法了,想起STC89C52兼容舊8051,那STC12C2052會兼容STC89C52嗎?
因為之前測試過STC89C52的掉電存儲,成功了,所以有現成的資源 ,
親測可用,STC12C2052可以套用STC89C52的EEPROM,但在寫程序后,要重新開啟EA,原程序在使用時關閉了。
以下附年STC89C52的EEPROM代碼,直接套用到STC12C2052就行。
單片機源程序如下:
#include <STC89C52RC.H>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit LED1 = P1^1;
sbit led=P3^3;
sbit LED2 = P1^2;
sbit K1 = P3^2; //按鈕1
sbit K2 = P3^3; //按鈕2
void cc(uint addr);
void xcx(uint addr,uchar dat);
uchar dcx(uint addr);
void Q0();
/*┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
函數:主程序
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈*/
void main(void)
{
led=0;
// uchar V;
P1= dcx(0x2000); // 開機讀取EEPROM區2002h數據,還原關電前LED的亮滅狀況
while(1)
{
if(!K1)
{
while(!K1);
// LED1=0;LED2=1;
cc(0x2000); // 擦除第1個扇區(2000h~21FFh)
xcx(0x2000,4); // 對EEPROM區2002h寫入2
}
}
}
/*┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
函數:擦除某一扇區(每個扇區512字節)
入口:addr = 某一扇區首地址
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈*/
void cc(uint addr)
{
// 0x83(晶振<5M) 0x82(晶振<10M) 0x81(晶振<20M) 0x80(晶振<40M)
ISP_CONTR = 0x81; // 打開 IAP 功能(ISPEN(ISP_CONTR.7)=1:允許編程改變Flash, 設置 Flash 操作等待時間。
ISP_CMD = 0x03; // 用戶可以對"Data Flash/EEPROM區"進行扇區擦除
ISP_ADDRL = addr; // ISP/IAP操作時的地址寄存器低八位,
ISP_ADDRH = addr>>8; // ISP/IAP操作時的地址寄存器高八位。
EA =0;
ISP_TRIG = 0x46; // 在ISPEN(ISP_CONTR.7)=1時,對ISP_TRIG先寫入46h,
ISP_TRIG = 0xB9; // 再寫入B9h,ISP/IAP命令才會生效。
_nop_();
Q0(); // 關閉ISP/IAP
}
/*┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
函數:寫一字節
入口:addr = 扇區單元地址 , dat = 待寫入數據
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈*/
void xcx(uint addr,uchar dat)
{
ISP_CONTR = 0x81;
ISP_CMD = 0x02; // 用戶可以對"Data Flash/EEPROM區"進行字節編程
ISP_ADDRL = addr;
ISP_ADDRH = addr>>8;
ISP_DATA = dat; // 數據進ISP_DATA
EA = 0;
ISP_TRIG = 0x46;
ISP_TRIG = 0xB9;
_nop_();
Q0(); // 關閉ISP/IAP
}
/*┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
函數:讀一字節
入口:addr = 扇區單元地址
出口:dat = 讀出的數據
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈*/
uchar dcx(uint addr)
{
uchar dat;
ISP_CONTR = 0x81;
ISP_CMD = 0x01; // 用戶可以對"Data Flash/EEPROM區"進行字節讀
ISP_ADDRL = addr;
ISP_ADDRH = addr>>8;
EA = 0;
ISP_TRIG = 0x46;
ISP_TRIG = 0xB9;
_nop_();
dat = ISP_DATA; // 取出數據
Q0(); // 關閉ISP/IAP
return dat;
}
/*┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
函數:關閉ISP/IAP操作
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈*/
void Q0()
{
ISP_CONTR = 0; // 關閉IAP功能
ISP_CMD = 0; // 待機模式,無ISP操作
ISP_TRIG = 0; // 關閉IAP功能, 清與ISP有關的特殊功能寄存器
}
復制代碼
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
91视频正在播放
|
美美女高清毛片视频免费观看
|
亚洲在线成人
|
影音先锋中文字幕在线观看
|
日本久久久一区二区三区
|
高清一区二区视频
|
久久国产精品-国产精品
|
成人亚洲一区
|
国产欧美精品一区二区
|
中文字幕日韩欧美一区二区三区
|
99精品国自产在线
|
在线成人精品视频
|
国产良家自拍
|
亚洲视频一区二区三区四区
|
国产蜜臀97一区二区三区
|
97精品一区二区
|
久久久久国产精品
|
九九热这里只有精品6
|
美女拍拍拍网站
|
亚洲精品黑人
|
人成久久
|
五月综合激情在线
|
婷婷色在线
|
精品美女
|
在线看片国产精品
|
国产精品久久久久久久岛一牛影视
|
久久久久九九九女人毛片
|
а√中文在线8
|
国产一区二区三区免费观看在线
|
国产成人精品网站
|
日本视频一区二区三区
|
拍真实国产伦偷精品
|
在线免费小视频
|
久久黄色精品视频
|
狠狠操狠狠干
|
av网站在线看
|
heyzo在线
|
中文av电影
|
国产乱码精品一区二区三区忘忧草
|
久久一级免费视频
|
久久久美女
|