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

📄 ytcpg01.lis

📁 使用AVR的云台控制器程序,通过串口和PC机通讯实现在监控电脑上控制摄像机云台.通过SPI口进行串并转换实现单片机IO扩展.
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 01A0 0BC0              rjmp L54
 01A2           X0:
 01A2                   .dbline 194
 01A2           ;                         {
 01A2           L55:
 01A2                   .dbline 196
 01A2           L56:
 01A2                   .dbline 195
 01A2 5D9B              sbis 0xb,5
 01A4 FECF              rjmp L55
 01A6                   .dbline 197
 01A6 80E0              ldi R24,<_TXbuf
 01A8 90E0              ldi R25,>_TXbuf
 01AA E42F              mov R30,R20
 01AC FF27              clr R31
 01AE E80F              add R30,R24
 01B0 F91F              adc R31,R25
 01B2 2080              ldd R2,z+0
 01B4 2CB8              out 0xc,R2
 01B6                   .dbline 198
 01B6           L52:
 01B6                   .dbline 193
 01B6 4395              inc R20
 01B8           L54:
 01B8                   .dbline 193
 01B8 4F30              cpi R20,15
 01BA 98F3              brlo L56
 01BC                   .dbline 200
 01BC           ;                          while(!(UCSRA & (1<<UDRE)))
 01BC           ;                   ;
 01BC           ;                 UDR=TXbuf[i];  //TX the data of rx
 01BC           ;                        }//for (i=0;i<15;i++)
 01BC           ;                  
 01BC           ;                }//if(CRCT.txCRC[0]==RXbuf[12] && CRCT.txCRC[1]==RXbuf[13]) 
 01BC           L38:
 01BC                   .dbline 203
 01BC           ;                
 01BC           ;                 
 01BC           ;          }//if(RXbuf[1]==BOARDID && RXbuf[12]=='$')
 01BC           L30:
 01BC                   .dbline 205
 01BC 2224              clr R2
 01BE 20920200          sts _RXbuf,R2
 01C2                   .dbline 206
 01C2 20920300          sts _RXbuf+1,R2
 01C6                   .dbline 207
 01C6 20921000          sts _RXbuf+14,R2
 01CA                   .dbline 208
 01CA           L28:
 01CA                   .dbline -2
 01CA           L23:
 01CA 00D0              rcall pop_gset1
 01CC 00D0              rcall pop_lset
 01CE                   .dbline 0 ; func end
 01CE 1895              reti
 01D0                   .dbsym r i 20 c
 01D0                   .dbend
 01D0                   .dbfunc e TXbufINIT _TXbufINIT fV
 01D0           ;              i -> R16
                        .even
 01D0           _TXbufINIT::
 01D0                   .dbline -1
 01D0                   .dbline 214
 01D0           ;          
 01D0           ;          RXbuf[0]=0;
 01D0           ;          RXbuf[1]=0;
 01D0           ;          RXbuf[14]=0;
 01D0           ;         } //if(RXstartFlag==1 && RXCR==13 && RXbuf[0]=='%')
 01D0           ;       
 01D0           ;       } //void 
 01D0           ;  
 01D0           ;  
 01D0           ; void TXbufINIT(void)
 01D0           ;      {
 01D0                   .dbline 217
 01D0           ;        
 01D0           ;        unsigned char i;
 01D0           ;        TXbuf[0]=37;
 01D0 85E2              ldi R24,37
 01D2 80931400          sts _TXbuf,R24
 01D6                   .dbline 218
 01D6           ;        TXbuf[1]=49;
 01D6 81E3              ldi R24,49
 01D8 80931500          sts _TXbuf+1,R24
 01DC                   .dbline 219
 01DC           ;        TXbuf[2]=49;
 01DC 80931600          sts _TXbuf+2,R24
 01E0                   .dbline 220
 01E0           ;        TXbuf[14]=36;
 01E0 84E2              ldi R24,36
 01E2 80932200          sts _TXbuf+14,R24
 01E6                   .dbline 221
 01E6           ;         for(i=3;i<12;i++)
 01E6 03E0              ldi R16,3
 01E8 0FC0              rjmp L67
 01EA           L64:
 01EA                   .dbline 222
 01EA                   .dbline 223
 01EA 80E0              ldi R24,<_OPDATA-3
 01EC 90E0              ldi R25,>_OPDATA-3
 01EE E02F              mov R30,R16
 01F0 FF27              clr R31
 01F2 E80F              add R30,R24
 01F4 F91F              adc R31,R25
 01F6 2080              ldd R2,z+0
 01F8 80E0              ldi R24,<_TXbuf
 01FA 90E0              ldi R25,>_TXbuf
 01FC E02F              mov R30,R16
 01FE FF27              clr R31
 0200 E80F              add R30,R24
 0202 F91F              adc R31,R25
 0204 2082              std z+0,R2
 0206                   .dbline 224
 0206           L65:
 0206                   .dbline 221
 0206 0395              inc R16
 0208           L67:
 0208                   .dbline 221
 0208 0C30              cpi R16,12
 020A 78F3              brlo L64
 020C                   .dbline 225
 020C           ;               {
 020C           ;                TXbuf[i]=OPDATA[i-3];
 020C           ;               }//for(i=2;i<10;i++)
 020C           ;        CRCT.TXCRC=0;
 020C 2224              clr R2
 020E 3324              clr R3
 0210 30920100          sts _CRCT+1,R3
 0214 20920000          sts _CRCT,R2
 0218                   .dbline 226
 0218           ;        for(i=0;i<12;i++)
 0218 0027              clr R16
 021A 13C0              rjmp L72
 021C           L69:
 021C                   .dbline 227
 021C                   .dbline 228
 021C 80E0              ldi R24,<_TXbuf
 021E 90E0              ldi R25,>_TXbuf
 0220 E02F              mov R30,R16
 0222 FF27              clr R31
 0224 E80F              add R30,R24
 0226 F91F              adc R31,R25
 0228 2080              ldd R2,z+0
 022A 3324              clr R3
 022C 40900000          lds R4,_CRCT
 0230 50900100          lds R5,_CRCT+1
 0234 420C              add R4,R2
 0236 531C              adc R5,R3
 0238 50920100          sts _CRCT+1,R5
 023C 40920000          sts _CRCT,R4
 0240                   .dbline 229
 0240           L70:
 0240                   .dbline 226
 0240 0395              inc R16
 0242           L72:
 0242                   .dbline 226
 0242 0C30              cpi R16,12
 0244 58F3              brlo L69
 0246                   .dbline 230
 0246           ;               {
 0246           ;                CRCT.TXCRC=CRCT.TXCRC+TXbuf[i];
 0246           ;               }//f
 0246           ;       TXbuf[12]=CRCT.txCRC[0];
 0246 20900000          lds R2,_CRCT
 024A 20922000          sts _TXbuf+12,R2
 024E                   .dbline 231
 024E           ;       TXbuf[13]=CRCT.txCRC[1];
 024E 20900100          lds R2,_CRCT+1
 0252 20922100          sts _TXbuf+13,R2
 0256                   .dbline -2
 0256           L60:
 0256                   .dbline 0 ; func end
 0256 0895              ret
 0258                   .dbsym r i 16 c
 0258                   .dbend
 0258                   .dbfunc e main _main fV
 0258           ;             ia -> R20
                        .even
 0258           _main::
 0258                   .dbline -1
 0258                   .dbline 235
 0258           ;        }
 0258           ;     
 0258           ; void main()
 0258           ;       {
 0258                   .dbline 237
 0258           ;       unsigned char ia;
 0258           ;        port_init();
 0258 EEDE              rcall _port_init
 025A                   .dbline 238
 025A           ;        SPI_MasterInit();
 025A FDDE              rcall _SPI_MasterInit
 025C                   .dbline 239
 025C           ;        uart_init();
 025C 10DF              rcall _uart_init
 025E                   .dbline 243
 025E           ;        
 025E           ;        
 025E           ;        
 025E           ;        for(ia=0;ia<13;ia++)
 025E 4427              clr R20
 0260 09C0              rjmp L80
 0262           L77:
 0262                   .dbline 244
 0262                   .dbline 245
 0262 80E0              ldi R24,<_OPDATA
 0264 90E0              ldi R25,>_OPDATA
 0266 E42F              mov R30,R20
 0268 FF27              clr R31
 026A E80F              add R30,R24
 026C F91F              adc R31,R25
 026E 2224              clr R2
 0270 2082              std z+0,R2
 0272                   .dbline 246
 0272           L78:
 0272                   .dbline 243
 0272 4395              inc R20
 0274           L80:
 0274                   .dbline 243
 0274 4D30              cpi R20,13
 0276 A8F3              brlo L77
 0278                   .dbline 249
 0278           ;           {
 0278           ;               OPDATA[ia]=0;
 0278           ;               }
 0278           ;        
 0278           ;        
 0278           ;        CLRON;
 0278 C098              cbi 0x18,0
 027A                   .dbline 250
 027A           ;        delayXms(100);
 027A 04E6              ldi R16,100
 027C 10E0              ldi R17,0
 027E CEDE              rcall _delayXms
 0280                   .dbline 251
 0280           ;        CLROFF;
 0280 C09A              sbi 0x18,0
 0282                   .dbline 252
 0282           ;        PORTC=0xff;
 0282 8FEF              ldi R24,255
 0284 85BB              out 0x15,R24
 0286                   .dbline 253
 0286           ;        delayXms(1000);
 0286 08EE              ldi R16,1000
 0288 13E0              ldi R17,3
 028A C8DE              rcall _delayXms
 028C                   .dbline 254
 028C           ;        PORTC=0;
 028C 2224              clr R2
 028E 25BA              out 0x15,R2
 0290                   .dbline 255
 0290           ;         SPI_Tran();
 0290 E5DE              rcall _SPI_Tran
 0292                   .dbline 256
 0292           ;        delayXms(500);
 0292 04EF              ldi R16,500
 0294 11E0              ldi R17,1
 0296 C2DE              rcall _delayXms
 0298                   .dbline 257
 0298           ;        SEI();
 0298 7894              sei
 029A           L81:
 029A                   .dbline 259
 029A                   .dbline 260
 029A                   .dbline 261
 029A                   .dbline 262
 029A                   .dbline 264
 029A           L82:
 029A                   .dbline 258
 029A FFCF              rjmp L81
 029C           X7:
 029C                   .dbline -2
 029C           L76:
 029C                   .dbline 0 ; func end
 029C 0895              ret
 029E                   .dbsym r ia 20 c
 029E                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile E:\job\elite\云台控制器\avr\ytcpg01.c
 0000           _CRCT::
 0000                   .blkb 2
 0002                   .dbunion 0 2 mdd
 0002                   .dbfield 0 TXCRC i
 0002                   .dbfield 0 txCRC A[2:2]c
 0002                   .dbend
 0002                   .dbsym e CRCT _CRCT S[mdd]
 0002           _RXbuf::
 0002                   .blkb 18
 0014                   .dbsym e RXbuf _RXbuf A[18:18]c
 0014           _TXbuf::
 0014                   .blkb 18
 0026                   .dbsym e TXbuf _TXbuf A[18:18]c
 0026           _OPDATA::
 0026                   .blkb 12
 0032                   .dbsym e OPDATA _OPDATA A[12:12]c

⌨️ 快捷键说明

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