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

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

?? avricp.c

?? AVR ICP 支持AVR器件編程
?? C
?? 第 1 頁 / 共 4 頁
字號:

#define CPU         __AVR_ATmega16__
#define F_CPU       7372800L             /* CLK = 7.372800MHz       */ 
#define __OPTIMIZE__

#define _CV(bit)      (~(1 << (bit)))
#define TRUE          (1==1) 
#define FALSE         (1==0) 

#include <avr/io.h>
#include <string.h>
#include <util/delay.h>

#include <avr/pgmspace.h>

typedef unsigned char uchar;
typedef unsigned int  uint;

/*--------------------------------------------------------------------------*/ 
/* I/O port setting                                                         */ 
/* ---- ----- ------------------------------------------------------------- */ 
/* PD2: RST                                                                 */
/* PB5: MOSI                                                                */
/* PB6: MISO                                                                */
/* PB7: SCK                                                                 */
/* ---- ----- ------------------------------------------------------------- */ 
/* PA4: OUT    GREEN LED                                                    */
/* PA5: OUT    RED   LED                                                    */
/* ---- ----- ------------------------------------------------------------- */ 
/* PD0: IN     UART  RxD                                                    */ 
/* PD1: OUT    UART  TxD                                                    */ 
/* ---- ----- ------------------------------------------------------------- */ 

#define TARGET_RESET     PD2 
#define TARGET_MISO      PB6 
#define TARGET_MOSI      PB5 
#define TARGET_SCK       PB7

#define HOST_LED         PA5
#define MON_LED          PA4


//FOR AT89C51
#define  RST             PA6
#define  HIGHVP          PA0
#define  VP              PA1
#define  PROG            PA2
#define  PSEN            PA3

#define  P26             PD6
#define  P27             PD7
#define  P36             PD6
#define  P37             PD7

#define  RDY51           PA7
#define  A14             P3^0 


/*--------------------------------------------------------------------------*/ 
/* revision information                                                     */ 
/*--------------------------------------------------------------------------*/ 
#define SW_MAJOR      '2'   /* Major Software revision number   */ 
#define SW_MINOR      '8'   /* Minot Software revision number   */ 
#define HW_MAJOR      '1'   /* Major Hardware revision number   */ 
#define HW_MINOR      '8'   /* Minot Hardware revision number   */ 

/*--------------------------------------------------------------------------*/ 
/* device information                                                       */ 
/*--------------------------------------------------------------------------*/ 
#define AT89C1051			0x80 
#define AT89C2051           0x81 
#define AT89C51             0x82	  //自定義	
#define AT89C52             0x83	  //自定義	
#define AT89S51             0x84	  //自定義	
#define AT89S52             0x85	  //自定義	
#define AT89S53             0x87 
#define AT89S8252           0x86 
#define AT90C8534           0x70
#define AT90C8544           0x71
#define AT90S1200     		0x13
#define AT90S1200REVA       0x10
#define AT90S1200REVB       0x11
#define AT90S1200REVC       0x12 
#define AT90S2313           0x20
#define AT90S2323           0x48
#define AT90S2333           0x34
#define AT90S2343           0x4C
#define AT90S4414			0x28
#define AT90S4433           0x30
#define AT90S4434           0x6C
#define AT90S8515           0x38
#define AT90S8535           0x68
#define ATMEGA103           0x41
#define ATMEGA128           0x43
#define ATMEGA128BOOT       0x44
#define ATMEGA16			0x74
#define ATMEGA16BOOT        0x75
#define ATMEGA161           0x60
#define ATMEGA161BOOT       0x61
#define ATMEGA163           0x64
#define ATMEGA163BOOT       0x66
#define ATMEGA169           0x78
#define ATMEGA169BOOT       0x79
#define ATMEGA32			0x72
#define ATMEGA32BOOT        0x73
#define ATMEGA603           0x42
#define ATMEGA64            0x45
#define ATMEGA64BOOT        0x46
#define ATMEGA8             0x76
#define ATMEGA8BOOT         0x77
#define ATMEGA83            0x65
#define ATMEGA83BOOT		0x67
#define ATMEGA8515          0x3A
#define ATMEGA8515BOOT      0x3B
#define ATMEGA8535          0x69
#define ATTINY10            0x51
#define ATTINY11            0x50
#define ATTINY12            0x55
#define ATTINY15            0x56
#define ATTINY19			0x58
#define ATTINY26            0x5E
#define ATTINY28            0x5C

