您当前的位置:五五电子网电子知识单片机-工控设备51单片机西门子3508手机开发的车辆报警系统源程序 正文
西门子3508手机开发的车辆报警系统源程序

西门子3508手机开发的车辆报警系统源程序

点击数:7514 次   录入时间:03-04 11:55:23   整理:http://www.55dianzi.com   51单片机

MOV  @R0,A
INC R0;内存单元地址

;跳过8个内存
MOV  R3,#8;定义接收数据的总长度
LCALL TGSJ;调用接收串口数据子程序

RET

;发送AT+CMGS=150,发送短信
;00 43 00 4D 00 47 00 53 00 3D 
CMGS:
LCALL ATC

MOV  A,#4DH
LCALL FS
MOV  A,#47H
LCALL FS
MOV  A,#53H
LCALL FS
MOV  A,#3DH
LCALL FS
MOV  A,#31H
LCALL FS
MOV  A,#35H
LCALL FS
MOV  A,#30H
LCALL FS
LCALL HC;回车!

LCALL JCDYH;调用等待手机回答“>”的子程序
JNC CSJ;检测到>,转入CSJ
MOV  DPTR,#2000;延时2秒
LCALL DelayXmS
AJMP CMGS

CSJ:
LCALL DXZT;调用发固定的短信字头089168子程序
LCALL HMCS;调用发送短信中心号码子程序13800597500
LCALL DZZB;调用短信中部固定数据11000B81
LCALL JSFSJ;调用发送短信接收方手机号码子程序13906079959
LCALL DYZXSJ;调用下部固定数据0008A9

RET

;发送短信固定字头089168子程序
DXZT:
MOV  A,#30H
LCALL FS
MOV  A,#38H
LCALL FS
MOV  A,#39H
LCALL FS
MOV  A,#31H
LCALL FS
MOV  A,#36H
LCALL FS
MOV  A,#38H
LCALL FS
RET

;发送短信中心号码子程序
;短信中心的号码存放在58H-63H的内存中
HMCS:
MOV  A,58H
LCALL FS
MOV  A,59H
LCALL FS
MOV  A,5AH
LCALL FS
MOV  A,5BH
LCALL FS
MOV  A,5CH
LCALL FS
MOV  A,5DH
LCALL FS
MOV  A,5EH
LCALL FS
MOV  A,5FH
LCALL FS
MOV  A,60H
LCALL FS
MOV  A,61H
LCALL FS
MOV  A,62H
LCALL FS
MOV  A,63H
LCALL FS
RET

;发送短信中间固定数据11000B81子程序
DZZB:
MOV  A,#31H
LCALL FS
MOV  A,#31H
LCALL FS
MOV  A,#30H
LCALL FS
MOV  A,#30H
LCALL FS
MOV  A,#30H
LCALL FS
MOV  A,#42H
LCALL FS
MOV  A,#38H
LCALL FS
MOV  A,#31H
LCALL FS
RET

;发送短信息接收方手机号码子程序
;手机号码存放在74H-7F的内存中
JSFSJ:
MOV  A,74H
LCALL FS
MOV  A,75H
LCALL FS
MOV  A,76H
LCALL FS
MOV  A,77H
LCALL FS
MOV  A,78H
LCALL FS
MOV  A,79H
LCALL FS
MOV  A,7AH
LCALL FS
MOV  A,7BH
LCALL FS
MOV  A,7CH
LCALL FS
MOV  A,7DH
LCALL FS
MOV  A,7EH
LCALL FS
MOV  A,7FH
LCALL FS
RET

;发送短信中间固定数据0008A9子程序
DYZXSJ:
MOV  A,#30H
LCALL FS
MOV  A,#30H
LCALL FS
MOV  A,#30H
LCALL FS
MOV  A,#38H
LCALL FS
MOV  A,#41H
LCALL FS
MOV  A,#39H
LCALL FS
RET

;短信发送检测,+CMGS: 138

FSCG:CLR RI;清除有串口数据标志
LCALL PDDXRI;5秒内检测串口是否有数据返回?

MOV  A,SBUF;将串口寄存器中接收到的数据给A
CJNE A,#0DH,SBB;判断串口数据
CLR RI;软件清除串口中断标记
LCALL PDRI;等待下一个串口数据
MOV  A,SBUF;将串口寄存器中接收到的数据给A
CJNE A,#0AH,SBB;判断串口数据
CLR RI;软件清除串口中断标记
LCALL PDRI;等待下一个串口数据
MOV  A,SBUF;将串口寄存器中接收到的数据给A
CJNE A,#2BH,SBB;判断串口数据+
CLR RI;软件清除串口中断标记
LCALL PDRI;等待下一个串口数据
MOV  A,SBUF;将串口寄存器中接收到的数据给A
CJNE A,#43H,SBB;判断串口数据C
CLR RI;软件清除串口中断标记
LCALL PDRI;等待下一个串口数据

