亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? iap.c

?? 單片機(jī)IAP編程源程序,可直接使用,適用于嵌入式系統(tǒng)的智能學(xué)習(xí)功能
?? C
字號(hào):
/*SST單片機(jī)IAP編程示例(C語言)

程序說明:

本程序用的單片機(jī)是 
SST89x564RD、SST89x554RC、SST89x58RD2、SST89x54RD2和 
SST89x52RD2。示例程序代碼中,執(zhí)行 
IAP指令的程序放在單片機(jī)低端程序空間,也就是 
BLOCK0, 
IAP的程序包括了扇區(qū)擦除( 
Sector-Erase)、字節(jié)編程( 
Byte-Program)和字節(jié)校驗(yàn)( 
Byte-Verify)
(注:字節(jié)校驗(yàn)相當(dāng)于讀數(shù)據(jù)指令)。 
IAP程序做成子程序,主程序可以調(diào)用這些子程序執(zhí)行 
IAP操
作,把數(shù)據(jù)燒寫到另外一塊的 
FLASH空間中( 
BLOCK1)。主程序中,目標(biāo)扇區(qū)先被擦除,然后把
數(shù)據(jù)( 
0,1,2,…,n,n等于一個(gè)扇區(qū)的大小)寫入到 
BLOCK1目標(biāo)地址 
BLK1-DST-ADDR,IAP
成功完成后, 
ErrorCode變?yōu)?,如果有錯(cuò)誤出現(xiàn)時(shí),程序保持錯(cuò)誤功能,ErrorCode還是為1。 


/*********************************************************************************************************** 

* demoIAP.c -SST89x564RD IAP C51示范代碼 
* 
* SST89x564RD、SST89x554RC、SST89x58RD2、SST89x54RD2和SST89x53RD2 
* MCU有兩個(gè)內(nèi)部FLASH存儲(chǔ)器塊,本代碼是從BLOCK0執(zhí)行IAP指令改寫。 
* BLOCK1的1000H(SST89x564RD)或E000H (SST89x554RC、SST89x58RD2、SST89x54RD2 
* 和SST89x53RD2)的數(shù)據(jù)。 
* 本程序默認(rèn)是SST89x564RD,如果使用SST89x554RC、SST89x58RD2、SST89x54RD2 
* 和SST89x53RD2,只要修改變量BLK1_DST_ADDR就可以。 
* 
***********************************************************************************************************/ 

#include "shuma.c"

/*********************************************************************************************************** 
* MCU特殊功能寄存器地址 
***********************************************************************************************************/ 
sfr SFCF = 0xB1; /*FLASH配置位 
*/ 
sfr SFCM = 0xB2; /*FLASH命令位*/ 
sfr SFAL = 0xB3; /*FLASH地址低位*/ 
sfr SFAH = 0xB4; /*FLASH地址高位*/ 
sfr SFDT = 0xB5; /*FLASH數(shù)據(jù)位*/ 
sfr SFST = 0xB6; /*FLASH狀態(tài)位 
*/ 
/*********************************************************************************************************** 
* MCU IAP命令 
***********************************************************************************************************/ 
#define SFCM_SE 0x0B; /*扇區(qū)擦除IAP指令*/ 
#define SFCM_VB 0x0C; /*字節(jié)校讀IAP指令*/ 
#define SFCM_PB 0x0E; /*字節(jié)編程IAP指令*/ 
/*********************************************************************************************************** 
* 全局變量定義 
***********************************************************************************************************/ 
//const unsigned short int BLK1_DST_ADDR = 0x1000; 
/*SST89x564RD準(zhǔn)備寫入的目標(biāo)地址 
(在另外一塊的片內(nèi)FLASH) 
如果是用SST89x554RC、SST89x58RD2、SST89x54RD2和SST89x53RD2,請(qǐng)刪除這句,
改為用下面一句。*/ 
//const unsigned short int BLK1_DST_ADDR = 0x0F000; 
/*SST89x554RC、SST89x58RD2、SST89x54RD2和SST89x53RD2準(zhǔn)備寫入的目標(biāo)地址。 
*/ 
const unsigned short int BLK1_DST_ADDR = 0x0Ff00;

const unsigned char SECT_SIZE = 0x80; /*一個(gè)扇區(qū)的字節(jié)數(shù) 
*/ 


