⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gsb.s

📁 单片机控制GSM22来工作
💻 S
📖 第 1 页 / 共 3 页
字号:
	.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 + -