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

📄 家庭无线报警系统.lst

📁 家庭无线报警系统,主要功能有修改系统密码
💻 LST
📖 第 1 页 / 共 5 页
字号:
05B3 120A27          882        LCALL FS
05B6 1205ED          883        LCALL CSJHM;调用存向SIM卡存入手机号码
05B9 7422            884        MOV A,#22H;"
05BB 120A27          885        LCALL FS
05BE 120406          886        LCALL HC
05C1 120656          887        LCALL PDOK
05C4 60DE            888        JZ DDH
                     889        ;写入密码
                     890        ;AT+CPBW=2,"8F 66 8F 86 62 A5 8B 66"
05C6                 891     XMM:
05C6 120429          892        LCALL CPBW
05C9 7432            893        MOV A,#"2"
05CB 120A27          894        LCALL FS
05CE 742C            895        MOV A,#",";
05D0 120A27          896        LCALL FS
05D3 7422            897        MOV A,#22H;"
05D5 120A27          898        LCALL FS
                     899        ;写入"******"6个汉字 从内存5CH-73H一共24个内存
05D8 7B18            900        MOV R3,#24;定义发送的数据总长度为24个
05DA 785C            901        MOV R0,#5CH;数据从内存的5CH开始
05DC 120A3F          902        LCALL HZSZ;调用发送内存数据的子程序
05DF 7422            903        MOV A,#22H
05E1 120A27          904        LCALL FS
05E4 120406          905        LCALL HC
05E7 120656          906        LCALL PDOK
05EA 60DA            907        JZ XMM
05EC 22              908        RET
                     909     ;向SIM卡存入手机号码时要每两位调反一下
05ED                 910     CSJHM:
05ED E575            911        MOV A,75H
05EF 120A27          912        LCALL FS
05F2 E574            913        MOV A,74H
05F4 120A27          914        LCALL FS
05F7 E577            915        MOV A,77H
05F9 120A27          916        LCALL FS
A51 MACRO ASSEMBLER  糭____线__綺蟔__                                                     01/23/2008 12:02:46 PAGE    15

05FC E576            917        MOV A,76H
05FE 120A27          918        LCALL FS
0601 E579            919        MOV A,79H
0603 120A27          920        LCALL FS
0606 E578            921        MOV A,78H
0608 120A27          922        LCALL FS
060B E57B            923        MOV A,7BH
060D 120A27          924        LCALL FS
0610 E57A            925        MOV A,7AH
0612 120A27          926        LCALL FS
0615 E57D            927        MOV A,7DH
0617 120A27          928        LCALL FS
061A E57C            929        MOV A,7CH
061C 120A27          930        LCALL FS
061F E57F            931        MOV A,7FH
0621 120A27          932        LCALL FS
0624 22              933        RET
0625                 934     JCDYH:
0625 C298            935        CLR RI;清除有串口数据标志
0627 1209DA          936        LCALL PDRI;2秒内检测串口是否有数据返回?
062A E599            937        MOV A,SBUF;将串口寄存器中接收到的数据给A
062C B40D23          938        CJNE A,#0DH,WD;判断串口数据
062F C298            939        CLR RI;软件清除串口中断标记
0631 1209DA          940        LCALL PDRI;等待下一个串口数据
0634 E599            941        MOV A,SBUF;将串口寄存器中接收到的数据给A
0636 B40A19          942        CJNE A,#0AH,WD;判断串口数据
0639 C298            943        CLR RI;软件清除串口中断标记
063B 1209DA          944        LCALL PDRI;等待下一个串口数据
063E E599            945        MOV A,SBUF;将串口寄存器中接收到的数据给A
0640 B43E0F          946        CJNE A,#3EH,WD;判断串口数据
0643 C298            947        CLR RI;软件清除串口中断标记
0645 1209DA          948        LCALL PDRI;等待下一个串口数据
0648 E599            949        MOV A,SBUF;将串口寄存器中接收到的数据给A
064A B42005          950        CJNE A,#20H,WD;判断串口数据 
064D C298            951        CLR RI;软件清除串口中断标记
                     952        ;判断手机是不是回答>代码? 0D 0A 3E 20 
064F 74FF            953        MOV A,#0FFH;检测到>,对A置1
0651 22              954        RET
0652 E4              955     WD:CLR A;没有检测到>,对A清零
0653 C298            956        CLR RI;清除有串口数据标志
0655 22              957        RET
                     958     ;检测手机是否回答OK?
