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

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

?? main.lis

?? Atmega系列單片機 BootLoader程序
?? LIS
?? 第 1 頁 / 共 3 頁
字號:
                        .module main.c
                        .area text(rom, con, rel)
 0000                   .dbfile D:\桌面\AVR_BO~1.2\bootloader\main.c
 0000                   .dbfunc e FlashLoad _FlashLoad fV
                        .even
 0000           _FlashLoad::
 0000                   .dbline -1
 0000                   .dbline 74
 0000           ; /******************************************************************************
 0000           ; Atmega系列單片機 BootLoader程序  
 0000           ; 日  期:2007年4月
 0000           ; 作  者:likeeavr
 0000           ; 版權所有:avrvi論壇
 0000           ; 
 0000           ; 說明:當前版本只針對本論壇M16開發板
 0000           ; 
 0000           ; 上位機借用了馮建輝的程序。
 0000           ; 
 0000           ; /*****************************************************************************/
 0000           ; #include <macros.h>
 0000           ; #include "assembly.h"
 0000           ;  
 0000           ; #define  ChipType     Atmega16       
 0000           ;       
 0000           ; //*********************************************************
 0000           ; //選擇BOOT區大小  此必須與ICC options中的選項相對應
 0000           ; //#define  BootSize     'a'    //128   
 0000           ; //#define  BootSize     'b'    //256
 0000           ; //#define  BootSize     'c'    //512
 0000           ; #define    BootSize       'd'    //1024
 0000           ; //選擇BootLoad版本號
 0000           ; #define  BootVer        'f'    //1.0版本
 0000           ; 
 0000           ; //**********************************************************
 0000           ; 
 0000           ; #define  Atmega16       0x31
 0000           ; 
 0000           ; //*****************************************************************************
 0000           ; #define  InteClk                 //是否使用內部時鐘
 0000           ; #define  OscAddress     0x1fff   //時鐘校準值存儲地址
 0000           ; 
 0000           ; //*****************************************************************************
 0000           ; //7.3728M時鐘下的波特率為19200的設置,此設置可根據ICC生成,選對芯片,時鐘,波特率既可
 0000           ; //由此語句調用UBRR = BAU;
 0000           ; #define  BAU  23    // 7.3728M 19200
 0000           ; //#define  BAU  191 // 7.3728M 2400
 0000           ; //#define  BAU  95  // 7.3728M 4800
 0000           ; //#define  BAU  47  // 7.3728M 9600
 0000           ; //#define  BAU  31  // 7.3728M 14400
 0000           ; //#define  BAU  23  // 7.3728M 19200
 0000           ; //#define  BAU  15  // 7.3728M 28800
 0000           ; 
 0000           ; //#define  BAU  38  // 12M 19200
 0000           ; 
 0000           ; //*****************************************************************************
 0000           ; 
 0000           ; #include  <iom16v.h>
 0000           ; #define   PageByte             128    
 0000           ; #define   AddressShift         7
 0000           ; #define       INTVECREG                GICR
 0000           ; 
 0000           ; 
 0000           ; void          FlashLoad        (void);
 0000           ; void          GetPageNumber    (void);
 0000           ; void          ExecCode         (void);
 0000           ; char          GetPage          (void);
 0000           ; void          WriteFlash       (void);
 0000           ; char          CheckFlash       (void);
 0000           ; unsigned char IsChar           (void);
 0000           ; void          SendChar         (unsigned char c);
 0000           ; void          delay            (void);                 //1ms延時函數
 0000           ; unsigned char RecChar          (void);
 0000           ; 
 0000           ; unsigned char PageBuffer[PageByte];
 0000           ; unsigned int  RealPageAddress;
 0000           ; unsigned int  PageAddress;
 0000           ; 
 0000           ; /*****************************************************************************/
 0000           ; //Flash編程                                                                                
 0000           ; /*****************************************************************************/
 0000           ; void FlashLoad(void)
 0000           ;   {
 0000                   .dbline 75
 0000           ;     SendChar('!');
 0000 01E2              ldi R16,33
 0002 E0D0              xcall _SendChar
 0004 19C0              xjmp L3
 0006           L2:
 0006                   .dbline 77
 0006           ;     while (1)
 0006           ;     {
 0006                   .dbline 78
 0006           ;        GetPageNumber();
 0006 1AD0              xcall _GetPageNumber
 0008                   .dbline 80
 0008           ; 
 0008           ;        if (RealPageAddress == 0xffff) 
 0008 80910200          lds R24,_RealPageAddress
 000C 90910300          lds R25,_RealPageAddress+1
 0010 8F3F              cpi R24,255
 0012 EFEF              ldi R30,255
 0014 9E07              cpc R25,R30
 0016 09F4              brne L5
 0018                   .dbline 81
 0018           ;          return;
 0018 10C0              xjmp L1
 001A           L5:
 001A                   .dbline 83
 001A           ;         
 001A           ;        if (GetPage())
 001A 28D0              xcall _GetPage
 001C 0023              tst R16
 001E 51F0              breq L7
 0020                   .dbline 84
 0020           ;         {
 0020                   .dbline 85
 0020           ;               WriteFlash();
 0020 61D0              xcall _WriteFlash
 0022                   .dbline 86
 0022           ;           if (CheckFlash()) 
 0022 93D0              xcall _CheckFlash
 0024 0023              tst R16
 0026 19F0              breq L9
 0028                   .dbline 87
 0028           ;                 SendChar('!');
 0028 01E2              ldi R16,33
 002A CCD0              xcall _SendChar
 002C 05C0              xjmp L8
 002E           L9:
 002E                   .dbline 89
 002E           ;           else 
 002E           ;                 SendChar('@');
 002E 00E4              ldi R16,64
 0030 C9D0              xcall _SendChar
 0032                   .dbline 90
 0032           ;         }
 0032 02C0              xjmp L8
 0034           L7:
 0034                   .dbline 92
 0034           ;        else 
 0034           ;          SendChar('@');
 0034 00E4              ldi R16,64
 0036 C6D0              xcall _SendChar
 0038           L8:
 0038                   .dbline 93
 0038           L3:
 0038                   .dbline 76
 0038 E6CF              xjmp L2
 003A           X0:
 003A                   .dbline -2
 003A           L1:
 003A                   .dbline 0 ; func end
 003A 0895              ret
 003C                   .dbend
 003C                   .dbfunc e GetPageNumber _GetPageNumber fV
 003C           ;   PageAddressL -> R20
 003C           ;   PageAddressH -> R22
                        .even
 003C           _GetPageNumber::
 003C 0E940000          xcall push_gset2
 0040                   .dbline -1
 0040                   .dbline 98
 0040           ;     }
 0040           ;   }
 0040           ; 
 0040           ; /*****************************************************************************/
 0040           ; void GetPageNumber(void)
 0040           ;   {
 0040                   .dbline 102
 0040           ;     unsigned char PageAddressH;
 0040           ;     unsigned char PageAddressL;
 0040           ; 
 0040           ;     PageAddressH = RecChar();
 0040 BDD0              xcall _RecChar
 0042 602F              mov R22,R16
 0044                   .dbline 104
 0044           ; 
 0044           ;     PageAddressL = RecChar();
 0044 BBD0              xcall _RecChar
 0046 402F              mov R20,R16
 0048                   .dbline 106
 0048           ; 
 0048           ;     RealPageAddress=(int)((PageAddressH << 8) + PageAddressL);
 0048 362E              mov R3,R22
 004A 242E              mov R2,R20
 004C 30920300          sts _RealPageAddress+1,R3
 0050 20920200          sts _RealPageAddress,R2
 0054                   .dbline 107
 0054           ;       PageAddress=RealPageAddress<<AddressShift;
 0054 27E0              ldi R18,7
 0056 30E0              ldi R19,0
 0058 8101              movw R16,R2
 005A 0E940000          xcall lsl16
 005E 10930100          sts _PageAddress+1,R17
 0062 00930000          sts _PageAddress,R16
 0066                   .dbline -2
 0066           L11:
 0066 0E940000          xcall pop_gset2
 006A                   .dbline 0 ; func end
 006A 0895              ret
 006C                   .dbsym r PageAddressL 20 c
 006C                   .dbsym r PageAddressH 22 c
 006C                   .dbend
 006C                   .dbfunc e GetPage _GetPage fc
 006C           ;       CheckSum -> R20
 006C           ;  LocalCheckSum -> R22
 006C           ;              i -> R10
                        .even
 006C           _GetPage::
 006C 0E940000          xcall push_gset3
 0070                   .dbline -1
 0070                   .dbline 118
 0070           ; #ifdef RAMPZ_FLAG
 0070           ;     if (PageAddressH) 
 0070           ;          RAMPZ = 1; 
 0070           ;     else 
 0070           ;          RAMPZ = 0;
 0070           ; #endif        
 0070           ;   }
 0070           ; 
 0070           ; /*****************************************************************************/
 0070           ; char GetPage(void)
 0070           ;   {
 0070                   .dbline 120
 0070           ;     unsigned char i;
 0070           ;     unsigned char LocalCheckSum = 0;
 0070 6627              clr R22
 0072                   .dbline 121
 0072           ;     unsigned char CheckSum = 0;
 0072 4427              clr R20
 0074                   .dbline 123
 0074           ; 
 0074           ;     for (i=0;i<PageByte/2;i++)
 0074 AA24              clr R10
 0076 12C0              xjmp L16
 0078           X1:
 0078                   .dbline 124
 0078           ;       {
 0078           L17:
 0078                   .dbline 125
 0078           L18:
 0078                   .dbline 125
 0078 9BD0              xcall _IsChar
 007A 0023              tst R16
 007C E9F3              breq L17
 007E                   .dbline 126
 007E 9ED0              xcall _RecChar
 0080 80E0              ldi R24,<_PageBuffer
 0082 90E0              ldi R25,>_PageBuffer
 0084 EA2D              mov R30,R10
 0086 FF27              clr R31
 0088 E80F              add R30,R24
 008A F91F              adc R31,R25
 008C 0083              std z+0,R16
 008E                   .dbline 127
 008E EA2D              mov R30,R10
 0090 FF27              clr R31
 0092 E80F              add R30,R24
 0094 F91F              adc R31,R25
 0096 2080              ldd R2,z+0
 0098 6225              eor R22,R2
 009A                   .dbline 128
 009A           L14:
 009A                   .dbline 123
 009A A394              inc R10
 009C           L16:
 009C                   .dbline 123
 009C 8A2D              mov R24,R10
 009E 8034              cpi R24,64
 00A0 58F3              brlo L18
 00A2                   .dbline 129
 00A2           ;        while(!IsChar());
 00A2           ;        PageBuffer[i]=RecChar();
 00A2           ;        LocalCheckSum ^= PageBuffer[i];
 00A2           ;       }
 00A2           ;       for (i=0;i<PageByte/2;i++)
 00A2 AA24              clr R10
 00A4 12C0              xjmp L23
 00A6           X2:
 00A6                   .dbline 130
 00A6           ;       {
 00A6           L24:
 00A6                   .dbline 131
 00A6           L25:
 00A6                   .dbline 131
 00A6 84D0              xcall _IsChar
 00A8 0023              tst R16
 00AA E9F3              breq L24
 00AC                   .dbline 132
 00AC 87D0              xcall _RecChar

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美人与禽zozo性伦| 国产一区二区三区精品视频| 免费黄网站欧美| 成人av在线观| 日韩精品综合一本久道在线视频| 国产精品国产三级国产aⅴ无密码| 亚洲成在人线在线播放| 国产精品一卡二| 欧美喷潮久久久xxxxx| 国产精品无圣光一区二区| 日韩极品在线观看| 一本在线高清不卡dvd| 久久精品日韩一区二区三区| 首页亚洲欧美制服丝腿| 色综合天天综合狠狠| 久久久久青草大香线综合精品| 亚洲超碰97人人做人人爱| 不卡在线视频中文字幕| 久久毛片高清国产| 免费在线观看精品| 欧美精品电影在线播放| 亚洲免费高清视频在线| 成人黄色电影在线| 国产亚洲视频系列| 国产一区二区精品在线观看| 日韩欧美亚洲一区二区| 日韩电影在线观看电影| 欧美日本在线播放| 一区二区三区 在线观看视频| www.视频一区| 国产精品久久久久一区二区三区共| 国内成人自拍视频| 精品久久久久久久久久久久久久久久久 | 日本二三区不卡| 国产精品麻豆久久久| 国产东北露脸精品视频| 久久综合九色综合97婷婷 | 在线播放国产精品二区一二区四区| 亚洲乱码中文字幕| 在线观看一区二区视频| 亚洲bt欧美bt精品777| 3d动漫精品啪啪1区2区免费 | 一区二区成人在线观看| 色成年激情久久综合| 亚洲国产日产av| 欧美一区二区视频在线观看2020 | 国产福利精品一区二区| 中文字幕巨乱亚洲| 欧美在线观看一区| 日本不卡的三区四区五区| 欧美不卡在线视频| 国产综合色在线视频区| 2021久久国产精品不只是精品| 日韩av在线播放中文字幕| 欧美日本精品一区二区三区| 日韩精品免费专区| 色系网站成人免费| 亚洲人成影院在线观看| 99精品热视频| 一区二区欧美精品| 欧美日韩亚洲综合一区| 丝袜美腿亚洲综合| 日韩精品中文字幕在线不卡尤物| 蜜臀久久99精品久久久久久9| 欧美va亚洲va在线观看蝴蝶网| 看片网站欧美日韩| 欧美—级在线免费片| 国产精品中文有码| 国产精品久久久久久久久免费相片 | 天堂av在线一区| 欧美色图激情小说| 午夜精品视频一区| 欧美成人精品1314www| 国产精品123区| 亚洲三级免费电影| 欧美精品久久99久久在免费线 | 欧美日韩一区二区在线观看 | 亚洲国产一区二区三区| 日韩视频一区二区三区| 成人毛片在线观看| 一区二区激情小说| 欧美草草影院在线视频| 一本色道久久综合亚洲91| 亚洲五月六月丁香激情| 国产精品色呦呦| 欧美日韩视频专区在线播放| 韩国成人在线视频| 一区二区三区在线观看国产| 欧美一区二区三区色| www.爱久久.com| 手机精品视频在线观看| 欧美国产1区2区| 666欧美在线视频| 成人av电影在线网| 免费人成在线不卡| 亚洲国产成人自拍| 欧美男男青年gay1069videost| 国产成人在线影院| 日韩av一级片| 亚洲综合一二区| 国产日韩三级在线| 欧美一区二区三区影视| 91免费在线播放| 国产精品主播直播| 久久精品国产一区二区三区免费看 | 亚洲日本护士毛茸茸| 精品日韩欧美一区二区| 在线观看视频一区| 成人的网站免费观看| 九九国产精品视频| 午夜视频在线观看一区| 中文字幕在线不卡一区二区三区 | 一级日本不卡的影视| 欧美xxxxx裸体时装秀| 欧美日韩精品一区二区三区| 91老师国产黑色丝袜在线| 国产精品77777| 国产麻豆成人传媒免费观看| 丝袜脚交一区二区| 亚洲综合成人在线视频| 国产日韩欧美一区二区三区乱码| 欧美二区在线观看| 欧美日韩一区二区三区免费看 | 久久午夜电影网| 日韩一二三四区| 欧美丰满美乳xxx高潮www| 欧美影片第一页| 欧美日韩国产在线播放网站| 色八戒一区二区三区| 一本色道久久加勒比精品| 97久久精品人人做人人爽50路| 狠狠色伊人亚洲综合成人| 狠狠色丁香久久婷婷综合_中 | 亚洲成a人在线观看| 一区二区三区四区蜜桃| 亚洲毛片av在线| 亚洲综合在线电影| 亚洲精品成人在线| 亚洲小少妇裸体bbw| 午夜不卡av在线| 免费人成网站在线观看欧美高清| 蜜桃久久av一区| 日本成人超碰在线观看| 国产一区视频导航| 高清日韩电视剧大全免费| 波多野结衣的一区二区三区| aa级大片欧美| 欧美日韩在线播放一区| 日韩你懂的在线观看| 久久久久久久久蜜桃| 国产精品福利一区| 亚洲在线视频一区| 中文字幕中文字幕中文字幕亚洲无线| 国产精品色婷婷| 一区二区三区四区乱视频| 午夜精品久久久久久久久久久 | 一区二区三区中文字幕精品精品| 亚洲欧美一区二区不卡| 五月天亚洲婷婷| 国产一区二区三区电影在线观看| 成人污视频在线观看| 欧美亚州韩日在线看免费版国语版 | 成人免费av在线| 欧美日韩电影在线播放| 久久久国际精品| 亚洲欧美一区二区三区国产精品 | 欧美一区二区三区色| 欧美国产视频在线| 亚洲成人免费电影| 国产精品正在播放| 国产精品久久久久7777按摩| gogogo免费视频观看亚洲一| 三级亚洲高清视频| 日韩一区二区在线看片| 国产精品丝袜久久久久久app| 国产精品毛片a∨一区二区三区| 麻豆成人久久精品二区三区小说| 制服丝袜中文字幕亚洲| 日韩精品一二三| 成人精品免费网站| 欧美岛国在线观看| 日韩av在线免费观看不卡| 91精品国产综合久久福利软件| 日本成人中文字幕在线视频| 日本一区二区三区在线不卡 | 亚洲电影一级片| 春色校园综合激情亚洲| 久久久久久免费毛片精品| 国产suv一区二区三区88区| 久久综合色天天久久综合图片| 国产成人8x视频一区二区| 亚洲激情中文1区| 国产欧美精品一区二区色综合| 欧亚洲嫩模精品一区三区| 成人涩涩免费视频| 一区二区三区小说| 亚洲色图第一区| 五月天网站亚洲| 国产剧情在线观看一区二区| 亚洲免费观看高清在线观看|