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

📄 cymometer.lis

📁 AVR单片机例程
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 00C0 50900500          lds R5,_count+2+1
 00C4 40900400          lds R4,_count+2
 00C8 30900300          lds R3,_count+1
 00CC 20900200          lds R2,_count
 00D0 3A93              st -y,R19
 00D2 2A93              st -y,R18
 00D4 1A93              st -y,R17
 00D6 0A93              st -y,R16
 00D8 022D              mov R16,R2
 00DA 132D              mov R17,R3
 00DC 242D              mov R18,R4
 00DE 352D              mov R19,R5
 00E0 00D0              rcall div32u
 00E2 10930300          sts _count+1,R17
 00E6 00930200          sts _count,R16
 00EA 30930500          sts _count+2+1,R19
 00EE 20930400          sts _count+2,R18
 00F2                   .dbline 65
 00F2                 L9:
 00F2                   .dbline 61
 00F2 C394              inc R12
 00F4                 L11:
 00F4                   .dbline 61
 00F4 8C2D              mov R24,R12
 00F6 8630              cpi R24,6
 00F8 08F4              brsh X0
 00FA BACF              rjmp L8
 00FC                 X0:
 00FC                   .dbline 66}
                       ;   {temp=count%10;
                       ;    ledbuff[i]=tabel[temp];
                       ;    count=count/10;
                       ;   }  
                       ; }
 00FC                 L7:
 00FC 00D0              rcall pop_gset4
 00FE 0895              ret
 0100                   .dbsym r temp 10 c
 0100                   .dbsym r i 12 c
 0100                   .dbfunc s main _main fI
                       ;              j -> <dead>
                       ;              i -> <dead>
                         .even
 0100                 _main::
 0100                   .dbline 71{
                       ; /*****************************
                       ;         主程序
                       ; ******************************/
                       ; void main(void)
                       ; {
 0100                   .dbline 73
                       ;  unsigned char i,j;
                       ;  MCUCR=0;
 0100 2224              clr R2
 0102 25BE              out 0x35,R2
 0104                   .dbline 74
                       ;  port_init(); //端口初始化
 0104 7DDF              rcall _port_init
 0106                   .dbline 75
                       ;  count=0;
 0106 00E0              ldi R16,<L14
 0108 10E0              ldi R17,>L14
 010A 00D0              rcall lpm32
 010C 10930300          sts _count+1,R17
 0110 00930200          sts _count,R16
 0114 30930500          sts _count+2+1,R19
 0118 20930400          sts _count+2,R18
 011C                   .dbline 76
                       ;  SEI();
 011C 7894              sei
 011E 01C0              rjmp L16
 0120                 L15:
 0120                   .dbline 78
 0120                   .dbline 79
 0120 87DF              rcall _display
 0122                   .dbline 80
 0122                 L16:
 0122                   .dbline 77
                       ;  while(1)
 0122 FECF              rjmp L15
 0124                 X1:
 0124                   .dbline 81}
                       ;   {
                       ;    display();
                       ;   }
                       ; }
 0124                 L13:
 0124 0895              ret
 0126                   .dbsym l j 1 c
 0126                   .dbsym l i 1 c
 0126                   .dbfunc s timer0 _timer0 fI
                         .even
 0126                 _timer0::
 0126 00D0              rcall push_lset
 0128                   .dbline 86{
                       ; /**************************************
                       ;  T0溢出中断,完成测量闸门控制和数字转换
                       ; ***************************************/
                       ; void timer0(void)
                       ;    {
 0128                   .dbline 87
                       ;     if (--timecount==0)
 0128 90910100          lds R25,_timecount+1
 012C 80910000          lds R24,_timecount
 0130 0197              sbiw R24,1
 0132 282E              mov R2,R24
 0134 392E              mov R3,R25
 0136 30920100          sts _timecount+1,R3
 013A 20920000          sts _timecount,R2
 013E 2220              tst R2
 0140 59F5              brne L19
 0142 3320              tst R3
 0144 49F5              brne L19
 0146                   .dbline 88
                       ;      {
 0146                   .dbline 89
                       ;       CLI();
 0146 F894              cli
 0148                   .dbline 90
                       ;       hextobcd();
 0148 90DF              rcall _hextobcd
 014A                   .dbline 91
                       ;       if (count>999999)
 014A 00E0              ldi R16,<L23
 014C 10E0              ldi R17,>L23
 014E 00D0              rcall lpm32
 0150 50900500          lds R5,_count+2+1
 0154 40900400          lds R4,_count+2
 0158 30900300          lds R3,_count+1
 015C 20900200          lds R2,_count
 0160 0215              cp R16,R2
 0162 1305              cpc R17,R3
 0164 2405              cpc R18,R4
 0166 3505              cpc R19,R5
 0168 28F4              brsh L21
 016A                   .dbline 92
                       ;         ledbuff[0]|=0x80;
 016A 80910000          lds R24,_ledbuff
 016E 8068              ori R24,128
 0170 80930000          sts _ledbuff,R24
 0174                 L21:
 0174                   .dbline 93
                       ;       count=0;
 0174 00E0              ldi R16,<L14
 0176 10E0              ldi R17,>L14
 0178 00D0              rcall lpm32
 017A 10930300          sts _count+1,R17
 017E 00930200          sts _count,R16
 0182 30930500          sts _count+2+1,R19
 0186 20930400          sts _count+2,R18
 018A                   .dbline 94
                       ;       timecount=1000;
 018A 88EE              ldi R24,1000
 018C 93E0              ldi R25,3
 018E 90930100          sts _timecount+1,R25
 0192 80930000          sts _timecount,R24
 0196                   .dbline 95
                       ;       SEI();
 0196 7894              sei
 0198                   .dbline 96
                       ;      }
 0198                 L19:
 0198                   .dbline 97
                       ;     TCNT0=0x84; 
 0198 84E8              ldi R24,132
 019A 82BF              out 0x32,R24
 019C                   .dbline 98}
                       ;    }
 019C                 L18:
 019C 00D0              rcall pop_lset
 019E 1895              reti
 01A0                   .dbfunc s timer1 _timer1 fI
                         .even
 01A0                 _timer1::
 01A0 2A92              st -y,R2
 01A2 3A92              st -y,R3
 01A4 4A92              st -y,R4
 01A6 5A92              st -y,R5
 01A8 0A93              st -y,R16
 01AA 1A93              st -y,R17
 01AC 2A93              st -y,R18
 01AE 3A93              st -y,R19
 01B0 2FB6              in R2,0x3f
 01B2 2A92              st -y,R2
 01B4                   .dbline 103{
                       ; /*****************************
                       ;   T1捕捉中断,完成脉冲计数
                       ; ******************************/   
                       ; void timer1(void)
                       ;    {
 01B4                   .dbline 104
                       ;     count++;
 01B4 00E0              ldi R16,<L25
 01B6 10E0              ldi R17,>L25
 01B8 00D0              rcall lpm32
 01BA 50900500          lds R5,_count+2+1
 01BE 40900400          lds R4,_count+2
 01C2 30900300          lds R3,_count+1
 01C6 20900200          lds R2,_count
 01CA 200E              add R2,R16
 01CC 311E              adc R3,R17
 01CE 421E              adc R4,R18
 01D0 531E              adc R5,R19
 01D2 30920300          sts _count+1,R3
 01D6 20920200          sts _count,R2
 01DA 50920500          sts _count+2+1,R5
 01DE 40920400          sts _count+2,R4
 01E2                   .dbline 105}
                       ;    }   
 01E2                 L24:
 01E2 2990              ld R2,y+
 01E4 2FBE              out 0x3f,R2
 01E6 3991              ld R19,y+
 01E8 2991              ld R18,y+
 01EA 1991              ld R17,y+
 01EC 0991              ld R16,y+
 01EE 5990              ld R5,y+
 01F0 4990              ld R4,y+
 01F2 3990              ld R3,y+
 01F4 2990              ld R2,y+
 01F6 1895              reti
                         .area bss(ram, con, rel)
 0000                   .dbfile D:\ICC-AVR\examples.sl\cymometer\cymometer.c
 0000                 _timecount::
 0000                   .blkb 2
 0002                   .dbsym s timecount _timecount i
 0002                 _count::
 0002                   .blkb 4
 0006                   .dbsym s count _count l
                         .area lit(rom, con, rel)
 0010                 L25:
 0010 01000000          .word 1,0
 0014                 L23:
 0014 3F420F00          .word 16959,15
 0018                 L14:
 0018 00000000          .word 0,0
 001C                 L12:
 001C 0A000000          .word 10,0

⌨️ 快捷键说明

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