0656                 959     PDOK:
0656 120671          960        LCALL PDDA;检测手机是否回答0D/0A
0659 1209DA          961        LCALL PDRI;等待下一个串口数据
065C E599            962        MOV A,SBUF;将串口寄存器中接收到的数据给A
065E B44F27          963        CJNE A,#4FH,SB;判断串口数据 O
0661 C298            964        CLR RI;软件清除串口中断标记
0663 1209DA          965        LCALL PDRI;等待下一个串口数据
0666 E599            966        MOV A,SBUF;将串口寄存器中接收到的数据给A
0668 B44B1D          967        CJNE A,#4BH,SB;判断串口数据 K
066B 120671          968        LCALL PDDA;检测手机是否回答0D/0A
                     969        ;判断是不是手机回答的OK代码? 0D 0A 4F 4B 0D 0A 
066E 74FF            970        MOV A,#0FFH;检测到OK,对A置1
0670 22              971        RET
                     972     ;检测手机是否回答0D/0A?
0671                 973     PDDA:
0671 C298            974        CLR RI;清除有串口数据标志
0673 1209DA          975        LCALL PDRI;2秒内检测串口是否有数据返回?
0676 E599            976        MOV A,SBUF;将串口寄存器中接收到的数据给A
0678 B40D0D          977        CJNE A,#0DH,SB;判断串口数据
067B C298            978        CLR RI;软件清除串口中断标记
067D 1209DA          979        LCALL PDRI;等待下一个串口数据
0680 E599            980        MOV A,SBUF;将串口寄存器中接收到的数据给A
0682 B40A03          981        CJNE A,#0AH,SB;判断串口数据
0685 C298            982        CLR RI;软件清除串口中断标记
A51 MACRO ASSEMBLER  糭____线__綺蟔__                                                     01/23/2008 12:02:46 PAGE    16

0687 22              983        RET
0688 E4              984      SB:CLR A;没有检测到OK,对A清零
0689 C298            985         CLR RI;清除有串口数据标志
068B 22              986         RET
                     987     ;发送AT+CLCC,来电显示
                     988     ;00 43 00 4C 00 43 00 43 
068C                 989     CLCC:
068C 1203F8          990        LCALL ATC
068F 744C            991        MOV A,#4CH
0691 120A27          992        LCALL FS
0694 7443            993        MOV A,#43H
0696 120A27          994        LCALL FS
0699 7443            995        MOV A,#43H
069B 120A27          996        LCALL FS
069E 120406          997        LCALL HC;回车!
06A1 22              998        RET
                     999     ;发送AT+CPAS查询手机状态子程序 AT+CPAS 报告移动设备的错误 +CMEERROR:﹤XXX﹥ 
                    1000     ;+CMSERROR:﹤XXX﹥ ERROR  
06A2                1001     CPAS:
06A2 1203F8         1002        LCALL ATC;发AT+C
06A5 7450           1003        MOV A,#50H;P
06A7 120A27         1004        LCALL FS
06AA 7441           1005        MOV A,#41H;A
06AC 120A27         1006        LCALL FS
06AF 7453           1007        MOV A,#53H;S
06B1 120A27         1008        LCALL FS
06B4 120406         1009        LCALL HC;回车!
                    1010        ;手机状态子程序
                    1011        ;跳过9个内存
06B7 7B09           1012        MOV R3,#9;定义接收数据的总长度 0D 0A 2B 43 50 41 53 3A 20 33 0D 0A
06B9 120A08         1013        LCALL TGSJ;调用接收串口数据子程序
06BC 7825           1014        MOV R0,#25H;数据在内存的存放位置
06BE C298           1015        CLR RI;软件清除串口中断标记
06C0 1209DA         1016        LCALL PDRI;等待下一个串口数据
06C3 E599           1017        MOV A,SBUF;将串口寄存器中接收到的数据给A
06C5 F6             1018        MOV @R0,A;收到33
06C6 08             1019        INC R0;内存单元地址
                    1020        ;跳过8个内存
06C7 7B08           1021         MOV R3,#8;定义接收数据的总长度
06C9 120A08         1022        LCALL TGSJ;调用接收串口数据子程序
06CC 22             1023        RET
                    1024     ;发送AT+CMGS=R7 R6 R5,发送短信
                    1025     ;00 43 00 4D 00 47 00 53 00 3D 
