📄 smain.s
字号:
.module smain.c
.area data(ram, con, rel)
_disgga::
.blkb 2
.area idata
.byte 181,'b
.area data(ram, con, rel)
.blkb 2
.area idata
.byte 6,1
.area data(ram, con, rel)
.blkb 2
.area idata
.byte 6,0
.area data(ram, con, rel)
.blkb 2
.area idata
.byte 240,0
.area data(ram, con, rel)
.blkb 2
.area idata
.byte 0,0
.area data(ram, con, rel)
.blkb 2
.area idata
.byte 0,0
.area data(ram, con, rel)
.blkb 2
.area idata
.byte 253,21
.area data(ram, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.dbsym e disgga _disgga A[14:14]c
_disgll::
.blkb 2
.area idata
.byte 181,'b
.area data(ram, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.blkb 2
.area idata
.byte 6,1
.area data(ram, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.blkb 2
.area idata
.byte 6,0
.area data(ram, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.blkb 2
.area idata
.byte 240,1
.area data(ram, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.blkb 2
.area idata
.byte 0,0
.area data(ram, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.blkb 2
.area idata
.byte 0,0
.area data(ram, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.blkb 2
.area idata
.byte 254,26
.area data(ram, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.dbsym e disgll _disgll A[14:14]c
_disgsa::
.blkb 2
.area idata
.byte 181,'b
.area data(ram, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.blkb 2
.area idata
.byte 6,1
.area data(ram, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.blkb 2
.area idata
.byte 6,0
.area data(ram, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.blkb 2
.area idata
.byte 240,2
.area data(ram, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.blkb 2
.area idata
.byte 0,0
.area data(ram, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.blkb 2
.area idata
.byte 0,0
.area data(ram, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.blkb 2
.area idata
.byte 255,31
.area data(ram, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.dbsym e disgsa _disgsa A[14:14]c
_disgsv::
.blkb 2
.area idata
.byte 181,'b
.area data(ram, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.blkb 2
.area idata
.byte 6,1
.area data(ram, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.blkb 2
.area idata
.byte 6,0
.area data(ram, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.blkb 2
.area idata
.byte 240,3
.area data(ram, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.blkb 2
.area idata
.byte 0,0
.area data(ram, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.blkb 2
.area idata
.byte 0,0
.area data(ram, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.blkb 2
.area idata
.byte 0,36
.area data(ram, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.dbsym e disgsv _disgsv A[14:14]c
_disvtg::
.blkb 2
.area idata
.byte 181,'b
.area data(ram, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.blkb 2
.area idata
.byte 6,1
.area data(ram, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.blkb 2
.area idata
.byte 6,0
.area data(ram, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.blkb 2
.area idata
.byte 240,5
.area data(ram, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.blkb 2
.area idata
.byte 0,0
.area data(ram, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.blkb 2
.area idata
.byte 0,0
.area data(ram, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.blkb 2
.area idata
.byte 2,46
.area data(ram, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.dbsym e disvtg _disvtg A[14:14]c
_disgrs::
.blkb 2
.area idata
.byte 181,'b
.area data(ram, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.blkb 2
.area idata
.byte 6,1
.area data(ram, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.blkb 2
.area idata
.byte 6,0
.area data(ram, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.blkb 2
.area idata
.byte 240,6
.area data(ram, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.blkb 2
.area idata
.byte 0,0
.area data(ram, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.blkb 2
.area idata
.byte 0,0
.area data(ram, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.blkb 2
.area idata
.byte 3,51
.area data(ram, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.dbsym e disgrs _disgrs A[14:14]c
_disgst::
.blkb 2
.area idata
.byte 181,'b
.area data(ram, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.blkb 2
.area idata
.byte 6,1
.area data(ram, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.blkb 2
.area idata
.byte 6,0
.area data(ram, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.blkb 2
.area idata
.byte 240,7
.area data(ram, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.blkb 2
.area idata
.byte 0,0
.area data(ram, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.blkb 2
.area idata
.byte 0,0
.area data(ram, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.blkb 2
.area idata
.byte 4,56
.area data(ram, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.dbsym e disgst _disgst A[14:14]c
_diszda::
.blkb 2
.area idata
.byte 181,'b
.area data(ram, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.blkb 2
.area idata
.byte 6,1
.area data(ram, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.blkb 2
.area idata
.byte 6,0
.area data(ram, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.blkb 2
.area idata
.byte 240,8
.area data(ram, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.blkb 2
.area idata
.byte 0,0
.area data(ram, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.blkb 2
.area idata
.byte 0,0
.area data(ram, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.blkb 2
.area idata
.byte 5,61
.area data(ram, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.dbsym e diszda _diszda A[14:14]c
.area text(rom, con, rel)
.dbfile F:\mydoc\avrproject\icc\big162\gpseep\smain.c
.dbfunc e setGPS _setGPS fV
; i -> R20
; p -> R22,R23
; command -> R20,R21
.even
_setGPS::
xcall push_gset2
movw R20,R16
.dbline -1
.dbline 30
; #include "sci.h"
;
; #include "modem.h"
; #include <stdlib.h>
; unsigned char disgga[]={
; 0XB5,0x62,0x06,0x01,0x06,0x00,0xF0,0x00,0x00,0x00,0x00,0x00,0xFD,0x15// CANCEL GGA
; };
; unsigned char disgll[]={
; 0xB5,0x62,0x06,0x01,0x06,0x00,0xF0,0x01,0x00,0x00,0x00,0x00,0xFE,0x1A//,CANCEL GLL
; };
; unsigned char disgsa[]={
; 0xB5,0x62,0x06,0x01,0x06,0x00,0xF0,0x02,0x00,0x00,0x00,0x00,0xFF,0x1F// CANCEL GSA
; };
; unsigned char disgsv[]={
; 0XB5,0x62,0x06,0x01,0x06,0x00,0xF0,0x03,0x00,0x00,0x00,0x00,0x00,0x24// CANCEL GSV
; };
; unsigned char disvtg[]={
; 0xB5,0x62,0x06,0x01,0x06,0x00,0xF0,0x05,0x00,0x00,0x00,0x00,0x02,0x2E// CANCEL VTG
; };
; unsigned char disgrs[]={
; 0XB5,0x62,0x06,0x01,0x06,0x00,0xF0,0x06,0x00,0x00,0x00,0x00,0x03,0x33// CANCEL GRS
; };
; unsigned char disgst[]={
; 0xB5,0x62,0x06,0x01,0x06,0x00,0xF0,0x07,0x00,0x00,0x00,0x00,0x04,0x38// CANCEL GST
; };
; unsigned char diszda[]={
; 0XB5,0x62,0x06,0x01,0x06,0x00,0xF0,0x08,0x00,0x00,0x00,0x00,0x05,0x3D// CANCEL ZDA
; };
;
; void setGPS(BYTE *command){
.dbline 32
; BYTE *p,i;
; p = command;
movw R22,R20
.dbline 33
clr R20
xjmp L5
L2:
.dbline 33
.dbline 34
movw R30,R22
ldd R16,z+0
xcall _WriteComm1
.dbline 35
subi R22,255 ; offset = 1
sbci R23,255
.dbline 36
L3:
.dbline 33
inc R20
L5:
.dbline 33
; for (i = 0;i < 14;i ++){
cpi R20,14
brlo L2
.dbline 37
; WriteComm1( *p );
; p ++;
; }
; DelayMORE(10);
ldi R16,10
xcall _DelayMORE
.dbline -2
L1:
xcall pop_gset2
.dbline 0 ; func end
ret
.dbsym r i 20 c
.dbsym r p 22 pc
.dbsym r command 20 pc
.dbend
.dbfunc e iniGPS _iniGPS fV
.even
_iniGPS::
.dbline -1
.dbline 39
; }
; void iniGPS(){
.dbline 40
; setGPS(disgga);
ldi R16,<_disgga
ldi R17,>_disgga
xcall _setGPS
.dbline 41
; setGPS(disgll);
ldi R16,<_disgll
ldi R17,>_disgll
xcall _setGPS
.dbline 42
; setGPS(disgsa);
ldi R16,<_disgsa
ldi R17,>_disgsa
xcall _setGPS
.dbline 43
; setGPS(disgsv);
ldi R16,<_disgsv
ldi R17,>_disgsv
xcall _setGPS
.dbline 44
; setGPS(disvtg);
ldi R16,<_disvtg
ldi R17,>_disvtg
xcall _setGPS
.dbline 45
; setGPS(disgrs);
ldi R16,<_disgrs
ldi R17,>_disgrs
xcall _setGPS
.dbline 46
; setGPS(disgst);
ldi R16,<_disgst
ldi R17,>_disgst
xcall _setGPS
.dbline 47
; setGPS(diszda);
ldi R16,<_diszda
ldi R17,>_diszda
xcall _setGPS
.dbline -2
L6:
.dbline 0 ; func end
ret
.dbend
.dbfunc e port_init _port_init fV
.even
_port_init::
.dbline -1
.dbline 50
; }
; void port_init(void)
; {
.dbline 51
; PORTA = 0x04;
ldi R24,4
out 0x1b,R24
.dbline 52
; DDRA = 0x04;//speaker
out 0x1a,R24
.dbline 53
; PORTB = 0x01;
ldi R24,1
out 0x18,R24
.dbline 54
; DDRB = 0x01;
out 0x17,R24
.dbline 55
; PORTC = 0x00;
clr R2
out 0x15,R2
.dbline 56
; DDRC = 0x00;
out 0x14,R2
.dbline 57
; PORTD = 0x00;
out 0x12,R2
.dbline 58
; DDRD = 0x00;
out 0x11,R2
.dbline 59
; DDRD |= BIT(STA);
sbi 0x11,5
.dbline 60
; DDRD |= BIT(STC);
sbi 0x11,6
.dbline -2
L7:
.dbline 0 ; func end
ret
.dbend
.dbfunc e uart0_init _uart0_init fV
.even
_uart0_init::
.dbline -1
.dbline 71
; }
;
;
;
; //UART0 initialize
; // desired baud rate: 9600
; // actual: baud rate:9600 (0.0%)
; // char size: 8 bit
; // parity: Disabled
; void uart0_init(void)
; {
.dbline 72
; UCSR0B = 0x00; //disable while setting baud rate
clr R2
out 0xa,R2
.dbline 73
; UCSR0A = 0x00; //disable while setting baud rate
out 0xb,R2
.dbline 74
; UBRR0L =0x17; //set baud rate
ldi R24,23
out 0x9,R24
.dbline 75
; UBRR0H = 0x00;
out 0x20,R2
.dbline 76
; UCSR0C = BIT(URSEL0) | 0x06;
ldi R24,134
out 0x20,R24
.dbline 77
; UCSR0A = 0x00; //enable
out 0xb,R2
.dbline 79
; //UCSR0B = 0x18; //enable
; UCSR0B = (1<<RXEN0)|(1<<TXEN0)|(1<<RXCIE0);
ldi R24,152
out 0xa,R24
.dbline 80
; setCommEventProc(ProcModemReceive);
ldi R16,<PL_ProcModemReceive
ldi R17,>PL_ProcModemReceive
xcall _setCommEventProc
.dbline -2
L8:
.dbline 0 ; func end
ret
.dbend
.dbfunc e uart1_init _uart1_init fV
.even
_uart1_init::
.dbline -1
.dbline 90
;
; }
;
; //UART1 initialize
;
; // actual baud rate:9600 (0.0%)
; // char size: 8 bit
; // parity: Disabled
; void uart1_init(void)
; {
.dbline 91
; UCSR1B = 0x00; //disable while setting baud rate
clr R2
out 0x1,R2
.dbline 92
; UCSR1A = 0x00; //disable while setting baud rate
out 0x2,R2
.dbline 93
; UBRR1L =0x17; //set baud rate
ldi R24,23
out 0x0,R24
.dbline 94
; UBRR1H = 0x00;
out 0x3c,R2
.dbline 95
; UCSR1C = BIT(URSEL1) | 0x06;
ldi R24,134
out 0x3c,R24
.dbline 96
; UCSR1A = 0x00; //enable
out 0x2,R2
.dbline 98
; //UCSR1B = (1<<RXEN1)|(1<<TXEN1)|(1<<RXCIE1);
; UCSR1B = (1<<RXEN1)|(1<<TXEN1);
ldi R24,24
out 0x1,R24
.dbline -2
L9:
.dbline 0 ; func end
ret
.dbend
.dbfunc e init_devices _init_devices fV
.even
_init_devices::
.dbline -1
.dbline 103
; }
;
; //call this routine to initialize all peripherals
; void init_devices(void)
; {
.dbline 105
; //stop errant interrupts until set up
; CLI(); //disable all interrupts
cli
.dbline 106
; port_init();
xcall _port_init
.dbline 107
; uart0_init();
xcall _uart0_init
.dbline 108
; uart1_init();
xcall _uart1_init
.dbline 110
;
; MCUCR= 0x00; //mcu control register
clr R2
out 0x35,R2
.dbline 111
; EMCUCR = 0x00;//extend ect
out 0x36,R2
.dbline 113
; //GIMSK= 0x00;
; TIMSK= 0x00; //timer interrupt sources
out 0x39,R2
.dbline 114
; ETIMSK=0x00;
sts 125,R2
.dbline 115
; GICR= 0x00;//general interrupt control register
out 0x3b,R2
.dbline 116
; PCMSK0=0x00;
sts 107,R2
.dbline 117
; PCMSK1=0x00;
sts 108,R2
.dbline 118
; SEI(); //re-enable interrupts
sei
.dbline -2
L10:
.dbline 0 ; func end
ret
.dbend
.area func_lit
PL_ProcModemReceive: .word `_ProcModemReceive
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -