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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 復件 avricp.c

?? AVR ICP 支持AVR器件編程
?? C
?? 第 1 頁 / 共 4 頁
字號:
	data = getc();
	if(G_device == AT89C51)
	{
		VPP(1);
		SetVPP5V();
		PORTA|= _BV(PA6);   //RST=H
		OutCONBit(PSEN,0);  //PSEN=L
		
		OutP2Bit(P26,0);
		OutP3Bit(P36,1);
		OutP3Bit(P37,1);
		OutP2Bit(P27,1);
		SetVPP12V();
		OutCONBit(PROG,1);
		
		unsigned int  addr;
		//char highbyte,lowbyte;
		addr = G_pgaddrh;
		addr <<= 8;
		addr |= G_pgaddrl;
		addr <<= 1;
		
		if(command == 0x48)	addr++;
		OutAddress(addr >> 8,addr & 0xff);

		OutP0(data);
		Time48Tclcl();
		OutCONBit(PROG,0);
		Time48Tclcl();
		OutCONBit(PROG,1);
		Wait(g_deviceSupported[G_index].twd_flash);
	}
	else
	{
		//if (data != 0xff || g_deviceSupported[G_index].wPageSize != 0)
		//{ 
		SPIWrite(command); 
		SPIWrite(G_pgaddrh); 
		SPIWrite(G_pgaddrl); 
		SPIWrite(data); 
		//no delay if m103,m83,m603,m161,m163
		if (g_deviceSupported[G_index].wPageSize == 0)
		{ 
			unsigned char waittime = g_deviceSupported[G_index].twd_flash;
			do
			{
				wait_1ms(1);
				SPIWrite((command & 0x0f) | 0x20); 
				SPIWrite(G_pgaddrh); 
				SPIWrite(G_pgaddrl);
				if(data == SPIRead())break;
			}while(waittime--); 
			
		} 
		//}
	}
	return;
}
/* +---------------------------------------------------------------------+  */ 
void Write_program_memory_low_byte(void)
{
    //G_pgmode == TRUE;
	Write_program_memory_byte(0x40);
	putc(13); 
	return;
}
/* +---------------------------------------------------------------------+  */ 
void Write_program_memory_high_byte(void)
{
    //G_pgmode == TRUE;
	Write_program_memory_byte(0x48);
	if(!(++G_pgaddrl))G_pgaddrh++;
	putc(13); 
	return;
}


/* +-----------------------------------+-----+-------+------+-----+------+  */ 
/* |                                   | ID  | host  | programer  | Note |  */ 
/* | Issue Page Write                  | 'm' |       |      | 13d |      |  */ 
/* +-----------------------------------+-----+-------+------+-----+------+  */ 
void Issue_Page_Write(void)
{
    //G_pgmode == TRUE;
    SPIWrite(0x4c); 
    SPIWrite(G_pgaddrh); 
    SPIWrite(G_pgaddrl); 
    SPIWrite(0x00); 
    //delay(0x6f);  //wait_1ms(twd_flash);
	wait_1ms(g_deviceSupported[G_index].twd_flash);
	//delay(0xff);
    putc(13); 
	return;
}
/* +-----------------------------------+-----+-------+------+-----+------+  */ 
/* |                                   | ID  | host  | programer  | Note |  */ 
/* | Read program memory               | 'R' |       |dd(dd)|     |   4  |  */ 
/* +-----------------------------------+-----+-------+------+-----+------+  */ 
//多功能函數2
unsigned char ParaReadByte(unsigned char ah,unsigned char al)
{
	DDRC = 0;
	OutAddress(ah,al);
	Time48Tclcl();
	return PINC;
}
void Read_program_memory(void)
{
    //G_pgmode == TRUE;
	if(G_device == AT89C51)
	{
		//unsigned int readw;
		SetVPP5V();
		VPP(1);
		PORTA|= _BV(PA6);   //RST=H
		OutCONBit(PSEN,0);  //PSEN=L
		OutCONBit(PROG,1);
		
		OutP2Bit(P26,0);
		OutP3Bit(P36,1);
		OutP3Bit(P37,1);
		OutP2Bit(P27,0);

		Time48Tclcl();
		unsigned int  addr;
		char highbyte,lowbyte;
		addr = G_pgaddrh;
		addr <<= 8;
		addr |= G_pgaddrl;
		addr <<= 1;
		
		lowbyte = ParaReadByte(addr >> 8,addr & 0xff);
		addr++;
		highbyte = ParaReadByte(addr >> 8,addr & 0xff);
		putc(highbyte);
		putc(lowbyte);
	}
	else
	{
		SPIWrite(0x28); 
		SPIWrite(G_pgaddrh); 
		SPIWrite(G_pgaddrl); 
		putc(SPIRead()); 
		SPIWrite(0x20); 
		SPIWrite(G_pgaddrh); 
		SPIWrite(G_pgaddrl); 
		putc(SPIRead()); 
	}
	if(!(++G_pgaddrl))G_pgaddrh++;
	return;
}
/*=============================讀出===============================
unsigned char BinToHex(unsigned char c)
{
if (c > 9)  return(c+55);
else        return(c+48);
}
*/