06CD                1026     CMGS:
06CD 1203F8         1027        LCALL ATC
06D0 744D           1028        MOV A,#"M";M
06D2 120A27         1029        LCALL FS
06D5 7447           1030        MOV A,#"G";G
06D7 120A27         1031        LCALL FS
06DA 7453           1032        MOV A,#"S";S
06DC 120A27         1033        LCALL FS
06DF 743D           1034        MOV A,#"=";=
06E1 120A27         1035        LCALL FS
06E4 EF             1036        MOV A,R7
06E5 120A27         1037        LCALL FS
06E8 EE             1038        MOV A,R6
06E9 120A27         1039        LCALL FS
06EC ED             1040        MOV A,R5
06ED 6003           1041        JZ TGA
06EF 120A27         1042        LCALL FS
06F2                1043      TGA:
06F2 120406         1044       LCALL HC;回车!
06F5 120625         1045        LCALL JCDYH;调用等待手机回答“>”的子程序
06F8 5009           1046        JNC CSJ;检测到>,转入CSJ
06FA 9007D0         1047        MOV DPTR,#2000;延时2秒
06FD 120A56         1048        LCALL DelayXmS
A51 MACRO ASSEMBLER  糭____线__綺蟔__                                                     01/23/2008 12:02:46 PAGE    17

0700 0206CD         1049        LJMP CMGS
0703                1050      CSJ:
0703 900BFC         1051        MOV DPTR,#TAB11
0706 780C           1052             MOV R0,#12
0708 120714         1053        LCALL DXZT;调用发固定的短信字头0011000D9168子程序
070B 7874           1054             MOV R0,#74H;手机号码存放首址
070D 12071F         1055        LCALL JSFSJ;调用发送短信接收方手机号码子程序13906079959
0710 120728         1056        LCALL DYZXSJ;调用下部固定数据0008A9
0713 22             1057        RET
                    1058     ;发送短信固定字头0011000D9168子程序
0714                1059     DXZT:;0011000D9168
0714 7B00           1060        MOV R3,#0
0716                1061      FZT:
0716 EB             1062             MOV A,R3
0717 93             1063             MOVC A,@A+DPTR
0718 120A27         1064             LCALL FS
071B 0B             1065             INC R3
071C D8F8           1066             DJNZ R0,FZT
071E 22             1067             RET
                    1068     ;发送短信接收方手机号码子程序
071F                1069     JSFSJ:
071F E6             1070             MOV A,@R0
0720 120A27         1071        LCALL FS
0723 08             1072        INC R0
0724 B880F8         1073             CJNE R0,#80H,JSFSJ
0727 22             1074             RET
                    1075     ;发送短信中间固定数据000801子程序
0728                1076     DYZXSJ:
0728 7430           1077        MOV A,#"0"
072A 120A27         1078        LCALL FS
072D 7430           1079        MOV A,#"0"
072F 120A27         1080        LCALL FS
0732 7430           1081        MOV A,#"0"
0734 120A27         1082        LCALL FS
0737 7438           1083        MOV A,#"8"
0739 120A27         1084        LCALL FS
073C 7430           1085        MOV A,#"0"
073E 120A27         1086        LCALL FS
0741 7431           1087        MOV A,#"1"
0743 120A27         1088        LCALL FS
0746 22             1089        RET
                    1090     ;短信发送检测,+CMGS: 138
0747                1091     FSCG:
0747 C298           1092        CLR RI;清除有串口数据标志
0749 1209F1         1093        LCALL PDDXRI;5秒内检测串口是否有数据返回?
074C E599           1094        MOV A,SBUF;将串口寄存器中接收到的数据给A
074E B40D48         1095        CJNE A,#0DH,SBB;判断串口数据
0751 C298           1096        CLR RI;软件清除串口中断标记
0753 1209DA         1097        LCALL PDRI;等待下一个串口数据
0756 E599           1098        MOV A,SBUF;将串口寄存器中接收到的数据给A
0758 B40A3E         1099        CJNE A,#0AH,SBB;判断串口数据
075B C298           1100        CLR RI;软件清除串口中断标记
075D 1209DA         1101        LCALL PDRI;等待下一个串口数据
0760 E599           1102        MOV A,SBUF;将串口寄存器中接

⌨️ 快捷键说明

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