MOV  A,SBUF;将串口寄存器中接收到的数据给A
CJNE A,#4DH,SBB;判断串口数据M
CLR RI;软件清除串口中断标记
LCALL PDRI;等待下一个串口数据
MOV  A,SBUF;将串口寄存器中接收到的数据给A
CJNE A,#47H,SBB;判断串口数据G
CLR RI;软件清除串口中断标记
LCALL PDRI;等待下一个串口数据
MOV  A,SBUF;将串口寄存器中接收到的数据给A
CJNE A,#53H,SBB;判断串口数据S
CLR RI;软件清除串口中断标记
;检测到"CMGS"的ASCII码--------

;跳过5个内存(: 116)
MOV  R3,#5;定义接收数据的总长度
LCALL TGSJ;调用接收串口数据子程序
AJMP FSCG1
SBB:LCALL SB

FSCG1:
RET

;发送ATD,拨打电话13906079959
ATD:
LCALL AT
MOV  A,#44H
LCALL FS
MOV  A,75H
LCALL FS
MOV  A,74H
LCALL FS
MOV  A,77H
LCALL FS
MOV  A,76H
LCALL FS
MOV  A,79H
LCALL FS
MOV  A,78H
LCALL FS
MOV  A,7BH
LCALL FS
MOV  A,7AH
LCALL FS
MOV  A,7DH
LCALL FS
MOV  A,7CH
LCALL FS
MOV  A,7FH
LCALL FS
MOV  A,#3BH
LCALL FS
LCALL HC;回车!

RET

;发送"恭喜您!您已经获得车辆报警系统的控制权限!"短消息的子程序
FDX:
MOV  DPTR,#500
LCALL DELAYXMS
LCALL CMGS;发送AT+CMGS=150短信长度子程序

;发送汉字的字数(24+4个汉字)
MOV  A,#33H
LCALL FS
MOV  A,#38H
LCALL FS

;准备发送"恭喜您!您已经获得车辆报警系统的控制权限!密码:"汉字

MOV  DPTR,#TAB1
MOV  R1,#96;发送24个汉字
LCALL FSS;调用发送汉字的子程序

;发送"车辆报警"4个汉字 从内存64H-73H一共16个内存
MOV  R3,#16;定义发送的数据总长度为16个
MOV  R0,#64H;数据从内存的64H开始
LCALL HZSZ;调用发送内存数据的子程序

MOV  A,#1AH;发送16进制的1A结束字符
LCALL FS

LCALL FSCG;调用短信发送检测子程序

RET

;发送"有人动您的车,请察看!"短消息的子程序
FBJDX:
LCALL CMGS;发送AT+CMGS=150短信长度子程序

;发送汉字的字数(11个汉字)
MOV  A,#31H
LCALL FS
MOV  A,#36H
LCALL FS

;准备发送"有人动您的车,请察看!"

MOV  DPTR,#TAB2
MOV  R1,#44;发送11个汉字
LCALL FSS;调用发送汉字的子程序

MOV  A,#1AH;发送16进制的1A结束字符
LCALL FS

RET

;发送"车辆电源异常,请检查!"短消息的子程序
FDYBJ:
LCALL CMGS;发送AT+CMGS=150短信长度子程序

;发送汉字的字数(11个汉字)
MOV  A,#31H
LCALL FS
MOV  A,#36H
LCALL FS

;准备发送"车辆电源异常,请检查!"

MOV  DPTR,#TAB3
MOV  R1,#44;发送11个汉字
LCALL FSS;调用发送汉字的子程序

MOV  A,#1AH;发送16进制的1A结束字符
LCALL FS

LCALL FSCG;调用短信发送检测子程序
JNZ FDYBJ1
MOV  DPTR,#500
LCALL DELAYXMS
AJMP FDYBJ
FDYBJ1:

RET

;发送"车门已被打开,请检查!"短消息的子程序
FCMBJ:
LCALL CMGS;发送AT+CMGS=150短信长度子程序

;发送汉字的字数(11个汉字)
MOV  A,#31H
LCALL FS
MOV  A,#36H
LCALL FS

;准备发送"车门已被打开,请检查!"

MOV  DPTR,#TAB4
MOV  R1,#44;发送11个汉字
LCALL FSS;调用发送汉字的子程序

MOV  A,#1AH;发送16进制的1A结束字符
LCALL FS

LCALL FSCG;调用短信发送检测子程序
JNZ FCMBJ1
MOV  DPTR,#500
LCALL DELAYXMS
AJMP FCMBJ
FCMBJ1:

RET

;发送"行李厢异常,请检查!"短消息的子程序
FXLBJ:
LCALL CMGS;发送AT+CMGS=150短信长度子程序

上一页  [1] [2] [3] [4] [5] [6] [7]  下一页


本文关键字:源程序  报警系统  西门子  手机开发  51单片机单片机-工控设备 - 51单片机