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

📄 test_pc10_main.lis

📁 AVR单片机开发中
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0466                   .dbline 382
 0466           ;     TCCR3A = 0xA8;
 0466 88EA              ldi R24,168
 0468 80938B00          sts 139,R24
 046C                   .dbline 383
 046C           ;     TCCR3B = 0x12;
 046C 82E1              ldi R24,18
 046E 80938A00          sts 138,R24
 0472                   .dbline 384
 0472           ;     ICR3  = frequ;
 0472 50938100          sts 128+1,R21
 0476 40938000          sts 128,R20
 047A                   .dbline 385
 047A           ;     OCR3A = frequ/2;
 047A 22E0              ldi R18,2
 047C 30E0              ldi R19,0
 047E 8A01              movw R16,R20
 0480 0E940000          xcall div16s
 0484 10938700          sts 134+1,R17
 0488 00938600          sts 134,R16
 048C                   .dbline 386
 048C           ;     OCR3B = frequ/2;
 048C 22E0              ldi R18,2
 048E 30E0              ldi R19,0
 0490 8A01              movw R16,R20
 0492 0E940000          xcall div16s
 0496 10938500          sts 132+1,R17
 049A 00938400          sts 132,R16
 049E                   .dbline 387
 049E           ;       OCR3C = frequ/2;
 049E 22E0              ldi R18,2
 04A0 30E0              ldi R19,0
 04A2 8A01              movw R16,R20
 04A4 0E940000          xcall div16s
 04A8 10938300          sts 130+1,R17
 04AC 00938200          sts 130,R16
 04B0                   .dbline -2
 04B0                   .dbline 389
 04B0           ;    
 04B0           ;  }
 04B0           L73:
 04B0 0E940000          xcall pop_gset1
 04B4                   .dbline 0 ; func end
 04B4 0895              ret
 04B6                   .dbsym r frequ 20 I
 04B6                   .dbend
 04B6                   .dbfunc e init_devices _init_devices fV
                        .even
 04B6           _init_devices::
 04B6                   .dbline -1
 04B6                   .dbline 403
 04B6           ; //////////////////////////////////////////////////////////////////////////////
 04B6           ; //
 04B6           ; //
 04B6           ; /////////////////////////////////////////////////////////////////////////////////
 04B6           ;   
 04B6           ;          
 04B6           ;       
 04B6           ; 
 04B6           ; 
 04B6           ; 
 04B6           ; 
 04B6           ; //call this routine to initialize all peripherals
 04B6           ; void init_devices(void)
 04B6           ; {
 04B6                   .dbline 405
 04B6           ;  //stop errant interrupts until set up
 04B6           ;  CLI(); //disable all interrupts
 04B6 F894              cli
 04B8                   .dbline 406
 04B8           ;  XDIV  = 0x00; //xtal divider
 04B8 2224              clr R2
 04BA 2CBE              out 0x3c,R2
 04BC                   .dbline 407
 04BC           ;  XMCRA = 0x00; //external memory
 04BC 20926D00          sts 109,R2
 04C0                   .dbline 408
 04C0           ;  init_isp_devices();
 04C0 0E940000          xcall _init_isp_devices
 04C4                   .dbline 409
 04C4           ;  init_gyro();
 04C4 DCDE              xcall _init_gyro
 04C6                   .dbline 410
 04C6           ;  uart0_init();
 04C6 C9DD              xcall _uart0_init
 04C8                   .dbline 411
 04C8           ;  uart1_init();
 04C8 D9DD              xcall _uart1_init
 04CA                   .dbline 412
 04CA           ;  MCUCR = 0x80;
 04CA 80E8              ldi R24,128
 04CC 85BF              out 0x35,R24
 04CE                   .dbline 413
 04CE           ;  EICRA = 0x00; //extended ext ints
 04CE 2224              clr R2
 04D0 20926A00          sts 106,R2
 04D4                   .dbline 414
 04D4           ;  EICRB = 0x00; //extended ext ints
 04D4 2ABE              out 0x3a,R2
 04D6                   .dbline 415
 04D6           ;  EIMSK = 0x00;
 04D6 29BE              out 0x39,R2
 04D8                   .dbline 416
 04D8           ;  TIMSK = 0x00; //timer interrupt sources
 04D8 27BE              out 0x37,R2
 04DA                   .dbline 417
 04DA           ;  ETIMSK = 0x00; //extended timer interrupt sources
 04DA 20927D00          sts 125,R2
 04DE                   .dbline 418
 04DE           ;  SEI(); //re-enable interrupts
 04DE 7894              sei
 04E0                   .dbline -2
 04E0                   .dbline 420
 04E0           ;  //all peripherals are now initialized
 04E0           ; }
 04E0           L74:
 04E0                   .dbline 0 ; func end
 04E0 0895              ret
 04E2                   .dbend
 04E2                   .dbfunc e test_motor_pwm _test_motor_pwm fV
                        .even
 04E2           _test_motor_pwm::
 04E2                   .dbline -1
 04E2                   .dbline 422
 04E2           ; void test_motor_pwm(void)
 04E2           ; {
 04E2                   .dbline 423
 04E2           ;     motor_pwm(12288,12288);
 04E2 20E0              ldi R18,12288
 04E4 30E3              ldi R19,48
 04E6 00E0              ldi R16,12288
 04E8 10E3              ldi R17,48
 04EA 83DF              xcall _motor_pwm
 04EC           L76:
 04EC                   .dbline 425
 04EC           ;   do
 04EC           ;   {
 04EC                   .dbline 427
 04EC           ;        
 04EC           ;        xy_set(0x01);
 04EC 01E0              ldi R16,1
 04EE 22DE              xcall _xy_set
 04F0                   .dbline 428
 04F0           ;        printf_str(" inp  value :");
 04F0 00E0              ldi R16,<L79
 04F2 10E0              ldi R17,>L79
 04F4 94DE              xcall _printf_str
 04F6                   .dbline 429
 04F6           ;        delay_nms(100);
 04F6 04E6              ldi R16,100
 04F8 10E0              ldi R17,0
 04FA A0DD              xcall _delay_nms
 04FC                   .dbline 430
 04FC           ;        xy_set(0x21);
 04FC 01E2              ldi R16,33
 04FE 1ADE              xcall _xy_set
 0500                   .dbline 431
 0500           ;        printf_str("              ");
 0500 00E0              ldi R16,<L80
 0502 10E0              ldi R17,>L80
 0504 8CDE              xcall _printf_str
 0506                   .dbline 432
 0506           ;        xy_set(0x21);
 0506 01E2              ldi R16,33
 0508 15DE              xcall _xy_set
 050A                   .dbline 433
 050A           ;        left=scanf_int();
 050A F1DD              xcall _scanf_int
 050C 10930700          sts _left+1,R17
 0510 00930600          sts _left,R16
 0514                   .dbline 434
 0514           ;        delay_nms(100);
 0514 04E6              ldi R16,100
 0516 10E0              ldi R17,0
 0518 91DD              xcall _delay_nms
 051A                   .dbline 435
 051A           ;        xy_set(0x31);
 051A 01E3              ldi R16,49
 051C 0BDE              xcall _xy_set
 051E                   .dbline 436
 051E           ;        printf_str("              ");
 051E 00E0              ldi R16,<L80
 0520 10E0              ldi R17,>L80
 0522 7DDE              xcall _printf_str
 0524                   .dbline 437
 0524           ;        xy_set(0x31);
 0524 01E3              ldi R16,49
 0526 06DE              xcall _xy_set
 0528                   .dbline 438
 0528           ;        delay_nms(100);
 0528 04E6              ldi R16,100
 052A 10E0              ldi R17,0
 052C 87DD              xcall _delay_nms
 052E                   .dbline 439
 052E           ;        printf_int(left);
 052E 00910600          lds R16,_left
 0532 10910700          lds R17,_left+1
 0536 64DE              xcall _printf_int
 0538                   .dbline 440
 0538           ;        right=left;
 0538 20900600          lds R2,_left
 053C 30900700          lds R3,_left+1
 0540 30920500          sts _right+1,R3
 0544 20920400          sts _right,R2
 0548                   .dbline 441
 0548           ;      motor_pwm(right,left);
 0548 9101              movw R18,R2
 054A 8101              movw R16,R2
 054C 52DF              xcall _motor_pwm
 054E                   .dbline 442
 054E           ;         }
 054E           L77:
 054E                   .dbline 443
 054E CECF              xjmp L76
 0550           X2:
 0550                   .dbline -2
 0550                   .dbline 446
 0550           ;     while (1);
 0550           ;       
 0550           ; 
 0550           ; }
 0550           L75:
 0550                   .dbline 0 ; func end
 0550 0895              ret
 0552                   .dbend
 0552                   .dbfunc e test_isp_cnt _test_isp_cnt fV
                        .even
 0552           _test_isp_cnt::
 0552                   .dbline -1
 0552                   .dbline 448
 0552           ; void test_isp_cnt()
 0552           ; {
 0552                   .dbline 449
 0552           ;      motor_pwm(12288,12288);
 0552 20E0              ldi R18,12288
 0554 30E3              ldi R19,48
 0556 00E0              ldi R16,12288
 0558 10E3              ldi R17,48
 055A 4BDF              xcall _motor_pwm
 055C                   .dbline 450
 055C           ;      xy_set(0x01);
 055C 01E0              ldi R16,1
 055E EADD              xcall _xy_set
 0560                   .dbline 451
 0560           ;        printf_str(" inp  value :");
 0560 00E0              ldi R16,<L79
 0562 10E0              ldi R17,>L79
 0564 5CDE              xcall _printf_str
 0566                   .dbline 452
 0566           ;        delay_nms(100);
 0566 04E6              ldi R16,100
 0568 10E0              ldi R17,0
 056A 68DD              xcall _delay_nms
 056C                   .dbline 453
 056C           ;        xy_set(0x21);
 056C 01E2              ldi R16,33
 056E E2DD              xcall _xy_set
 0570                   .dbline 454
 0570           ;        printf_str("        ");
 0570 00E0              ldi R16,<L82
 0572 10E0              ldi R17,>L82
 0574 54DE              xcall _printf_str
 0576                   .dbline 455
 0576           ;        xy_set(0x21);
 0576 01E2              ldi R16,33
 0578 DDDD              xcall _xy_set
 057A                   .dbline 456
 057A           ;        left=scanf_int();
 057A B9DD              xcall _scanf_int
 057C 10930700          sts _left+1,R17
 0580 00930600          sts _left,R16
 0584                   .dbline 457
 0584           ;        delay_nms(100);
 0584 04E6              ldi R16,100
 0586 10E0              ldi R17,0
 0588 59DD              xcall _delay_nms
 058A                   .dbline 458
 058A           ;        xy_set(0x31);
 058A 01E3              ldi R16,49
 058C D3DD              xcall _xy_set
 058E                   .dbline 459
 058E           ;        printf_str("        ");
 058E 00E0              ldi R16,<L82
 0590 10E0              ldi R17,>L82
 0592 45DE              xcall _printf_str
 0594                   .dbline 460
 0594           ;        xy_set(0x31);
 0594 01E3              ldi R16,49
 0596 CEDD              xcall _xy_set
 0598                   .dbline 461
 0598           ;        delay_nms(100);
 0598 04E6              ldi R16,100
 059A 10E0              ldi R17,0
 059C 4FDD              xcall _delay_nms
 059E                   .dbline 462
 059E           ;        printf_int(left);
 059E 00910600          lds R16,_left
 05A2 10910700          lds R17,_left+1
 05A6 2CDE              xcall _printf_int
 05A8                   .dbline 463
 05A8           ;        right=left;
 05A8 20900600          lds R2,_left
 05AC 30900700          lds R3,_left+1
 05B0 30920500          sts _right+1,R3
 05B4 20920400          sts _right,R2
 05B8                   .dbline 464
 05B8           ;      motor_pwm(right,left);
 05B8 9101              movw R18,R2
 05BA 8101              movw R16,R2
 05BC 1ADF              xcall _motor_pwm
 05BE           L83:
 05BE                   .dbline 467
 05BE           ;        
 05BE           ;    do
 05BE           ;        {
 05BE                   .dbline 468
 05BE           ;      spi_cnt(CH1);
 05BE 01E0              ldi R16,1
 05C0 10E0              ldi R17,0
 05C2 0E940000          xcall _spi_cnt
 05C6                   .dbline 469
 05C6           ;        delay_nms(100);
 05C6 04E6              ldi R16,100
 05C8 10E0              ldi R17,0
 05CA 38DD              xcall _delay_nms
 05CC                   .dbline 470
 05CC           ;        xy_set(0x27);
 05CC 07E2              ldi R16,39
 05CE B2DD              xcall _xy_set
 05D0                   .dbline 471
 05D0           ;        printf_str("              ");
 05D0 00E0              ldi R16,<L80
 05D2 10E0              ldi R17,>L80
 05D4 24DE              xcall _printf_str
 05D6                   .dbline 472
 05D6           ;        xy_set(0x27);
 05D6 07E2              ldi R16,39
 05D8 ADDD              xcall _xy_set
 05DA                   .dbline 473
 05DA           ;        len_test=len/7168;
 05DA 80E0              ldi R24,0
 05DC

⌨️ 快捷键说明

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