📄 main.lis
字号:
.module main.c
.area eeprom(rom, con, rel)
0000 _ip::
0000 3030302E3030302E3030302E30303000 .byte 48,48,48,46,48,48,48,46,48,48,48,46,48,48,48,0
0010 .dbfile F:\mydoc\avrproject\icc\big162\gpseep\main.c
0010 .dbsym e ip _ip A[16:16]c
.area data(ram, con, rel)
0000 .dbfile F:\mydoc\avrproject\icc\big162\gpseep\main.c
0000 _GPRSCommand::
0000 .blkw 1
.area idata
0000 2601 .word L1
.area data(ram, con, rel)
0002 .dbfile F:\mydoc\avrproject\icc\big162\gpseep\main.c
0002 .blkw 1
.area idata
0002 2001 .word L2
.area data(ram, con, rel)
0004 .dbfile F:\mydoc\avrproject\icc\big162\gpseep\main.c
0004 .blkw 1
.area idata
0004 0501 .word L3
.area data(ram, con, rel)
0006 .dbfile F:\mydoc\avrproject\icc\big162\gpseep\main.c
0006 .blkw 1
.area idata
0006 EF00 .word L4
.area data(ram, con, rel)
0008 .dbfile F:\mydoc\avrproject\icc\big162\gpseep\main.c
0008 .blkw 1
.area idata
0008 E100 .word L5
.area data(ram, con, rel)
000A .dbfile F:\mydoc\avrproject\icc\big162\gpseep\main.c
000A .dbsym e GPRSCommand _GPRSCommand A[10:5]pc
000A _IPADD::
000A .blkb 16
.area idata
000A 3030302E3030302E3030302E30303000 .byte 48,48,48,46,48,48,48,46,48,48,48,46,48,48,48,0
.area data(ram, con, rel)
001A .dbfile F:\mydoc\avrproject\icc\big162\gpseep\main.c
001A .dbsym e IPADD _IPADD A[16:16]c
001A _p_IPADD::
001A .blkw 1
.area idata
001A 0A00 .word _IPADD
.area data(ram, con, rel)
001C .dbfile F:\mydoc\avrproject\icc\big162\gpseep\main.c
001C .dbsym e p_IPADD _p_IPADD pc
001C _CC::
001C .blkb 1
.area idata
001C 00 .byte 0
.area data(ram, con, rel)
001D .dbfile F:\mydoc\avrproject\icc\big162\gpseep\main.c
001D .dbsym e CC _CC c
.area text(rom, con, rel)
0000 .dbfile F:\mydoc\avrproject\icc\big162\gpseep\main.c
0000 .dbfunc e main _main fV
0000 ; Res -> <dead>
0000 ; ResSendSucc -> R20
0000 ; num -> R20
.even
0000 _main::
0000 2297 sbiw R28,2
0002 .dbline -1
0002 .dbline 32
0002 ; //ICC-AVR application builder : 2007-6-9 11:45:19
0002 ; // Target : M162
0002 ; // Crystal: 3.6864Mhz
0002 ; #include "sci.h"
0002 ;
0002 ; #include "modem.h"
0002 ; #include <stdlib.h>
0002 ; #include <eeprom.h>
0002 ;
0002 ; #pragma data:eeprom
0002 ; BYTE ip[]="000.000.000.000";
0002 ; #pragma data:data
0002 ;
0002 ;
0002 ; char * GPRSCommand [] = {
0002 ; "AT\r",
0002 ; "ATE0\r",//////////
0002 ; "AT+CGDCONT=1,\"IP\",\"CMWAP\"\r",
0002 ; "AT%CGPCO=1,\"PAP,,\",1\r",
0002 ; //"AT$DESTINFO=\"218.6.64.240\",2,80\r",//UDP 2 TCP 1
0002 ; "AT$NOSLEEP=1\r"
0002 ; };
0002 ;
0002 ; BYTE IPADD[]="000.000.000.000";
0002 ; BYTE *p_IPADD=IPADD;
0002 ; BYTE CC=0;
0002 ; void conGPRS(void);
0002 ; void init_devices(void);
0002 ; void iniGPS(void);
0002 ;
0002 ; void main(void)
0002 ; {
0002 .dbline 35
0002 ; BYTE num;
0002 ; BYTE Res;
0002 ; BYTE ResSendSucc=1;
0002 41E0 ldi R20,1
0004 .dbline 37
0004 ;
0004 ; init_devices();
0004 0E940000 xcall _init_devices
0008 .dbline 38
0008 ; timer1_init();
0008 0E940000 xcall _timer1_init
000C .dbline 39
000C ; initTimer2();
000C 0E940000 xcall _initTimer2
0010 .dbline 40
0010 ; WriteCommStr0("start");
0010 00E0 ldi R16,<L7
0012 10E0 ldi R17,>L7
0014 0E940000 xcall _WriteCommStr0
0018 .dbline 42
0018 ;
0018 ; ModemInit();
0018 0E940000 xcall _ModemInit
001C .dbline 43
001C ; if(Waitfor ("ip", 250)){
001C 2AEF ldi R18,250
001E 00E0 ldi R16,<L10
0020 10E0 ldi R17,>L10
0022 0E940000 xcall _Waitfor
0026 0023 tst R16
0028 A9F1 breq L8
002A .dbline 43
002A .dbline 44
002A ; WriteCommStr0("input ip add end with ;");
002A 00E0 ldi R16,<L11
002C 10E0 ldi R17,>L11
002E 0E940000 xcall _WriteCommStr0
0032 .dbline 45
0032 ; UCSR0B &= ~(1<<RXCIE0);//stop u0 int
0032 5798 cbi 0xa,7
0034 09C0 xjmp L13
0036 L12:
0036 .dbline 46
0036 .dbline 47
0036 E0911A00 lds R30,_p_IPADD
003A F0911B00 lds R31,_p_IPADD+1
003E 4193 st Z+,R20
0040 F0931B00 sts _p_IPADD+1,R31
0044 E0931A00 sts _p_IPADD,R30
0048 .dbline 48
0048 L13:
0048 .dbline 46
0048 ; while((num=ReadComm0())!=';'){
0048 0E940000 xcall _ReadComm0
004C 402F mov R20,R16
004E 4B33 cpi R20,59
0050 91F7 brne L12
0052 .dbline 49
0052 ; *p_IPADD++=num;
0052 ; }
0052 ; *p_IPADD=0;
0052 2224 clr R2
0054 E0911A00 lds R30,_p_IPADD
0058 F0911B00 lds R31,_p_IPADD+1
005C 2082 std z+0,R2
005E .dbline 50
005E ; EEPROM_WRITE((int)ip,IPADD);
005E 80E1 ldi R24,16
0060 90E0 ldi R25,0
0062 9983 std y+1,R25
0064 8883 std y+0,R24
0066 20E0 ldi R18,<_IPADD
0068 30E0 ldi R19,>_IPADD
006A 00E0 ldi R16,<_ip
006C 10E0 ldi R17,>_ip
006E 0E940000 xcall _EEPROMWriteBytes
0072 .dbline 51
0072 ; WriteCommStr0("\nyou ip is:");
0072 00E0 ldi R16,<L15
0074 10E0 ldi R17,>L15
0076 0E940000 xcall _WriteCommStr0
007A .dbline 52
007A ; WriteCommStr0(IPADD);
007A 00E0 ldi R16,<_IPADD
007C 10E0 ldi R17,>_IPADD
007E 0E940000 xcall _WriteCommStr0
0082 .dbline 53
0082 ; WriteCommStr0("\nturn switch to gps mode\n");
0082 00E0 ldi R16,<L16
0084 10E0 ldi R17,>L16
0086 0E940000 xcall _WriteCommStr0
008A .dbline 54
008A ; UCSR0B |= (1<<RXCIE0);//start u0 int
008A 579A sbi 0xa,7
008C .dbline 55
008C ; DelayMORE(100);
008C 04E6 ldi R16,100
008E 0E940000 xcall _DelayMORE
0092 .dbline 56
0092 11C0 xjmp L9
0094 L8:
0094 .dbline 56
0094 ; }else{
0094 .dbline 57
0094 ; EEPROM_READ((int)ip,IPADD);
0094 80E1 ldi R24,16
0096 90E0 ldi R25,0
0098 9983 std y+1,R25
009A 8883 std y+0,R24
009C 20E0 ldi R18,<_IPADD
009E 30E0 ldi R19,>_IPADD
00A0 00E0 ldi R16,<_ip
00A2 10E0 ldi R17,>_ip
00A4 0E940000 xcall _EEPROMReadBytes
00A8 .dbline 58
00A8 ; WriteCommStr0("config time has pass");
00A8 00E0 ldi R16,<L17
00AA 10E0 ldi R17,>L17
00AC 0E940000 xcall _WriteCommStr0
00B0 .dbline 59
00B0 ; DelayMORE(10);
00B0 0AE0 ldi R16,10
00B2 0E940000 xcall _DelayMORE
00B6 .dbline 60
00B6 ; }
00B6 L9:
00B6 .dbline 62
00B6 ;
00B6 ; WriteCommStr0("\nif you have not turn switch ,you must restart device");
00B6 00E0 ldi R16,<L18
00B8 10E0 ldi R17,>L18
00BA 0E940000 xcall _WriteCommStr0
00BE .dbline 63
00BE ; WriteCommStr0("at\r");
00BE 00E0 ldi R16,<L19
00C0 10E0 ldi R17,>L19
00C2 0E940000 xcall _WriteCommStr0
00C6 .dbline 64
00C6 ; conGPRS();
00C6 3AD0 xcall _conGPRS
00C8 .dbline 65
00C8 ; DelayMORE(50);
00C8 02E3 ldi R16,50
00CA 0E940000 xcall _DelayMORE
00CE .dbline 66
00CE ; WriteCommStr0 ("ATD*97#\r");
00CE 00E0 ldi R16,<L20
00D0 10E0 ldi R17,>L20
00D2 0E940000 xcall _WriteCommStr0
00D6 .dbline 67
00D6 ; ModemInit();
00D6 0E940000 xcall _ModemInit
00DA .dbline 68
00DA ; iniGPS();
00DA 0E940000 xcall _iniGPS
00DE 13C0 xjmp L22
00E0 L21:
00E0 .dbline 69
00E0 ; while(!Waitfor ("en", 254)){ // Wait for OK
00E0 .dbline 71
00E0 ; //WriteCommStr0 ("ATD*97#\r");
00E0 ; if(Waitfor ("CAR",50)){
00E0 22E3 ldi R18,50
00E2 00E0 ldi R16,<L27
00E4 10E0 ldi R17,>L27
00E6 0E940000 xcall _Waitfor
00EA 0023 tst R16
00EC 09F0 breq L25
00EE .dbline 71
00EE .dbline 72
00EE ; conGPRS();
00EE 26D0 xcall _conGPRS
00F0 .dbline 73
00F0 ; }
00F0 L25:
00F0 .dbline 74
00F0 ; if(CC++>3)
00F0 20901C00 lds R2,_CC
00F4 3324 clr R3
00F6 822D mov R24,R2
00F8 8F5F subi R24,255 ; addi 1
00FA 80931C00 sts _CC,R24
00FE 83E0 ldi R24,3
0100 8215 cp R24,R2
0102 08F4 brsh L28
0104 .dbline 75
0104 ; break;
0104 07C0 xjmp L23
0106 L28:
0106 .dbline 76
0106 L22:
0106 .dbline 69
0106 2EEF ldi R18,254
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -