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

📄 1.lis

📁 在车头有4个光敏电阻做的寻找光源的小车程序 具有笔战功能 ICC-AVR ATmega16L 做的控制器 找到光源后停车
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 025A           ; unsigned char *Format(unsigned char data,unsigned char *str)
 025A           ; {  
 025A                   .dbline 142
 025A           ;   str[0]=tab[(data/10)%10];
 025A 2AE0              ldi R18,10
 025C 30E0              ldi R19,0
 025E 0A2D              mov R16,R10
 0260 1127              clr R17
 0262 0E940000          xcall div16s
 0266 2AE0              ldi R18,10
 0268 30E0              ldi R19,0
 026A 0E940000          xcall mod16s
 026E F801              movw R30,R16
 0270 80E0              ldi R24,<_tab
 0272 90E0              ldi R25,>_tab
 0274 E80F              add R30,R24
 0276 F91F              adc R31,R25
 0278 2080              ldd R2,z+0
 027A FA01              movw R30,R20
 027C 2082              std z+0,R2
 027E                   .dbline 143
 027E           ;   str[1]=tab[data%10];
 027E 2AE0              ldi R18,10
 0280 30E0              ldi R19,0
 0282 0A2D              mov R16,R10
 0284 1127              clr R17
 0286 0E940000          xcall mod16s
 028A F801              movw R30,R16
 028C 80E0              ldi R24,<_tab
 028E 90E0              ldi R25,>_tab
 0290 E80F              add R30,R24
 0292 F91F              adc R31,R25
 0294 2080              ldd R2,z+0
 0296 FA01              movw R30,R20
 0298 2182              std z+1,R2
 029A                   .dbline 144
 029A           ;   return str; 
 029A 8F01              movw R16,R30
 029C                   .dbline -2
 029C           L29:
 029C                   .dbline 0 ; func end
 029C 0C940000          xjmp pop_xgset300C
 02A0                   .dbsym r str 20 pc
 02A0                   .dbsym r data 10 c
 02A0                   .dbend
 02A0                   .dbfunc e LCD_write_shu _LCD_write_shu fV
 02A0           ;            wei -> R12,R13
 02A0           ;            shi -> R14,R15
 02A0           ;            bai -> R22,R23
 02A0           ;           qian -> R20,R21
 02A0           ;            wan -> R10,R11
 02A0           ;              n -> R12,R13
 02A0           ;              t -> y+13
 02A0           ;              x -> y+11
                        .even
 02A0           _LCD_write_shu::
 02A0 0E940000          xcall push_arg4
 02A4 0E940000          xcall push_xgsetF0FC
 02A8 2197              sbiw R28,1
 02AA CF84              ldd R12,y+15
 02AC D888              ldd R13,y+16
 02AE                   .dbline -1
 02AE                   .dbline 148
 02AE           ;  }
 02AE           ; 
 02AE           ; void LCD_write_shu(unsigned int x,unsigned int t,unsigned int n)
 02AE           ; {
 02AE                   .dbline 154
 02AE           ;   unsigned int wan;
 02AE           ;   unsigned int qian;
 02AE           ;   unsigned int bai;
 02AE           ;   unsigned int shi;
 02AE           ;   unsigned int wei;
 02AE           ;   wan=n/10000;
 02AE 20E1              ldi R18,10000
 02B0 37E2              ldi R19,39
 02B2 8601              movw R16,R12
 02B4 0E940000          xcall div16u
 02B8 5801              movw R10,R16
 02BA                   .dbline 155
 02BA           ;   qian=(n-wan*10000)/1000;
 02BA 00E1              ldi R16,10000
 02BC 17E2              ldi R17,39
 02BE 9501              movw R18,R10
 02C0 0E940000          xcall empy16s
 02C4 1801              movw R2,R16
 02C6 8601              movw R16,R12
 02C8 0219              sub R16,R2
 02CA 1309              sbc R17,R3
 02CC 28EE              ldi R18,1000
 02CE 33E0              ldi R19,3
 02D0 0E940000          xcall div16u
 02D4 A801              movw R20,R16
 02D6                   .dbline 156
 02D6           ;   bai=(n-wan*10000-qian*1000)/100;
 02D6 00E1              ldi R16,10000
 02D8 17E2              ldi R17,39
 02DA 9501              movw R18,R10
 02DC 0E940000          xcall empy16s
 02E0 1601              movw R2,R12
 02E2 201A              sub R2,R16
 02E4 310A              sbc R3,R17
 02E6 08EE              ldi R16,1000
 02E8 13E0              ldi R17,3
 02EA 9A01              movw R18,R20
 02EC 0E940000          xcall empy16s
 02F0 201A              sub R2,R16
 02F2 310A              sbc R3,R17
 02F4 24E6              ldi R18,100
 02F6 30E0              ldi R19,0
 02F8 8101              movw R16,R2
 02FA 0E940000          xcall div16u
 02FE B801              movw R22,R16
 0300                   .dbline 157
 0300           ;   shi=(n-wan*10000-qian*1000-bai*100)/10;
 0300 00E1              ldi R16,10000
 0302 17E2              ldi R17,39
 0304 9501              movw R18,R10
 0306 0E940000          xcall empy16s
 030A 1601              movw R2,R12
 030C 201A              sub R2,R16
 030E 310A              sbc R3,R17
 0310 08EE              ldi R16,1000
 0312 13E0              ldi R17,3
 0314 9A01              movw R18,R20
 0316 0E940000          xcall empy16s
 031A 201A              sub R2,R16
 031C 310A              sbc R3,R17
 031E 04E6              ldi R16,100
 0320 10E0              ldi R17,0
 0322 9B01              movw R18,R22
 0324 0E940000          xcall empy16s
 0328 201A              sub R2,R16
 032A 310A              sbc R3,R17
 032C 2AE0              ldi R18,10
 032E 30E0              ldi R19,0
 0330 8101              movw R16,R2
 0332 0E940000          xcall div16u
 0336 7801              movw R14,R16
 0338                   .dbline 158
 0338           ;   wei=(n-wan*10000-qian*1000-bai*100-shi*10);
 0338 00E1              ldi R16,10000
 033A 17E2              ldi R17,39
 033C 9501              movw R18,R10
 033E 0E940000          xcall empy16s
 0342 1601              movw R2,R12
 0344 201A              sub R2,R16
 0346 310A              sbc R3,R17
 0348 08EE              ldi R16,1000
 034A 13E0              ldi R17,3
 034C 9A01              movw R18,R20
 034E 0E940000          xcall empy16s
 0352 201A              sub R2,R16
 0354 310A              sbc R3,R17
 0356 04E6              ldi R16,100
 0358 10E0              ldi R17,0
 035A 9B01              movw R18,R22
 035C 0E940000          xcall empy16s
 0360 201A              sub R2,R16
 0362 310A              sbc R3,R17
 0364 0AE0              ldi R16,10
 0366 10E0              ldi R17,0
 0368 9701              movw R18,R14
 036A 0E940000          xcall empy16s
 036E 201A              sub R2,R16
 0370 310A              sbc R3,R17
 0372 6101              movw R12,R2
 0374                   .dbline 159
 0374           ;   LCD_write_char(x++,t,tab[wan]);
 0374 80E0              ldi R24,<_tab
 0376 90E0              ldi R25,>_tab
 0378 F501              movw R30,R10
 037A E80F              add R30,R24
 037C F91F              adc R31,R25
 037E 2080              ldd R2,z+0
 0380 2882              std y+0,R2
 0382 2D85              ldd R18,y+13
 0384 2B84              ldd R2,y+11
 0386 3C84              ldd R3,y+12
 0388 C101              movw R24,R2
 038A 0196              adiw R24,1
 038C 9C87              std y+12,R25
 038E 8B87              std y+11,R24
 0390 022D              mov R16,R2
 0392 2BDF              xcall _LCD_write_char
 0394                   .dbline 160
 0394           ;   LCD_write_char(x++,t,tab[qian]);
 0394 80E0              ldi R24,<_tab
 0396 90E0              ldi R25,>_tab
 0398 FA01              movw R30,R20
 039A E80F              add R30,R24
 039C F91F              adc R31,R25
 039E 2080              ldd R2,z+0
 03A0 2882              std y+0,R2
 03A2 2D85              ldd R18,y+13
 03A4 2B84              ldd R2,y+11
 03A6 3C84              ldd R3,y+12
 03A8 C101              movw R24,R2
 03AA 0196              adiw R24,1
 03AC 9C87              std y+12,R25
 03AE 8B87              std y+11,R24
 03B0 022D              mov R16,R2
 03B2 1BDF              xcall _LCD_write_char
 03B4                   .dbline 161
 03B4           ;   LCD_write_char(x++,t,tab[bai]);
 03B4 80E0              ldi R24,<_tab
 03B6 90E0              ldi R25,>_tab
 03B8 FB01              movw R30,R22
 03BA E80F              add R30,R24
 03BC F91F              adc R31,R25
 03BE 2080              ldd R2,z+0
 03C0 2882              std y+0,R2
 03C2 2D85              ldd R18,y+13
 03C4 6B85              ldd R22,y+11
 03C6 7C85              ldd R23,y+12
 03C8 CB01              movw R24,R22
 03CA 0196              adiw R24,1
 03CC 9C87              std y+12,R25
 03CE 8B87              std y+11,R24
 03D0 062F              mov R16,R22
 03D2 0BDF              xcall _LCD_write_char
 03D4                   .dbline 162
 03D4           ;   LCD_write_char(x++,t,tab[shi]);
 03D4 80E0              ldi R24,<_tab
 03D6 90E0              ldi R25,>_tab
 03D8 F701              movw R30,R14
 03DA E80F              add R30,R24
 03DC F91F              adc R31,R25
 03DE 2080              ldd R2,z+0
 03E0 2882              std y+0,R2
 03E2 2D85              ldd R18,y+13
 03E4 6B85              ldd R22,y+11
 03E6 7C85              ldd R23,y+12
 03E8 CB01              movw R24,R22
 03EA 0196              adiw R24,1
 03EC 9C87              std y+12,R25
 03EE 8B87              std y+11,R24
 03F0 062F              mov R16,R22
 03F2 FBDE              xcall _LCD_write_char
 03F4                   .dbline 163
 03F4           ;   LCD_write_char(x,t,tab[wei]); 
 03F4 80E0              ldi R24,<_tab
 03F6 90E0              ldi R25,>_tab
 03F8 F601              movw R30,R12
 03FA E80F              add R30,R24
 03FC F91F              adc R31,R25
 03FE 2080              ldd R2,z+0
 0400 2882              std y+0,R2
 0402 2D85              ldd R18,y+13
 0404 0B85              ldd R16,y+11
 0406 F1DE              xcall _LCD_write_char
 0408                   .dbline 164
 0408           ;   x=0;
 0408 0024              clr R0
 040A 1124              clr R1
 040C 1C86              std y+12,R1
 040E 0B86              std y+11,R0
 0410                   .dbline -2
 0410           L30:
 0410                   .dbline 0 ; func end
 0410 2196              adiw R28,1
 0412 0E940000          xcall pop_xgsetF0FC
 0416 2496              adiw R28,4
 0418 0895              ret
 041A                   .dbsym r wei 12 i
 041A                   .dbsym r shi 14 i
 041A                   .dbsym r bai 22 i
 041A                   .dbsym r qian 20 i
 041A                   .dbsym r wan 10 i
 041A                   .dbsym r n 12 i
 041A                   .dbsym l t 13 i
 041A                   .dbsym l x 11 i
 041A                   .dbend
                        .area data(ram, con, rel)
 000A                   .dbfile C:\DOCUME~1\qiuqiu\桌面\测试\1\lcd.h
 000A           _miao::
 000A                   .blkb 1
                        .area idata
 000A 00                .byte 0
                        .area data(ram, con, rel)
 000B                   .dbfile C:\DOCUME~1\qiuqiu\桌面\测试\1\lcd.h
 000B                   .dbfile C:\DOCUME~1\qiuqiu\桌面\测试\1\1.c
 000B                   .dbsym e miao _miao c
                        .area text(rom, con, rel)
 041A                   .dbfile C:\DOCUME~1\qiuqiu\桌面\测试\1\1.c
 041A                   .dbfunc e delay_us _delay_us fV
 041A           ;           time -> R16,R17
                        .even
 041A           _delay_us::
 041A                   .dbline -1
 041A                   .dbline 27
 041A           ; //ICC-AVR application builder : 2008-5-15 14:12:28
 041A           ; // Target : M16
 041A           ; // Crystal: 8.0000Mhz
 041A           ; 
 041A           ; #include <iom16v.h>
 041A           ; #include <macros.h>
 041A           ; #include "lcd.h"
 041A           ; #define Vref   2560         //参考电压值
 041A           ; 
 041A           ; #define uchar   unsigned char
 041A           ; #define uint    unsigned int
 041A           ; uchar miao=0;
 041A           ; 
 041A           ; unsigned int adc_rel;//AD转换结果
 041A           ; unsigned char adc_mux;//AD通道
 041A           ; unsigned int voltage;
 041A           ; unsigned int adc_old;
 041A           ; unsigned int V0,V1,V2,V3;
 041A           ; 
 041A           ; uint adc_x;
 041A           ; uint adc_y;
 041A           ; 
 041A           ; 
 041A           ; void get_adc();
 041A           ; /*                            微秒级延时程序                  */
 041A           ; void delay_us(uint time)
 041A           ;        {     
 041A           L32:
 041A                   .dbline 29
 041A           ;         do
 041A           ;               {
 041A                   .dbline 30
 041A           ;                time--;
 041A 0150              subi R16,1
 041C 1040              sbci R17,0
 041E                   .dbline 31
 041E           ;               }       
 041E           L33:
 041E                   .dbline 32
 041E           ;         while (time>1);
 041E 81E0              ldi R24,1
 0420 90E0              ldi R25,0
 0422 8017              cp R24,R16
 0424 9107              cpc R25,R17
 0426 C8F3              brlo L32
 0428           X5:
 0428                   .dbline -2
 0428           L31:
 0428                   .dbline 0 ; func end
 0428 0895              ret
 042A                   .dbsym r time 16 i
 042A                   .dbend
 042A                   .dbfunc e delay_ms _delay_ms fV

⌨️ 快捷键说明

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