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

📄 cymometer.lst

📁 AVR单片机例程
💻 LST
📖 第 1 页 / 共 2 页
字号:
 00A8  933A              st -y,R19
 00A9  932A              st -y,R18
 00AA  931A              st -y,R17
 00AB  930A              st -y,R16
 00AC  2D02              mov R16,R2
 00AD  2D13              mov R17,R3
 00AE  2D24              mov R18,R4
 00AF  2D35              mov R19,R5
 00B0  D150              rcall div32u
 00B1  93100069          sts _count+1,R17
 00B3  93000068          sts _count,R16
 00B5  9330006B          sts _count+2+1,R19
 00B7  9320006A          sts _count+2,R18
 00B9                    .dbline 65
 00B9                  L9:
 00B9                    .dbline 61
 00B9  94C3              inc R12
 00BA                  L11:
 00BA                    .dbline 61
 00BA  2D8C              mov R24,R12
 00BB  3086              cpi R24,6
 00BC  F408              brsh X0
 00BD  CFBA              rjmp L8
 00BE                  X0:
 00BE                    .dbline 66}
                       ;   {temp=count%10;
                       ;    ledbuff[i]=tabel[temp];
                       ;    count=count/10;
                       ;   }  
                       ; }
 00BE                  L7:
 00BE  D0E5              rcall pop_gset4
 00BF  9508              ret
 00C0                    .dbsym r temp 10 c
 00C0                    .dbsym r i 12 c
 00C0                    .dbfunc s main _main fI
                       ;              j -> <dead>
                       ;              i -> <dead>
                         .even
 00C0                  _main::
 00C0                    .dbline 71{
                       ; /*****************************
                       ;         主程序
                       ; ******************************/
                       ; void main(void)
                       ; {
 00C0                    .dbline 73
                       ;  unsigned char i,j;
                       ;  MCUCR=0;
 00C0  2422              clr R2
 00C1  BE25              out 0x35,R2
 00C2                    .dbline 74
                       ;  port_init(); //端口初始化
 00C2  DF7D              rcall _port_init
 00C3                    .dbline 75
                       ;  count=0;
 00C3  E302              ldi R16,<L14
 00C4  E010              ldi R17,>L14
 00C5  D0E0              rcall lpm32
 00C6  93100069          sts _count+1,R17
 00C8  93000068          sts _count,R16
 00CA  9330006B          sts _count+2+1,R19
 00CC  9320006A          sts _count+2,R18
 00CE                    .dbline 76
                       ;  SEI();
 00CE  9478              sei
 00CF  C001              rjmp L16
 00D0                  L15:
 00D0                    .dbline 78
 00D0                    .dbline 79
 00D0  DF87              rcall _display
 00D1                    .dbline 80
 00D1                  L16:
 00D1                    .dbline 77
                       ;  while(1)
 00D1  CFFE              rjmp L15
 00D2                  X1:
 00D2                    .dbline 81}
                       ;   {
                       ;    display();
                       ;   }
                       ; }
 00D2                  L13:
 00D2  9508              ret
 00D3                    .dbsym l j 1 c
 00D3                    .dbsym l i 1 c
 00D3                    .dbfunc s timer0 _timer0 fI
                         .even
 00D3                  _timer0::
 00D3  D080              rcall push_lset
 00D4                    .dbline 86{
                       ; /**************************************
                       ;  T0溢出中断,完成测量闸门控制和数字转换
                       ; ***************************************/
                       ; void timer0(void)
                       ;    {
 00D4                    .dbline 87
                       ;     if (--timecount==0)
 00D4  91900067          lds R25,_timecount+1
 00D6  91800066          lds R24,_timecount
 00D8  9701              sbiw R24,1
 00D9  2E28              mov R2,R24
 00DA  2E39              mov R3,R25
 00DB  92300067          sts _timecount+1,R3
 00DD  92200066          sts _timecount,R2
 00DF  2022              tst R2
 00E0  F559              brne L19
 00E1  2033              tst R3
 00E2  F549              brne L19
 00E3                    .dbline 88
                       ;      {
 00E3                    .dbline 89
                       ;       CLI();
 00E3  94F8              cli
 00E4                    .dbline 90
                       ;       hextobcd();
 00E4  DF90              rcall _hextobcd
 00E5                    .dbline 91
                       ;       if (count>999999)
 00E5  E20E              ldi R16,<L23
 00E6  E010              ldi R17,>L23
 00E7  D0BE              rcall lpm32
 00E8  9050006B          lds R5,_count+2+1
 00EA  9040006A          lds R4,_count+2
 00EC  90300069          lds R3,_count+1
 00EE  90200068          lds R2,_count
 00F0  1502              cp R16,R2
 00F1  0513              cpc R17,R3
 00F2  0524              cpc R18,R4
 00F3  0535              cpc R19,R5
 00F4  F428              brsh L21
 00F5                    .dbline 92
                       ;         ledbuff[0]|=0x80;
 00F5  91800060          lds R24,_ledbuff
 00F7  6880              ori R24,128
 00F8  93800060          sts _ledbuff,R24
 00FA                  L21:
 00FA                    .dbline 93
                       ;       count=0;
 00FA  E302              ldi R16,<L14
 00FB  E010              ldi R17,>L14
 00FC  D0A9              rcall lpm32
 00FD  93100069          sts _count+1,R17
 00FF  93000068          sts _count,R16
 0101  9330006B          sts _count+2+1,R19
 0103  9320006A          sts _count+2,R18
 0105                    .dbline 94
                       ;       timecount=1000;
 0105  EE88              ldi R24,1000
 0106  E093              ldi R25,3
 0107  93900067          sts _timecount+1,R25
 0109  93800066          sts _timecount,R24
 010B                    .dbline 95
                       ;       SEI();
 010B  9478              sei
 010C                    .dbline 96
                       ;      }
 010C                  L19:
 010C                    .dbline 97
                       ;     TCNT0=0x84; 
 010C  E884              ldi R24,132
 010D  BF82              out 0x32,R24
 010E                    .dbline 98}
                       ;    }
 010E                  L18:
 010E  D05C              rcall pop_lset
 010F  9518              reti
 0110                    .dbfunc s timer1 _timer1 fI
                         .even
 0110                  _timer1::
 0110  922A              st -y,R2
 0111  923A              st -y,R3
 0112  924A              st -y,R4
 0113  925A              st -y,R5
 0114  930A              st -y,R16
 0115  931A              st -y,R17
 0116  932A              st -y,R18
 0117  933A              st -y,R19
 0118  B62F              in R2,0x3f
 0119  922A              st -y,R2
 011A                    .dbline 103{
                       ; /*****************************
                       ;   T1捕捉中断,完成脉冲计数
                       ; ******************************/   
                       ; void timer1(void)
                       ;    {
 011A                    .dbline 104
                       ;     count++;
 011A  E20A              ldi R16,<L25
 011B  E010              ldi R17,>L25
 011C  D089              rcall lpm32
 011D  9050006B          lds R5,_count+2+1
 011F  9040006A          lds R4,_count+2
 0121  90300069          lds R3,_count+1
 0123  90200068          lds R2,_count
 0125  0E20              add R2,R16
 0126  1E31              adc R3,R17
 0127  1E42              adc R4,R18
 0128  1E53              adc R5,R19
 0129  92300069          sts _count+1,R3
 012B  92200068          sts _count,R2
 012D  9250006B          sts _count+2+1,R5
 012F  9240006A          sts _count+2,R4
 0131                    .dbline 105}
                       ;    }   
 0131                  L24:
 0131  9029              ld R2,y+
 0132  BE2F              out 0x3f,R2
 0133  9139              ld R19,y+
 0134  9129              ld R18,y+
 0135  9119              ld R17,y+
 0136  9109              ld R16,y+
 0137  9059              ld R5,y+
 0138  9049              ld R4,y+
 0139  9039              ld R3,y+
 013A  9029              ld R2,y+
 013B  9518              reti
                         .area bss(ram, con, rel)
--- 0000                   .dbfile D:\ICC-AVR\examples.sl\cymometer\cymometer.c
 0033                  _timecount::
 0033                    .blkb 2
 0034                    .dbsym s timecount _timecount i
 0034                  _count::
 0034                    .blkb 4
 0036                    .dbsym s count _count l
                         .area lit(rom, con, rel)
--- 0008                 L25:
--- 0008 01000000          .word 1,0
--- 000A                 L23:
--- 000A 3F420F00          .word 16959,15
--- 000C                 L14:
--- 000C 00000000          .word 0,0
--- 000E                 L12:
--- 000E 0A000000          .word 10,0
                         .module delay.c
                         .area text(rom, con, rel)
--- 0000                   .dbfile D:\ICC-AVR\examples.sl\cymometer\delay.c
--- 0000                   .dbfunc s delay_1ms _delay_1ms fI
                       ;              i -> R16,R17
                         .even
 013C                  _delay_1ms::
 013C                    .dbline 10{
                       ; /****************************************/
                       ; /*  延时函数(mS),在本文件中应定义:xtal

⌨️ 快捷键说明

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