vt.2.lst

来自「This is the source code for GSM - GPS ba」· LST 代码 · 共 1,570 行 · 第 1/5 页

LST
1,570
字号
.................... #BIT SPPDATA4 = SPPDATA.4 
.................... #BIT SPPDATA5 = SPPDATA.5 
.................... #BIT SPPDATA6 = SPPDATA.6 
.................... #BIT SPPDATA7 = SPPDATA.7 
....................  
.................... #BIT GIE = INTCON.7 
.................... #BIT PEIE = INTCON.6 
.................... #BIT TMR0IE = INTCON.5 
.................... #BIT INT0IE = INTCON.4 
.................... #BIT RBIE = INTCON.3 
....................  
.................... #BIT INT0IF = INTCON.1 
.................... #BIT RBIF = INTCON.0 
....................  
.................... #BIT RBPU = INTCON2.7 
.................... #BIT INTEDG0 = INTCON2.6 
.................... #BIT INTEDG1 = INTCON2.5 
.................... #BIT INTEDG2 = INTCON2.4 
.................... #BIT TMR0IF = INTCON2.2 
....................  
....................  
....................  
.................... #BIT INT2IP = INTCON3.7 
.................... #BIT INT1IP = INTCON3.6 
.................... #BIT INT2IE = INTCON3.4 
.................... #BIT INT1IE = INTCON3.3 
.................... #BIT INT2IF = INTCON3.1 
.................... #BIT INT1IF = INTCON3.0 
....................  
....................  
.................... #FUSES HS,NOPROTECT,NOLVP,PUT,NOWDT,CPUDIV1,NOPBADEN,NOSTVREN 
.................... #use delay(clock = 20000000) 
*
0140:  MOVLW  02
0142:  MOVWF  FEA
0144:  MOVLW  30
0146:  MOVWF  FE9
0148:  MOVF   FEF,W
014A:  BZ    0166
014C:  MOVLW  06
014E:  MOVWF  01
0150:  CLRF   00
0152:  DECFSZ 00,F
0154:  BRA    0152
0156:  DECFSZ 01,F
0158:  BRA    0150
015A:  MOVLW  7B
015C:  MOVWF  00
015E:  DECFSZ 00,F
0160:  BRA    015E
0162:  DECFSZ FEF,F
0164:  BRA    014C
0166:  RETLW  00
....................  
.................... #BYTE RCBUF = 0X3A1 
.................... #BYTE TEMP = 0X3A2 
.................... #BYTE RCBUF1 = 0X3A3 
.................... #BYTE TEMP1 = 0X3A4 
....................  
....................  
.................... char gps_rcv_data_array[100]; 
.................... char rfbuffer[15]; 
.................... char sms[25]; 
.................... char at_cmd[10][35] = {	"AT+CPIN?", 
.................... 						"AT+CCLK=\"08/02/29,14:55:00\"", 
.................... 						"AT+CPMS=\"SM\"", 
.................... 						"AT+CMGF=1", 
.................... 						"AT+CNMI=2,1,0,0,0", 
.................... 						"AT+CSAS", 
.................... 					   }; 
....................  
.................... char rfid_data[20]="RF:"; 
.................... signed int gps_j = 0; 
.................... signed int rf = 0; 
.................... char end=0x0A; 
.................... void io_ports_initialize(void); 
.................... void usart_initialize(void); 
.................... void enable_interrupt(void); 
....................  
.................... void asm_code_reception(void); 
.................... void rf_reception(); 
....................  
.................... void transmit_message(int i); 
.................... void send_sms(char *a1, char *b1);	 
.................... void baudrate(); 
.................... void baudrate1(); 
.................... void clear_buf(void); 
....................  
.................... #INT_EXT 
.................... void exr_isr() 
.................... {	 
.................... 	INT0IF = 0; 
*
01FE:  BCF    FF2.1
.................... 	asm_code_reception(); 
0200:  BRA    00DC
.................... 	while(gps_rcv_data_array[gps_j] == 0X0A) 
.................... 	{ 
0202:  CLRF   03
0204:  MOVLB  2
0206:  MOVF   x19,W
0208:  ADDLW  1B
020A:  MOVWF  FE9
020C:  MOVLW  00
020E:  ADDWFC 03,W
0210:  MOVWF  FEA
0212:  MOVF   FEF,W
0214:  SUBLW  0A
0216:  BNZ   0256
.................... 		/*if(rfbuffer[0]!=0xFF) 
.................... 		{ 
.................... 			gps_rcv_data_array[gps_j]=0; 
.................... 			strcat(gps_rcv_data_array,rfid_data); 
.................... 			strcat(gps_rcv_data_array,rfbuffer); 
.................... 			//strcat(gps_rcv_data_array,end); 
.................... 		}*/ 
.................... 		sprintf(sms,"AT+CMGS=\"9952910522\"*"); 
0218:  CLRF   x1D
021A:  MOVLW  8E
021C:  MOVWF  x1C
021E:  CLRF   x26
0220:  MOVF   x26,W
0222:  MOVLB  0
0224:  RCALL  00AC
0226:  MOVLB  2
0228:  INCF   x26,F
022A:  MOVWF  00
022C:  MOVWF  x2D
022E:  MOVLB  0
0230:  RCALL  0120
0232:  MOVLW  15
0234:  MOVLB  2
0236:  SUBWF  x26,W
0238:  BNZ   0220
.................... 		send_sms(sms, gps_rcv_data_array); 
023A:  CLRF   x2D
023C:  MOVLW  8E
023E:  MOVWF  x2C
0240:  CLRF   x2F
0242:  MOVLW  1B
0244:  MOVWF  x2E
0246:  MOVLB  0
0248:  RCALL  0168
.................... 		gps_j = -1; 
024A:  MOVLW  FF
024C:  MOVLB  2
024E:  MOVWF  x19
.................... 	//	clear_buf(); 
.................... 		//rfbuffer[0]=0xFF; 
.................... //		PEIE=1; 
.................... 	//	INT1IF=0; 
.................... 	//	INT1IE=0; 
.................... 		 
.................... 	} 
0250:  MOVLB  0
0252:  BRA    0202
0254:  MOVLB  2
.................... 	++gps_j; 
0256:  INCF   x19,F
.................... 	 
.................... } 
....................  
0258:  BCF    FF2.1
025A:  MOVLB  0
025C:  GOTO   0066
.................... void asm_code_reception() 
.................... { 
.................... #asm 
.................... inch_n: 
.................... 		btfsc PORTB,0; 		SKIP ON START BIT = 1 (A "MARK") 
*
00DC:  BTFSC  F81.0
.................... 		goto inch_n; 		ELSE KEEP LOOKING FOR A START BIT 
00DE:  BRA    00DC
.................... 		movlw 0x08; 		START SERIAL INPUT SEQUENCE 
00E0:  MOVLW  08
.................... 		movwf TEMP; 		COLLECT 8 DATA BITS 
00E2:  MOVLB  3
00E4:  MOVWF  xA2
.................... 		clrf RCBUF; 		CLEAR SERIAL CHARACTER BUFFER 
00E6:  CLRF   xA1
.................... 		btfsc PORTB,0; 		FALL THRU IF START BIT STILL = 1 (A "MARK") 
00E8:  BTFSS  F81.0
.................... 		goto inch_n; 		ELSE IT WAS JUST A NOISE SPIKE, KEEP LOOKING 
00EA:  BRA    00F0
00EC:  MOVLB  0
00EE:  BRA    00DC
.................... inch_n1: 
.................... #endasm 
.................... 	baudrate(); 
00F0:  MOVLB  0
00F2:  RCALL  00D2
.................... #asm 
.................... 		bcf STATUS,0; 		CLEAR THE CARRY BIT 
00F4:  BCF    FD8.0
.................... 		rrcf RCBUF,F; 		ROTATE CRY -> MSB, ROTATE MSB RIGHT 
00F6:  MOVLB  3
00F8:  RRCF   xA1,F
.................... 		btfsc PORTB,0; 		IS IT A "MARK" ? 
00FA:  BTFSC  F81.0
.................... 		bsf RCBUF,7; 		...SKIP IF YES, ELSE SET BIT TO LOGIC '1' 
00FC:  BSF    xA1.7
.................... 		decfsz TEMP,F; 		EIGHT COUNTS YET? 
00FE:  DECFSZ xA2,F
.................... 		goto inch_n1; 		...NO, GET ANOTHER BIT 
0100:  BRA    00F0
.................... #endasm 
.................... 		baudrate(); 
0102:  MOVLB  0
0104:  RCALL  00D2
.................... 		gps_rcv_data_array[gps_j] = RCBUF; 
0106:  CLRF   03
0108:  MOVLB  2
010A:  MOVF   x19,W
010C:  ADDLW  1B
010E:  MOVWF  FE9
0110:  MOVLW  00
0112:  ADDWFC 03,W
0114:  MOVWF  FEA
0116:  MOVFF  3A1,FEF
.................... } 
011A:  MOVLB  0
011C:  GOTO   0202 (RETURN)
....................  
.................... void baudrate() 
.................... { 
.................... 	delay_us(104); 
*
00D2:  MOVLW  AD
00D4:  MOVWF  00
00D6:  DECFSZ 00,F
00D8:  BRA    00D6
.................... } 
00DA:  RETLW  00
....................  
.................... #INT_EXT1 
.................... void ext1_isr() 
.................... {	 
.................... 	INT1IF = 0; 
*
0364:  BCF    FF0.0
.................... 	rf_reception(); 
0366:  BRA    026A
.................... 	while(rfbuffer[rf] == 0x0D) 
.................... 	{ 
0368:  CLRF   03
036A:  MOVLB  2
036C:  MOVF   x1A,W
036E:  ADDLW  7F
0370:  MOVWF  FE9
0372:  MOVLW  00
0374:  ADDWFC 03,W
0376:  MOVWF  FEA
0378:  MOVF   FEF,W
037A:  SUBLW  0D
037C:  BNZ   03D0
.................... //		GIE=0; 
.................... 		rf = -1;					 
037E:  MOVLW  FF
0380:  MOVWF  x1A
.................... 		strcat(rfid_data,rfbuffer); 
0382:  MOVLW  02
0384:  MOVWF  x2D
0386:  MOVLW  05
0388:  MOVWF  x2C
038A:  CLRF   x2F
038C:  MOVLW  7F
038E:  MOVWF  x2E
0390:  MOVLB  0
0392:  BRA    02AE
.................... 		sprintf(sms,"AT+CMGS=\"9952910522\"*"); 
0394:  MOVLB  2
0396:  CLRF   x1D
0398:  MOVLW  8E
039A:  MOVWF  x1C
039C:  CLRF   x2C
039E:  MOVF   x2C,W
03A0:  MOVLB  0
03A2:  RCALL  00AC
03A4:  MOVLB  2
03A6:  INCF   x2C,F
03A8:  MOVWF  00
03AA:  MOVWF  x2D
03AC:  MOVLB  0
03AE:  RCALL  0120
03B0:  MOVLW  15
03B2:  MOVLB  2
03B4:  SUBWF  x2C,W
03B6:  BNZ   039E
.................... 		send_sms(sms,rfid_data); 
03B8:  CLRF   x2D
03BA:  MOVLW  8E
03BC:  MOVWF  x2C
03BE:  MOVLW  02
03C0:  MOVWF  x2F
03C2:  MOVLW  05
03C4:  MOVWF  x2E
03C6:  MOVLB  0
03C8:  RCALL  0168
.................... 		clear_buf(); 
03CA:  BRA    0322
.................... //		GIE = 1; 
.................... 	} 
03CC:  BRA    0368
03CE:  MOVLB  2
.................... 	++rf; 
03D0:  INCF   x1A,F
.................... } 
....................  
03D2:  BCF    FF0.0
03D4:  MOVLB  0
03D6:  GOTO   0066
.................... void rf_reception() 
.....

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?