/* Device List    */ 
/* Device List                                                              */ 
/* +---------------+----------+------+-------+------+------+------+-------+ */ 
/* | Device        |Signature | Code | Flash |EEProm| Lock | Fuse | PMode | */ 
/* +---------------+----------+------+-------+------+------+------+-------+ */ 
/* | tiny12        | 1E 90 05 | 0x55 |  R/W  | R/W  | R/W  | R/W  | Byte  | */ 
/* | tiny15        | 1E 90 06 | 0x66 |  R/W  | R/W  | R/W  | R/W  | Byte  | */ 
/* |               |          |      |       |      |      |      |       | */ 
/* | S1200         | 1E 90 01 | 0x13 |  R/W  | R/W  |  W   | NA   | Byte  | */ 
/* |               |          |      |       |      |      |      |       | */ 
/* | S2313         | 1E 91 01 | 0x20 |  R/W  | R/W  |  W   | NA   | Byte  | */ 
/* | S2323         | 1E 91 02 | 0x48 |  R/W  | R/W  | R/W  | R/W  | Byte  | */ 
/* | S2333         | 1E 91 05 | 0x34 |  R/W  | R/W  | R/W  | R/W  | Byte  | */ 
/* | S2343         | 1E 91 03 | 0x4C |  R/W  | R/W  | R/W  | R/W  | Byte  | */ 
/* |               |          |      |       |      |      |      |       | */ 
/* | S4414         | 1E 92 01 | 0x28 |  R/W  | R/W  |  W   | NA   | Byte  | */ 
/* | S4433         | 1E 92 03 | 0x30 |  R/W  | R/W  | R/W  | R/W  | Byte  | */ 
/* | S4434         | 1E 92 02 | 0x6C |  R/W  | R/W  | R/W  | R/W  | Byte  | */ 
/* |               |          |      |       |      |      |      |       | */ 
/* | S8515         | 1E 93 01 | 0x38 |  R/W  | R/W  |  W   | NA   | Byte  | */ 
/* | S8535         | 1E 93 03 | 0x68 |  R/W  | R/W  | R/W  | R/W  | Byte  | */ 
/* |               |          |      |       |      |      |      |       | */ 
/* |mega83         | 1E 93 05 | 0x65 |  R/W  | R/W  | R/W  | R/W  | Page  | */ 
/* |mega103        | 1E 97 01 | 0x41 |  R/W  | R/W  | R/W  | R/W  | Page  | */ 
/* |mega161        | 1E 94 01 | 0x60 |  R/W  | R/W  | R/W  | R/W  | Page  | */ 
/* |mega163        | 1E 94 02 | 0x64 |  R/W  | R/W  | R/W  | R/W  | Page  | */ 
/* |               |          |      |       |      |      |      |       | */ 
/* |mega8          | 1E 93 07 | 0x76 |  R/W  | R/W  | R/W  | R/W  | Page  | */ 
/* |mega16         | 1E 94 03 | 0x74 |  R/W  | R/W  | R/W  | R/W  | Page  | */ 
/* |mega32         | 1E 95 02 | 0x72 |  R/W  | R/W  | R/W  | R/W  | Page  | */ 
/* |mega128        | 1E 97 02 | 0x43 |  R/W  | R/W  | R/W  | R/W  | Page  | */ 
/* |mega8515       | 1E 93 06 | 0x3A |  R/W  | R/W  | R/W  | R/W  | Page  | */ 
/* +---------------+----------+------+-------+------+------+------+-------+ */ 
//ATMEGA8     , 0x1E,0x93,0x07,
//ATMEGA16    , 0x1E,0x94,0x03,
//ATMEGA32    , 0x1E,0x95,0x02,
//ATMEGA64    , 0x1E,0x96,0x02,
//ATMEGA128   , 0x1E,0x97,0x02,
//ATMEGA8515  , 0x1E,0x93,0x06,
//ATMEGA8535  , 0x1E,0x93,0x08,

typedef struct _devices_info { 
	unsigned char   code; 
	
	unsigned int    wPageSize;		// Flash page size
	unsigned char   ucEepromPageSize;// Eeprom page size (extended parameter)
	
	unsigned char   twd_fuse; 
	unsigned char   twd_flash; 
	unsigned char   twd_eeprom; 
	unsigned char   twd_erase; 
	
} devices_info; 



