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

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

?? ch11_at89cxx 刻錄程序徹底公開(kāi).c

?? 8051單片機(jī)刻錄程序徹底公開(kāi) 用于單片機(jī)刻錄器
?? C
?? 第 1 頁(yè) / 共 4 頁(yè)
字號(hào):
         case 2:
                p20_next_addr();
                p20_next_addr();
                c1=p20_read_byte();         /* c2 must be FFH */
                break;
         default:
                c1=0xee;
                break;
        }
        c1=c1 & 0xff;
        return(c1);
}

int p20_reset_addr()
{
        p20_rst_hi();
        p20_rst_low();
        p20_rst_hi();
}

int xtal1_pulse()
{
        p20_xtal1_hi();
        p20_xtal1_low();
        p20_xtal1_hi();
}

int p20_next_addr()
{
        p20_xtal1_hi();
        p20_xtal1_low();
        p20_xtal1_hi();
}

int p20_rst_hi()   {      write_XDATA(PPICTL2,0x00);
                          write_XDATA(PPICTL2,0x04); }
int p20_rst_low()  {      write_XDATA(PPICTL2,0x00);
                          write_XDATA(PPICTL2,0x05); }
int p20_rst_12v()  {      write_XDATA(PPICTL2,0x01);
                          write_XDATA(PPICTL2,0x04); }

int p20_prog_low() {      write_XDATA(PPICTL2,0x02); }
int p20_prog_hi()  {      write_XDATA(PPICTL2,0x03); }

int p20_xtal1_low() {     write_XDATA(PPICTL2,0x06); }
int p20_xtal1_hi()  {     write_XDATA(PPICTL2,0x07); }

int p20_p33_low() {       write_XDATA(PPICTL2,0x08); }
int p20_p33_hi()  {       write_XDATA(PPICTL2,0x09); }

int p20_p34_low() {       write_XDATA(PPICTL2,0x0a); }
int p20_p34_hi()  {       write_XDATA(PPICTL2,0x0b); }

int p20_p35_low() {       write_XDATA(PPICTL2,0x0c); }
int p20_p35_hi()  {       write_XDATA(PPICTL2,0x0d); }

int p20_p37_low() {       write_XDATA(PPICTL2,0x0e); }
int p20_p37_hi()  {       write_XDATA(PPICTL2,0x0f); }


int beep_on()  {      write_XDATA(PPICTL1,0x0f); }
int beep_off() {      write_XDATA(PPICTL1,0x0e); }

