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

📄 main.lis

📁 用的avr icc 开发的atmega16的超声波测距仪模型。
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 0126           ;        
 0126           ;        ASCII_T[0]='0'+temprature/1000;
 0126 28EE              ldi R18,1000
 0128 33E0              ldi R19,3
 012A 00910300          lds R16,_temprature
 012E 10910400          lds R17,_temprature+1
 0132 0E940000          xcall div16u
 0136 C801              movw R24,R16
 0138 C096              adiw R24,48
 013A 80930400          sts _ASCII_T,R24
 013E                   .dbline 62
 013E           ;        temprature%=1000;
 013E 28EE              ldi R18,1000
 0140 33E0              ldi R19,3
 0142 00910300          lds R16,_temprature
 0146 10910400          lds R17,_temprature+1
 014A 0E940000          xcall mod16u
 014E 10930400          sts _temprature+1,R17
 0152 00930300          sts _temprature,R16
 0156                   .dbline 63
 0156           ;         ASCII_T[1]='0'+temprature/100;
 0156 24E6              ldi R18,100
 0158 30E0              ldi R19,0
 015A 0E940000          xcall div16u
 015E C801              movw R24,R16
 0160 C096              adiw R24,48
 0162 80930500          sts _ASCII_T+1,R24
 0166                   .dbline 64
 0166           ;        temprature%=100;
 0166 24E6              ldi R18,100
 0168 30E0              ldi R19,0
 016A 00910300          lds R16,_temprature
 016E 10910400          lds R17,_temprature+1
 0172 0E940000          xcall mod16u
 0176 10930400          sts _temprature+1,R17
 017A 00930300          sts _temprature,R16
 017E                   .dbline 65
 017E           ;         ASCII_T[2]='0'+temprature/10;
 017E 2AE0              ldi R18,10
 0180 30E0              ldi R19,0
 0182 0E940000          xcall div16u
 0186 C801              movw R24,R16
 0188 C096              adiw R24,48
 018A 80930600          sts _ASCII_T+2,R24
 018E                   .dbline 66
 018E           ;        temprature%=10;
 018E 2AE0              ldi R18,10
 0190 30E0              ldi R19,0
 0192 00910300          lds R16,_temprature
 0196 10910400          lds R17,_temprature+1
 019A 0E940000          xcall mod16u
 019E 10930400          sts _temprature+1,R17
 01A2 00930300          sts _temprature,R16
 01A6                   .dbline 67
 01A6           ;         ASCII_T[3]='0'+temprature;
 01A6 C801              movw R24,R16
 01A8 C096              adiw R24,48
 01AA 80930700          sts _ASCII_T+3,R24
 01AE                   .dbline 68
 01AE           ;        LCD_Cursor(1,9);
 01AE 29E0              ldi R18,9
 01B0 01E0              ldi R16,1
 01B2 0E940000          xcall _LCD_Cursor
 01B6                   .dbline 69
 01B6           ;        LCD_DisplayCharacter(ASCII_T[0]);      //100BIT
 01B6 00910400          lds R16,_ASCII_T
 01BA 0E940000          xcall _LCD_DisplayCharacter
 01BE                   .dbline 70
 01BE           ;        LCD_Cursor(1,10);
 01BE 2AE0              ldi R18,10
 01C0 01E0              ldi R16,1
 01C2 0E940000          xcall _LCD_Cursor
 01C6                   .dbline 71
 01C6           ;        LCD_DisplayCharacter(ASCII_T[1]);      //10BIT
 01C6 00910500          lds R16,_ASCII_T+1
 01CA 0E940000          xcall _LCD_DisplayCharacter
 01CE                   .dbline 72
 01CE           ;        LCD_Cursor(1,11);
 01CE 2BE0              ldi R18,11
 01D0 01E0              ldi R16,1
 01D2 0E940000          xcall _LCD_Cursor
 01D6                   .dbline 73
 01D6           ;        LCD_DisplayCharacter(ASCII_T[2]);      //1BIT
 01D6 00910600          lds R16,_ASCII_T+2
 01DA 0E940000          xcall _LCD_DisplayCharacter
 01DE                   .dbline 74
 01DE           ;        LCD_Cursor(1,12);
 01DE 2CE0              ldi R18,12
 01E0 01E0              ldi R16,1
 01E2 0E940000          xcall _LCD_Cursor
 01E6                   .dbline 75
 01E6           ;        LCD_DisplayCharacter('.');// . BIT     
 01E6 0EE2              ldi R16,46
 01E8 0E940000          xcall _LCD_DisplayCharacter
 01EC                   .dbline 76
 01EC           ;        LCD_Cursor(1,13);
 01EC 2DE0              ldi R18,13
 01EE 01E0              ldi R16,1
 01F0 0E940000          xcall _LCD_Cursor
 01F4                   .dbline 77
 01F4           ;        LCD_DisplayCharacter(ASCII_T[0]);//0.1BIT                       
 01F4 00910400          lds R16,_ASCII_T
 01F8 0E940000          xcall _LCD_DisplayCharacter
 01FC                   .dbline 78
 01FC           ;      LCD_Cursor(1,14);
 01FC 2EE0              ldi R18,14
 01FE 01E0              ldi R16,1
 0200 0E940000          xcall _LCD_Cursor
 0204                   .dbline 79
 0204           ;        LCD_DisplayCharacter('`');     //UNIT
 0204 00E6              ldi R16,96
 0206 0E940000          xcall _LCD_DisplayCharacter
 020A                   .dbline 80
 020A           ;        LCD_DisplayCharacter('C');     //UNIT
 020A 03E4              ldi R16,67
 020C                   .dbline -2
 020C                   .dbline 81
 020C           ;   }
 020C           L3:
 020C                   .dbline 0 ; func end
 020C 0C940000          xjmp _LCD_DisplayCharacter
 0210                   .dbend
 0210                   .dbfunc e main _main fV
                        .even
 0210           _main::
 0210 2297              sbiw R28,2
 0212                   .dbline -1
 0212                   .dbline 84
 0212           ; 
 0212           ; void main(void)
 0212           ;  {  //initial and the picture of starting work 
 0212                   .dbline 85
 0212           ;     init_devices();
 0212 04DF              xcall _init_devices
 0214                   .dbline 86
 0214           ;     LCD_DisplayString(1,2,"NOW");
 0214 80E0              ldi R24,<L14
 0216 90E0              ldi R25,>L14
 0218 9983              std y+1,R25
 021A 8883              std y+0,R24
 021C 22E0              ldi R18,2
 021E 01E0              ldi R16,1
 0220 0E940000          xcall _LCD_DisplayString
 0224                   .dbline 87
 0224           ;       LCD_DisplayString(2,1,"  ULTRASONIC ");
 0224 80E0              ldi R24,<L15
 0226 90E0              ldi R25,>L15
 0228 9983              std y+1,R25
 022A 8883              std y+0,R24
 022C 21E0              ldi R18,1
 022E 02E0              ldi R16,2
 0230 0E940000          xcall _LCD_DisplayString
 0234                   .dbline 88
 0234           ;       display_temprature();
 0234 00DF              xcall _display_temprature
 0236                   .dbline 89
 0236           ;     delay_nms(3000);
 0236 08EB              ldi R16,3000
 0238 1BE0              ldi R17,11
 023A 0E940000          xcall _delay_nms
 023E                   .dbline 90
 023E           ;       ClearLine(2);
 023E 02E0              ldi R16,2
 0240 0E940000          xcall _ClearLine
 0244 1FC0              xjmp L17
 0246           L16:
 0246                   .dbline 92
 0246                   .dbline 93
 0246 F7DE              xcall _display_temprature
 0248                   .dbline 95
 0248 80E0              ldi R24,<L19
 024A 90E0              ldi R25,>L19
 024C 9983              std y+1,R25
 024E 8883              std y+0,R24
 0250 21E0              ldi R18,1
 0252 01E0              ldi R16,1
 0254 0E940000          xcall _LCD_DisplayString
 0258                   .dbline 96
 0258 2224              clr R2
 025A 29BE              out 0x39,R2
 025C                   .dbline 97
 025C 00E1              ldi R16,16
 025E 10E0              ldi R17,0
 0260 0E940000          xcall _pwm_40KHz
 0264                   .dbline 98
 0264 0E940000          xcall _timer1_start
 0268                   .dbline 99
 0268 08E0              ldi R16,8
 026A 10E0              ldi R17,0
 026C 0E940000          xcall _pwm_20KHz
 0270                   .dbline 100
 0270 05E0              ldi R16,5
 0272 10E0              ldi R17,0
 0274 0E940000          xcall _delay_nms
 0278                   .dbline 101
 0278 84E2              ldi R24,36
 027A 89BF              out 0x39,R24
 027C                   .dbline 102
 027C 08EC              ldi R16,200
 027E 10E0              ldi R17,0
 0280 0E940000          xcall _delay_nms
 0284                   .dbline 103
 0284           L17:
 0284                   .dbline 91
 0284 E0CF              xjmp L16
 0286           X0:
 0286                   .dbline -2
 0286                   .dbline 104
 0286           ;   while(1)
 0286           ;    {    
 0286           ;           display_temprature();
 0286           ;               
 0286           ;           LCD_DisplayString(1,1,"40KHz");
 0286           ;               TIMSK = 0x00; //delay for voiding  self noise 
 0286           ;               pwm_40KHz(16);
 0286           ;         timer1_start();
 0286           ;               pwm_20KHz(8);
 0286           ;               delay_nms(5);//lenth shoud far more than 1m for self noise
 0286           ;               TIMSK = 0x24; //OVR(0x04)+ICP(0x20) interrupt sources
 0286           ;               delay_nms(200);// one frush per second
 0286           ;   }
 0286           ; }  
 0286           L13:
 0286 2296              adiw R28,2
 0288                   .dbline 0 ; func end
 0288 0895              ret
 028A                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile D:\NEW\ECHO\main.c
 0000           _speed::
 0000                   .blkb 2
 0002                   .dbfile D:\NEW\ECHO/main.h
 0002                   .dbsym e speed _speed i
 0002           _temprature_flag::
 0002                   .blkb 1
 0003                   .dbsym e temprature_flag _temprature_flag c
 0003           _temprature::
 0003                   .blkb 2
 0005                   .dbsym e temprature _temprature i
                        .area data(ram, con, rel)
 0008                   .dbfile D:\NEW\ECHO/main.h
 0008           L19:
 0008                   .blkb 6
                        .area idata
 0008 34304B487A00      .byte 52,48,'K,'H,'z,0
                        .area data(ram, con, rel)
 000E                   .dbfile D:\NEW\ECHO/main.h
 000E           L15:
 000E                   .blkb 14
                        .area idata
 000E 2020554C545241534F4E49432000      .byte 32,32,'U,'L,'T,'R,'A,'S,'O,'N,'I,'C,32,0
                        .area data(ram, con, rel)
 001C                   .dbfile D:\NEW\ECHO/main.h
 001C           L14:
 001C                   .blkb 4
                        .area idata
 001C 4E4F5700          .byte 'N,'O,'W,0
                        .area data(ram, con, rel)
 0020                   .dbfile D:\NEW\ECHO/main.h

⌨️ 快捷键说明

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