📄 main.lis
字号:
.module main.c
.area text(rom, con, rel)
0000 .dbfile C:\DOCUME~1\Administrator\桌面\ad2543/delay.h
0000 .dbfunc e delay_1us _delay_1us fV
.even
0000 _delay_1us::
0000 .dbline -1
0000 .dbline 6
0000 ; #include <iom128v.h>
0000 ; #include "delay.h"
0000 ; #include "ad2543.h"
0000 ; #include "KeyScay.h"
0000 ; #include "lcd.h"
0000 ;
0000 .dbline 7
0000 ; /****************************************************************************/
0000 0000 nop
0002 .dbline -2
0002 L1:
0002 .dbline 0 ; func end
0002 0895 ret
0004 .dbend
0004 .dbfunc e delay_nus _delay_nus fV
0004 ; i -> R20,R21
0004 ; n -> R22,R23
.even
0004 _delay_nus::
0004 0E940000 xcall push_gset2
0008 B801 movw R22,R16
000A .dbline -1
000A .dbline 11
000A ; //功能: AD2543使用
000A ; //输入: 无
000A ; //输出: 无
000A ; //备注:
000A .dbline 12
000A ; /****************************************************************************/
000A 4427 clr R20
000C 5527 clr R21
000E .dbline 13
000E ; /***************************全局变量声明*************************************/
000E 03C0 xjmp L6
0010 L3:
0010 .dbline 14
0010 F7DF xcall _delay_1us
0012 L4:
0012 .dbline 13
0012 4F5F subi R20,255 ; offset = 1
0014 5F4F sbci R21,255
0016 L6:
0016 .dbline 13
0016 4617 cp R20,R22
0018 5707 cpc R21,R23
001A D0F3 brlo L3
001C .dbline -2
001C L2:
001C 0E940000 xcall pop_gset2
0020 .dbline 0 ; func end
0020 0895 ret
0022 .dbsym r i 20 i
0022 .dbsym r n 22 i
0022 .dbend
0022 .dbfunc e delay_1ms _delay_1ms fV
0022 ; i -> R16,R17
.even
0022 _delay_1ms::
0022 .dbline -1
0022 .dbline 18
0022 ; unsigned int vol16bit=0;
0022 ; unsigned char test1[]=" AD2543TEST ";
0022 ; unsigned int vint=0;
0022 ; float voltemp=0;
0022 ;
0022 .dbline 20
0022 0027 clr R16
0024 1127 clr R17
0026 02C0 xjmp L11
0028 L8:
0028 .dbline 20
0028 L9:
0028 .dbline 20
0028 0F5F subi R16,255 ; offset = 1
002A 1F4F sbci R17,255
002C L11:
002C .dbline 20
002C ;
002C ; /****************************************************************************/
002C 0637 cpi R16,118
002E E4E0 ldi R30,4
0030 1E07 cpc R17,R30
0032 D0F3 brlo L8
0034 .dbline -2
0034 L7:
0034 .dbline 0 ; func end
0034 0895 ret
0036 .dbsym r i 16 i
0036 .dbend
0036 .dbfunc e delay_nms _delay_nms fV
0036 ; i -> R20,R21
0036 ; n -> R22,R23
.even
0036 _delay_nms::
0036 0E940000 xcall push_gset2
003A B801 movw R22,R16
003C .dbline -1
003C .dbline 24
003C ; //函数名: ad2543()
003C ; //功能: 实现模数转换
003C ; //输入:
003C ; //输出: adc16(经ADC转换后的12位2进制数)
003C .dbline 25
003C ; //备注:
003C 4427 clr R20
003E 5527 clr R21
0040 .dbline 26
0040 ; /****************************************************************************/
0040 03C0 xjmp L16
0042 L13:
0042 .dbline 27
0042 .dbline 28
0042 EFDF xcall _delay_1ms
0044 .dbline 29
0044 L14:
0044 .dbline 26
0044 4F5F subi R20,255 ; offset = 1
0046 5F4F sbci R21,255
0048 L16:
0048 .dbline 26
0048 4617 cp R20,R22
004A 5707 cpc R21,R23
004C D0F3 brlo L13
004E .dbline -2
004E L12:
004E 0E940000 xcall pop_gset2
0052 .dbline 0 ; func end
0052 0895 ret
0054 .dbsym r i 20 i
0054 .dbsym r n 22 i
0054 .dbend
0054 .dbfile C:\DOCUME~1\Administrator\桌面\ad2543/ad2543.h
0054 .dbfunc e init_ad2543 _init_ad2543 fV
.even
0054 _init_ad2543::
0054 .dbline -1
0054 .dbline 35
0054 ; unsigned int ad2543(void)
0054 ; {
0054 ; unsigned int adc16;
0054 ; init_ad2543();
0054 ; adc16=read_ad2543();
0054 ; return(adc16);
0054 ; }
0054 ; /****************************************************************************/
0054 ; //函数名: main(void)
0054 .dbline 36
0054 ; //功能: 主函数
0054 00E0 ldi R16,42752
0056 17EA ldi R17,167
0058 01D0 xcall _write_ad2543
005A .dbline -2
005A L17:
005A .dbline 0 ; func end
005A 0895 ret
005C .dbend
005C .dbfunc e write_ad2543 _write_ad2543 fV
005C ; cmd -> R20,R21
005C ; i -> R22
005C ; token -> R10,R11
005C ; command -> R22,R23
.even
005C _write_ad2543::
005C 0E940000 xcall push_gset3
0060 B801 movw R22,R16
0062 .dbline -1
0062 .dbline 43
0062 ; //输入: 无
0062 ; //输出: 无
0062 ; //备注:
0062 ; /****************************************************************************/
0062 ; void main(void)
0062 ; {
0062 ; DDRD=0X3F;
0062 .dbline 44
0062 ; PORTD=0xFF;
0062 80E0 ldi R24,32768
0064 90E8 ldi R25,128
0066 5C01 movw R10,R24
0068 .dbline 46
0068 ; LCD_init();
0068 ; LCD_DisplayString(1,1,test1);
0068 AB01 movw R20,R22
006A .dbline 47
006A ; while(1)
006A D89A sbi 0x1b,0
006C .dbline 48
006C ; {
006C D898 cbi 0x1b,0
006E .dbline 49
006E ; vol16bit=ad2543();
006E DA98 cbi 0x1b,2
0070 .dbline 50
0070 ; voltemp=(vol16bit/4096.0)*5000;
0070 02E0 ldi R16,2
0072 10E0 ldi R17,0
0074 C7DF xcall _delay_nus
0076 .dbline 51
0076 ; vint=(int)voltemp;
0076 6627 clr R22
0078 10C0 xjmp L22
007A L19:
007A .dbline 52
007A ; LCD_DisplayInt(2,5,vint);
007A .dbline 54
007A ; delay_nms(1);
007A ;
007A 1A01 movw R2,R20
007C 2A20 and R2,R10
007E 3B20 and R3,R11
0080 2220 tst R2
0082 11F4 brne X0
0084 3320 tst R3
0086 11F0 breq L23
0088 X0:
0088 .dbline 55
0088 ; }
0088 D99A sbi 0x1b,1
008A 01C0 xjmp L24
008C L23:
008C .dbline 57
008C ;
008C ; }
008C D998 cbi 0x1b,1
008E L24:
008E .dbline 58
008E DA9A sbi 0x1b,2
0090 .dbline 59
0090 B7DF xcall _delay_1us
0092 .dbline 60
0092 DA98 cbi 0x1b,2
0094 .dbline 61
0094 B694 lsr R11
0096 A794 ror R10
0098 .dbline 62
0098 L20:
0098 .dbline 51
0098 6395 inc R22
009A L22:
009A .dbline 51
009A 6031 cpi R22,16
009C 70F3 brlo L19
009E .dbline 63
009E ; }
009E ; }
009E ; }
009E ; }
009E ; }
009E ; }
009E 02E0 ldi R16,2
00A0 10E0 ldi R17,0
00A2 B0DF xcall _delay_nus
00A4 .dbline -2
00A4 L18:
00A4 0E940000 xcall pop_gset3
00A8 .dbline 0 ; func end
00A8 0895 ret
00AA .dbsym r cmd 20 i
00AA .dbsym r i 22 c
00AA .dbsym r token 10 i
00AA .dbsym r command 22 i
00AA .dbend
00AA .dbfunc e read_ad2543 _read_ad2543 fi
00AA ; i -> R20
00AA ; ad16bit -> R22,R23
.even
00AA _read_ad2543::
00AA 0E940000 xcall push_gset2
00AE .dbline -1
00AE .dbline 68
00AE ; }
00AE ; }
00AE ; }
00AE ; }
00AE ; }
00AE .dbline 69
00AE ; }
00AE 6627 clr R22
00B0 7727 clr R23
00B2 L26:
00B2 .dbline 71
00B2 .dbline 71
00B2 .dbline 71
00B2 L27:
00B2 .dbline 71
00B2 ; }
00B2 ; }
00B2 CC99 sbic 0x19,4
00B4 FECF rjmp L26
00B6 .dbline 72
00B6 ; }
00B6 4427 clr R20
00B8 09C0 xjmp L32
00BA L29:
00BA .dbline 73
00BA ; }
00BA .dbline 74
00BA ; }
00BA CB9B sbis 0x19,3
00BC 01C0 rjmp L33
00BE .dbline 74
00BE 6160 ori R22,1
00C0 L33:
00C0 .dbline 75
00C0 DA9A sbi 0x1b,2
00C2 .dbline 76
00C2 9EDF xcall _delay_1us
00C4 .dbline 77
00C4 DA98 cbi 0x1b,2
00C6 .dbline 78
00C6 660F lsl R22
00C8 771F rol R23
00CA .dbline 79
00CA L30:
00CA .dbline 72
00CA 4395 inc R20
00CC L32:
00CC .dbline 72
00CC 4031 cpi R20,16
00CE A8F3 brlo L29
00D0 .dbline 80
00D0 ; }
00D0 ; }
00D0 ; }
00D0 ; }
00D0 ; }
00D0 ; }
00D0 8B01 movw R16,R22
00D2 .dbline -2
00D2 L25:
00D2 0E940000 xcall pop_gset2
00D6 .dbline 0 ; func end
00D6 0895 ret
00D8 .dbsym r i 20 c
00D8 .dbsym r ad16bit 22 i
00D8 .dbend
00D8 .dbfile C:\DOCUME~1\Administrator\桌面\ad2543/KeyScay.h
00D8 .dbfunc e key_scay _key_scay fc
00D8 ; key -> R20
.even
00D8 _key_scay::
00D8 0E940000 xcall push_gset1
00DC .dbline -1
00DC .dbline 8
00DC .dbline 10
00DC 80EF ldi R24,240
00DE 87BB out 0x17,R24
00E0 .dbline 11
00E0 8FE0 ldi R24,15
00E2 88BB out 0x18,R24
00E4 .dbline 13
00E4 CB9B sbis 0x19,3
00E6 02C0 rjmp L36
00E8 .dbline 14
00E8 4427 clr R20
00EA 0BC0 xjmp L37
00EC L36:
00EC .dbline 15
00EC CA9B sbis 0x19,2
00EE 02C0 rjmp L38
00F0 .dbline 16
00F0 44E0 ldi R20,4
00F2 07C0 xjmp L39
00F4 L38:
00F4 .dbline 17
00F4 C99B sbis 0x19,1
00F6 02C0 rjmp L40
00F8 .dbline 18
00F8 48E0 ldi R20,8
00FA 03C0 xjmp L41
00FC L40:
00FC .dbline 19
00FC C89B sbis 0x19,0
00FE 01C0 rjmp L42
0100 .dbline 20
0100 4CE0 ldi R20,12
0102 L42:
0102 L41:
0102 L39:
0102 L37:
0102 .dbline 21
0102 8FE0 ldi R24,15
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -