📄 1.lis
字号:
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 + -