完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
硬件 stc90c54rd+ sim300w sim卡 天线 lm2576 电容 电阻 电感若干 1 供电 stc90c54rd+ 5V sim300W 4.2V 峰值电流2A ;考虑用2576-5V 后接二极管 利用二极管压降给sim300供电 2 外围控制 ;单片机通电后p0.0输出一个2秒脉冲,sim300 pwkey脚拉低2秒使sim300开机 ;单片机检测p1.2脚是否为低电平如果是,从单片机txd脚输出一系列串行数据(AT指令)控制sim300向指定手机号码发送一条短信 3 串口发送AT指令(犹豫水平有限没有写单片机接收串行数据的部分) ; 1 单片机发送 “AT” "回车" 41H 54H 0DH 0AH 使sim300进入命令模式 2 单片机发送 "AT+IPR=2400""回车" 41H 54H 2BH 49H 50H 52H 3DH 32H 34 30H 30H 0DH 0AH 使sim300的波特率设定为2400 3 单片机发送 "AT+CMGF=0""回车" ASCII码不再罗嗦 告诉sim300发送短信模式为中文 4 单片机发送 "AT+CMGS=25""回车" 告诉sim300发送内容的长度 5 单片机发送" 0011000D91685198100802F70008A70A57FA7AD96709544A8B66""1AH" 给***发送“基站有告警”的短信 因为刚学对汇编熟悉一些所以用的是汇编 源代码 ORG 0000H LJMP MAIN;上电,转向主程序 ORG 0023H ORG 0030H;主程序 MAIN: MOV TMOD,#20H;设T1工作方式2 定时器1作为波特率发生器 MOV TH1,#0F7H;赋记数初值 4M晶振波特率2400 MOV TL1,#0F7H;赋记数值 MOV PCON,#80H;设SMOD=1 MOV SCON,#0C0H;置串行口方式3,BU允许接收 AJMP WHETHER WHETHER:SETB P1.2 JB P1.2,$ SETB TR1;启动定时器T1ACALL SENDAT ACALL SENDAT ACALL SENDIPR ACALL SENDCMGFACALL SENDCMGS ACALL SENDSMS SENDAT: ;发送”AT“子程序 MOV A,#41H MOV SBUF,A JNB ti,$ CLR TI ;发送A MOV A,#54H MOV SBUF,A JNB TI,$; CLR TI ;发送T MOV A,#0DH MOV SBUF,A JNB TI,$; CLR TI MOV A,#0AH MOV SBUF,A JNB TI,$; CLR TI ;发送回车 NOP NOP ACALL DL2S RET SENDIPR: MOV A,#41H MOV SBUF,A JNB TI,$ CLR TI MOV A,#54H MOV SBUF,A JNB TI,$; CLR TI MOV A,#2BH MOV SBUF,A JNB TI,$ CLR TI MOV A,#49H MOV SBUF,A JNB TI,$; CLR TI MOV A,#50H MOV SBUF,A JNB TI,$ CLR TI MOV A,#52H MOV SBUF,A JNB TI,$; CLR TI MOV A,#3DH MOV SBUF,A JNB TI,$ CLR TI MOV A,#32H MOV SBUF,A JNB TI,$; CLR TI MOV A,#34H MOV SBUF,A JNB TI,$; CLR TI MOV A,#30H MOV SBUF,A JNB TI,$; CLR TI MOV A,#30H MOV SBUF,A JNB TI,$; CLR TI MOV A,#0DH MOV SBUF,A JNB TI,$; CLR TI MOV A,#0AH MOV SBUF,A JNB TI,$; CLR TI ACALL DL2S RET SENDCMGF: ;发送AT+CMGF=0 中文模式 MOV A,#41H MOV SBUF,A JNB TI,$ CLR TI MOV A,#54H MOV SBUF,A JNB TI,$; CLR TI MOV A,#2BH MOV SBUF,A JNB TI,$ CLR TI MOV A,#43H MOV SBUF,A JNB TI,$; CLR TI MOV A,#4DH MOV SBUF,A JNB TI,$ CLR TI MOV A,#47H MOV SBUF,A JNB TI,$; CLR TI MOV A,#46H MOV SBUF,A JNB TI,$ CLR TI MOV A,#3DH MOV SBUF,A JNB TI,$; CLR TI MOV A,#30H MOV SBUF,A JNB TI,$; CLR TI MOV A,#0DH MOV SBUF,A JNB TI,$; CLR TI MOV A,#0AH MOV SBUF,A JNB TI,$; CLR TI ACALL DL2S RET SENDCMGS: ;发送AT+CMGS=25 MOV A,#41H MOV SBUF,A JNB TI,$ CLR TI MOV A,#54H MOV SBUF,A JNB TI,$; CLR TI MOV A,#2BH MOV SBUF,A JNB TI,$ CLR TI MOV A,#43H MOV SBUF,A JNB TI,$; CLR TI MOV A,#4DH MOV SBUF,A JNB TI,$ CLR TI MOV A,#47H MOV SBUF,A JNB TI,$; CLR TI MOV A,#53H MOV SBUF,A JNB TI,$ CLR TI MOV A,#3DH MOV SBUF,A JNB TI,$; CLR TI MOV A,#32H MOV SBUF,A JNB TI,$; CLR TI MOV A,#35H MOV SBUF,A JNB TI,$; CLR TI MOV A,#0DH MOV SBUF,A JNB TI,$; CLR TI MOV A,#0AH MOV SBUF,A JNB TI,$; CLR TI ACALL DL2S RET SENDSMS: MOV DPTR,#SMS LOOP_SEND: CLR A MOVC A,@A+DPTR CJNE A,#'$',SEND_AAJMP WHETHER SEND_A: MOV SBUF,A;发送数据 JNB TI,$; CLR TI INC DPTR;指向后一个数据.LJMP LOOP_SEND; RET DL2S: ;延时2秒子程序 MOV R3,#50 LOOP: MOV R2,#25 LOOP1: MOV R1,#255 LOOP2:NOP DJNZ R1,LOOP2 DJNZ R2,LOOP1 DJNZ R3,LOOP RET SMS : DB "0011000D91683195429389F80008A70A57FA7AD96709544A8B66",1AH,'$' END |
|
相关推荐
|
|
感觉不错
|
|
|
|
|
|
为什么两个都要币呀
|
|
|
|
|
|
学习了,有空自己也弄一个出来玩玩!
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
物联网工程师必备:怎么选择不同的无线连接技术,本指南帮你忙!
3285 浏览 1 评论
【DFRobot TinkerNode NB-IoT 物联网开发板试用连载】WIFI功能测试
3938 浏览 0 评论
【DFRobot TinkerNode NB-IoT 物联网开发板试用连载】Arduino的替代SublimeText3+STino
3444 浏览 0 评论
使用端口扩展器轻松高效地向IIoT端点添加具有成本效益的子节点
4008 浏览 1 评论
20683 浏览 11 评论
模组有时候复位重启后输出日志为“REBOOT_CAUSE_SECURITY_PMU_POWER_ON_RESET”的原因?
804浏览 2评论
1022浏览 2评论
1025浏览 1评论
1143浏览 1评论
381浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 18:11 , Processed in 1.292551 second(s), Total 114, Slave 95 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号