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

📄 main.lis

📁 数字舵机(1) 数字脉宽检测 数字脉宽检测
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0278           ;  timer2_init(); 
 0278 D7DE              xcall _timer2_init
 027A                   .dbline 135
 027A           ; 
 027A           ; adc_init();uart1_init();
 027A E6DF              xcall _adc_init
 027C                   .dbline 135
 027C 0CD0              xcall _uart1_init
 027E                   .dbline 137
 027E           ; 
 027E           ;  MCUCR = 0x00;
 027E 2224              clr R2
 0280 25BE              out 0x35,R2
 0282                   .dbline 138
 0282           ;  EICRA = 0x00; //extended ext ints
 0282 20926A00          sts 106,R2
 0286                   .dbline 139
 0286           ;  EICRB = 0x00; //extended ext ints
 0286 2ABE              out 0x3a,R2
 0288                   .dbline 140
 0288           ;  EIMSK = 0x00;
 0288 29BE              out 0x39,R2
 028A                   .dbline 141
 028A           ;  TIMSK = 0x20; //timer interrupt sources
 028A 80E2              ldi R24,32
 028C 87BF              out 0x37,R24
 028E                   .dbline 142
 028E           ;  ETIMSK = 0x00; //extended timer interrupt sources
 028E 20927D00          sts 125,R2
 0292                   .dbline 143
 0292           ;  SEI(); //re-enable interrupts
 0292 7894              sei
 0294                   .dbline -2
 0294           L15:
 0294                   .dbline 0 ; func end
 0294 0895              ret
 0296                   .dbend
 0296                   .dbfunc e uart1_init _uart1_init fV
                        .even
 0296           _uart1_init::
 0296                   .dbline -1
 0296                   .dbline 153
 0296           ;  //all peripherals are now initialized
 0296           ; }
 0296           ; 
 0296           ; //UART1 initialize
 0296           ; // desired baud rate:19200
 0296           ; // actual baud rate:19200 (0.0%)
 0296           ; // char size: 8 bit
 0296           ; // parity: Disabled
 0296           ; void uart1_init(void)
 0296           ; {
 0296                   .dbline 154
 0296           ;  UCSR1B = 0x00; //disable while setting baud rate
 0296 2224              clr R2
 0298 20929A00          sts 154,R2
 029C                   .dbline 155
 029C           ;  UCSR1A = 0x00;
 029C 20929B00          sts 155,R2
 02A0                   .dbline 156
 02A0           ;  UCSR1C = 0x06;
 02A0 86E0              ldi R24,6
 02A2 80939D00          sts 157,R24
 02A6                   .dbline 157
 02A6           ;  UBRR1L = 0x23; //set baud rate lo
 02A6 83E2              ldi R24,35
 02A8 80939900          sts 153,R24
 02AC                   .dbline 158
 02AC           ;  UBRR1H = 0x00; //set baud rate hi
 02AC 20929800          sts 152,R2
 02B0                   .dbline 159
 02B0           ;  UCSR1B = 0x98;
 02B0 88E9              ldi R24,152
 02B2 80939A00          sts 154,R24
 02B6                   .dbline -2
 02B6           L16:
 02B6                   .dbline 0 ; func end
 02B6 0895              ret
 02B8                   .dbend
                        .area vector(rom, abs)
                        .org 120
 0078 0C945C01          jmp _uart1_rx_isr
                        .area text(rom, con, rel)
 02B8                   .dbfile C:\DOCUME~1\ZDH\桌面\JOHU_2~1.180\digital_duoji\buhuo\main.c
 02B8                   .dbfunc e uart1_rx_isr _uart1_rx_isr fV
                        .even
 02B8           _uart1_rx_isr::
 02B8 0A92              st -y,R0
 02BA 1A92              st -y,R1
 02BC 2A92              st -y,R2
 02BE 3A92              st -y,R3
 02C0 4A92              st -y,R4
 02C2 5A92              st -y,R5
 02C4 0A93              st -y,R16
 02C6 1A93              st -y,R17
 02C8 2A93              st -y,R18
 02CA 3A93              st -y,R19
 02CC 8A93              st -y,R24
 02CE 9A93              st -y,R25
 02D0 EA93              st -y,R30
 02D2 FA93              st -y,R31
 02D4 0FB6              in R0,0x3f
 02D6 0A92              st -y,R0
 02D8                   .dbline -1
 02D8                   .dbline 165
 02D8           ; }
 02D8           ; 
 02D8           ; #pragma interrupt_handler uart1_rx_isr:31
 02D8           ; //cir+00100
 02D8           ; void uart1_rx_isr(void)
 02D8           ; {
 02D8                   .dbline 167
 02D8           ;  //uart has received a character in UDR
 02D8           ;  if (all==CIR)
 02D8 80911600          lds R24,_all
 02DC 8130              cpi R24,1
 02DE 09F0              breq X25
 02E0 B9C0              xjmp L18
 02E2           X25:
 02E2           X5:
 02E2                   .dbline 168
 02E2           ;       {
 02E2                   .dbline 169
 02E2           ;          a=b;
 02E2 20901800          lds R2,_b
 02E6 20921700          sts _a,R2
 02EA                   .dbline 170
 02EA           ;          b=c;
 02EA 20901900          lds R2,_c
 02EE 20921800          sts _b,R2
 02F2                   .dbline 171
 02F2           ;          c=d;
 02F2 20901A00          lds R2,_d
 02F6 20921900          sts _c,R2
 02FA                   .dbline 172
 02FA           ;          d=e;
 02FA 20901B00          lds R2,_e
 02FE 20921A00          sts _d,R2
 0302                   .dbline 173
 0302           ;          e=f;
 0302 20901C00          lds R2,_f
 0306 20921B00          sts _e,R2
 030A                   .dbline 174
 030A           ;          f=UDR1;
 030A 20909C00          lds R2,156
 030E 20921C00          sts _f,R2
 0312                   .dbline 175
 0312           ;          if ((f<'0')||(f>'9'))return;
 0312 822D              mov R24,R2
 0314 8033              cpi R24,48
 0316 18F0              brlo L22
 0318           X6:
 0318 89E3              ldi R24,57
 031A 8215              cp R24,R2
 031C 08F4              brsh L20
 031E           X7:
 031E           L22:
 031E                   .dbline 175
 031E AAC1              xjmp L17
 0320           L20:
 0320                   .dbline 176
 0320           ;          if (a=='+')//0x2b
 0320 80911700          lds R24,_a
 0324 8B32              cpi R24,43
 0326 09F0              breq X26
 0328 41C0              xjmp L23
 032A           X26:
 032A           X8:
 032A                   .dbline 177
 032A           ;                 {jiaodu=(b-48)*10000+(c-48)*1000+(d-48)*100+(e-48)*10+(f-48);
 032A                   .dbline 177
 032A 20911900          lds R18,_c
 032E 3327              clr R19
 0330 08EE              ldi R16,1000
 0332 13E0              ldi R17,3
 0334 0E940000          xcall empy16s
 0338 C801              movw R24,R16
 033A 8058              subi R24,128
 033C 9B4B              sbci R25,187
 033E 20911800          lds R18,_b
 0342 3327              clr R19
 0344 00E1              ldi R16,10000
 0346 17E2              ldi R17,39
 0348 0E940000          xcall empy16s
 034C F801              movw R30,R16
 034E E050              subi R30,0
 0350 F345              sbci R31,83
 0352 E80F              add R30,R24
 0354 F91F              adc R31,R25
 0356 20901A00          lds R2,_d
 035A 84E6              ldi R24,100
 035C 829D              mul R24,R2
 035E C001              movw R24,R0
 0360 805C              subi R24,192
 0362 9241              sbci R25,18
 0364 E80F              add R30,R24
 0366 F91F              adc R31,R25
 0368 20901B00          lds R2,_e
 036C 8AE0              ldi R24,10
 036E 829D              mul R24,R2
 0370 C001              movw R24,R0
 0372 805E              subi R24,224
 0374 9140              sbci R25,1
 0376 E80F              add R30,R24
 0378 F91F              adc R31,R25
 037A 80911C00          lds R24,_f
 037E 9927              clr R25
 0380 C097              sbiw R24,48
 0382 E80F              add R30,R24
 0384 F91F              adc R31,R25
 0386 1F01              movw R2,R30
 0388 4424              clr R4
 038A 37FC              sbrc R3,7
 038C 4094              com R4
 038E 5524              clr R5
 0390 47FC              sbrc R4,7
 0392 5094              com R5
 0394 30921E00          sts _jiaodu+1,R3
 0398 20921D00          sts _jiaodu,R2
 039C 50922000          sts _jiaodu+2+1,R5
 03A0 40921F00          sts _jiaodu+2,R4
 03A4                   .dbline 178
 03A4           ;                  all=0;return;}
 03A4 2224              clr R2
 03A6 20921600          sts _all,R2
 03AA                   .dbline 178
 03AA 64C1              xjmp L17
 03AC           L23:
 03AC                   .dbline 179
 03AC           ;          else if (a=='-')//0x2d
 03AC 80911700          lds R24,_a
 03B0 8D32              cpi R24,45
 03B2 09F0              breq X27
 03B4 46C0              xjmp L25
 03B6           X27:
 03B6           X9:
 03B6                   .dbline 180
 03B6           ;                 {jiaodu=-((b-48)*10000+(c-48)*1000+(d-48)*100+(e-48)*10+(f-48));
 03B6                   .dbline 180
 03B6 20911900          lds R18,_c
 03BA 3327              clr R19
 03BC 08EE              ldi R16,1000
 03BE 13E0              ldi R17,3
 03C0 0E940000          xcall empy16s
 03C4 C801              movw R24,R16
 03C6 8058              subi R24,128
 03C8 9B4B              sbci R25,187
 03CA 20911800          lds R18,_b
 03CE 3327              clr R19
 03D0 00E1              ldi R16,10000
 03D2 17E2              ldi R17,39
 03D4 0E940000          xcall empy16s
 03D8 F801              movw R30,R16
 03DA E050              subi R30,0
 03DC F345              sbci R31,83
 03DE E80F              add R30,R24
 03E0 F91F              adc R31,R25
 03E2 20901A00          lds R2,_d
 03E6 84E6              ldi R24,100
 03E8 829D              mul R24,R2
 03EA C001              movw R24,R0
 03EC 805C              subi R24,192
 03EE 9241              sbci R25,18
 03F0 E80F              add R30,R24
 03F2 F91F              adc R31,R25
 03F4 20901B00          lds R2,_e
 03F8 8AE0              ldi R24,10
 03FA 829D              mul R24,R2
 03FC C001              movw R24,R0
 03FE 805E              subi R24,224
 0400 9140              sbci R25,1
 0402 E80F              add R30,R24
 0404 F91F              adc R31,R25
 0406 80911C00          lds R24,_f
 040A 9927              clr R25
 040C C097              sbiw R24,48
 040E E80F              add R30,R24
 0410 F91F              adc R31,R25
 0412 CF01              movw R24,R30
 0414 8095              com R24
 0416 9095              com R25
 0418 8F5F              subi R24,0xFF
 041A 9F4F              sbci R25,0xFF
 041C 1C01              movw R2,R24
 041E 4424              clr R4
 0420 37FC              sbrc R3,7
 0422 4094              com R4
 0424 5524              clr R5
 0426 47FC              sbrc R4,7
 0428 5094              com R5
 042A 30921E00          sts _jiaodu+1,R3
 042E 20921D00          sts _jiaodu,R2
 0432 50922000          sts _jiaodu+2+1,R5
 0436 40921F00          sts _jiaodu+2,R4
 043A                   .dbline 181
 043A           ;                  all=0;return;}
 043A 2224              clr R2
 043C 20921600          sts _all,R2
 0440                   .dbline 181
 0440 19C1              xjmp L17
 0442           L25:
 0442                   .dbline 182
 0442           ;          if (a!=0) {all=0;return;}
 0442 20901700          lds R2,_a
 0446 2220              tst R2
 0448 09F4              brne X28
 044A 14C1              xjmp L19
 044C           X28:
 044C           X10:
 044C                   .dbline 182
 044C                   .dbline 182
 044C 2224              clr R2
 044E 20921600          sts _all,R2
 0452                   .dbline 182
 0452 10C1              xjmp L17
 0454           L18:
 0454                   .dbline 185
 0454           ;            //PORTF=jiaodu;//while(1);
 0454           ;       }
 0454           ;  else if (all==LINE)
 0454 80911600          lds R24,_all
 0458 8230              cpi R24,2
 045A 09F0              breq X29
 045C B9C0              xjmp L29
 045E           X29:
 045E           X11:
 045E                   .dbline 186
 045E           ;       {
 045E                   .dbline 187
 045E           ;          a=b;
 045E 20901800          lds R2,_b
 0462 20921700          sts _a,R2
 0466                   .dbline 188
 0466           ;          b=c;
 0466 20901900          lds R2,_c
 046A 20921800          sts _b,R2
 046E                   .dbline 189
 046E           ;          c=d;
 046E 20901A00          lds R2,_d
 0472 20921900          sts _c,R2
 0476                   .dbline 190
 0476           ;          d=e;
 0476 20901B00          lds R2,_e
 047A 20921A00          sts _d,R2

⌨️ 快捷键说明

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