/*void Read(void)
{  Read code with the number of bytes set by 's' command 
unsigned int i;
unsigned char Readdata_h,Readdata_l,c;
P26=0;
P36=1;
P37=1;
P27=0;
VP=1;
PROG=1;
Time48Tclcl();
for (i = 0; i < count; i++){
c=ParaReadByte(i);
Readdata_h = c>>4;
Readdata_h=BinToHex(Readdata_h);
Putch(Readdata_h);
Readdata_l = c&0x0f;
Readdata_l=BinToHex(Readdata_l);
Putch(Readdata_l);
}
VP=1;
return;
}*/


/* +-----------------------------------+-----+-------+------+-----+------+  */ 
/* |                                   | ID  | host  | programer  | Note |  */ 
/* | Write data memory                 | 'D' |    dd |      | 13d |      |  */ 
/* | Read data memory                  | 'd' |       |   dd |     |      |  */ 
/* +-----------------------------------+-----+-------+------+-----+------+  */ 
/* | Read data memory byte                                               |  */ 
/* +---------------------------------------------------------------------+  */ 
unsigned char Read_data_memory_byte(void)
{
    //G_pgmode == TRUE;
    SPIWrite(0xA0); 
    SPIWrite(G_pgaddrh); 
    SPIWrite(G_pgaddrl); 
    return(SPIRead()); 
}
/* +---------------------------------------------------------------------+  */ 
void Write_data_memory(void)
{
    //G_pgmode == TRUE;
	unsigned char data;
    data = getc(); 
    SPIWrite(0xC0); 
    SPIWrite(G_pgaddrh); 
    SPIWrite(G_pgaddrl); 
    SPIWrite(data); 
	unsigned char waittime = g_deviceSupported[G_index].twd_eeprom;
	do
	{
		wait_1ms(1);
		if(data != 0xff)if(data == Read_data_memory_byte())break;
    }while(waittime--); 
    if(!(++G_pgaddrl))G_pgaddrh++; 
    putc(0x0D); 
	return;
}
/* +---------------------------------------------------------------------+  */ 
void Read_data_memory(void)
{
    //G_pgmode == TRUE;
    putc(Read_data_memory_byte()); 
    if(!(++G_pgaddrl))G_pgaddrh++; 
	return;
}
/* +-----------------------------------+-----+-------+------+-----+------+  */ 
/* |                                   | ID  | host  | programer  | Note |  */ 
/* | Chip erase                        | 'e' |       |      | 13d |      |  */ 
/* +-----------------------------------+-----+-------+------+-----+------+  */ 
//多功能函數3
void Chip_erase(void)
{
	//G_pgmode == TRUE;
	if(G_device == AT89C51)
	{
		//SetVPP12V();
		OutCONBit(PROG,1);
		VPP(1);
		PORTA|= _BV(PA6);   //RST=H
		OutCONBit(PSEN,0);  //PSEN=L
		
		OutP2Bit(P26,1);
		OutP3Bit(P36,0);
		OutP3Bit(P37,0);
		OutP2Bit(P27,0);
		
		SetVPP12V();
		OutCONBit(PROG,0);  
		//VPP(1);
		wait_1ms(g_deviceSupported[G_index].twd_erase);
		OutCONBit(PROG,1);
		SetVPP5V();
	}
	else
	{
		SPIWrite(0xAC); 
		SPIWrite(0x80); 
		SPIWrite(0x04); 
		SPIWrite(0x00); 
		wait_1ms(g_deviceSupported[G_index].twd_erase);   
	}
	putc(0x0D); 
	return;
}
/* +-----------------------------------+-----+-------+------+-----+------+  */ 
/* |                                   | ID  | host  | programer  | Note |  */ 
/* | Write lock bits                   | 'l' |    dd |      | 13d |      |  */ 
/* +-----------------------------------+-----+-------+------+-----+------+  */ 
/*=============================鎖位===============================
void Lock(void)
only protection mode 3,i.e., disabled further
program and verify, can be programmed 
{
P26=1;
P36=1;
P37=1;
P27=1;
VPP();
PROG=0;
Time100us();
PROG=1;

  P26=1;
  P36=0;
  P37=0;
  P27=1;
  VPP();
  PROG=0;
  Time100us();
  PROG=1;
  
    P26=1;
    P36=1;
    P37=0;
    P27=0;
    VPP();
    PROG=0;
    Time100us();
    PROG=1;
    VP=1;
	
	  return;
	  }
*/
//多功能函數4
void Write_lock_bits(void)
{
    //G_pgmode == TRUE;
	unsigned char data;
    data = getc(); 
	if(G_device == AT89C51)
	{
		//SetVPP12V();
		VPP(1);
		PORTA|= _BV(PA6);   //RST=H
		OutCONBit(PSEN,0);  //PSEN=L
		if(data & _BV(1))
		{
			OutP2Bit(P26,1);
			OutP3Bit(P36,1);
			OutP3Bit(P37,1);
			OutP2Bit(P27,1);
			SetVPP12V();
			OutCONBit(PROG,0);
			delay(1);  
			OutCONBit(PROG,1);
			SetVPP5V();
		}
		if(data & _BV(2))
		{
			OutP2Bit(P26,1);
			OutP3Bit(P36,0);
			OutP3Bit(P37,0);
			OutP2Bit(P27,1);
			SetVPP12V();
			OutCONBit(PROG,0);
			delay(1);  
			OutCONBit(PROG,1);
			SetVPP5V();
		}
		if(data & _BV(3))
		{
			OutP2Bit(P26,1);
			OutP3Bit(P36,1);
			OutP3Bit(P37,0);
			OutP2Bit(P27,0);
			SetVPP12V();
			OutCONBit(PROG,0);
			delay(1);  
			OutCONBit(PROG,1);
			SetVPP5V();
		}
	}
	else
	{
		SPIWrite(0xAC); 
		SPIWrite(0xe0); 
		SPIWrite(0x00); 
		//SPIWrite((data & 0x2f)|0xE0); //atmega16
		SPIWrite(data |0xc0); 
		wait_1ms(g_deviceSupported[G_index].twd_fuse); 
	}
	putc(0x0D); 
	return;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本午夜精品一区二区三区电影| 欧美日韩国产中文| 中文字幕免费不卡在线| 国产激情一区二区三区| 国产三级欧美三级| 成人午夜激情在线| 国产精品久久久久9999吃药| 99在线精品一区二区三区| 亚洲精品一卡二卡| 欧美日韩在线综合| 麻豆成人久久精品二区三区红| 欧美大胆一级视频| 国产在线视频不卡二| 国产午夜亚洲精品午夜鲁丝片| 99久久99久久免费精品蜜臀| 一个色在线综合| 日韩一级成人av| 成人免费精品视频| 亚洲成人av在线电影| 精品少妇一区二区三区日产乱码 | 欧美精品在线一区二区三区| 免费在线观看成人| 亚洲国产精品99久久久久久久久 | 精品视频在线视频| 欧美aa在线视频| 国产精品免费视频网站| 欧美丝袜自拍制服另类| 国产资源精品在线观看| 一区在线播放视频| 日韩亚洲欧美中文三级| 国产成人免费视频一区| 国产二区国产一区在线观看| 亚洲精品欧美激情| 精品国产百合女同互慰| 一本久久综合亚洲鲁鲁五月天| 日韩精品福利网| 国产精品第13页| 日韩一级视频免费观看在线| 99久久综合精品| 久久99精品一区二区三区| 日韩毛片一二三区| 精品少妇一区二区三区在线播放| 91福利精品第一导航| 国产福利视频一区二区三区| 亚洲国产精品久久久久婷婷884| ww久久中文字幕| 欧美日韩国产免费| av在线一区二区三区| 国产中文一区二区三区| 亚洲mv大片欧洲mv大片精品| 91社区在线播放| 日韩精品一区二区三区四区| 久久国产精品99久久人人澡| 久久夜色精品国产噜噜av| 欧美色综合影院| 色综合视频一区二区三区高清| 激情五月婷婷综合| 亚洲午夜精品在线| 亚洲乱码中文字幕| 国产欧美一区二区精品性| 日韩欧美中文字幕精品| 欧美三级一区二区| 91丝袜国产在线播放| 国产成人免费高清| 欧美视频在线观看一区二区| 亚洲午夜在线视频| 欧美精品久久久久久久多人混战| 中文字幕在线播放不卡一区| 欧美婷婷六月丁香综合色| 喷水一区二区三区| 国产在线国偷精品免费看| 欧美精品久久一区| 日韩经典中文字幕一区| 国产精品一级黄| 成人深夜在线观看| 同产精品九九九| 久久婷婷成人综合色| 99精品在线免费| 精品影院一区二区久久久| 国产午夜精品久久久久久久| 欧美另类高清zo欧美| 国产精品一二三四| 亚洲成av人片观看| 亚洲视频网在线直播| 欧美国产精品中文字幕| 欧美一卡2卡三卡4卡5免费| av成人动漫在线观看| 国产91精品露脸国语对白| 日韩中文欧美在线| 亚洲一线二线三线视频| 综合激情网...| 久久久国产一区二区三区四区小说 | 免费观看30秒视频久久| 视频一区在线播放| 欧美日本视频在线| 日本不卡免费在线视频| 最新中文字幕一区二区三区| 国产欧美日韩卡一| 亚洲国产色一区| 欧美三级电影一区| 调教+趴+乳夹+国产+精品| 精品国偷自产国产一区| 久久精品视频在线免费观看 | 亚洲aaa精品| 久久不见久久见免费视频7| 国产精品一区二区免费不卡| 日韩欧美久久久| 国产亚洲欧美激情| 亚洲欧美偷拍另类a∨色屁股| 成人国产在线观看| 高清久久久久久| 99久久精品国产观看| 色婷婷亚洲综合| 色婷婷av久久久久久久| 欧美无乱码久久久免费午夜一区| 欧美在线观看一二区| 精品国产第一区二区三区观看体验 | 久久久亚洲欧洲日产国码αv| 中文字幕中文字幕在线一区| 午夜欧美2019年伦理| 国产伦精品一区二区三区在线观看 | 亚洲一区二区在线免费观看视频| 经典三级一区二区| 日本道在线观看一区二区| 精品久久久三级丝袜| 亚洲欧美国产77777| 激情欧美一区二区三区在线观看| 99re这里只有精品首页| 精品国产乱码久久| 亚洲高清免费观看高清完整版在线观看| 黄网站免费久久| 欧美日韩综合色| 中文av一区二区| 另类综合日韩欧美亚洲| 欧美视频一区二区| 国产精品久久久久久久第一福利 | 日韩亚洲欧美成人一区| 亚洲视频一区二区在线| 国产麻豆午夜三级精品| 欧美电影一区二区| 一区二区三区在线观看动漫| 国产一区二区毛片| 7777精品伊人久久久大香线蕉经典版下载| 欧美国产国产综合| 欧美色图一区二区三区| 欧美国产精品中文字幕| 久久99精品国产91久久来源| 欧美在线观看一二区| 中文字幕在线一区| 国产精品自在在线| 日韩免费成人网| 日韩综合一区二区| 欧美在线999| 亚洲图片另类小说| 成人动漫一区二区三区| 久久综合九色综合欧美98| 三级久久三级久久久| 色综合久久久久| 亚洲色欲色欲www在线观看| 国产风韵犹存在线视精品| 51精品国自产在线| 日韩午夜精品电影| bt7086福利一区国产| 亚洲五码中文字幕| 欧美日韩国产综合视频在线观看| 国产精品入口麻豆九色| 国产精品一区在线观看你懂的| 欧美一区二区在线免费观看| 视频一区视频二区中文字幕| 欧美挠脚心视频网站| 日韩激情一区二区| 欧美一区二区不卡视频| 日本中文字幕一区二区视频| 538prom精品视频线放| 日韩黄色小视频| 91精品国产综合久久香蕉的特点 | 欧美一级理论片| 麻豆国产精品视频| 精品国产一区二区在线观看| 久久国产精品99久久人人澡| 亚洲va国产天堂va久久en| 3atv一区二区三区| 狠狠色伊人亚洲综合成人| 国产亚洲精品aa| aaa欧美日韩| 亚洲一区二区三区四区在线免费观看 | 国产精品久线在线观看| 91理论电影在线观看| 亚洲国产裸拍裸体视频在线观看乱了 | 国内外成人在线| 日本一区二区三区在线不卡| 91麻豆成人久久精品二区三区| 一区二区三区高清在线| 欧美一区二区在线不卡| 国产一区在线不卡| 椎名由奈av一区二区三区| 51午夜精品国产| 成人av网址在线| 亚洲成a人v欧美综合天堂下载 | 日韩激情一区二区|