unsigned char ErrorCode; /*標(biāo)示操作的結(jié)果*/ 
/*********************************************************************************************************** 


* Function Prototype 
***********************************************************************************************************/ 
void sector_erase(unsigned short int dataAddr); 
void byte_program(unsigned short int dataAddr, unsigned char dataByte); 
unsigned char byte_verify(unsigned short int dataAddr); 
int ready(); 
void error(); 
/*********************************************************************************************************** 

*主程序
深圳科賽電子 
0755-83014227 13316986132 e-mail: szks@szks.net http://www.szks.net


SST單片機(jī) 
IAP編程示例( 
C語言)

* 改寫塊1一個(gè)扇區(qū)的數(shù)據(jù) 
(從0開始,每次加1),地址從BLK1_DST_ADDR開始。 
* 當(dāng)IAP執(zhí)行成功, 
ErrorCode=0,否則ErrorCode=1. 
***********************************************************************************************************/ 
void Ldelay()
{
	uint t=100;
	while(t--)
	{
		s_delay();
	}
}

unsigned char t=0;
unsigned char v=0;

void Init_timer0()
{
	TMOD=0x01;
	TH0=0X4C;
	TL0=0X00;
	ET0=1;
	EA=1;
	TR0=1;
}

void main() 
{ 
	unsigned short int destAddr = BLK1_DST_ADDR; 
	unsigned char byteCnt ; //字節(jié)數(shù) 
	 
	unsigned char origData; //存儲(chǔ)IAP操作的數(shù)據(jù) 
	 
	unsigned char verifyData=0; //校對(duì)數(shù)據(jù)
	
	Init_timer0();
/*	sector_erase(destAddr); //寫數(shù)據(jù)前先擦除要寫的扇區(qū) 
	 
	origData = 0; 
	verifyData=byte_verify(destAddr+1); //校對(duì)編程的字節(jié)是否正確 
	for(byteCnt=0; byteCnt<SECT_SIZE; byteCnt++) 
	{ 	
		byte_program(destAddr,origData); //編程一個(gè)字節(jié) 
		 
		verifyData=byte_verify(destAddr); //校對(duì)編程的字節(jié)是否正確 
		 
		if(verifyData!=origData) 
			error(); //如果編程不正確跳到error  
		destAddr++; 	
		origData++; 
	} 
	

	ErrorCode=0; //IAP正確*/
	while(1)
	{
		verifyData=byte_verify( BLK1_DST_ADDR+8);
		smxs(verifyData);
	} 
} 

void timer0()interrupt 1
{
	TR0=0;
	TH0=0X4C;
	TL0=0X00;
	t++;
	if(t==20)
	{
		unsigned char verifyData; 
		v++;
		sector_erase(BLK1_DST_ADDR+8);
		byte_program( BLK1_DST_ADDR+8, 1);
		verifyData=byte_verify( BLK1_DST_ADDR+8); //校對(duì)編程的字節(jié)是否正確 
		 
		if(verifyData!=1) 
			error(); //如果編程不正確跳到error  

	}
	TR0=1;
}

/*********************************************************************************************************** 

* IAP子程序 
* 1. Sector-Erase 扇區(qū)擦除 
* 2. Byte-Program 字節(jié)編程 
* 3. Byte-Verify 字節(jié)校讀 
***********************************************************************************************************/ 
/*********************************************************************************************************** 

*扇區(qū)擦除子程序 
***********************************************************************************************************/ 
void sector_erase(unsigned short int dataAddr) 
{ 
	unsigned short int destAddr = dataAddr; 
	SFCF = SFCF | 0x40; /*IAP使能*/ 
	SFAH = destAddr>>8; /*存入地址的高位字節(jié)*/ 
	SFAL = destAddr; /*存入地址的低位字節(jié)*/ 
	SFCM = SFCM_SE; /*發(fā)出扇區(qū)擦除指令 
	*/ 
	
	
	if(!ready()) 
		error(); 
	
	
	return; 
} 
/*********************************************************************************************************** 

*字節(jié)編程子程序 
***********************************************************************************************************/ 
void byte_program(unsigned short int dataAddr, unsigned char dataByte) 
{ 
	unsigned short int destAddr = dataAddr; 
	SFCF = SFCF | 0x40; /* IAP使能*/ 
	SFAH = destAddr>>8; /*存入地址的高位字節(jié)*/ 
	SFAL = destAddr; /*存入地址的低位字節(jié)*/ 
	SFDT = dataByte; /*存入要編程的數(shù)據(jù) 
	*/ 
	SFCM = SFCM_PB; /*發(fā)出字節(jié)編程指令 
	*/ 
	
	
	if(!ready()) 
		error(); 
	
	
	return; 
} 
/*********************************************************************************************************** 

*字節(jié)校讀子程序 
***********************************************************************************************************/ 


