📄 家庭无线报警系统.lst
字号:
03EC 659 ATA:
03EC 1203D5 660 LCALL FAT
03EF 7441 661 MOV A,#41H
03F1 120A27 662 LCALL FS
03F4 120406 663 LCALL HC;回车!
03F7 22 664 RET
665 ;发送AT+C
03F8 666 ATC:
03F8 1203D5 667 LCALL FAT
03FB 742B 668 MOV A,#2BH;+
03FD 120A27 669 LCALL FS
0400 7443 670 MOV A,#43H;C
0402 120A27 671 LCALL FS
0405 22 672 RET
673 ;发送HC回车指令!
0406 674 HC:
0406 740D 675 MOV A,#0DH;发回车
0408 120A27 676 LCALL FS
040B 740A 677 MOV A,#0AH;发换行
040D 120A27 678 LCALL FS
0410 22 679 RET
680 ;发送AT+CMGD=删除第X条短消息指令!
0411 681 SCDX:
0411 1203F8 682 LCALL ATC
0414 744D 683 MOV A,#4DH
0416 120A27 684 LCALL FS
0419 7447 685 MOV A,#47H
041B 120A27 686 LCALL FS
041E 7444 687 MOV A,#44H
0420 120A27 688 LCALL FS
0423 743D 689 MOV A,#3DH
0425 120A27 690 LCALL FS
0428 22 691 RET
692 ;发送AT+CPBW=
0429 693 CPBW:
0429 1203F8 694 LCALL ATC
042C 7450 695 MOV A,#50H
042E 120A27 696 LCALL FS
0431 7442 697 MOV A,#42H
0433 120A27 698 LCALL FS
0436 7457 699 MOV A,#57H
0438 120A27 700 LCALL FS
043B 743D 701 MOV A,#3DH
043D 120A27 702 LCALL FS
0440 22 703 RET
704 ;发送AT+CPBR=
0441 705 CPBR:
0441 1203F8 706 LCALL ATC
0444 7450 707 MOV A,#50H;P
0446 120A27 708 LCALL FS
0449 7442 709 MOV A,#42H;B
044B 120A27 710 LCALL FS
044E 7452 711 MOV A,#52H;R
0450 120A27 712 LCALL FS
0453 743D 713 MOV A,#3DH;=
0455 120A27 714 LCALL FS
0458 22 715 RET
716 ;发送AT+CNMI=1,1,0,0,1,短信到达TE
0459 717 CNMI: ;新信息指示
0459 1203F8 718 LCALL ATC
A51 MACRO ASSEMBLER 糭____线__綺蟔__ 01/23/2008 12:02:46 PAGE 12
045C 744E 719 MOV A,#4EH;4E N
045E 120A27 720 LCALL FS
0461 744D 721 MOV A,#4DH;4D M
0463 120A27 722 LCALL FS
0466 7449 723 MOV A,#49H;49 I
0468 120A27 724 LCALL FS
046B 743D 725 MOV A,#3DH;3D =
046D 120A27 726 LCALL FS
0470 7431 727 MOV A,#31H;31 1
0472 120A27 728 LCALL FS
0475 742C 729 MOV A,#2CH;2C ,
0477 120A27 730 LCALL FS
047A 7431 731 MOV A,#31H;31 1
047C 120A27 732 LCALL FS
047F 742C 733 MOV A,#2CH;2C ,
0481 120A27 734 LCALL FS
0484 7430 735 MOV A,#30H;30 0
0486 120A27 736 LCALL FS
0489 742C 737 MOV A,#2CH;2C ,
048B 120A27 738 LCALL FS
048E 7430 739 MOV A,#30H;30 0
0490 120A27 740 LCALL FS
0493 742C 741 MOV A,#2CH;2C ,
0495 120A27 742 LCALL FS
0498 7431 743 MOV A,#31H;31 1
049A 120A27 744 LCALL FS
049D 120406 745 LCALL HC;回车!
04A0 120656 746 LCALL PDOK;判断手机是否回答OK?
04A3 60B4 747 JZ CNMI;如果没有检测到OK,重复发
04A5 22 748 RET
749 ;发送AT+CMGR=26H,读短信
750 ;00 43 00 4D 00 47 00 52 00 3D
04A6 751 CMGR:
04A6 1203F8 752 LCALL ATC
04A9 744D 753 MOV A,#4DH
04AB 120A27 754 LCALL FS
04AE 7447 755 MOV A,#47H
04B0 120A27 756 LCALL FS
04B3 7452 757 MOV A,#52H
04B5 120A27 758 LCALL FS
04B8 743D 759 MOV A,#3DH
04BA 120A27 760 LCALL FS
04BD E526 761 MOV A,26H
04BF 120A27 762 LCALL FS
04C2 120406 763 LCALL HC;回车!
04C5 22 764 RET
765 ;发送AT+CMGL=4列出所有短消息指令!
04C6 766 CMGL:
04C6 1203F8 767 LCALL ATC
04C9 744D 768 MOV A,#4DH
04CB 120A27 769 LCALL FS
04CE 7447 770 MOV A,#47H
04D0 120A27 771 LCALL FS
04D3 744C 772 MOV A,#4CH
04D5 120A27 773 LCALL FS
04D8 743D 774 MOV A,#3DH
04DA 120A27 775 LCALL FS
04DD 7434 776 MOV A,#34H
04DF 120A27 777 LCALL FS
04E2 120406 778 LCALL HC;回车!
04E5 22 779 RET
780 ;检测防的PDU 9632
04E6 781 FANG:
04E6 C298 782 CLR RI;软件清除串口中断标记
04E8 1209DA 783 LCALL PDRI;等待下一个串口数据
04EB E599 784 MOV A,SBUF;将串口寄存器中接收到的数据给A
A51 MACRO ASSEMBLER 糭____线__綺蟔__ 01/23/2008 12:02:46 PAGE 13
04ED B43927 785 CJNE A,#39H,FANG1;判断串口数据9
04F0 C298 786 CLR RI;软件清除串口中断标记
04F2 1209DA 787 LCALL PDRI;等待下一个串口数据
04F5 E599 788 MOV A,SBUF;将串口寄存器中接收到的数据给A
04F7 B4361D 789 CJNE A,#36H,FANG1;判断串口数据6
04FA C298 790 CLR RI;软件清除串口中断标记
04FC 1209DA 791 LCALL PDRI;等待下一个串口数据
04FF E599 792 MOV A,SBUF;将串口寄存器中接收到的数据给A
0501 B43313 793 CJNE A,#33H,FANG1;判断串口数据3
0504 C298 794 CLR RI;软件清除串口中断标记
0506 1209DA 795 LCALL PDRI;等待下一个串口数据
0509 E599 796 MOV A,SBUF;将串口寄存器中接收到的数据给A
050B B43209 797 CJNE A,#32H,FANG1;判断串口数据2
050E C298 798 CLR RI;软件清除串口中断标记
799 ;跳过8个内存(0D 0A 0D 0A 4F 4B 0D 0A)
0510 7B08 800 MOV R3,#8;定义接收数据的总长度
0512 120A08 801 LCALL TGSJ;调用接收串口数据子程序
0515 A11A 802 AJMP FANG2
0517 120688 803 FANG1:LCALL SB
051A 804 FANG2:
051A 22 805 RET
806 ;和手机握手,单片机发ATE0手机回答OK子程序
051B 807 ATE0OK:
051B 9001F4 808 MOV DPTR,#500
051E 120A56 809 LCALL DELAYXMS
810 ;发送ATE0指令!
0521 1203D5 811 LCALL FAT
0524 7445 812 MOV A,#45H;将ASCII码E发送到串口去
0526 120A27 813 LCALL FS
0529 7430 814 MOV A,#30H;将ASCII码0发送到串口去
052B 120A27 815 LCALL FS
052E 120406 816 LCALL HC;回车!
0531 120656 817 LCALL PDOK;判断手机是否回答OK?
0534 60E5 818 JZ ATE0OK;如果没有检测到OK,重复发,收到OK时A==FFH,否则A==0。
0536 22 819 RET
820 ;读出授权电话号码及密码,写入内存中
0537 821 XRSJ:
0537 9007D0 822 MOV DPTR,#2000
053A 120A56 823 LCALL DELAYXMS
053D 120441 824 LCALL CPBR;读出授权电话AT+CPBR=1
0540 7431 825 MOV A,#31H
0542 120A27 826 LCALL FS
0545 120406 827 LCALL HC
0548 12059E 828 LCALL DCSJ
054B 5056 829 JNC XRSJ1
830 ;手机号码暂存放在50H-5BH的内存中
054D 7B0B 831 MOV R3,#11;定义接收手机号码的数据长度
054F 7850 832 MOV R0,#50H;数据在内存的存放位置
0551 120A15 833 LCALL GPSSJ;调用接收串口数据子程序
0554 7B10 834 MOV R3,#16;跳过16个数据
0556 120A08 835 LCALL TGSJ;调用跳过串口数据子程序
0559 120579 836 LCALL SJHCR;调用手机号从暂存50H-5BH中存入74H-7FH
837 ;读出密码AT+CPBR=2
055C 120441 838 LCALL CPBR
055F 7432 839 MOV A,#32H
0561 120A27 840 LCALL FS
0564 120406 841 LCALL HC
0567 12059E 842 LCALL DCSJ
056A 5037 843 JNC XRSJ1
844 ;密码"车辆报警"存放在5CH-73H的内存中
056C 7B18 845 MOV R3,#24;定义接收手机号码的数据长度
056E 785C 846 MOV R0,#5CH;数据在内存的存放位置
0570 120A15 847 LCALL GPSSJ;调用接收串口数据子程序
0573 7B10 848 MOV R3,#16;跳过16个数据
0575 120A08 849 LCALL TGSJ;调用跳过串口数据子程序
0578 22 850 RET
A51 MACRO ASSEMBLER 糭____线__綺蟔__ 01/23/2008 12:02:46 PAGE 14
851 ;手机号从暂存50H-5BH中存入74H-7FH
0579 852 SJHCR:
0579 855174 853 MOV 74H,51H;3
057C 855075 854 MOV 75H,50H;1
057F 855376 855 MOV 76H,53H;1
0582 855277 856 MOV 77H,52H;5
0585 855578 857 MOV 78H,55H;1
0588 855479 858 MOV 79H,54H;0
058B 85577A 859 MOV 7AH,57H;3
058E 85567B 860 MOV 7BH,56H;8
0591 85597C 861 MOV 7CH,59H;6
0594 85587D 862 MOV 7DH,58H;2
0597 757E46 863 MOV 7EH,#46H;F
059A 855A7F 864 MOV 7FH,5AH;2
059D 22 865 RET
059E 866 DCSJ:
867 ;+CPBR: 1,"13906079959",129,""
059E 7B0C 868 MOV R3,#12;跳过12个数据
05A0 120A08 869 LCALL TGSJ;调用跳过串口数据子程序
05A3 870 XRSJ1:
05A3 22 871 RET
872 ;写入授权电话号码及密码
05A4 873 BCDM:
874 ; AT+CPBW=1,"13906079959"
05A4 875 DDH:;写入授权电话号码
05A4 120429 876 LCALL CPBW
05A7 7431 877 MOV A,#31H
05A9 120A27 878 LCALL FS
05AC 742C 879 MOV A,#2CH
05AE 120A27 880 LCALL FS
05B1 7422 881 MOV A,#22H;"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -