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

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

?? 51pro.lis

?? 筆者的《用M8L制作的89S51單片機 USB下載線》在無線電2007年第9期已刊登過
?? LIS
?? 第 1 頁 / 共 3 頁
字號:
                        .module _51pro.c
                        .area text(rom, con, rel)
 0000                   .dbfile E:\學習專區\AVR專區\個人創作區\ICC\51pro.c
 0000                   .dbfunc e Delay_us _Delay_us fV
 0000           ;              a -> R20
 0000           ;              b -> R22
 0000           ;             us -> R16
                        .even
 0000           _Delay_us::
 0000 00D0              rcall push_gset2
 0002                   .dbline -1
 0002                   .dbline 16
 0002           ; //////////////////////////////////////////////////////////////////////////////////////////////////
 0002           ; //E51Pro.c
 0002           ; //Easy 51Pro編程器主程序,負責通訊,管理編程操作
 0002           ; ///////////////////////////////////////////////////////////////////////////////////////////////////
 0002           ; 
 0002           ; #include <iom8v.h>
 0002           ; #include <macros.h>
 0002           ; #include <e51pro.h>
 0002           ; #include <signal.h>
 0002           ; #define uchar unsigned char 
 0002           ; //BYTE ComBuf[18];//串口通訊數據緩存,發送和接收都使用
 0002           ; UINT nAddress;//ROM中地址計數
 0002           ; UINT nTimeOut;//超時計數
 0002           ; ProWork pw;//編程器一般操作
 0002           ; void Delay_us(BYTE  us)//微秒級延時<255us
 0002           ; {
 0002                   .dbline 17
 0002           ; char a=0;
 0002 4427              clr R20
 0004                   .dbline 18
 0004           ; char b=0;
 0004 6627              clr R22
 0006                   .dbline 19
 0006           ; for (a=0;a<7;a++)
 0006 06C0              rjmp L5
 0008           L2:
 0008                   .dbline 20
 0008           ; for (b=0;b<us;b++)
 0008 6627              clr R22
 000A 01C0              rjmp L9
 000C           L6:
 000C                   .dbline 21
 000C           L7:
 000C                   .dbline 20
 000C 6395              inc R22
 000E           L9:
 000E                   .dbline 20
 000E 6017              cp R22,R16
 0010 E8F3              brlo L6
 0012           L3:
 0012                   .dbline 19
 0012 4395              inc R20
 0014           L5:
 0014                   .dbline 19
 0014 4730              cpi R20,7
 0016 C0F3              brlo L2
 0018                   .dbline -2
 0018           L1:
 0018 00D0              rcall pop_gset2
 001A                   .dbline 0 ; func end
 001A 0895              ret
 001C                   .dbsym r a 20 c
 001C                   .dbsym r b 22 c
 001C                   .dbsym r us 16 c
 001C                   .dbend
 001C                   .dbfunc e Delay_ms _Delay_ms fV
 001C           ;              a -> R20,R21
 001C           ;              b -> R22,R23
 001C           ;             ms -> R16,R17
                        .even
 001C           _Delay_ms::
 001C 00D0              rcall push_gset2
 001E                   .dbline -1
 001E                   .dbline 24
 001E           ; ;
 001E           ; }
 001E           ; void Delay_ms(UINT ms)//豪秒級的延時<65535ms
 001E           ; {
 001E                   .dbline 25
 001E           ; int a=0;
 001E 4427              clr R20
 0020 5527              clr R21
 0022                   .dbline 26
 0022           ; int b=0;
 0022 6627              clr R22
 0024 7727              clr R23
 0026                   .dbline 27
 0026           ; for (a=0;a<4000;a++)
 0026           L11:
 0026                   .dbline 28
 0026           ; for (b=0;b<ms;b++)
 0026 6627              clr R22
 0028 7727              clr R23
 002A 02C0              rjmp L18
 002C           L15:
 002C                   .dbline 29
 002C           L16:
 002C                   .dbline 28
 002C 6F5F              subi R22,255  ; offset = 1
 002E 7F4F              sbci R23,255
 0030           L18:
 0030                   .dbline 28
 0030 6017              cp R22,R16
 0032 7107              cpc R23,R17
 0034 D8F3              brlo L15
 0036           L12:
 0036                   .dbline 27
 0036 4F5F              subi R20,255  ; offset = 1
 0038 5F4F              sbci R21,255
 003A                   .dbline 27
 003A 403A              cpi R20,160
 003C EFE0              ldi R30,15
 003E 5E07              cpc R21,R30
 0040 94F3              brlt L11
 0042                   .dbline -2
 0042           L10:
 0042 00D0              rcall pop_gset2
 0044                   .dbline 0 ; func end
 0044 0895              ret
 0046                   .dbsym r a 20 I
 0046                   .dbsym r b 22 I
 0046                   .dbsym r ms 16 i
 0046                   .dbend
 0046                   .dbfunc e uart_init _uart_init fV
                        .even
 0046           _uart_init::
 0046                   .dbline -1
 0046                   .dbline 34
 0046           ; ;
 0046           ; }
 0046           ; 
 0046           ; 
 0046           ; void uart_init(void)  //串口通信
 0046           ; {
 0046                   .dbline 35
 0046           ; UCSRB|=(TXEN)|(1<<RXEN);
 0046 8AB1              in R24,0xa
 0048 8361              ori R24,19
 004A 8AB9              out 0xa,R24
 004C                   .dbline 36
 004C           ; UBRRL=7;  //設置波特率  57600
 004C 87E0              ldi R24,7
 004E 89B9              out 0x9,R24
 0050                   .dbline 37
 0050           ; UBRRH=0x00;
 0050 2224              clr R2
 0052 20BC              out 0x20,R2
 0054                   .dbline 38
 0054           ; UCSRC|=(1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0);
 0054 80B5              in R24,0x20
 0056 8668              ori R24,134
 0058 80BD              out 0x20,R24
 005A                   .dbline -2
 005A           L19:
 005A                   .dbline 0 ; func end
 005A 0895              ret
 005C                   .dbend
 005C                   .dbfunc e uart_putchar _uart_putchar fV
 005C           ;              x -> R16
                        .even
 005C           _uart_putchar::
 005C                   .dbline -1
 005C                   .dbline 41
 005C           ; }
 005C           ; void uart_putchar(char x)//發送數據
 005C           ; {
 005C           L21:
 005C                   .dbline 43
 005C           L22:
 005C                   .dbline 42
 005C           ; while (!(UCSRA&0x20))
 005C 5D9B              sbis 0xb,5
 005E FECF              rjmp L21
 0060                   .dbline 44
 0060           ; ;
 0060           ; UDR=x; 
 0060 0CB9              out 0xc,R16
 0062                   .dbline -2
 0062           L20:
 0062                   .dbline 0 ; func end
 0062 0895              ret
 0064                   .dbsym r x 16 c
 0064                   .dbend
 0064                   .dbfunc e WaitComm _WaitComm fc
 0064           ;              n -> R16
                        .even
 0064           _WaitComm::
 0064                   .dbline -1
 0064                   .dbline 48
 0064           ; }
 0064           ; 
 0064           ; BOOL WaitComm()//等待上位機的命令,18字節
 0064           ; {
 0064                   .dbline 49
 0064           ;       BYTE n=0;
 0064 0027              clr R16
 0066           L25:
 0066                   .dbline 50
 0066                   .dbline 50
 0066           L26:
 0066                   .dbline 50
 0066           ;       while(!(UCSRA&0x80)){}//等待第一個字節
 0066 5F9B              sbis 0xb,7
 0068 FECF              rjmp L25
 006A                   .dbline 51
 006A           ;       ComBuf[n]=UDR;
 006A 80E0              ldi R24,<_ComBuf
 006C 90E0              ldi R25,>_ComBuf
 006E E02F              mov R30,R16
 0070 FF27              clr R31
 0072 E80F              add R30,R24
 0074 F91F              adc R31,R25
 0076 2CB0              in R2,0xc
 0078 2082              std z+0,R2
 007A                   .dbline 52
 007A           ;       n++;
 007A 0395              inc R16
 007C                   .dbline 53
 007C           ;       for(n;n<=17;n++)
 007C 26C0              rjmp L31
 007E           L28:
 007E                   .dbline 54
 007E           ;       {
 007E                   .dbline 55
 007E           ;               nTimeOut=0;
 007E 2224              clr R2
 0080 3324              clr R3
 0082 30920F00          sts _nTimeOut+1,R3
 0086 20920E00          sts _nTimeOut,R2
 008A 14C0              rjmp L33
 008C           L32:
 008C                   .dbline 57
 008C           ;               while(!(UCSRA&0x80))
 008C           ;               {
 008C                   .dbline 58
 008C           ;                       nTimeOut++;
 008C 80910E00          lds R24,_nTimeOut
 0090 90910F00          lds R25,_nTimeOut+1
 0094 0196              adiw R24,1
 0096 90930F00          sts _nTimeOut+1,R25
 009A 80930E00          sts _nTimeOut,R24
 009E                   .dbline 59
 009E           ;                       if(nTimeOut>10000)//后17個字節都有超時限制 
 009E 80E1              ldi R24,10000
 00A0 97E2              ldi R25,39
 00A2 20900E00          lds R2,_nTimeOut
 00A6 30900F00          lds R3,_nTimeOut+1
 00AA 8215              cp R24,R2
 00AC 9305              cpc R25,R3
 00AE 10F4              brsh L35
 00B0                   .dbline 60
 00B0           ;                               return 0;
 00B0 0027              clr R16
 00B2 0FC0              rjmp L24
 00B4           L35:
 00B4                   .dbline 61
 00B4           L33:
 00B4                   .dbline 56
 00B4 5F9B              sbis 0xb,7
 00B6 EACF              rjmp L32
 00B8                   .dbline 62
 00B8 80E0              ldi R24,<_ComBuf
 00BA 90E0              ldi R25,>_ComBuf
 00BC E02F              mov R30,R16
 00BE FF27              clr R31
 00C0 E80F              add R30,R24
 00C2 F91F              adc R31,R25
 00C4 2CB0              in R2,0xc
 00C6 2082              std z+0,R2
 00C8                   .dbline 64
 00C8           L29:
 00C8                   .dbline 53
 00C8 0395              inc R16
 00CA           L31:
 00CA                   .dbline 53
 00CA 81E1              ldi R24,17
 00CC 8017              cp R24,R16
 00CE B8F6              brsh L28
 00D0                   .dbline 65
 00D0           ;               }
 00D0           ;               ComBuf[n]=UDR;
 00D0           ;       
 00D0           ;       }
 00D0           ;       return 1;
 00D0 01E0              ldi R16,1
 00D2                   .dbline -2
 00D2           L24:
 00D2                   .dbline 0 ; func end
 00D2 0895              ret
 00D4                   .dbsym r n 16 c
 00D4                   .dbend
 00D4                   .dbfunc e WaitResp _WaitResp fc
                        .even
 00D4           _WaitResp::
 00D4                   .dbline -1
 00D4                   .dbline 68
 00D4           ; }
 00D4           ; BOOL WaitResp()//等待上位機回應,1字節,有超時限制 
 00D4           ; {
 00D4                   .dbline 69
 00D4           ;       nTimeOut=0;
 00D4 2224              clr R2
 00D6 3324              clr R3
 00D8 30920F00          sts _nTimeOut+1,R3
 00DC 20920E00          sts _nTimeOut,R2
 00E0 14C0              rjmp L39
 00E2           L38:
 00E2                   .dbline 71
 00E2           ;       while(!(UCSRA&0x80))
 00E2           ;       {
 00E2                   .dbline 72
 00E2           ;               nTimeOut++;
 00E2 80910E00          lds R24,_nTimeOut
 00E6 90910F00          lds R25,_nTimeOut+1
 00EA 0196              adiw R24,1
 00EC 90930F00          sts _nTimeOut+1,R25
 00F0 80930E00          sts _nTimeOut,R24
 00F4                   .dbline 73
 00F4           ;               if(nTimeOut>50000) 
 00F4 80E5              ldi R24,50000
 00F6 93EC              ldi R25,195
 00F8 20900E00          lds R2,_nTimeOut
 00FC 30900F00          lds R3,_nTimeOut+1
 0100 8215              cp R24,R2
 0102 9305              cpc R25,R3
 0104 10F4              brsh L41
 0106                   .dbline 74
 0106           ;               {
 0106                   .dbline 75
 0106           ;                       return 0;
 0106 0027              clr R16
 0108 06C0              rjmp L37
 010A           L41:
 010A                   .dbline 77
 010A           L39:
 010A                   .dbline 70
 010A 5F9B              sbis 0xb,7
 010C EACF              rjmp L38
 010E                   .dbline 79
 010E           ;               }
 010E           ;       }
 010E           ;       
 010E           ;       ComBuf[0]=UDR;
 010E 2CB0              in R2,0xc
 0110 20920000          sts _ComBuf,R2
 0114                   .dbline 80
 0114           ;       return 1;
 0114 01E0              ldi R16,1
 0116                   .dbline -2
 0116           L37:
 0116                   .dbline 0 ; func end
 0116 0895              ret
 0118                   .dbend
 0118                   .dbfunc e WaitData _WaitData fc
 0118           ;              n -> R16
                        .even
 0118           _WaitData::
 0118                   .dbline -1
 0118                   .dbline 84
 0118           ; }
 0118           ; 
 0118           ; BOOL WaitData()//寫器件時等待上位機數據,18字節,有超時限制 
 0118           ; {
 0118                   .dbline 86
 0118           ;       BYTE n;
 0118           ;       for(n=0;n<=17;n++)
 0118 0027              clr R16
 011A 26C0              rjmp L47
 011C           L44:
 011C                   .dbline 87
 011C           ;       {
 011C                   .dbline 88
 011C           ;               nTimeOut=0;
 011C 2224              clr R2
 011E 3324              clr R3
 0120 30920F00          sts _nTimeOut+1,R3
 0124 20920E00          sts _nTimeOut,R2
 0128 14C0              rjmp L49
 012A           L48:
 012A                   .dbline 90
 012A           ;               while(!(UCSRA&0x80))
 012A           ;               {
 012A                   .dbline 91

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品91xxx| 日韩中文字幕一区二区三区| 五月天婷婷综合| 国产成人99久久亚洲综合精品| 在线日韩国产精品| 国产人久久人人人人爽| av亚洲精华国产精华精华| 欧美mv日韩mv| 亚洲成人手机在线| 91啦中文在线观看| 国产三级精品三级在线专区| 婷婷夜色潮精品综合在线| 99re成人在线| 久久精品免视看| 久久精品国产一区二区三| 欧美日韩中文字幕精品| 亚洲欧美另类综合偷拍| 国产夫妻精品视频| 日韩免费高清电影| 日韩精品一级中文字幕精品视频免费观看| av在线免费不卡| 欧美激情在线观看视频免费| 久久精品99国产国产精| 91麻豆精品国产91久久久资源速度| 亚洲精品视频在线观看免费 | 久久久噜噜噜久久人人看| 青青草伊人久久| 91精品欧美福利在线观看| 夜夜嗨av一区二区三区| 91影院在线观看| |精品福利一区二区三区| 成人在线视频首页| 久久久久久久久久久久久女国产乱| 蜜臂av日日欢夜夜爽一区| 欧美日韩一卡二卡三卡| 亚洲一线二线三线视频| 在线观看不卡一区| 亚洲激情校园春色| 色诱亚洲精品久久久久久| 亚洲欧洲av一区二区三区久久| 成人手机电影网| 国产精品乱码久久久久久| 国产999精品久久久久久| 欧美激情自拍偷拍| 成人免费观看视频| 亚洲色图第一区| 日本韩国精品在线| 亚洲一区二区成人在线观看| 欧美日韩情趣电影| 日韩精品成人一区二区三区| 欧美一级理论片| 久久99国内精品| 国产性色一区二区| fc2成人免费人成在线观看播放| 国产精品白丝在线| 色天使久久综合网天天| 亚洲午夜国产一区99re久久| 欧美日韩国产高清一区二区三区| 日日摸夜夜添夜夜添精品视频| 91精品国产欧美日韩| 精品一区二区免费视频| 国产欧美一区二区三区网站| av在线不卡网| 亚洲自拍另类综合| 日韩无一区二区| 国产电影一区在线| 亚洲视频一二三区| 欧美日韩国产另类一区| 久久99热狠狠色一区二区| 国产欧美一区二区精品性色超碰| av影院午夜一区| 亚洲午夜免费福利视频| 日韩天堂在线观看| 成人在线一区二区三区| 亚洲精品国产一区二区精华液| 欧美人与性动xxxx| 国产精品亚洲午夜一区二区三区 | 久久―日本道色综合久久| 成人的网站免费观看| 一区二区在线观看不卡| 日韩一区二区电影在线| 成人在线视频一区| 亚洲h在线观看| 久久精品日韩一区二区三区| 91片在线免费观看| 日韩福利电影在线| 亚洲国产精品成人综合色在线婷婷 | 久久伊人中文字幕| 97精品国产露脸对白| 日韩成人dvd| 欧美国产精品一区二区三区| 欧亚一区二区三区| 国产真实乱偷精品视频免| 亚洲欧美日本在线| 日韩欧美一区中文| 91色乱码一区二区三区| 老司机午夜精品99久久| 亚洲女爱视频在线| 久久综合九色综合97婷婷| 99国产精品国产精品久久| 免费成人av在线播放| 91久久精品一区二区二区| 欧美久久高跟鞋激| 国产精品亚洲成人| 婷婷久久综合九色综合绿巨人 | 91免费看`日韩一区二区| 免费欧美高清视频| 亚洲精品日日夜夜| 久久久精品中文字幕麻豆发布| 欧美做爰猛烈大尺度电影无法无天| 韩国毛片一区二区三区| 亚洲一区二区三区四区不卡| 国产日韩欧美精品一区| 欧美一区二区在线播放| 色伊人久久综合中文字幕| 国产精品一级片在线观看| 日韩不卡手机在线v区| 亚洲色图都市小说| 欧美国产日韩一二三区| 欧美成人伊人久久综合网| 91成人网在线| 高清视频一区二区| 毛片av一区二区三区| 亚洲成人av电影在线| 中文字幕一区二区视频| 久久久久99精品国产片| 日韩三区在线观看| 911精品国产一区二区在线| 99久久er热在这里只有精品15 | 亚洲专区一二三| 椎名由奈av一区二区三区| 久久久激情视频| 欧美大片拔萝卜| 91精品免费在线观看| 欧美日韩在线亚洲一区蜜芽| 99久久久精品| 成人高清视频在线| 国产精品一区二区三区四区| 美女视频黄免费的久久| 日韩精品乱码免费| 亚洲成a人v欧美综合天堂下载| 亚洲精选一二三| 亚洲欧美欧美一区二区三区| 国产精品久久久久毛片软件| 国产蜜臀97一区二区三区 | 在线亚洲人成电影网站色www| 成人精品视频一区| 国产精品一区二区果冻传媒| 精品一区二区三区影院在线午夜| 日本91福利区| 轻轻草成人在线| 美腿丝袜亚洲色图| 老司机精品视频导航| 美女在线观看视频一区二区| 青青青爽久久午夜综合久久午夜 | 国产精品私人影院| 国产欧美一区二区精品久导航| 国产偷国产偷精品高清尤物| 久久久久久久久伊人| 国产片一区二区| 国产精品看片你懂得| ...xxx性欧美| 亚洲在线中文字幕| 午夜精品久久久久久久蜜桃app| 午夜精品久久久久久久| 日韩精品久久理论片| 麻豆精品视频在线观看视频| 看电影不卡的网站| 国产美女一区二区三区| 国产成人在线视频网站| 成人app在线观看| 91蜜桃婷婷狠狠久久综合9色| 欧美影院精品一区| 在线不卡免费av| 欧美xfplay| 亚洲国产成人午夜在线一区| 椎名由奈av一区二区三区| 亚洲激情在线播放| 日本在线观看不卡视频| 久久不见久久见免费视频1| 国产大陆a不卡| 99国产欧美久久久精品| 欧美日韩视频第一区| 精品免费国产一区二区三区四区| 久久久久久亚洲综合影院红桃| 中文在线资源观看网站视频免费不卡 | 成人av网站在线| 欧美午夜影院一区| 日韩一级精品视频在线观看| 久久一二三国产| 亚洲色图制服丝袜| 丝袜诱惑制服诱惑色一区在线观看| 开心九九激情九九欧美日韩精美视频电影 | 国产亚洲制服色| 亚洲乱码国产乱码精品精98午夜 | 亚洲精品成人精品456| 奇米精品一区二区三区在线观看一| 国产精品一区二区果冻传媒| 91官网在线观看| 精品欧美黑人一区二区三区|