const devices_info /*__ATTR_PROGMEM__*/  g_deviceSupported[] = 
{ 
	// code         , FPage,EPage,twd fuse lock,flash,eeprom,erase 
	
	{  ATTINY12     ,    0 ,   0 ,         2 ,   4 ,    7 ,   7 },
	{  ATTINY15     ,    0 ,   0 ,         2 ,   5 ,    9 ,   9 },   
                                     
	{  AT90S1200    ,    0 ,   0 ,         2 ,   9 ,    9 ,  18 },   
                                     
	{  AT90S2313    ,    0 ,   0 ,         2 ,   9 ,    9 ,  18 },   
	{  AT90S2323    ,    0 ,   0 ,         2 ,   9 ,    9 ,  18 },  
	{  AT90S2333    ,    0 ,   0 ,         2 ,   9 ,    9 ,  18 },   
	{  AT90S2343    ,    0 ,   0 ,         2 ,   9 ,    9 ,  18 },   
                                     
	{  AT90S4414    ,    0 ,   0 ,         2 ,   9 ,    9 ,  18 },   
	{  AT90S4433    ,    0 ,   0 ,         2 ,   9 ,    9 ,  18 },   
	{  AT90S4434    ,    0 ,   0 ,         2 ,   9 ,    9 ,  18 },  
                                     
	{  AT90S8515    ,    0 ,   0 ,         2 ,   9 ,    9 ,  18 },   
	{  AT90S8535    ,    0 ,   0 ,         2 ,   9 ,    9 ,  18 },   
                                     
	{  ATMEGA103    ,  256 ,   0 ,         2 ,  56 ,    9 ,  56 },    
	{  ATMEGA161    ,  128 ,   0 ,         2 ,  14 ,    4 ,  28 },    
	{  ATMEGA163    ,  128 ,   0 ,         2 ,  16 ,    4 ,  32 },    
                                     
	{  ATMEGA8      ,   64 ,   4 ,         5 ,   5 ,    9 ,   9 },
	{  ATMEGA16     ,  128 ,   4 ,         5 ,   5 ,    9 ,   9 },
	{  ATMEGA32     ,  128 ,   4 ,         5 ,   5 ,    9 ,   9 },
	{  ATMEGA64     ,  128 ,   8 ,         5 ,   5 ,    9 ,   9 },
	{  ATMEGA128    ,  256 ,   8 ,         5 ,   5 ,    9 ,   9 },
	{  ATMEGA8515   ,   64 ,   4 ,         5 ,   5 ,    9 ,   9 },
	{  ATMEGA8535   ,   64 ,   4 ,         5 ,   5 ,    9 ,   9 },
	                                 
	{  ATMEGA16BOOT ,  128 ,   4 ,         5 ,   5 ,    9 ,   9 },
//自定義	                             
	{  AT89C51      ,    0 ,   0 ,         0 ,   2 ,    0 ,  10 },
	{  AT89C52      ,    0 ,   0 ,         0 ,   2 ,    0 ,  10 },
	{  AT89S51      ,    0 ,   0 ,         2 ,   2 ,    0 , 250 }, //twd_erase = 250*2
	{  AT89S52      ,    0 ,   0 ,         2 ,   2 ,    0 , 250 }, //twd_erase = 250*2
	{  0x00 ,0x00, 0x00    }        
};





unsigned char G_device;
unsigned char G_index;
unsigned char G_pgmode;
unsigned char G_pgaddrh;
unsigned char G_pgaddrl;

unsigned char G_P2;
unsigned char G_P3;
unsigned char G_CON;


/*--------------------------------------------------------------------------*/ 
/* Port direction setting                                                   */ 
/*--------------------------------------------------------------------------*/ 
void InitPortForIdle(void)
{
	DDRA = _BV(PA4)|_BV(PA5); 
	DDRB = 0; 
	DDRC = 0; 
	DDRD = _BV(PD2); 
}

void InitPortForSPI(void)
{
	DDRA = _BV(PA4)|_BV(PA5);
	DDRB = 0xFF ^ _BV(TARGET_MISO);
	DDRC = 0;            
	DDRD = _BV(PD2);   
}

void InitPortForParallel(void)
{
	DDRA = _BV(PA0)|_BV(PA1)|_BV(PA2)|_BV(PA3)|_BV(PA4)|_BV(PA5)|_BV(PA6);
	DDRB = 0;
	DDRC = 0; 
	PORTC = 0xff; 
	DDRD = _BV(PD3)|_BV(PD4)|_BV(PD5)|_BV(PD6)|_BV(PD7);
	PORTD = 0; 
}

/*--------------------------------------------------------------------------*/ 
/* Port operation                                                           */ 
/*--------------------------------------------------------------------------*/ 
void OutP0(unsigned char data)
{
	DDRC  = 0xff;
	PORTC = data;
}
void OutP1(unsigned char data)
{
	DDRB  = 0xff;
	PORTB = data;
}

void OutP2(unsigned char data)
{
	G_P2 = data;
	PORTA = (PORTA & 0xc0)| (data & 0x3f);
	unsigned char tmp = (data & 0xc0);
	PORTD = tmp;
	asm("nop");
	PORTD = tmp | _BV(PD5);
	asm("nop");
	PORTD = tmp;
}
void OutP3(unsigned char data)
{
	G_P3 = data;
	PORTA = (PORTA & 0xc0)| (data & 0x3f);
	unsigned char tmp = (data & 0xc0);
	PORTD = tmp;
	asm("nop");
	PORTD = tmp | _BV(PD4);
	asm("nop");
	PORTD = tmp;
}
void OutCON(unsigned char data)
{
	G_CON = data;
	PORTA = (PORTA & 0xc0)| (data & 0x3f);
	unsigned char tmp = (data & 0xc0);
	PORTD = tmp;
	asm("nop");
	PORTD = tmp | _BV(PD3);
	asm("nop");
	PORTD = tmp;
}
void OutP2Bit(unsigned char pos,unsigned char b)
{
	unsigned char data;
	data =(G_P2 & _CV(pos)) | ( b << pos);
	OutP2(data);
}
void OutP3Bit(unsigned char pos,unsigned char b)
{
	unsigned char data;
	data =(G_P3 & _CV(pos)) | ( b << pos);
	OutP3(data);
}
void OutCONBit(unsigned char pos,unsigned char b)
{
	unsigned char data;
	data =(G_CON & _CV(pos)) | ( b << pos);
	OutCON(data);
}

#define  SetVPP12V()   OutCONBit(HIGHVP,1)
#define  SetVPP5V()    OutCONBit(HIGHVP,0)

#define  VPP(b)        OutCONBit(VP,b)



void OutAddress(unsigned char addrh,unsigned char addrl)
{
    
    OutP2( (G_P2 & 0xC0) | (addrh & 0x3f));
    OutP1(addrl);
    return;
}




/*--------------------------------------------------------------------------*/ 
/* Reset to High                                                            */ 
/*--------------------------------------------------------------------------*/ 
inline void SetReset(void) 
{ 
	PORTD|=_BV(TARGET_RESET); 
} 

