📄 gsb.s
字号:
.dbline 151
xjmp L62
L63:
.dbline 152
; else
mov R2,R20
clr R3
subi R20,1
movw R24,R28
mov R30,R2
clr R31
add R30,R24
adc R31,R25
ldd R16,z+0
subi R16,208 ; addi 48
xcall _WriteData
.dbline 153
; flagend = Rcv_cap-1;
tst R20
brne L65
.dbline 154
; }
.dbline 154
movw R24,R28
mov R30,R20
clr R31
add R30,R24
adc R31,R25
ldd R16,z+0
subi R16,208 ; addi 48
xcall _WriteData
.dbline 154
xjmp L62
L65:
.dbline 155
inc R12
.dbline 156
L61:
.dbline 146
xjmp L60
L62:
.dbline 157
;
; void read(uchar *porm ,uchar *num) //CMGR,CPBR,num有7个字符
; {
dec R12
.dbline -2
L55:
adiw R28,5
xcall pop_gset5
.dbline 0 ; func end
ret
.dbsym l tmp 0 A[5:5]c
.dbsym r i 20 c
.dbsym r N 22 c
.dbsym r num 10 i
.dbsym r x 12 c
.dbsym r y 14 c
.dbend
.dbfunc e Display_Picture _Display_Picture fV
; i -> R20,R21
; x -> R22,R23
; y -> R14,R15
; j -> R10,R11
; l -> y+0
; k -> R12,R13
; tab -> y+12
.even
_Display_Picture::
st -y,r17
st -y,r16
xcall push_gset5
sbiw R28,2
.dbline -1
.dbline 161
; uchar C[] = "AT+C = \r"; //等号后7个空
; uchar i;
; i_Rcv = 0;
; C[4] = porm[0];
.dbline 162
; C[5] = porm[1];
clr R0
clr R1
std y+1,R1
std y+0,R0
.dbline 162
ldi R22,128
ldi R23,0
.dbline 163
; C[6] = porm[2];
clr R20
clr R21
xjmp L71
L68:
.dbline 164
; for(i=0;i<7;i++)
.dbline 165
; {
clr R10
clr R11
ldi R24,128
ldi R25,0
movw R14,R24
xjmp L75
L72:
.dbline 166
; C[8+i] = num[i];
.dbline 167
; }
ldi R16,54
xcall _WriteCommand
.dbline 168
;
mov R16,R14
xcall _WriteCommand
.dbline 169
; sendcmd(C,"OK",3000);
mov R16,R22
xcall _WriteCommand
.dbline 170
; clearf();
ldi R16,48
xcall _WriteCommand
.dbline 171
; }
ldi R24,16
ldi R25,0
movw R12,R24
xjmp L77
L76:
.dbline 173
ldd R2,y+0
ldd R3,y+1
movw R24,R2
adiw R24,1
std y+1,R25
std y+0,R24
movw R30,R2
ldd R0,y+12
ldd R1,y+13
add R30,R0
adc R31,R1
lpm R16,Z
xcall _WriteData
L77:
.dbline 172
movw R2,R12
movw R24,R2
sbiw R24,1
movw R12,R24
tst R2
brne L76
tst R3
brne L76
X3:
.dbline 174
L73:
.dbline 165
movw R24,R10
adiw R24,1
movw R10,R24
movw R24,R14
adiw R24,1
movw R14,R24
L75:
.dbline 165
movw R24,R10
cpi R24,32
ldi R30,0
cpc R25,R30
brsh X4
xjmp L72
X4:
.dbline 175
ldi R22,136
ldi R23,0
.dbline 176
L69:
.dbline 163
subi R20,255 ; offset = 1
sbci R21,255
L71:
.dbline 163
cpi R20,2
ldi R30,0
cpc R21,R30
brsh X5
xjmp L68
X5:
.dbline -2
L67:
adiw R28,2
xcall pop_gset5
adiw R28,2
.dbline 0 ; func end
ret
.dbsym r i 20 i
.dbsym r x 22 i
.dbsym r y 14 i
.dbsym r j 10 i
.dbsym l l 0 i
.dbsym r k 12 i
.dbsym l tab 12 pkc
.dbend
.dbfunc e Display_Picture32 _Display_Picture32 fV
; i -> <dead>
; x -> R22,R23
; y -> R10,R11
; j -> R20,R21
; l -> y+0
; k -> R14,R15
; tab -> R12,R13
.even
_Display_Picture32::
xcall push_gset5
movw R12,R16
sbiw R28,2
.dbline -1
.dbline 180
; //发信息
; void sendsms(void)
; {
; uchar C[] = "AT+CMGS=\" \"\r"; //等号后7个空
; uchar i;
; i_Rcv = 0;
; for(i=0;i<11;i++)
; {
; C[9+i] = Phone[i];
.dbline 181
; }
clr R0
clr R1
std y+1,R1
std y+0,R0
.dbline 181
ldi R22,128
ldi R23,0
.dbline 183
; sendcmd(C,"\x3e\x20",500);
; clearf();
clr R20
clr R21
ldi R24,128
ldi R25,0
movw R10,R24
xjmp L83
L80:
.dbline 184
; sendcmd(Content,"OK",5000);
.dbline 185
; clearf();
ldi R16,54
xcall _WriteCommand
.dbline 186
; }
mov R16,R10
xcall _WriteCommand
.dbline 187
; /*
mov R16,R22
xcall _WriteCommand
.dbline 188
; void call(void)
ldi R16,48
xcall _WriteCommand
.dbline 189
; {
ldi R24,4
ldi R25,0
movw R14,R24
xjmp L85
L84:
.dbline 191
ldd R2,y+0
ldd R3,y+1
movw R24,R2
adiw R24,1
std y+1,R25
std y+0,R24
movw R30,R2
add R30,R12
adc R31,R13
ldd R16,z+0
xcall _WriteData
L85:
.dbline 190
; uchar C[] = "ATD \x3b\r"; //等号后7个空
movw R2,R14
movw R24,R2
sbiw R24,1
movw R14,R24
tst R2
brne L84
tst R3
brne L84
X6:
.dbline 192
; uchar i;
; i_Rcv = 0;
ldi R24,12
ldi R25,0
movw R14,R24
xjmp L88
L87:
.dbline 194
clr R16
xcall _WriteData
L88:
.dbline 193
movw R2,R14
movw R24,R2
sbiw R24,1
movw R14,R24
tst R2
brne L87
tst R3
brne L87
X7:
.dbline 195
L81:
.dbline 183
subi R20,255 ; offset = 1
sbci R21,255
movw R24,R10
adiw R24,1
movw R10,R24
L83:
.dbline 183
cpi R20,32
ldi R30,0
cpc R21,R30
brsh X8
xjmp L80
X8:
.dbline -2
L79:
adiw R28,2
xcall pop_gset5
.dbline 0 ; func end
ret
.dbsym l i 1 i
.dbsym r x 22 i
.dbsym r y 10 i
.dbsym r j 20 i
.dbsym l l 0 i
.dbsym r k 14 i
.dbsym r tab 12 pc
.dbend
.dbfunc e shownum _shownum fI
; k -> <dead>
; T -> y+2
; temp -> R10,R11
; num -> y+19
; j -> R22
; i -> R20
.even
_shownum::
xcall push_gset4
mov R22,R18
mov R20,R16
sbiw R28,11
.dbline -1
.dbline 211
; for(i=0;i<11;i++)
; {
; C[3+i] = Phone[i];
; }
; sendcmd(C,"OK",2000);
; clearf();
; }
;
; void find1(uchar pos) //AT+CPBR=1,2+CPBR: 1,"6651177",129,"HOME"+CPBR: 2,"13760029591",129,"LI"
; {
; uchar i = 0;
; //pos +=4;
; while(Rcv[pos++]!=0x22);
; while(Rcv[pos]!=0x22)
; {
; Phone[i++] = Rcv[pos];
; pos++;
; }
; }
.dbline 212
;
ldi R16,<L93
ldi R17,>L93
xcall lpm32
st -y,R19
st -y,R18
st -y,R17
st -y,R16
movw R30,R28
; stack offset 4
ldd R2,z+23
ldd R3,z+24
ldd R4,z+25
ldd R5,z+26
st -y,R5
st -y,R4
st -y,R3
st -y,R2
xcall empy32f
movw R30,R28
std z+7,R16
std z+8,R17
std z+9,R18
std z+10,R19
movw R30,R28
ldd R2,z+7
ldd R3,z+8
ldd R4,z+9
ldd R5,z+10
st -y,R5
st -y,R4
st -y,R3
st -y,R2
ldi R16,<L94
ldi R17,>L94
xcall lpm32
st -y,R19
st -y,R18
st -y,R17
st -y,R16
xcall cmp32f
brlt L91
movw R30,R28
ldd R2,z+7
ldd R3,z+8
ldd R4,z+9
ldd R5,z+10
st -y,R5
st -y,R4
st -y,R3
st -y,R2
ldi R16,<L94
ldi R17,>L94
xcall lpm32
st -y,R19
st -y,R18
st -y,R17
st -y,R16
xcall sub32f
xcall fp2int
movw R24,R16
subi R24,0 ; offset = 32768
sbci R25,128
movw R12,R24
xjmp L92
L91:
movw R30,R28
ldd R16,z+7
ldd R17,z+8
ldd R18,z+9
ldd R19,z+10
xcall fp2int
movw R12,R16
L92:
movw R10,R12
.dbline 213
;
ldi R18,1000
ldi R19,3
movw R16,R10
xcall div16u
movw R24,R16
adiw R24,48
std y+2,R24
.dbline 214
; void rtelbook(void)
ldi R18,1000
ldi R19,3
movw R16,R10
xcall mod16u
movw R10,R16
.dbline 215
; {
ldi R18,100
ldi R19,0
xcall div16u
movw R24,R16
adiw R24,48
std y+3,R24
.dbline 216
; uchar num[] = "0000001";
ldi R18,100
ldi R19,0
movw R16,R10
xcall mod16u
movw R10,R16
.dbline 217
; clearline(1);
ldi R24,46
std y+4,R24
.dbline 218
; display_String(0,0,Stc2);
ldi R18,10
ldi R19,0
xcall div16u
movw R24,R16
adiw R24,48
std y+5,R24
.dbline 219
; while(key!=15)
ldi R18,10
ldi R19,0
movw R16,R10
xcall mod16u
movw R10,R16
.dbline 220
; {
movw R24,R10
adiw R24,48
std y+6,R24
.dbline 221
;
movw R24,R28
adiw R24,2
std y+1,R25
std y+0,R24
mov R18,R22
mov R16,R20
xcall _display_String
.dbline -2
L90:
adiw R28,11
xcall pop_gset4
.dbline 0 ; func end
ret
.dbsym l k 3 c
.dbsym l T 2 A[5:5]c
.dbsym r temp 10 i
.dbsym l num 19 D
.dbsym r j 22 c
.dbsym r i 20 c
.dbend
.dbfunc e lcd12864_init _lcd12864_init fV
.even
_lcd12864_init::
.dbline -1
.dbline 226
; if((key==13)&&(num[6]>'1'))
; {
; num[6]--;
; }
; else if((key==14)&&(num[6]<'9'))
.dbline 227
; {
ldi R16,1
ldi R17,0
xcall _delay_nms
.dbline 228
; num[6]++;
ldi R16,48
xcall _WriteCommand
.dbline 229
; }
ldi R16,1
ldi R17,0
xcall _delay_nms
.dbline 230
; if(key!=30)
clr R16
xcall _guangbiao
.dbline 231
; {
ldi R16,1
ldi R17,0
xcall _delay_nms
.dbline 232
; read("PBR",num);
ldi R16,1
xcall _WriteCommand
ldi R16,5
ldi R17,0
xcall _delay_nms
.dbline 233
; find1(0);
ldi R16,6
xcall _WriteCommand
.dbline 234
;
ldi R16,100
ldi R17,0
xcall _delay_nus
.dbline -2
L99:
.dbline 0 ; func end
ret
.dbend
.area lit(rom, con, rel)
_L::
.byte 128,144
.byte 136,152
.dbfile E:\单片机\AVR程序\GSM_M22\gsb.c
.dbsym e L _L A[4:4]kc
.area data(ram, con, rel)
.dbfile E:\单片机\AVR程序\GSM_M22\gsb.c
_Rcv::
.blkb 3
.area idata
.byte 'a,'b,0
.area data(ram, con, rel)
.dbfile E:\单片机\AVR程序\GSM_M22\gsb.c
.blkb 98
.area idata
.word 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
.word 0,0,0,0,0
.word 0,0,0,0,0
.word 0,0,0,0,0
.byte 0,0,0,0,0,0,0,0
.area data(ram, con, rel)
.dbfile E:\单片机\AVR程序\GSM_M22\gsb.c
.dbsym e Rcv _Rcv A[101:101]c
_Sendtxt::
.blkb 23
.area idata
.byte 'A,'T,43,'C,'M,'G,'S,61,34,49,53,57,56,54,57,50
.byte 57,49,56,48,34,13,0
.area data(ram, con, rel)
.dbfile E:\单片机\AVR程序\GSM_M22\gsb.c
.dbsym e Sendtxt _Sendtxt A[23:23]c
_Content::
.blkb 14
.area idata
.byte 'H,'o,'w,32,'a,'r,'e,32,'y,'o,'u,63,26,0
.area data(ram, con, rel)
.dbfile E:\单片机\AVR程序\GSM_M22\gsb.c
.dbsym e Content _Content A[14:14]c
_Phone::
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile E:\单片机\AVR程序\GSM_M22\gsb.c
.blkb 19
.area idata
.word 0,0,0,0,0
.byte 0,0,0,0,0,0,0,0,0
.area data(ram, con, rel)
.dbfile E:\单片机\AVR程序\GSM_M22\gsb.c
.dbsym e Phone _Phone A[20:20]c
_CPBW::
.blkb 12
.area idata
.byte 'A,'T,43,'C,'P,'B,'W,61,49,44,34,0
.area data(ram, con, rel)
.dbfile E:\单片机\AVR程序\GSM_M22\gsb.c
.blkb 23
.area idata
.word 0,0,0,0,0
.word 0,0,0,0,0
.byte 0,0,0
.area data(ram, con, rel)
.dbfile E:\单片机\AVR程序\GSM_M22\gsb.c
.dbsym e CPBW _CPBW A[35:35]c
_i_Rcv::
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile E:\单片机\AVR程序\GSM_M22\gsb.c
.dbsym e i_Rcv _i_Rcv c
_flagend::
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile E:\单片机\AVR程序\GSM_M22\gsb.c
.dbsym e flagend _flagend c
_Stc1::
.blkb 17
.area idata
.byte 'G,'S,'M,32,183,162,208,197,207,162,214,208,46,46,46,46
.byte 0
.area data(ram, con, rel)
.dbfile E:\单片机\AVR程序\GSM_M22\gsb.c
.dbsym e Stc1 _Stc1 A[17:17]c
.area text(rom, con, rel)
.dbfile E:\单片机\AVR程序\GSM_M22\gsb.c
.dbfunc e port_init _port_init fV
.even
_port_init::
.dbline -1
.dbline 36
.dbline 37
ldi R24,15
out 0x1b,R24
.dbline 38
out 0x1a,R24
.dbline 39
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -