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

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

?? flash.lst

?? 本程序是一個(gè)RS232轉(zhuǎn)網(wǎng)口的。是一個(gè)透明傳輸?shù)哪K
?? LST
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
C51 COMPILER V7.06   FLASH                                                                 09/26/2008 13:35:54 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE FLASH
OBJECT MODULE PLACED IN ..\OUT\Flash.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ..\Source\Flash.c BROWSE DEBUG OBJECTEXTEND PRINT(..\OUT\Flash.lst) OBJECT(
                    -..\OUT\Flash.obj)

stmt level    source

   1          /*
   2          *****************************************************************************************************
   3          *
   4          *  File name: flash.c
   5          *****************************************************************************************************
   6          */
   7          
   8          #include "..\head\includes.h"
   9          
  10          
  11          
  12          /*
  13          *****************************************************************************************************
  14          * 
  15          *****************************************************************************************************
  16          */
  17          #ifdef _F_W_W_P
              
              unsigned char flash_write_with_poll(volatile uchar xdata* addr, uchar dat)
              {
                      unsigned char done;
                      unsigned char error;
                      unsigned char err;
                      unsigned char poll;
              
                      done = FALSE;
                      err = FALSE;
                      
                      *(FLASH_COMMON_X555) = 0xAA;     // unlock main flash, write 0xAA to addess 0xX555
                      *(FLASH_COMMON_XAAA) = 0x55;     // unlock main flash, write 0x55 to addess 0xXAAA
                      *(FLASH_COMMON_X555) = 0xA0;     // write 0xA0 command to program
              
                      *(addr) = dat;                   // write byte to flash   
                      
                      dat = dat & NVM_DATA_POLL;       // get bit DQ7 of original dat   
                      
                      do                               // now use dat polling method to verify successful write
                  {  
              
                              poll = *(addr);               // Read the location that was just programmed
              
                              error = poll & NVM_ERROR;     // save timeout error bit at DQ5
              
                              poll = poll & NVM_DATA_POLL;  // get DQ7 of poll byte read from flash  
              
                              if (dat == poll)              // compare DQ7 
              
                                      done = TRUE;              // dat byte programmed into flash OK,
                                                       // indicate successful exit criteria
              
                              else if (error ==  NVM_ERROR )   // check for timeout error   
                                      err = TRUE;                  // indicate timeout error occurred
              
                  } while((done == FALSE) && (err == FALSE)); 
C51 COMPILER V7.06   FLASH                                                                 09/26/2008 13:35:54 PAGE 2   

              
              
                      if (err == TRUE)                     // make sure timeout error and dat poll didn't 
                                                       // occur simultaneously
                      {
                              poll = *(addr);                  // Read location in flash again
              
                              poll = poll & NVM_DATA_POLL;     // get DQ7 of poll byte read from flash  
              
                              if (dat == poll)                 // compare DQ7 
              
                                      done = TRUE;                 // dat byte programmed into flash OK at the same
                                                       // time timout error occured, indicate successful 
                                                               // exit criteria
              
                              *(FLASH_COMMON_X555) = 0xF0;     // reset the flash array (short reset instruction) 
                                                               // now delay 3 msec per dat sheet
                  }
              
                      return(done);                        // a successful flash write returns 1, timeout error returns 0
              }
              #endif
  77          
  78          
  79          /*
  80          *****************************************************************************************************
  81          * 
  82          *****************************************************************************************************
  83          */
  84          #ifdef _F_B_W_W_P
  85          
  86          unsigned char flash_boot_write_with_poll(volatile unsigned char xdata* addr, unsigned char dat)
  87          {
  88   1              unsigned char done;
  89   1              unsigned char error;
  90   1              unsigned char err;
  91   1              unsigned char poll;
  92   1      
  93   1              done = FALSE;
  94   1              err = FALSE;
  95   1              
  96   1              *(FLASH_BOOT_X555) = 0xAA;     // unlock main flash, write 0xAA to addess 0xX555
  97   1              *(FLASH_BOOT_XAAA) = 0x55;     // unlock main flash, write 0x55 to addess 0xXAAA
  98   1              *(FLASH_BOOT_X555) = 0xA0;     // write 0xA0 command to program
  99   1      
 100   1              *(addr) = dat;                   // write byte to flash   
 101   1              
 102   1              dat = dat & NVM_DATA_POLL;       // get bit DQ7 of original dat   
 103   1              
 104   1              do                               // now use dat polling method to verify successful write
 105   1          {  
 106   2      
 107   2                      poll = *(addr);              // Read the location that was just programmed
 108   2      
 109   2                      error = poll & NVM_ERROR;    // save timeout error bit at DQ5
 110   2      
 111   2                      poll = poll & NVM_DATA_POLL;  // get DQ7 of poll byte read from flash  
 112   2      
 113   2                      if (dat == poll)              // compare DQ7 
 114   2      
 115   2                              done = TRUE;              // dat byte programmed into flash OK,
 116   2                                               // indicate successful exit criteria
C51 COMPILER V7.06   FLASH                                                                 09/26/2008 13:35:54 PAGE 3   

 117   2      
 118   2                      else if (error ==  NVM_ERROR )   // check for timeout error   
 119   2                              err = TRUE;                  // indicate timeout error occurred
 120   2      
 121   2          } while((done == FALSE) && (err == FALSE)); 
 122   1      
 123   1      
 124   1              if (err == TRUE)                     // make sure timeout error and dat poll didn't 
 125   1                                               // occur simultaneously
 126   1              {
 127   2                      poll = *(addr);                  // Read location in flash again
 128   2      
 129   2                      poll = poll & NVM_DATA_POLL;     // get DQ7 of poll byte read from flash  
 130   2      
 131   2                      if (dat == poll)        // compare DQ7 
 132   2      
 133   2                              done = TRUE;        // dat byte programmed into flash OK at the same
 134   2                                      // time timout error occured, indicate successful 
 135   2                                              // exit criteria
 136   2      
 137   2                      *(FLASH_BOOT_X555) = 0xF0;  // reset the flash array (short reset instruction) 
 138   2                                                  // now delay 3 msec per dat sheet
 139   2          }
 140   1      
 141   1              return(done);                   // a successful flash write returns 1, timeout error returns 0
 142   1      }
 143          #endif
 144          
 145          
 146          /*
 147          *****************************************************************************************************
 148          * 
 149          *****************************************************************************************************
 150          */
 151          #ifdef _F_W_W_T
              
              unsigned char flash_write_with_toggle(addr,dat) 
              volatile unsigned char *addr;
              unsigned char dat;
              
                      {
                      unsigned char done;
                      unsigned char error;
                      unsigned char err;
                      volatile unsigned char toggle_A;
                      volatile unsigned char toggle_B;
              
                      done = FALSE;
                      err = FALSE;
              
                      *(FLASH_BOOT_X555) = 0xAA;              // unlock main flash, write 0xAA to addess 0xX555
                      *(FLASH_BOOT_XAAA) = 0x55;              // unlock main flash, write 0x55 to addess 0xXAAA
                      *(FLASH_BOOT_X555) = 0xA0;              // write 0xA0 command to program
              
                      *(addr) = dat;          // write byte to flash   
              
                              // now use toggling method to verify successful write
              
                      toggle_A = *(addr);                     // Read the location that was just programmed
              
                      toggle_A = toggle_A & NVM_DATA_TOGGLE;  // mask toggle bit at DQ6
                                                                                              
C51 COMPILER V7.06   FLASH                                                                 09/26/2008 13:35:54 PAGE 4   

                      do
                              {  
                              toggle_B = *(addr);             // Again read the location that was just programmed
              
                              error = toggle_B & NVM_ERROR;   // save timeout error flag at DQ5
              
                              toggle_B = toggle_B & NVM_DATA_TOGGLE;  // mask toggle bit at DQ6
                                                                                              
                              if (toggle_A == toggle_B)       // compare toggle bit DQ6
              
                                      done = TRUE;            // bit did not toggle, dat byte programmed into 
                                                              // flash OK, indicate successful exit criteria
                              else
                                      {
                                       if (error ==  NVM_ERROR )      // check for timeout error   
                                              err = TRUE;     // indicate timeout error occurred
              
                                      toggle_A = toggle_B;    // save most recent sample of toggle bit 
                                                              // to compare with next sample
                                      }
              
                              } while((done == FALSE) && (err == FALSE)); 
              
              
                      if (err == TRUE)                        // make sure timeout error and dat toggle didn't 
                                                              // occur simultaneously
                              {
                              toggle_B = *(addr);             // Read location in flash again
              
                              toggle_B = toggle_B & NVM_DATA_TOGGLE;  // mask toggle bit at DQ6
              
                              if (toggle_A == toggle_B)               // compare toggle bit DQ6
              
                                      done = TRUE;                    // dat byte programmed into flash OK at the same
                                                                      // time timout error occured, indicate successful 
                                                                      // exit criteria
              
                              *(FLASH_BOOT_X555) = 0xF0;  // reset the flash array (short reset instruction) 
                                      // now delay 3 msec per dat sheet
                              }
              
                      return(done);           // a successful flash write returns 1, timeout error returns 0
                      }
              
              #endif
 224          
 225          
 226          
 227          /*
 228          *****************************************************************************************************
 229          * 
 230          *****************************************************************************************************
 231          */
 232          
 233          #ifdef _F_E_B
              
              unsigned char flash_erase_sector(
                  volatile unsigned char xdata* flash_bulk_erase_address)
              {
                      unsigned char done;
                      unsigned char poll;
                      unsigned char error;
C51 COMPILER V7.06   FLASH                                                                 09/26/2008 13:35:54 PAGE 5   

                      unsigned char err;
              
                      done = FALSE;
                      err = FALSE;
              
                      //  Note:  the following constants (FLASH_COMMON_XXXX)
                      //     are declared type volatile in the header file 
                      //         so they are not optimized away by the compiler
              
                      *(FLASH_COMMON_X555) = 0xAA;            // unlock main flash, write 0xAA to addess 0xX555
                      *(FLASH_COMMON_XAAA) = 0x55;            // unlock main flash, write 0x55 to addess 0xXAAA
                      *(FLASH_COMMON_X555) = 0x80;            // write 0x80 command to erase entire chip
                      *(FLASH_COMMON_X555) = 0xAA;            // continue unlock sequence

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人app下载| 在线综合视频播放| 高清久久久久久| 国产在线精品一区二区| 免费欧美在线视频| 美女一区二区视频| 六月婷婷色综合| 美女网站色91| 狠狠网亚洲精品| 美女脱光内衣内裤视频久久影院| 日本美女一区二区三区| 秋霞成人午夜伦在线观看| 男男视频亚洲欧美| 极品少妇一区二区三区精品视频 | 蜜桃av一区二区在线观看| 午夜精品福利一区二区蜜股av| 一区二区三区免费观看| 一区二区三区日韩精品视频| 亚洲精品第一国产综合野| 一区二区三区在线观看欧美| 亚洲第一精品在线| 奇米四色…亚洲| 久久国产福利国产秒拍| 国产成a人无v码亚洲福利| 97久久超碰国产精品| 一本到三区不卡视频| 国产精品高潮久久久久无| 亚洲欧美另类久久久精品| 一区二区三区日韩欧美精品| 日韩电影免费在线观看网站| 九色综合狠狠综合久久| 成人深夜福利app| 色婷婷久久综合| 欧美一级二级三级乱码| 国产欧美一区二区三区在线老狼| 国产精品水嫩水嫩| 亚洲成av人片一区二区三区 | 制服丝袜av成人在线看| 精品久久久久久久久久久院品网| 国产欧美一区二区三区沐欲| 一区二区免费看| 美女性感视频久久| 99久久精品国产毛片| 在线看不卡av| 精品国产一区二区在线观看| 国产精品久久久久毛片软件| 婷婷中文字幕综合| 国产精品69毛片高清亚洲| 在线一区二区三区四区| 欧美成人一区二区| 亚洲欧美激情在线| 另类小说一区二区三区| 日本道在线观看一区二区| 日韩美女天天操| 欧美性极品少妇| 91麻豆精品国产| 欧美精选午夜久久久乱码6080| 久久婷婷成人综合色| 亚洲精品亚洲人成人网在线播放| 美女网站在线免费欧美精品| 色综合久久综合中文综合网| 久久中文字幕电影| 亚洲成人精品在线观看| k8久久久一区二区三区| 日韩你懂的电影在线观看| 一区二区免费视频| jlzzjlzz欧美大全| 精品国产凹凸成av人导航| 亚洲午夜成aⅴ人片| 成人视屏免费看| 欧美精品一区二区三区蜜桃视频| 亚洲国产视频a| 国产欧美日韩亚州综合| 日韩有码一区二区三区| 97aⅴ精品视频一二三区| 精品国产免费久久| 午夜国产不卡在线观看视频| 99久久久无码国产精品| 精品国产伦一区二区三区观看体验| 亚洲成人一区在线| 色综合久久久久久久久久久| 久久精子c满五个校花| 日韩高清国产一区在线| 欧美色窝79yyyycom| 国产精品久久久久一区二区三区 | 色一区在线观看| 欧美国产丝袜视频| 国产一区福利在线| 日韩欧美aaaaaa| 日韩激情视频在线观看| 欧美性色综合网| 亚洲一线二线三线视频| 91啪在线观看| 亚洲视频一区二区在线观看| 国产69精品久久久久777| 26uuu成人网一区二区三区| 青青草国产成人av片免费| 欧美日韩一级二级三级| 亚洲伊人色欲综合网| 欧洲视频一区二区| 一区二区三区日韩欧美精品| 色国产综合视频| 一区二区三区久久久| 色诱视频网站一区| 一区二区激情视频| 欧美日韩综合不卡| 午夜欧美电影在线观看| 欧美日韩1234| 午夜久久久久久久久| 56国语精品自产拍在线观看| 肉肉av福利一精品导航| 7777精品伊人久久久大香线蕉完整版 | 亚洲欧美日韩电影| 一本大道综合伊人精品热热| 一区二区三区在线影院| 欧美日韩亚洲综合一区| 日本中文字幕一区| 日韩欧美在线综合网| 久久超碰97人人做人人爱| 老司机午夜精品| 日韩一级免费观看| 极品少妇xxxx精品少妇偷拍| 欧美精品一区二区三区很污很色的| 国产精品亚洲一区二区三区在线| 国产欧美1区2区3区| 色综合天天狠狠| 五月综合激情婷婷六月色窝| 欧美不卡一区二区三区四区| 国产精品白丝av| 一区免费观看视频| 欧美色综合网站| 美国欧美日韩国产在线播放| 国产无遮挡一区二区三区毛片日本| 成人亚洲一区二区一| 一级日本不卡的影视| 日韩一区二区三区av| 国产aⅴ综合色| 一区二区三区四区在线播放| 日韩视频一区在线观看| 国产高清精品久久久久| 亚洲精选一二三| 欧美一区二区不卡视频| 福利91精品一区二区三区| 亚洲一区二区三区在线看| 日韩精品自拍偷拍| av一区二区不卡| 日韩精品每日更新| 国产精品国产三级国产aⅴ中文 | 91国在线观看| 精东粉嫩av免费一区二区三区| 国产精品国产三级国产普通话99 | 青青草国产成人av片免费| 欧美国产欧美亚州国产日韩mv天天看完整| 色综合久久久久久久| 激情小说亚洲一区| 一区二区三区中文在线| 久久人人爽爽爽人久久久| 欧美视频中文字幕| 成人晚上爱看视频| 视频一区二区三区在线| 一色桃子久久精品亚洲| 精品日韩欧美一区二区| 欧美探花视频资源| 不卡欧美aaaaa| 久久国产欧美日韩精品| 亚洲精品乱码久久久久久 | 国产在线不卡一卡二卡三卡四卡| 一区二区三区.www| 欧美国产1区2区| 欧美一区二区视频观看视频| 色婷婷综合久久久中文字幕| 黑人巨大精品欧美一区| 亚洲va韩国va欧美va精品| 国产精品国产成人国产三级 | 夜夜嗨av一区二区三区网页| 久久精品夜夜夜夜久久| 欧美精品一二三| 在线观看亚洲成人| a亚洲天堂av| 国产成人精品免费| 久久精品99国产精品日本| 香蕉乱码成人久久天堂爱免费| 最新中文字幕一区二区三区| 精品处破学生在线二十三| 69成人精品免费视频| 日本福利一区二区| 国产sm精品调教视频网站| 久久99精品久久久| 日韩精品电影一区亚洲| 一二三四区精品视频| 亚洲丝袜制服诱惑| 中文字幕制服丝袜一区二区三区| 精品99999| 精品三级在线看| 欧美一级理论性理论a| 欧美日韩一区中文字幕| 在线观看国产日韩| 色久优优欧美色久优优| 在线观看三级视频欧美| 色婷婷av一区二区三区之一色屋|