/*--------------------------------------------------------------------------*/ 
/* Reset to low                                                             */ 
/*--------------------------------------------------------------------------*/ 
inline void ClrReset(void) 
{ 
	PORTD&=_CV(TARGET_RESET); 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久久久久图文区| 色狠狠桃花综合| 成人sese在线| 欧洲av在线精品| 日韩免费看的电影| 中国色在线观看另类| 久久久久久免费网| 亚洲精品国产一区二区精华液 | 亚洲国产精品尤物yw在线观看| 日本亚洲三级在线| 成人毛片视频在线观看| 欧美人成免费网站| 亚洲国产激情av| 日韩综合小视频| 成人av网站大全| 日韩一区二区电影| 亚洲日本一区二区| 久久激情综合网| 色噜噜狠狠成人网p站| 久久精品视频在线看| 婷婷丁香久久五月婷婷| 99久久99久久综合| 久久久久成人黄色影片| 日日摸夜夜添夜夜添国产精品 | 亚洲精品在线网站| 天天色图综合网| 97精品国产露脸对白| 日韩欧美专区在线| 一区二区国产视频| av电影天堂一区二区在线观看| 2023国产精品自拍| 美日韩一级片在线观看| 欧美吻胸吃奶大尺度电影 | 亚洲色图欧洲色图婷婷| 美女视频黄 久久| 色视频成人在线观看免| 国产精品免费丝袜| 国产麻豆视频一区| 精品国产自在久精品国产| 午夜免费久久看| 欧美视频日韩视频| 亚洲少妇最新在线视频| 成人免费视频caoporn| 欧美精品一区二区三区一线天视频| 亚洲一区二区三区小说| 国产一区在线精品| 久久久久久久久久久久久久久99| 久久激情五月婷婷| 日韩精品一区二区三区在线| 免费一级片91| 日韩欧美专区在线| 九九久久精品视频| 久久久精品影视| 国产夫妻精品视频| 国产清纯白嫩初高生在线观看91| 国产精品一区二区久久精品爱涩| 欧美成人免费网站| 精品一区二区久久| 这里只有精品99re| 久久电影网电视剧免费观看| 欧美一级国产精品| 亚洲一级不卡视频| 欧美日韩二区三区| 毛片av一区二区| 久久亚洲一区二区三区明星换脸 | 精久久久久久久久久久| 日韩午夜在线观看| 日韩av中文字幕一区二区| 欧美日韩一区二区三区四区| 亚洲天堂中文字幕| 欧美日韩久久久| 老鸭窝一区二区久久精品| 777亚洲妇女| 国产一区二区三区四区五区入口| 国产嫩草影院久久久久| 91看片淫黄大片一级在线观看| 亚洲成人中文在线| 欧美一级黄色录像| 成人精品gif动图一区| 欧美激情自拍偷拍| 国产成人精品综合在线观看 | 日韩精品一区二区三区四区视频| 国产伦精品一区二区三区免费| 欧美国产精品一区二区三区| 色综合婷婷久久| 美女在线视频一区| 日本一区二区免费在线观看视频 | 国产69精品久久99不卡| 亚洲欧美日韩精品久久久久| 欧美日韩精品免费| 国产精品一色哟哟哟| 日韩毛片精品高清免费| 欧美一区二区三区视频在线| 成人免费三级在线| 秋霞成人午夜伦在线观看| 337p日本欧洲亚洲大胆精品| 国产精品99久久久| 午夜欧美视频在线观看| 亚洲国产岛国毛片在线| 欧美精品1区2区| 成人国产精品视频| 视频一区视频二区中文| 国产精品欧美久久久久无广告| 欧美老女人在线| 北条麻妃国产九九精品视频| 日本在线不卡一区| 亚洲视频中文字幕| 日韩三级免费观看| 欧美午夜一区二区| 99re8在线精品视频免费播放| 精品一区二区三区蜜桃| 亚洲www啪成人一区二区麻豆| 国产精品欧美一级免费| 欧美变态tickling挠脚心| 91久久精品午夜一区二区| 国产成人精品一区二| 久久97超碰色| 亚洲成人av一区二区| 中文一区二区在线观看| 亚洲精品一区二区三区四区高清| 制服.丝袜.亚洲.另类.中文| 在线观看91精品国产入口| 成人动漫视频在线| 成人一区二区三区视频| 精品一区二区影视| 日本va欧美va欧美va精品| 亚洲精品国产无套在线观| 国产精品成人免费在线| 日韩精品在线看片z| 欧美日韩精品欧美日韩精品一 | 91小视频在线| 成人黄页毛片网站| 久久99精品网久久| 亚洲成a人片在线不卡一二三区 | 国产福利视频一区二区三区| 日韩av电影免费观看高清完整版在线观看| 一区二区三区中文字幕精品精品| 国产欧美精品区一区二区三区| 久久日一线二线三线suv| 欧美www视频| 26uuu亚洲综合色欧美| 精品国产自在久精品国产| 日韩一区二区电影网| 欧美成人r级一区二区三区| 日韩欧美国产午夜精品| 欧美精品一区男女天堂| 久久精品一区二区三区不卡牛牛| 久久尤物电影视频在线观看| 久久久久国产精品麻豆ai换脸| 久久久久久9999| 久久综合久久综合亚洲| 粉嫩一区二区三区性色av| 丝袜亚洲另类丝袜在线| 国产精品一区二区在线观看不卡| 99热精品一区二区| 欧美日韩一本到| 欧美国产精品专区| 午夜精品福利一区二区三区蜜桃| 精品在线播放午夜| 在线观看不卡视频| 国产亚洲制服色| 亚洲h动漫在线| 成人黄色综合网站| 精品国产三级电影在线观看| 亚洲美女免费在线| 国产伦精品一区二区三区在线观看| 日本久久电影网| 欧美韩国日本一区| 美女免费视频一区二区| 91丨九色丨蝌蚪丨老版| 2023国产精品自拍| 日本免费新一区视频| 91亚洲精品久久久蜜桃网站| 精品国产伦一区二区三区观看体验 | 香港成人在线视频| av资源网一区| 久久久美女毛片| 免费高清不卡av| 欧日韩精品视频| 亚洲私人黄色宅男| 国产成人精品免费视频网站| 欧美一卡二卡三卡四卡| 亚洲一区二区视频在线| 91丨porny丨在线| 国产视频一区在线播放| 免费高清在线一区| 欧美久久一二三四区| 亚洲精品欧美激情| 99久久er热在这里只有精品15| 久久九九久精品国产免费直播| 久久精品国产77777蜜臀| 欧美日韩国产一级| 亚洲a一区二区| 在线观看亚洲精品| 亚洲午夜私人影院| 欧美视频一区二区在线观看| 亚洲欧美另类综合偷拍| 99精品视频一区| 亚洲精品成人精品456| 91蜜桃在线免费视频|