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

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

?? uart.lis

?? mega128平臺下
?? LIS
字號:
                        .module Uart.c
                        .area data(ram, con, rel)
 0000           _put_done::
 0000                   .blkb 1
                        .area idata
 0000 00                .byte 0
                        .area data(ram, con, rel)
 0001           _recv_done::
 0001                   .blkb 1
                        .area idata
 0001 00                .byte 0
                        .area data(ram, con, rel)
 0002           _newMSG::
 0002                   .blkb 1
                        .area idata
 0002 00                .byte 0
                        .area data(ram, con, rel)
 0003           _change_flag::
 0003                   .blkb 1
                        .area idata
 0003 00                .byte 0
                        .area data(ram, con, rel)
 0004           _serial_recv_flag::
 0004                   .blkb 1
                        .area idata
 0004 00                .byte 0
                        .area data(ram, con, rel)
                        .area vector(rom, abs)
                        .org 72
 0048 0C940000          jmp _uart0_rx_isr
                        .area data(ram, con, rel)
                        .area text(rom, con, rel)
                        .even
 0000           _uart0_rx_isr::
 0000 0E940000          xcall push_lset
 0004           ; #include<iom128v.h>
 0004           ; //UART0接口
 0004           ; 
 0004           ; 
 0004           ; unsigned char put_done=0;
 0004           ; unsigned char recv_done=0;
 0004           ; unsigned char recvBuff[128]; 
 0004           ; unsigned char newMSG=0;
 0004           ; unsigned char i;
 0004           ; unsigned char *serial_recv_MSG;
 0004           ; unsigned char change_flag=0;
 0004           ; unsigned char serial_recv_flag=0;
 0004           ; 
 0004           ; #pragma interrupt_handler uart0_rx_isr:19
 0004           ; void uart0_rx_isr(void)
 0004           ; {
 0004           ;   recv_done=1;
 0004 81E0              ldi R24,1
 0006 80930100          sts _recv_done,R24
 000A           ;   serial_get();
 000A 47D0              xcall _serial_get
 000C           L1:
 000C 0E940000          xcall pop_lset
 0010                   .dbline 0 ; func end
 0010 1895              reti
                        .area vector(rom, abs)
                        .org 80
 0050 0C940900          jmp _uart0_tx_isr
                        .area text(rom, con, rel)
                        .even
 0012           _uart0_tx_isr::
 0012 8A93              st -y,R24
 0014 8FB7              in R24,0x3f
 0016 8A93              st -y,R24
 0018           ;   }
 0018           ; 
 0018           ; 
 0018           ; #pragma interrupt_handler uart0_tx_isr:21
 0018           ; void uart0_tx_isr(void)
 0018           ; {
 0018           ;   put_done=1; 
 0018 81E0              ldi R24,1
 001A 80930000          sts _put_done,R24
 001E           L2:
 001E 8991              ld R24,y+
 0020 8FBF              out 0x3f,R24
 0022 8991              ld R24,y+
 0024                   .dbline 0 ; func end
 0024 1895              reti
 0026           ;           data -> R16
                        .even
 0026           _put::
 0026           ; }
 0026           ; 
 0026           ; 
 0026           ; //**********Put a single byte to the serial port. 
 0026           ; void put(unsigned char data) 
 0026           ; {
 0026           L4:
 0026           L5:
 0026           ;       while(!put_done)
 0026 20900000          lds R2,_put_done
 002A 2220              tst R2
 002C E1F3              breq L4
 002E           ;       ;
 002E           ;       UDR0=data;
 002E 0CB9              out 0xc,R16
 0030           ;       put_done=0;
 0030 2224              clr R2
 0032 20920000          sts _put_done,R2
 0036           L3:
 0036                   .dbline 0 ; func end
 0036 0895              ret
 0038           ;           data -> R16
                        .even
 0038           _get::
 0038           ;  }
 0038           ; 
 0038           ; 
 0038           ; //***********Receive a single byte from the serial port. 
 0038           ; unsigned char get() 
 0038           ; {
 0038           L8:
 0038           L9:
 0038           ;      unsigned char data;
 0038           ;      while(!recv_done)
 0038 20900100          lds R2,_recv_done
 003C 2220              tst R2
 003E E1F3              breq L8
 0040           ;       ;
 0040           ;      data=UDR0;
 0040 0CB1              in R16,0xc
 0042           ;      recv_done=0;
 0042 2224              clr R2
 0044 20920100          sts _recv_done,R2
 0048           ;      return data;
 0048           L7:
 0048                   .dbline 0 ; func end
 0048 0895              ret
 004A           ;         length -> R20
 004A           ;              m -> R22
 004A           ;           data -> R12
 004A           ;     serial_MSG -> R10,R11
                        .even
 004A           _serial_put::
 004A 0E940000          xcall push_gset4
 004E 5801              movw R10,R16
 0050           ; }
 0050           ; 
 0050           ;   
 0050           ; //**********Put a serial Frame to the serial port. 
 0050           ; void serial_put(unsigned char *serial_MSG) 
 0050           ; {
 0050           ;   unsigned char m;
 0050           ;   unsigned char length;
 0050           ;   unsigned char data;
 0050           ;   put(0x7E);
 0050 0EE7              ldi R16,126
 0052 E9DF              xcall _put
 0054           ;   serial_MSG++;
 0054 C501              movw R24,R10
 0056 0196              adiw R24,1
 0058 5C01              movw R10,R24
 005A           ;   length=*serial_MSG;
 005A FC01              movw R30,R24
 005C 4081              ldd R20,z+0
 005E           ;   
 005E           ;   for(m=0;m<length;m++)
 005E 6627              clr R22
 0060 15C0              xjmp L15
 0062           L12:
 0062           ;   {
 0062           ;     data=*serial_MSG;
 0062 F501              movw R30,R10
 0064 C080              ldd R12,z+0
 0066           ;     if(data==0x7E)
 0066 8C2D              mov R24,R12
 0068 8E37              cpi R24,126
 006A 29F4              brne L16
 006C           ;     {
 006C           ;       put(0x7D);
 006C 0DE7              ldi R16,125
 006E DBDF              xcall _put
 0070           ;       put(0x5E);      
 0070 0EE5              ldi R16,94
 0072 D9DF              xcall _put
 0074           ;     }
 0074 0AC0              xjmp L17
 0076           L16:
 0076           ;     else if(data==0x7D)
 0076 8C2D              mov R24,R12
 0078 8D37              cpi R24,125
 007A 29F4              brne L18
 007C           ;     {
 007C           ;       put(0x7D);
 007C 0DE7              ldi R16,125
 007E D3DF              xcall _put
 0080           ;       put(0x5D);      
 0080 0DE5              ldi R16,93
 0082 D1DF              xcall _put
 0084           ;     }
 0084 02C0              xjmp L19
 0086           L18:
 0086           ;     else
 0086           ;       {
 0086           ;       	put(data);
 0086 0C2D              mov R16,R12
 0088 CEDF              xcall _put
 008A           ;               }
 008A           L19:
 008A           L17:
 008A           L13:
 008A 6395              inc R22
 008C           L15:
 008C 6417              cp R22,R20
 008E 48F3              brlo L12
 0090           ;    }
 0090           ;    put(0x7E);
 0090 0EE7              ldi R16,126
 0092 C9DF              xcall _put
 0094           L11:
 0094 0E940000          xcall pop_gset4
 0098                   .dbline 0 ; func end
 0098 0895              ret
 009A           ;           data -> R20
                        .even
 009A           _serial_get::
 009A 0E940000          xcall push_gset2
 009E           ; }
 009E           ; 
 009E           ; //**********Receive a serial Frame from the serial port.
 009E           ; unsigned char *serial_get()
 009E           ; {
 009E           ;         unsigned char data;
 009E           ;       data=get();
 009E CCDF              xcall _get
 00A0 402F              mov R20,R16
 00A2           ;     
 00A2           ;         if(data==0x7E&&newMSG==0)  //symbol for new msg
 00A2 0E37              cpi R16,126
 00A4 01F5              brne L21
 00A6 20900200          lds R2,_newMSG
 00AA 2220              tst R2
 00AC E1F4              brne L21
 00AE           ;         {
 00AE           ;                       i=0;
 00AE 2224              clr R2
 00B0 20920200          sts _i,R2
 00B4           ;                       newMSG=1;
 00B4 81E0              ldi R24,1
 00B6 80930200          sts _newMSG,R24
 00BA           ;               recvBuff[i]=data;
 00BA 80E0              ldi R24,<_recvBuff
 00BC 90E0              ldi R25,>_recvBuff
 00BE E22D              mov R30,R2
 00C0 FF27              clr R31
 00C2 E80F              add R30,R24
 00C4 F91F              adc R31,R25
 00C6 4083              std z+0,R20
 00C8           ;               serial_recv_MSG=&recvBuff[i];
 00C8 20900200          lds R2,_i
 00CC 3324              clr R3
 00CE 280E              add R2,R24
 00D0 391E              adc R3,R25
 00D2 30920100          sts _serial_recv_MSG+1,R3
 00D6 20920000          sts _serial_recv_MSG,R2
 00DA           ;               i++;
 00DA 80910200          lds R24,_i
 00DE 8F5F              subi R24,255    ; addi 1
 00E0 80930200          sts _i,R24
 00E4           ;         }
 00E4 5DC0              xjmp L22
 00E6           L21:
 00E6           ;     	else if(data==0x7E&&newMSG==1)
 00E6 4E37              cpi R20,126
 00E8 A9F4              brne L23
 00EA 80910200          lds R24,_newMSG
 00EE 8130              cpi R24,1
 00F0 89F4              brne L23
 00F2           ;               {
 00F2           ;                       newMSG=0;
 00F2 2224              clr R2
 00F4 20920200          sts _newMSG,R2
 00F8           ;                       recvBuff[i]=data;
 00F8 80E0              ldi R24,<_recvBuff
 00FA 90E0              ldi R25,>_recvBuff
 00FC E0910200          lds R30,_i
 0100 FF27              clr R31
 0102 E80F              add R30,R24
 0104 F91F              adc R31,R25
 0106 4083              std z+0,R20
 0108           ;                       i=0;
 0108 20920200          sts _i,R2
 010C           ;                       serial_recv_flag=1;   //一條消息發送完畢,在處理完本條消息后需要被置零
 010C 81E0              ldi R24,1
 010E 80930400          sts _serial_recv_flag,R24
 0112           ;         }
 0112 46C0              xjmp L24
 0114           L23:
 0114           ;     	else
 0114           ;       	{
 0114           ;       		if(data==0x7D)
 0114 4D37              cpi R20,125
 0116 21F4              brne L25
 0118           ;                       {
 0118           ;                               change_flag=1;
 0118 81E0              ldi R24,1
 011A 80930300          sts _change_flag,R24
 011E           ;                       }
 011E 40C0              xjmp L26
 0120           L25:
 0120           ;       		else if(change_flag==1)
 0120 80910300          lds R24,_change_flag
 0124 8130              cpi R24,1
 0126 79F5              brne L27
 0128           ;                       {
 0128           ;                               switch(data)
 0128 642F              mov R22,R20
 012A 7727              clr R23
 012C 6D35              cpi R22,93
 012E E0E0              ldi R30,0
 0130 7E07              cpc R23,R30
 0132 B9F0              breq L33
 0134 6E35              cpi R22,94
 0136 E0E0              ldi R30,0
 0138 7E07              cpc R23,R30
 013A 09F0              breq L32
 013C 31C0              xjmp L28
 013E           X0:
 013E           ;       	  		{
 013E           L32:
 013E           ;       	     		case 0x5E: recvBuff[i]=0x7E;
 013E 80E0              ldi R24,<_recvBuff
 0140 90E0              ldi R25,>_recvBuff
 0142 E0910200          lds R30,_i
 0146 FF27              clr R31
 0148 E80F              add R30,R24
 014A F91F              adc R31,R25
 014C 8EE7              ldi R24,126
 014E 8083              std z+0,R24
 0150           ;                                          change_flag=0;
 0150 2224              clr R2
 0152 20920300          sts _change_flag,R2
 0156           ;                                          i++;
 0156 80910200          lds R24,_i
 015A 8F5F              subi R24,255    ; addi 1
 015C 80930200          sts _i,R24
 0160           ;                                          break;
 0160 1FC0              xjmp L28
 0162           L33:
 0162           ;       	     		case 0x5D: recvBuff[i]=0x7D;
 0162 80E0              ldi R24,<_recvBuff
 0164 90E0              ldi R25,>_recvBuff
 0166 E0910200          lds R30,_i
 016A FF27              clr R31
 016C E80F              add R30,R24
 016E F91F              adc R31,R25
 0170 8DE7              ldi R24,125
 0172 8083              std z+0,R24
 0174           ;                                          change_flag=0;
 0174 2224              clr R2
 0176 20920300          sts _change_flag,R2
 017A           ;                                          i++;
 017A 80910200          lds R24,_i
 017E 8F5F              subi R24,255    ; addi 1
 0180 80930200          sts _i,R24
 0184           ;                                          break;
 0184           ;                               default:   break;
 0184           ;                               }
 0184           ;                       }
 0184 0DC0              xjmp L28
 0186           L27:
 0186           ;       		else
 0186           ;       	 	{
 0186           ;       	 		recvBuff[i]=data;
 0186 80E0              ldi R24,<_recvBuff
 0188 90E0              ldi R25,>_recvBuff
 018A E0910200          lds R30,_i
 018E FF27              clr R31
 0190 E80F              add R30,R24
 0192 F91F              adc R31,R25
 0194 4083              std z+0,R20
 0196           ;                               i++;
 0196 80910200          lds R24,_i
 019A 8F5F              subi R24,255    ; addi 1
 019C 80930200          sts _i,R24
 01A0           ;                       }
 01A0           L28:
 01A0           L26:
 01A0           ;       	}
 01A0           L24:
 01A0           L22:
 01A0           ;  	return serial_recv_MSG;
 01A0 00910000          lds R16,_serial_recv_MSG
 01A4 10910100          lds R17,_serial_recv_MSG+1
 01A8           L20:
 01A8 0E940000          xcall pop_gset2
 01AC                   .dbline 0 ; func end
 01AC 0895              ret
                        .area bss(ram, con, rel)
 0000           _serial_recv_MSG::
 0000                   .blkb 2
 0002           _i::
 0002                   .blkb 1
 0003           _recvBuff::
 0003                   .blkb 128

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
美女www一区二区| 一区二区在线观看视频| 麻豆精品蜜桃视频网站| 在线播放中文字幕一区| 性做久久久久久免费观看欧美| 91蝌蚪porny九色| 亚洲欧美综合另类在线卡通| k8久久久一区二区三区| 国产精品久久久久天堂| 国产ts人妖一区二区| 国产免费久久精品| 懂色av一区二区三区蜜臀| 国产色爱av资源综合区| 国产成人综合网站| 日本在线不卡一区| 成人免费的视频| 自拍偷拍亚洲综合| 色爱区综合激月婷婷| 夜夜嗨av一区二区三区网页| 欧美亚洲自拍偷拍| 日韩精品福利网| 精品日产卡一卡二卡麻豆| 国产一区二区电影| 国产欧美一区二区精品仙草咪| 国产大陆亚洲精品国产| 亚洲欧美在线视频| 在线亚洲一区二区| 日韩激情视频在线观看| 精品欧美一区二区三区精品久久 | 国产亚洲精品7777| 成人丝袜高跟foot| 亚洲人精品午夜| 欧美自拍丝袜亚洲| 热久久久久久久| 国产日韩精品一区二区三区| 91在线丨porny丨国产| 亚洲午夜一二三区视频| 7777精品伊人久久久大香线蕉的 | 亚洲美女少妇撒尿| 欧美色偷偷大香| 狠狠色丁香久久婷婷综合_中| 国产欧美日韩视频一区二区 | 91国偷自产一区二区三区观看 | 奇米综合一区二区三区精品视频| 精品不卡在线视频| www.亚洲人| 午夜精品福利在线| 久久精品夜色噜噜亚洲a∨| 色综合夜色一区| 琪琪一区二区三区| 国产精品国产三级国产普通话三级| 91久久精品一区二区三区| 日韩激情av在线| 国产日产精品一区| 欧日韩精品视频| 精品一区二区精品| 亚洲欧美日韩国产成人精品影院| 911精品国产一区二区在线| 国产露脸91国语对白| 亚洲激情一二三区| 精品国产精品网麻豆系列| 91亚洲精品久久久蜜桃| 青青草国产成人99久久| 亚洲欧洲成人av每日更新| 日韩欧美视频一区| av在线综合网| 另类小说综合欧美亚洲| 亚洲欧洲精品成人久久奇米网| 日韩一区二区三区在线| 91麻豆国产香蕉久久精品| 久久激情五月激情| 亚洲另类在线视频| 亚洲精品在线一区二区| 在线观看视频一区二区| 国产精品1024| 奇米精品一区二区三区四区 | 欧美国产日韩精品免费观看| 欧美老人xxxx18| 99久久伊人精品| 久久er精品视频| 亚洲国产成人精品视频| 国产精品中文欧美| 亚洲网友自拍偷拍| 中文字幕免费在线观看视频一区| 欧美二区三区的天堂| 91毛片在线观看| 国产成人一区在线| 免费不卡在线观看| 亚洲区小说区图片区qvod| 久久亚洲欧美国产精品乐播 | 91在线观看下载| 国产一区二区三区免费| 日韩高清不卡一区| 亚洲乱码一区二区三区在线观看| 国产亚洲一区二区三区在线观看| 7777精品伊人久久久大香线蕉 | 久久久久99精品国产片| 欧美高清你懂得| 在线日韩国产精品| 成人福利电影精品一区二区在线观看| 日韩电影在线观看电影| 一区二区三区四区在线免费观看| 中文字幕欧美激情一区| 久久久综合九色合综国产精品| 欧美精品aⅴ在线视频| 一本在线高清不卡dvd| 国产.欧美.日韩| 精品一区二区三区免费播放| 日韩av一区二区在线影视| 亚洲国产精品天堂| 一区二区三区久久| 一区精品在线播放| 国产精品全国免费观看高清| 亚洲精品一线二线三线无人区| 日韩情涩欧美日韩视频| 91精品国产高清一区二区三区| 欧美色精品在线视频| 日本二三区不卡| 在线观看日韩精品| 在线亚洲一区二区| 日本韩国欧美一区二区三区| 99久久精品情趣| 成人激情校园春色| 成人精品鲁一区一区二区| 国产成人无遮挡在线视频| 国产一区二区日韩精品| 国产剧情一区二区| 国产精品亚洲一区二区三区妖精 | 亚洲黄色性网站| 一区二区高清免费观看影视大全| 亚洲另类一区二区| 亚洲一区二区av电影| 亚洲综合男人的天堂| 亚洲欧美另类久久久精品2019| 日韩伦理av电影| 伊人一区二区三区| 亚洲一区二区四区蜜桃| 一区二区三区久久| 亚洲成精国产精品女| 丝袜诱惑制服诱惑色一区在线观看 | 欧美视频第二页| 欧美日韩在线观看一区二区| 欧美日韩在线播放三区四区| 91精品国产综合久久精品| 日韩精品一区二区三区中文不卡| 精品对白一区国产伦| 久久久久久久久久美女| 国产蜜臀av在线一区二区三区| 国产精品国产三级国产专播品爱网| 亚洲日本一区二区| 亚洲va中文字幕| 日本中文一区二区三区| 国产自产高清不卡| 处破女av一区二区| 91国偷自产一区二区三区成为亚洲经典 | 中文字幕在线不卡一区二区三区| 亚洲精品视频免费看| 日日夜夜精品视频天天综合网| 久久99精品久久久久久国产越南 | 韩国av一区二区| 成人手机电影网| 91成人免费网站| 欧美电视剧在线观看完整版| 国产目拍亚洲精品99久久精品| 一区二区三区不卡视频| 强制捆绑调教一区二区| 国产69精品久久久久毛片| 91福利视频在线| 日韩欧美成人激情| 国产精品国产三级国产三级人妇| 亚洲高清一区二区三区| 国产一区在线不卡| 日本道免费精品一区二区三区| 日韩三区在线观看| 中文字幕制服丝袜成人av| 亚洲3atv精品一区二区三区| 国内久久精品视频| 色婷婷一区二区三区四区| 日韩视频一区在线观看| 国产精品福利影院| 婷婷亚洲久悠悠色悠在线播放| 国产中文字幕一区| 色偷偷久久人人79超碰人人澡| 欧美sm极限捆绑bd| 一区二区三区四区高清精品免费观看| 美国精品在线观看| 91猫先生在线| 精品日韩一区二区三区 | 首页综合国产亚洲丝袜| 国产v综合v亚洲欧| 欧美高清dvd| 亚洲欧洲韩国日本视频| 蜜臀av一级做a爰片久久| av日韩在线网站| 欧美不卡在线视频| 一区二区三区精品在线| 国产激情一区二区三区四区 | 日韩高清不卡在线| 91小视频免费观看| 久久久综合九色合综国产精品|