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

📄 11.lis

📁 这里有11个用ICCAVR开发的源代码,经DEMO板调试后已经通过.
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 00C8 1AC0              rjmp L10
 00CA           L12:
 00CA                   .dbline 92
 00CA           ;                         else
 00CA           ;                                 PORTB = 0XFB;
 00CA 8BEF              ldi R24,251
 00CC 85B9              out 0x5,R24
 00CE                   .dbline 93
 00CE           ;               }
 00CE 17C0              rjmp L10
 00D0           L9:
 00D0                   .dbline 95
 00D0           ;  else
 00D0           ;        {
 00D0                   .dbline 96
 00D0           ;         i = com;
 00D0 AB01              movw R20,R22
 00D2                   .dbline 97
 00D2           ;         if(i > adc[2])
 00D2 20900400          lds R2,_adc+4
 00D6 30900500          lds R3,_adc+4+1
 00DA 2616              cp R2,R22
 00DC 3706              cpc R3,R23
 00DE 18F4              brsh L14
 00E0                   .dbline 98
 00E0           ;                  PORTB = 0XFD;
 00E0 8DEF              ldi R24,253
 00E2 85B9              out 0x5,R24
 00E4 0CC0              rjmp L15
 00E6           L14:
 00E6                   .dbline 100
 00E6           ;                  else 
 00E6           ;                               {
 00E6                   .dbline 101
 00E6           ;                                if(i>adc[3])
 00E6 20900600          lds R2,_adc+6
 00EA 30900700          lds R3,_adc+6+1
 00EE 2416              cp R2,R20
 00F0 3506              cpc R3,R21
 00F2 18F4              brsh L17
 00F4                   .dbline 102
 00F4           ;                                       PORTB = 0XFE;
 00F4 8EEF              ldi R24,254
 00F6 85B9              out 0x5,R24
 00F8 02C0              rjmp L18
 00FA           L17:
 00FA                   .dbline 104
 00FA           ;                                else 
 00FA           ;                                         PORTB = 0XFF;
 00FA 8FEF              ldi R24,255
 00FC 85B9              out 0x5,R24
 00FE           L18:
 00FE                   .dbline 105
 00FE           ;                               }
 00FE           L15:
 00FE                   .dbline 106
 00FE           ;        }              
 00FE           L10:
 00FE                   .dbline 107
 00FE           L7:
 00FE                   .dbline 83
 00FE 20900200          lds R2,_bjz
 0102 30900300          lds R3,_bjz+1
 0106 2616              cp R2,R22
 0108 3706              cpc R3,R23
 010A 51F6              brne L6
 010C                   .dbline -2
 010C           L5:
 010C 00D0              rcall pop_gset2
 010E                   .dbline 0 ; func end
 010E 0895              ret
 0110                   .dbsym r i 20 i
 0110                   .dbsym r com 22 i
 0110                   .dbend
 0110                   .dbfunc e delay_us _delay_us fV
 0110           ;           time -> R16,R17
                        .even
 0110           _delay_us::
 0110                   .dbline -1
 0110                   .dbline 111
 0110           ;   }           
 0110           ; }
 0110           ; 
 0110           ; void delay_us(int time)
 0110           ; {   //微秒延时  
 0110           L21:
 0110                   .dbline 113
 0110           ;  do
 0110           ;  {
 0110                   .dbline 114
 0110           ;   time--;
 0110 0150              subi R16,1
 0112 1040              sbci R17,0
 0114                   .dbline 115
 0114           ;  }    
 0114           L22:
 0114                   .dbline 116
 0114           ;   while (time>1);
 0114 81E0              ldi R24,1
 0116 90E0              ldi R25,0
 0118 8017              cp R24,R16
 011A 9107              cpc R25,R17
 011C CCF3              brlt L21
 011E                   .dbline -2
 011E           L20:
 011E                   .dbline 0 ; func end
 011E 0895              ret
 0120                   .dbsym r time 16 I
 0120                   .dbend
 0120                   .dbfunc e delay_ms _delay_ms fV
 0120           ;           time -> R20,R21
                        .even
 0120           _delay_ms::
 0120 00D0              rcall push_gset1
 0122 A801              movw R20,R16
 0124                   .dbline -1
 0124                   .dbline 120
 0124           ; }       
 0124           ; 
 0124           ; void delay_ms(unsigned int time)
 0124           ; {   //毫秒延时
 0124 05C0              rjmp L26
 0126           L25:
 0126                   .dbline 122
 0126                   .dbline 123
 0126 08EE              ldi R16,1000
 0128 13E0              ldi R17,3
 012A F2DF              rcall _delay_us
 012C                   .dbline 124
 012C 4150              subi R20,1
 012E 5040              sbci R21,0
 0130                   .dbline 125
 0130           L26:
 0130                   .dbline 121
 0130           ;  while(time!=0)
 0130 4030              cpi R20,0
 0132 4507              cpc R20,R21
 0134 C1F7              brne L25
 0136           X0:
 0136                   .dbline -2
 0136           L24:
 0136 00D0              rcall pop_gset1
 0138                   .dbline 0 ; func end
 0138 0895              ret
 013A                   .dbsym r time 20 i
 013A                   .dbend
 013A                   .dbfunc e alarm _alarm fV
                        .even
 013A           _alarm::
 013A                   .dbline -1
 013A                   .dbline 131
 013A           ;  {            
 013A           ;   delay_us(1000);
 013A           ;   time--;
 013A           ;  }
 013A           ; }
 013A           ; 
 013A           ; 
 013A           ; /*报警函数*/
 013A           ; void alarm(void)
 013A           ; {
 013A 15C0              rjmp L30
 013C           L29:
 013C                   .dbline 132
 013C           ;  while(1){
 013C                   .dbline 134
 013C           ;  //i=PIND&0x04;                 //读出PD2口状态
 013C           ;  if(adc_old >= adc[0])
 013C 20900000          lds R2,_adc
 0140 30900100          lds R3,_adc+1
 0144 40900400          lds R4,_adc_old
 0148 50900500          lds R5,_adc_old+1
 014C 4214              cp R4,R2
 014E 5304              cpc R5,R3
 0150 40F0              brlo L32
 0152                   .dbline 135
 0152           ;        {PORTD^=0x08;
 0152                   .dbline 135
 0152 88E0              ldi R24,8
 0154 2BB0              in R2,0xb
 0156 2826              eor R2,R24
 0158 2BB8              out 0xb,R2
 015A                   .dbline 136
 015A           ;        delay_ms(100);
 015A 04E6              ldi R16,100
 015C 10E0              ldi R17,0
 015E E0DF              rcall _delay_ms
 0160                   .dbline 137
 0160           ;        }
 0160 02C0              rjmp L33
 0162           L32:
 0162                   .dbline 139
 0162           ;  else
 0162           ;        PORTD=0XFF; 
 0162 8FEF              ldi R24,255
 0164 8BB9              out 0xb,R24
 0166           L33:
 0166                   .dbline 140
 0166           L30:
 0166                   .dbline 132
 0166 EACF              rjmp L29
 0168           X1:
 0168                   .dbline -2
 0168           L28:
 0168                   .dbline 0 ; func end
 0168 0895              ret
 016A                   .dbend
 016A                   .dbfunc e main _main fV
                        .even
 016A           _main::
 016A                   .dbline -1
 016A                   .dbline 144
 016A           ;  }
 016A           ; }
 016A           ; 
 016A           ; void   main()
 016A           ; {
 016A                   .dbline 145
 016A           ;  init_devices();
 016A 7DDF              rcall _init_devices
 016C 15C0              rjmp L36
 016E           L35:
 016E                   .dbline 146
 016E           ;  while(1){
 016E                   .dbline 147
 016E           ;                 if(adc_w != adc_old){
 016E 20900400          lds R2,_adc_old
 0172 30900500          lds R3,_adc_old+1
 0176 40900600          lds R4,_adc_w
 017A 50900700          lds R5,_adc_w+1
 017E 4214              cp R4,R2
 0180 5304              cpc R5,R3
 0182 51F0              breq L38
 0184                   .dbline 147
 0184                   .dbline 148
 0184           ;                                                          adc_old = adc_w;
 0184 1201              movw R2,R4
 0186 30920500          sts _adc_old+1,R3
 018A 20920400          sts _adc_old,R2
 018E                   .dbline 149
 018E           ;                                                          display(adc_old);
 018E 00910400          lds R16,_adc_old
 0192 10910500          lds R17,_adc_old+1
 0196 81DF              rcall _display
 0198                   .dbline 150
 0198           ;                                                          }
 0198           L38:
 0198                   .dbline 151
 0198           L36:
 0198                   .dbline 146
 0198 EACF              rjmp L35
 019A           X2:
 019A                   .dbline -2
 019A           L34:
 019A                   .dbline 0 ; func end
 019A 0895              ret
 019C                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile D:\xij\demo\demo_diy02-8a\1\C语言\02-8a-11\11.c
 0000           _ad_low::
 0000                   .blkb 1
 0001                   .dbsym e ad_low _ad_low c
 0001           _ad_high::
 0001                   .blkb 1
 0002                   .dbsym e ad_high _ad_high c
 0002           _bjz::
 0002                   .blkb 2
 0004                   .dbsym e bjz _bjz i
 0004           _adc_old::
 0004                   .blkb 2
 0006                   .dbsym e adc_old _adc_old i
 0006           _adc_w::
 0006                   .blkb 2
 0008                   .dbsym e adc_w _adc_w i

⌨️ 快捷键说明

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