unsigned char byte_verify(unsigned short int dataAddr) 

{ 
	unsigned short int destAddr = dataAddr; 
	unsigned char readByte; 
	SFCF = SFCF | 0x40; /*IAP使能*/ 
	SFAH = destAddr>>8; /*存入地址的高位字節(jié)*/ 
	SFAL = destAddr; /*存入地址的低位字節(jié)*/ 
	SFCM = SFCM_VB; /*發(fā)出字節(jié)校讀指令*/ 
	readByte = SFDT; 
	
	SFCF = SFCF & 0xBF; /*關(guān)閉IAP*/ 
	SFDT = 0; 
	return readByte; 


} 
/*********************************************************************************************************** 

*準(zhǔn)備子程序 
* 
* 檢查IAP操作是否完成。如果結(jié)束,關(guān)閉IAP。 
***********************************************************************************************************/ 
int ready() 
{ 
	unsigned long int TimeOut = 0; 
	
	while (TimeOut < 100000) 
	{ 
		if ((SFST&4) == 0) /*查IAP是否完成*/ 
		
		{ /*IAP完成*/ 
			SFCF = SFCF & 0xBF; /*關(guān)閉IAP*/ 
			SFDT = 0; 
			
			return 1; /* IAP操作結(jié)束*/ 
		} 
		TimeOut++; 
	} 
	
	SFCF = SFCF & 0xBF; /*關(guān)閉IAP*/ 
	SFDT = 0; 
	return 0; /*IAP操作沒有完成*/ 
} 
/*********************************************************************************************************** 

* Error Function 
***********************************************************************************************************/ 
void error() 
{ 
	ErrorCode=1; /*IAP出錯(cuò)*/ 
	while(1) /*軟件陷阱*/ 
	{smxs(0123);}
} 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
www.色精品| 国产剧情一区在线| 91蜜桃免费观看视频| 中文字幕一区二区三区四区| 国产传媒欧美日韩成人| 国产精品无人区| 91一区二区在线观看| 亚洲福中文字幕伊人影院| 91精品婷婷国产综合久久| 免费成人深夜小野草| 精品国产91久久久久久久妲己| 国产原创一区二区三区| 国产精品免费人成网站| 日本电影欧美片| 老司机精品视频线观看86| 久久中文娱乐网| 92精品国产成人观看免费| 亚洲综合色在线| 欧美成人a在线| 91在线丨porny丨国产| 亚洲v精品v日韩v欧美v专区| 精品av综合导航| 99久久精品国产网站| 婷婷六月综合网| 婷婷六月综合亚洲| 2020日本不卡一区二区视频| www.欧美色图| 蜜臀精品一区二区三区在线观看 | 中文字幕电影一区| 欧美综合在线视频| 国产精品一二三区| 亚洲电影欧美电影有声小说| 久久综合一区二区| 欧美丝袜丝交足nylons图片| 国内外成人在线| 亚洲电影一区二区三区| 国产人久久人人人人爽| 7777精品伊人久久久大香线蕉| 国产999精品久久| 天堂一区二区在线| 成人欧美一区二区三区小说 | 一本大道av伊人久久综合| 久久精品99国产精品| 一区二区三区在线看| 国产精品无码永久免费888| 88在线观看91蜜桃国自产| www.亚洲在线| 国产福利精品导航| 日本欧美在线观看| 成人18视频日本| 久久电影网站中文字幕| 一区二区理论电影在线观看| 国产欧美日韩精品一区| 日韩欧美一级精品久久| 欧美午夜电影网| 色诱视频网站一区| 成人国产在线观看| 国产精品1区2区| 精品一区二区免费| 日韩va亚洲va欧美va久久| 一个色综合av| 亚洲六月丁香色婷婷综合久久| 久久精品一区四区| 久久久久久久综合日本| 精品va天堂亚洲国产| 精品国产乱码久久久久久蜜臀| 欧美日韩日日骚| 欧美色图免费看| 欧美性一级生活| 色欧美日韩亚洲| 欧美性色黄大片手机版| 在线观看三级视频欧美| 欧美影院午夜播放| 欧美性大战久久久久久久| 欧美视频你懂的| 69p69国产精品| 欧美一区二区观看视频| 51精品国自产在线| 亚洲一区在线观看免费观看电影高清| 国产精品久久久久久久久免费相片 | 欧美一区二区三区思思人| 欧美日韩综合在线免费观看| 欧美午夜精品久久久| 欧美日韩在线观看一区二区 | 国产91在线观看丝袜| 国产精品一二三四区| 岛国av在线一区| 91丝袜美腿高跟国产极品老师| 9l国产精品久久久久麻豆| 一本久道久久综合中文字幕 | 精品久久久久久久一区二区蜜臀| 日韩欧美国产一区二区三区| 337p粉嫩大胆色噜噜噜噜亚洲| 国产欧美一区二区精品仙草咪 | 国产欧美一区二区精品仙草咪 | 欧美情侣在线播放| 欧美一区二区观看视频| 久久精品视频一区二区三区| 最新国产の精品合集bt伙计| 亚洲国产欧美在线| 久久国产麻豆精品| 成人晚上爱看视频| 欧美日韩精品一区视频| wwww国产精品欧美| 亚洲激情综合网| 九色综合狠狠综合久久| 成人国产亚洲欧美成人综合网| 在线观看视频91| 亚洲精品一区二区三区影院| 一区视频在线播放| 日韩精品91亚洲二区在线观看 | 亚洲精品视频免费看| 天天综合网 天天综合色| 国产精品77777| 1024精品合集| 天天影视涩香欲综合网| 国产精品亚洲成人| 欧美午夜一区二区三区免费大片| 日韩欧美中文字幕公布| 中文字幕亚洲综合久久菠萝蜜| 婷婷久久综合九色国产成人 | 国产一区二区在线观看免费| av成人免费在线| 日韩欧美视频在线 | 亚洲国产欧美一区二区三区丁香婷| 久久精品久久99精品久久| 91久久香蕉国产日韩欧美9色| 欧美精品一区视频| 亚洲成av人片在www色猫咪| 成人性生交大合| 欧美一级片在线看| 亚洲愉拍自拍另类高清精品| 国产高清不卡二三区| 欧美一级欧美一级在线播放| 亚洲黄色免费电影| 丰满白嫩尤物一区二区| 日韩一区二区三区视频| 一区二区三区在线视频免费| 国产成人av网站| 日韩精品一区二区三区在线播放| 亚洲图片你懂的| 国产成人午夜高潮毛片| 91麻豆精品国产91久久久使用方法| 亚洲女人的天堂| 成人丝袜视频网| 久久久久久电影| 韩日av一区二区| 91精品欧美综合在线观看最新| 樱桃视频在线观看一区| 成人黄色免费短视频| 久久久www成人免费毛片麻豆| 婷婷成人综合网| 欧美性猛片aaaaaaa做受| 一区二区三区四区不卡在线 | 91福利在线播放| 国产精品久久久久久久久快鸭| 久久99在线观看| 日韩欧美视频一区| 蜜臀a∨国产成人精品| 欧美日韩一区久久| 亚洲成av人在线观看| 在线看日本不卡| 亚洲综合一区二区三区| 欧美专区在线观看一区| 亚洲激情综合网| 欧美性感一区二区三区| 亚洲国产成人av网| 在线播放视频一区| 日韩激情av在线| 日韩女优毛片在线| 国产乱淫av一区二区三区 | 综合激情成人伊人| 91免费国产在线| 一区二区在线观看视频在线观看| 色综合一个色综合亚洲| 国产成人久久精品77777最新版本| 国产人成亚洲第一网站在线播放 | 欧美性一二三区| 婷婷国产在线综合| 精品免费99久久| 国产超碰在线一区| 亚洲人成精品久久久久| 欧美四级电影网| 久久国产婷婷国产香蕉| 国产亚洲精品超碰| 色综合久久久网| 日韩在线播放一区二区| 精品国精品国产尤物美女| 成人精品一区二区三区四区| 一区二区三区在线免费播放| 91精品国产麻豆| 国产精品资源网| 一区二区三区欧美| 欧美一区二区三区小说| 国产成人精品亚洲日本在线桃色 | 亚洲午夜日本在线观看| 91精品国产品国语在线不卡| 国产专区欧美精品| 亚洲精品老司机| 日韩一区二区三区在线|