int programming()
{
 int result;
int p20_p37_low()  {     write_XDATA(PPICTIL2.0x0e);  }
int p20_p37_hi()   {     write_XDATA(PPICTIL2.0x0f);  }

int beep_on  {    write_XDATA(PPICTL1.0x0f);  } 
int beep_off {    write_XDATA(PPICTL1.0x0e);  }

int programming()
{
 int result:
        display_str(msg_pgm,1);
        if (flash_type==AT2051 || flash_type==AT4051 || flash_type==AT1051)
        {
         p20_programming();
/*       result=p20_verify();   */
        }
        if (flash_type==AT89C51 || flash_type==AT89C52 || flash_type==AT89S8252)
        {
         p40_programming();
/*       result=p40_verify();   */
        }
        result=verify(0);
        return(result);
}

int p20_programming()
{
 int data;
 int m;
        p20_write_mode();
        p20_reset_addr();
        p20_rst_12v();
        p20_prog_hi();

        for (m=0;m<pgm_length;m++)
        {
         data=read_XDATA(BUFFER+m);
          p20_write_byte(data);
          p20_prog_low();
          p20_prog_hi();
          p20_next_addr();
       if ((m & 0x3ff)==0) display_char('P');  /* 1 page programmed */
        }

        p20_rst_hi();
        line_feed();
}

int p40_programming()
{
 int data;
 int m;
        write_mode();
        addr_out(0);
        vpp_5v();
        prog_hi();

        vpp_12v();
        for (m=0;m<pgm_length;m++)
        {
         data=read_XDATA(BUFFER+m);
         addr_out(m);
/*       if (data==0xff) continue; */
         write_byte(data);
         prog_low();
         prog_hi();
/*       delay_5ms();      delay 10 mS */
/*       vpp_5v();      */
         if ((m & 0x3ff)==0) display_char('P');  /* 1 page programmed */
        }
        vpp_5v();
        line_feed();
}

int verify(int c)
{
 int result;
        display_str(msg_verify,1);
        if (flash_type==AT2051 || flash_type==AT4051 || flash_type==AT1051)
            result=p20_verify(c);
        if (flash_type==AT89C51 || flash_type==AT89C52 || flash_type==AT89S8252)
           result=p40_verify(c);
        return(result);
}

int p20_verify(int mode)
{
 int m,d_i,d_o;
 int err=0;

        p20_read_mode();
        p20_reset_addr();
        for (m=0;(m<pgm_length);m++)
        {
         d_i=p20_read_byte();
         d_o=read_XDATA(BUFFER+m);
         if (d_i != d_o) err=1;
         p20_next_addr();
         if ((m & 0x3ff)==0) display_char('V');  /* 1 page programmed */
         if (err==1) break;
        }
        delay(10);
        line_feed();
        return(err);
}

int p40_verify(int mode)
{
 int m,d_i,d_o;
 int err=0;

        read_code_mode();
        if (flash_type==AT89S8252) vpp_12v();

        for (m=0;m<pgm_length;m++)
        {
         addr_out(m);
         d_i=read_byte();
         d_o=read_XDATA(BUFFER+m);
         if (d_i != d_o) err=1;
         if ((m & 0x3ff)==0) display_char('V');  /* 1 page programmed */
         if (err) break;
        }
        vpp_5v();
        delay(10);
       line_feed();
        return(err);
}

int p20_write_mode()
{
        init_8255(0x90,0x82);
/*      p20_rst_12v();  */
        p20_prog_hi();
        p20_p33_low();
        p20_p34_hi();
        p20_p35_hi();
        p20_p37_hi();
}

int write_mode()
{
        init_8255(0x80,0x82);
        rst_hi();
        psen_low();
        prog_hi();
        vpp_5v();
        p26_low();
        p27_hi();
        p36_hi();
        p37_hi();
}

int chip_erase()
{
 int result;

        if (flash_type==AT2051 || flash_type==AT4051 || flash_type==AT1051)
        {
         p20_chip_erase();
         result=p20_blank_check(32);  /* check heading 32 bytes */
        }
        if (flash_type==AT89C51 || flash_type==AT89C52 || flash_type==AT89S8252)
        {
         p40_chip_erase();
         result=p40_blank_check(32);  /* check heading 32 bytes */
        }
        return(result);
}

int p20_chip_erase()
{
        init_8255(0x90,0x82); /* 1st-PA,PB,PC output */
                              /* 2nd-PA out,PB & PC input */
        p20_rst_12v();
        p20_prog_hi();

        p20_p33_hi();
        p20_p34_low();
        p20_p35_low();
        p20_p37_low();

        p20_prog_low();
        delay_10ms();     /* delay 10 mS */
        p20_prog_hi();
        p20_rst_hi();
}

int p40_chip_erase()
{
        init_8255(0x80,0x82); /* 1st-PA,PB,PC output */
                              /* 2nd-PA out,PB & PC input */
        rst_hi();
        psen_low();
        prog_hi();
        vpp_5v();

        p26_hi();
        p27_low();
        p36_low();
        p37_low();

        if (vpp==5) vpp_5v();
        else        vpp_12v();      /* debug */

        prog_hi();
        prog_low();
        delay_10ms();     /* delay 10 mS */
        prog_hi();
       vpp_5v();
}

int p20_lock_bit1()
{
        init_8255(0x90,0x82);
        p20_rst_12v();
        p20_prog_hi();
        p20_p33_hi(); p20_p34_hi(); p20_p35_hi(); p20_p37_hi();

        p20_prog_low();
        delay_10ms();
        p20_prog_hi();
        p20_rst_hi();
}

int p20_lock_bit2()
{
        init_8255(0x90,0x82);
        p20_rst_12v();
        p20_prog_hi();
        p20_p33_hi(); p20_p34_hi(); p20_p35_low(); p20_p37_low();

        p20_prog_low();
        delay_10ms();
        p20_prog_hi();
        p20_rst_hi();
}

int at89s8252_lock_bit(int bit)
{
        init_8255(0x80,0x82);
        vpp_5v();
        rst_hi();
        psen_low();
        prog_hi();
        p26_hi(); p27_low(); p36_hi(); p37_low();

        vpp_12v();
        switch (bit)
        {
         case 1: write_byte(0x7f); break;
         case 2: write_byte(0xbf); break;
         case 3: write_byte(0xdf); break;
        }
        prog_low();
        delay_10ms();
        prog_hi();
        vpp_5v();
        read_code_mode();
}


int p40_lock_bit1()
{
        init_8255(0x80,0x82);
        vpp_5v();
        rst_hi();
        psen_low();
        prog_hi();
        p26_hi(); p27_hi(); p36_hi(); p37_hi();

        if (vpp==5) vpp_5v();
        else        vpp_12v();

        prog_low();
        delay_10ms();
        prog_hi();
        vpp_5v();
        read_code_mode();
}

int p40_lock_bit2()
{
        init_8255(0x80,0x82);
        vpp_5v();
        rst_hi();
        psen_low();
        prog_hi();
        p26_hi(); p27_hi(); p36_low(); p37_low();

        if (vpp==5) vpp_5v();
        else        vpp_12v();

      prog_low();
        delay_10ms();
        prog_hi();
        vpp_5v();
        read_code_mode();
}

int p40_lock_bit3()
{
        init_8255(0x80,0x82);
        vpp_5v();
        rst_hi();
        psen_low();
        prog_hi();
        p26_hi(); p27_low(); p36_hi(); p37_low();

        if (vpp==5) vpp_5v();
        else        vpp_12v();

        prog_low();
        delay_10ms();
        prog_hi();
        vpp_5v();
        read_code_mode();
}

int init_8255(int c1,int c2)
{
        write_XDATA(PPICTL1,c1);
        write_XDATA(PPICTL2,c2);
}

int p20_write_byte(int d)
{
        write_XDATA(PPIPB1,d);
}

int p20_read_byte()
{
 int d;
        d=read_XDATA(PPIPB1);
        return(d);
}

int power_on_message()
{
        line_feed();
        beep_start();
        display_str("Power on default type is [",0);
        switch(flash_type)
        {
         case AT4051: display_str(msg_at89c4051,0); break;
         case AT2051: display_str(msg_at89c2051,0); break;
         case AT1051: display_str(msg_at89c1051,0); break;
         case AT89C51: display_str(msg_at89c51 ,0);  break;
         case AT89C52: display_str(msg_at89c52 ,0);  break;
         case AT89S8252:
                       display_str(msg_at89s8252 ,0);  break;
        }
        display_str("]",1);
        display_str("If you want to change the FLASH AT89CXX type",1);
        display_str("Please set the value at address 7FFFH of EPROM",1);
        display_str("(7FFFH)=00H => AT89C2051,(7FFFH)=02H => AT89C4051",1);
        display_str("(7FFFH)=01H => AT89C1051,(7FFFH)=03H => AT89C51",1);
        display_str("(7FFFH)=04H => AT89C52  ,(7FFFH)=05H => AT89S8252",1);
        display_str("(7FFFH)=06H => AT90S1200",1);
        delay(500);
}

int display_prompt()
{
        switch(flash_type)
        {
         case AT4051:    display_str(msg_at89c4051,0); break;
         case AT2051:    display_str(msg_at89c2051,0); break;
         case AT1051:    display_str(msg_at89c1051,0); break;
         case AT89C51:   display_str(msg_at89c51,0);   break;
         case AT89C52:   display_str(msg_at89c52,0);   break;
         case AT89S8252: display_str(msg_at89s8252,0); break;
         case AT90S1200: display_str(msg_at90s1200,0); break;
        }
        display_str(" (",0);
        display_addr_woh((unsigned int)checksum);
        display_str(")>",0);
       delay(20);
}

int echo_test_count()
{
                line_feed();
                display_str("***** Final PGM count=",0);
                display_addr(test_count);
                display_str(" *****",1);
}

int life_test()
{
 int result;

        beep_start();

        switch(flash_type)
        {
         case AT90S1200: display_str(msg_at90s1200,0); break;
         case AT4051: display_str(msg_at89c4051,0); break;
         case AT2051: display_str(msg_at89c2051,0); break;
         case AT1051: display_str(msg_at89c1051,0); break;
         case AT89C51: display_str(msg_at89c51,0);  break;
         case AT89C52: display_str(msg_at89c52,0);  break;
         case AT89S8252: display_str(msg_at89s8252,0);  break;
        }
        display_str("Lifetest start....(press any key to abort)",1);

         while (1)
         {
           test_count++;
           line_feed();
           display_str("***** PGM count=",0);
           display_addr(test_count);
           display_str(" *****",0);

           line_feed();
           display_str(msg_erase,1);
           if (flash_type!=AT90S1200)
           {
            chip_erase();
            result=blank_check(32);
            if (result==0) result=programming();
           }
           else
           {
            avr_erase();
            avr_flash_programming();
            result=avr_flash_verify();
           }

           if (result==0) beep_ok();
           else           beep_err();

           if (result!=0)
             {
              show_fail_in_programming();
              show_mail_box();
             }
           if (result!=0 || test_count>=5000) break;
           if (SFB.RI==1) break;
        }  /* end of while */
        echo_test_count();
}

int check_pgm_sw()
{
 int d,ok;
 int result;

        ok=0;
        d=(~read_XDATA(PPIPA1)) & 0x03;
        if (d==0x02)
         { delay(50);
           d=(~read_XDATA(PPIPA1)) & 0x03;
           if (d==0x02) ok=1;
         }
        if (ok==1)
         {
           line_feed();
           beep_start();
           display_str(msg_erase,1);
           p20_chip_erase();
          result=p20_blank_check(32);
         if (result==0) {
           result=programming();
           if (AUTOLOCK)
           {
            display_str("Lock bit1 + bit2 of AT89C4051/2051/1051",1);
            display_str("Same as lockbit1 plus verify is disabled",1);
            p20_lock_bit1();
            p20_lock_bit2();
            p20_show_signature(1);
           }
          }

           if (result==0) display_str(msg_pass,1);
           else           display_str(msg_fail,1);
           if (result==0) beep_ok();
           else           beep_err();
           if (result!=0)
           {
            show_fail_in_programming();
            show_mail_box();
           }
         display_prompt();
        }
}

int check_read_and_verify_sw()

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品写真视频在线观看| 久久综合色婷婷| 中文字幕一区视频| 韩国成人福利片在线播放| 欧美色区777第一页| 中文字幕二三区不卡| 国产乱人伦偷精品视频不卡 | 丁香桃色午夜亚洲一区二区三区| 日韩一区二区视频| 丝袜国产日韩另类美女| 欧美精品xxxxbbbb| 日韩精品五月天| 欧美日韩精品电影| 日韩激情一二三区| 日韩一级视频免费观看在线| 亚洲成人先锋电影| 欧美精品一卡二卡| 五月婷婷综合在线| 精品视频在线免费看| 亚洲国产中文字幕在线视频综合| 日本韩国精品在线| 亚洲一区二区视频| 欧美性大战久久久久久久| 亚洲成人av电影| 日韩毛片一二三区| 欧美日韩一区二区三区高清| 国产精品香蕉一区二区三区| 亚洲美女淫视频| 精品久久久网站| av网站一区二区三区| 麻豆精品国产91久久久久久| 亚洲欧美日韩在线| 欧美精品一区二区三区久久久| 91精品国产综合久久香蕉的特点 | 日韩欧美在线不卡| 一区二区三区自拍| 欧美日韩免费高清一区色橹橹| 日韩在线一区二区三区| 粉嫩蜜臀av国产精品网站| eeuss国产一区二区三区| 国产精品电影院| 色先锋久久av资源部| 亚洲影视在线观看| 亚洲视频 欧洲视频| 日韩精品福利网| 国产激情一区二区三区四区| 久久久一区二区| 国产成人av在线影院| 国产午夜亚洲精品羞羞网站| 9色porny自拍视频一区二区| 夜色激情一区二区| 欧美成人a∨高清免费观看| 狠狠色丁香婷综合久久| 亚洲欧洲日韩综合一区二区| 欧美丰满嫩嫩电影| 国产成人精品免费| 亚洲线精品一区二区三区| 2020国产精品自拍| 色菇凉天天综合网| 韩国三级在线一区| 夜夜精品视频一区二区 | 国产乱码字幕精品高清av| 《视频一区视频二区| 884aa四虎影成人精品一区| 国产一区二区三区免费观看| 亚洲欧洲精品天堂一级 | 欧美日韩视频在线第一区| 另类小说视频一区二区| 久久无码av三级| 欧美亚洲精品一区| 国产一区二区三区四区五区入口| 亚洲少妇中出一区| 在线成人午夜影院| 国产乱国产乱300精品| 亚洲乱码国产乱码精品精的特点| 欧美日韩在线播放一区| 国产福利一区二区三区视频在线| 亚洲狠狠丁香婷婷综合久久久| 欧美成人一区二区三区片免费| 99久久免费视频.com| 五月激情综合色| 亚洲欧洲99久久| 欧美成人video| 欧美日韩日日骚| 99久久精品国产一区| 国产乱对白刺激视频不卡| 一区二区三区中文字幕在线观看| 久久久一区二区三区| 欧美伦理影视网| 91美女片黄在线| 国产尤物一区二区在线| 日韩经典一区二区| 一区二区三区蜜桃| 国产精品美女视频| 26uuu欧美日本| 在线播放/欧美激情| 色哟哟在线观看一区二区三区| 麻豆免费看一区二区三区| 亚洲精品视频一区| 国产精品伦理一区二区| 久久综合久久99| 777久久久精品| 欧美在线小视频| 97精品电影院| 国产高清在线精品| 国产一区二区主播在线| 麻豆精品久久久| 青娱乐精品视频| 午夜精品一区二区三区电影天堂 | 亚洲美女淫视频| 国产精品色噜噜| 欧美不卡在线视频| 欧美一二三四在线| 欧美伦理电影网| 欧美亚洲一区二区在线观看| 99久久99久久精品免费观看| 成人视屏免费看| 国产精品自拍网站| 精品一区二区三区免费| 强制捆绑调教一区二区| 亚洲成人午夜电影| 一区二区三区精品视频| 亚洲人精品午夜| 1024亚洲合集| 中文字幕在线不卡一区| 国产精品理论在线观看| 国产精品天美传媒沈樵| 国产精品国产馆在线真实露脸| 国产精品欧美综合在线| 日韩伦理免费电影| 亚洲男人的天堂在线aⅴ视频 | 国产精品成人网| 国产精品成人午夜| 亚洲欧洲制服丝袜| 亚洲精品高清在线| 亚洲高清免费视频| 三级影片在线观看欧美日韩一区二区 | 欧美一区二区三区人| 欧美一区二区三区公司| 日韩一区二区三区三四区视频在线观看| 欧美一区二区视频免费观看| 日韩欧美国产综合在线一区二区三区| 91精品婷婷国产综合久久竹菊| 日韩精品一区二区三区视频在线观看| 91.麻豆视频| 欧美精品一区视频| 国产清纯美女被跳蛋高潮一区二区久久w| 久久精品人人做人人爽97| 国产精品你懂的在线欣赏| 亚洲人成在线播放网站岛国 | 一区二区在线看| 亚洲一区二区美女| 奇米色777欧美一区二区| 狠狠色丁香婷婷综合| 国产成人精品亚洲日本在线桃色| 成人av资源网站| 欧美中文一区二区三区| 欧美一区二区视频在线观看| 久久久久久免费网| 亚洲视频小说图片| 五月开心婷婷久久| 国产一区二区不卡| 99久久精品国产毛片| 欧美高清www午色夜在线视频| 精品国产区一区| 亚洲丝袜制服诱惑| 视频一区二区中文字幕| 国产精品18久久久久| 91美女福利视频| 91麻豆精品久久久久蜜臀| 国产午夜精品久久久久久免费视 | 麻豆精品在线看| 国产jizzjizz一区二区| 在线免费观看视频一区| 日韩三级视频在线观看| 中文字幕 久热精品 视频在线| 亚洲一区电影777| 国产综合成人久久大片91| 色综合色综合色综合| 日韩精品中午字幕| 亚洲少妇中出一区| 久久丁香综合五月国产三级网站| 成人高清视频免费观看| 欧美电影一区二区三区| 国产精品网曝门| 日韩在线观看一区二区| 不卡的av在线播放| 日韩亚洲国产中文字幕欧美| 亚洲欧洲一区二区在线播放| 轻轻草成人在线| 91色porny| 久久嫩草精品久久久精品一| 亚洲一区二区五区| 大陆成人av片| 91精品欧美福利在线观看| 亚洲四区在线观看| 国产麻豆欧美日韩一区| 欧美高清激情brazzers| 亚洲图片你懂的| 国模套图日韩精品一区二区|