⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.lis

📁 在AVR单片机上源程序 bluetooth uart
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 00D8           ; }
 00D8           ; 
 00D8           ; 
 00D8           ; 
 00D8           ; 
 00D8           ; //房间1处理
 00D8           ; unsigned char Room1_Handle(void)
 00D8           ; {
 00D8                   .dbline 77
 00D8           ;   if(data&0x01) {flag_twinkle1=0; PORTB=(0xfe&PINB);}
 00D8 20900F00          lds R2,_data
 00DC 20FE              sbrs R2,0
 00DE 07C0              rjmp L36
 00E0                   .dbline 77
 00E0                   .dbline 77
 00E0 2224              clr R2
 00E2 20921300          sts _flag_twinkle1,R2
 00E6                   .dbline 77
 00E6 86B3              in R24,0x16
 00E8 8E7F              andi R24,254
 00EA 88BB              out 0x18,R24
 00EC                   .dbline 77
 00EC 0AC0              xjmp L37
 00EE           L36:
 00EE                   .dbline 78
 00EE           ;     else if(data==0x00) {flag_twinkle1=0; PORTB=(0xfd|PINB);}
 00EE 20900F00          lds R2,_data
 00F2 2220              tst R2
 00F4 31F4              brne L38
 00F6                   .dbline 78
 00F6                   .dbline 78
 00F6 2224              clr R2
 00F8 20921300          sts _flag_twinkle1,R2
 00FC                   .dbline 78
 00FC 86B3              in R24,0x16
 00FE 8D6F              ori R24,253
 0100 88BB              out 0x18,R24
 0102                   .dbline 78
 0102           L38:
 0102           L37:
 0102                   .dbline 80
 0102           ;   //if(FLAG_TWINKLE1) Room_Twinkle(SECOND1,SECOND2);
 0102           ;   if((data&0x1c)==0x1c) {flag_twinkle1=1; second1=500;}//Room_Twinkle(500,SECOND2);}  //房间1_0.5s闪烁
 0102 80910F00          lds R24,_data
 0106 8C71              andi R24,28
 0108 8C31              cpi R24,28
 010A 51F4              brne L40
 010C                   .dbline 80
 010C                   .dbline 80
 010C 81E0              ldi R24,1
 010E 80931300          sts _flag_twinkle1,R24
 0112                   .dbline 80
 0112 84EF              ldi R24,500
 0114 91E0              ldi R25,1
 0116 90930300          sts _second1+1,R25
 011A 80930200          sts _second1,R24
 011E                   .dbline 80
 011E 2CC0              xjmp L41
 0120           L40:
 0120                   .dbline 81
 0120           ;     else if((data&0x1c)==0x10) {flag_twinkle1=1; second1=1000;}//Room_Twinkle(1000,SECOND2);}  //房间1_1s闪烁
 0120 80910F00          lds R24,_data
 0124 8C71              andi R24,28
 0126 8031              cpi R24,16
 0128 51F4              brne L42
 012A                   .dbline 81
 012A                   .dbline 81
 012A 81E0              ldi R24,1
 012C 80931300          sts _flag_twinkle1,R24
 0130                   .dbline 81
 0130 88EE              ldi R24,1000
 0132 93E0              ldi R25,3
 0134 90930300          sts _second1+1,R25
 0138 80930200          sts _second1,R24
 013C                   .dbline 81
 013C 1DC0              xjmp L43
 013E           L42:
 013E                   .dbline 82
 013E           ;         else if((data&0x1c)==0x14) {flag_twinkle1=1; second1=2000;}//Room_Twinkle(2000,SECOND2);}  //房间1_2s闪烁
 013E 80910F00          lds R24,_data
 0142 8C71              andi R24,28
 0144 8431              cpi R24,20
 0146 51F4              brne L44
 0148                   .dbline 82
 0148                   .dbline 82
 0148 81E0              ldi R24,1
 014A 80931300          sts _flag_twinkle1,R24
 014E                   .dbline 82
 014E 80ED              ldi R24,2000
 0150 97E0              ldi R25,7
 0152 90930300          sts _second1+1,R25
 0156 80930200          sts _second1,R24
 015A                   .dbline 82
 015A 0EC0              xjmp L45
 015C           L44:
 015C                   .dbline 83
 015C           ;           else if((data&0x1c)==0x18) {flag_twinkle1=1; second1=3000;}//Room_Twinkle(3000,SECOND2);}  //房间1_3s闪烁
 015C 80910F00          lds R24,_data
 0160 8C71              andi R24,28
 0162 8831              cpi R24,24
 0164 49F4              brne L46
 0166                   .dbline 83
 0166                   .dbline 83
 0166 81E0              ldi R24,1
 0168 80931300          sts _flag_twinkle1,R24
 016C                   .dbline 83
 016C 88EB              ldi R24,3000
 016E 9BE0              ldi R25,11
 0170 90930300          sts _second1+1,R25
 0174 80930200          sts _second1,R24
 0178                   .dbline 83
 0178           L46:
 0178           L45:
 0178           L43:
 0178           L41:
 0178                   .dbline -2
 0178           L35:
 0178                   .dbline 0 ; func end
 0178 0895              ret
 017A                   .dbend
 017A                   .dbfunc e Room_Twinkle _Room_Twinkle fV
 017A           ;        second2 -> R20,R21
 017A           ;        second1 -> R22,R23
                        .even
 017A           _Room_Twinkle::
 017A 0E940000          xcall push_gset2
 017E A901              movw R20,R18
 0180 B801              movw R22,R16
 0182                   .dbline -1
 0182                   .dbline 89
 0182           ;                 //else ;
 0182           ; }   
 0182           ; 
 0182           ; //房间1闪烁处理
 0182           ; void Room_Twinkle(unsigned int second1,unsigned int second2)
 0182           ; { 
 0182                   .dbline 90
 0182           ;   if(flag_twinkle1)
 0182 20901300          lds R2,_flag_twinkle1
 0186 2220              tst R2
 0188 71F0              breq L49
 018A                   .dbline 91
 018A           ;     {
 018A                   .dbline 92
 018A           ;       PORTB=(0xfe&PINB);  //1开
 018A 86B3              in R24,0x16
 018C 8E7F              andi R24,254
 018E 88BB              out 0x18,R24
 0190                   .dbline 93
 0190           ;       Delay(second1);  
 0190 8B01              movw R16,R22
 0192 4ADF              xcall _Delay
 0194                   .dbline 94
 0194           ;       PORTB^=0x01;  //1关
 0194 81E0              ldi R24,1
 0196 28B2              in R2,0x18
 0198 2826              eor R2,R24
 019A 28BA              out 0x18,R2
 019C                   .dbline 96
 019C           ;         //PORTA=0xff;  //2关
 019C           ;       Delay(second1);
 019C 8B01              movw R16,R22
 019E 44DF              xcall _Delay
 01A0                   .dbline 97
 01A0           ;         PORTB=(0xfe&PINB);  //1开
 01A0 86B3              in R24,0x16
 01A2 8E7F              andi R24,254
 01A4 88BB              out 0x18,R24
 01A6                   .dbline 98
 01A6           ;       }
 01A6           L49:
 01A6                   .dbline 99
 01A6 20901200          lds R2,_flag_twinkle2
 01AA 2220              tst R2
 01AC 71F0              breq L51
 01AE                   .dbline 100
 01AE                   .dbline 101
 01AE 86B3              in R24,0x16
 01B0 8D7F              andi R24,253
 01B2 88BB              out 0x18,R24
 01B4                   .dbline 102
 01B4 8A01              movw R16,R20
 01B6 38DF              xcall _Delay
 01B8                   .dbline 103
 01B8 82E0              ldi R24,2
 01BA 28B2              in R2,0x18
 01BC 2826              eor R2,R24
 01BE 28BA              out 0x18,R2
 01C0                   .dbline 105
 01C0 8A01              movw R16,R20
 01C2 32DF              xcall _Delay
 01C4                   .dbline 106
 01C4 86B3              in R24,0x16
 01C6 8D7F              andi R24,253
 01C8 88BB              out 0x18,R24
 01CA                   .dbline 107
 01CA           L51:
 01CA                   .dbline -2
 01CA           L48:
 01CA 0E940000          xcall pop_gset2
 01CE                   .dbline 0 ; func end
 01CE 0895              ret
 01D0                   .dbsym r second2 20 i
 01D0                   .dbsym r second1 22 i
 01D0                   .dbend
 01D0                   .dbfunc e Room2_Handle _Room2_Handle fc
                        .even
 01D0           _Room2_Handle::
 01D0                   .dbline -1
 01D0                   .dbline 115
 01D0           ;   if(flag_twinkle2)
 01D0           ;     {
 01D0           ;       PORTB=(0xfd&PINB);  //2开
 01D0           ;       Delay(second2);
 01D0           ;       PORTB^=0x02;  //2关
 01D0           ;         //PORTA=0xff;  //1关
 01D0           ;       Delay(second2);
 01D0           ;         PORTB=(0xfd&PINB);  //2开
 01D0           ;     }
 01D0           ; }
 01D0           ;  
 01D0           ; 
 01D0           ; 
 01D0           ; 
 01D0           ; //房间2处理
 01D0           ; unsigned char Room2_Handle(void)
 01D0           ; {
 01D0                   .dbline 116
 01D0           ;   if((data&0x03)==0x02) {flag_twinkle2=0; PORTB=(0xfd&PINB);}
 01D0 80910F00          lds R24,_data
 01D4 8370              andi R24,3
 01D6 8230              cpi R24,2
 01D8 39F4              brne L54
 01DA                   .dbline 116
 01DA                   .dbline 116
 01DA 2224              clr R2
 01DC 20921200          sts _flag_twinkle2,R2
 01E0                   .dbline 116
 01E0 86B3              in R24,0x16
 01E2 8D7F              andi R24,253
 01E4 88BB              out 0x18,R24
 01E6                   .dbline 116
 01E6 06C0              xjmp L55
 01E8           L54:
 01E8                   .dbline 117
 01E8           ;     else {flag_twinkle2=0; PORTB=(0xfe|PINB);}
 01E8                   .dbline 117
 01E8 2224              clr R2
 01EA 20921200          sts _flag_twinkle2,R2
 01EE                   .dbline 117
 01EE 86B3              in R24,0x16
 01F0 8E6F              ori R24,254
 01F2 88BB              out 0x18,R24
 01F4                   .dbline 117
 01F4           L55:
 01F4                   .dbline 119
 01F4           ;         //if(FLAG_TWINKLE2) Room_Twinkle(SECOND1,SECOND2);
 01F4           ;   if((data&0x1c)==0x1c) {flag_twinkle2=1; second2=500;}//Room_Twinkle(SECOND1,500);}  //房间2_0.5s闪烁
 01F4 80910F00          lds R24,_data
 01F8 8C71              andi R24,28
 01FA 8C31              cpi R24,28
 01FC 51F4              brne L56
 01FE                   .dbline 119
 01FE                   .dbline 119
 01FE 81E0              ldi R24,1
 0200 80931200          sts _flag_twinkle2,R24
 0204                   .dbline 119
 0204 84EF              ldi R24,500
 0206 91E0              ldi R25,1
 0208 90930100          sts _second2+1,R25
 020C 80930000          sts _second2,R24
 0210                   .dbline 119
 0210 2CC0              xjmp L57
 0212           L56:
 0212                   .dbline 120
 0212           ;     else if((data&0x1c)==0x10) {flag_twinkle2=1; second2=1000;}//Room_Twinkle(SECOND1,1000);}  //房间2_1s闪烁
 0212 80910F00          lds R24,_data
 0216 8C71              andi R24,28
 0218 8031              cpi R24,16
 021A 51F4              brne L58
 021C                   .dbline 120
 021C                   .dbline 120
 021C 81E0              ldi R24,1
 021E 80931200          sts _flag_twinkle2,R24
 0222                   .dbline 120
 0222 88EE              ldi R24,1000

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -