电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

基于51单片机GPRS手机详细教程

16页
  • 卖家[上传人]:桔****
  • 文档编号:457179201
  • 上传时间:2022-11-07
  • 文档格式:DOC
  • 文档大小:472KB
  • / 16 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、基于51单片机GPRS打电话等功能的实现!血顶猎鹰大家好,小弟花了大半个月时间折腾出使用51单片机和TC35进行打电话,发短信,收到短信后回一个短信给发信人(谁发的就回给谁,不是指特定的一个人!)网上好多程序都是不能用的,这个程序经本人实际调试过,可以使用!先介绍下功能:1. 按下第一个按钮打电话给程序中指定的手机2. 按下第二个键发温度值给程序中指定的手机3. 按下第三个键发测试短信给程序中指定的手机4. 随便来个手机发一个bang给和单片机连在一起的手机卡,手机卡回ph=0.7给你的手机,发别的字符就不会(这个相当于密码),当然这个bang和ph=0.7这个是你自己设的。下面看看电路图:右边那个长长的就是TC35的接口了,第15脚接单片机,其他的按着连就行了。 处于方便,1602就这样接了,还有按钮怎么接程序看看就知道了,红笔是我修改的,你懂的!这些脚和单片机一下,再接下晶振就好了,接下来进入正题。程序如下,程序横向有点长,为了让大家可以看程序方便点就把字体缩小了。里面解释很详细了,程序我是修改别人的,之前不能用,现在可以了。为了便于大家理解,我把几个重要的地方说下打电话过程min

      2、gling(3,AT12);for(x=0;x11;x+)senddata(neirongx); senddata(0x3b);senddata(0x0D);while(sw1=0); senddata(0x0D);/发0x0d停止打电话,首先发一些命令准备打,然后输入电话号码,在内容里面,然后结束符号,等待按键松开就不打了。发短信的过程ES=0;mingling(8,AT7);for(i=0;i11;i+)senddata(neirongi);senddata(0x0d);delaymm(100);senddata(shi+0x30);senddata(ge+0x30); /发送数据内容senddata(0x20);senddata(0x1a);senddata(0x0d);ES=1;串口中断关不关都没事的,一般不会冲突。过程和打电话的差不多,只是命令有点不同,你懂的!接受短信过程先检测下有没短信来receive_ready();来了的话那个TC35通过串口给单片机发东西,我看了下东西是这个:&+CMTI: SM,10 10表示我当前的短信数,说明我之前有9条,加上现在的共10条我们

      3、取标志位TI,所以有SystemBuf5=0x54)&SystemBuf6=0x49就表示短信来了,0x54,0x49就是TI的意思,你懂的!来短信了我们准备发出短信, if(receiveready=1) read_message(); receiveready=0; sendready=1; Delay_ms(300); message_read();这里是准备的过程其中void message_read(void) /*准备是否回复短信给目标号码*/ if(sendready=1)&(SystemBuf5=0x47)&(SystemBuf6=0x52) send=1;就是绕来绕去,你们也可以不绕,这里简单。另外我看了下这个时候数组里面存的东西,用我下面注释了的程序就好了(如果你们也想看看) /*write_cmd(0x01);write_cmd(0x80);for(i=64;i80;i+)write_dat(SystemBufi);delaymm(1); write_cmd(0xc0);for(i=80;i91;i+)write_dat(SystemBufi);delaymm(1

      4、); while(1);/读出来看下,结果是 /&+CMGR: REC UN 015 /READ,+86151581 1631 /07680,11/06/1 3247 /1,14:01:09+32& 4863 /1234567891234567 6479 /8912345678 8089 */看这个小东西把你的手机号码,发的时间日期,内容都记下来存到数组里了,接下来的事情就好办了void readcommend(void) /*读取短信内容,判断相应指令是否正确*/ uchar i; for(i=0;i4;i+) /将短信内容中的指令部分截取出来放到 /CommandBuf数组中 CommandBufi=SystemBuf64+i; if(CommandBuf0=b)&(CommandBuf1=a)&(CommandBuf2=n)&(CommandBuf3=g) /判断指令是否为开发光管指令 write_cmd(0x01); /测试接收write_cmd(0x80);write_dat(b);write_dat(a);write_dat(n);write_dat(g);sendmess

      5、age(); /如果发送的指令既不是bang就定义为错误操作,不干别的这里读短信内容看看我们的暗号是不是对的,我这里就设置成bang了,如果密码是对的,我们就发短信!上面我们不是看了这个小东西存的东西都放在哪了,看到没,在64开始就是你的内容了接下来我们来看看它是怎么发出去的void sendmessage(void) /*发送回复短信指令*/ uchar i;for(i=0;i8;i+) AT_SendNumberi=AT_CMGSi; for(i=8;i19;i+) AT_SendNumberi=SystemBuf18+i;/位置2636 将对方号码提取用来回复给对方 sendstring(AT_SendNumber);senddata(0x0d);delaymm(100);senddata(P);senddata(H);senddata(=);senddata(7);senddata(.);senddata(0);/内容senddata(0x20);senddata(0x1a);senddata(0x0d);Delay_ms(30);看到没,和之前我们发短信的方法是一样的,只不过

      6、这里用的是它数组里存的电话号码,所在位置2636,很方便看出来的哈,用我上面的显示程序就行了。接下来就是删除短信了,发一个指令还有储存的位置,这里人性化处理,不把你以前存在卡里的短信删掉,删掉的是你放进卡之后发过去的指令,这个是这样实现的。read_message(void)程序执行的时候把位置读走了,但是后来没消掉看到没? 在delete_message(void)中我们用一个循环把你的位置放到数组里,然后再删,程序如下for(i=8;i11;i+)AT_deletei=numberbufi-8; 好了,基本也就是这些了,打到这里累死我了!下面是整个程序!大家拿回去用吧。#include#include#define uchar unsigned char#define uint unsigned int#define RxIn 90/定义接收的数组长度为90uchar code AT=AT;/握手信号uchar code ATE=ATE; /关回显uchar code AT_CNMI=AT+CNMI=2,1;/设置这组参数来了新信息直接显示到串口,不作存储uchar code AT

      7、_CSCA=AT+CSCA=+8613800571500;/设置服务中心号码AT+CSCA=+8613010360500uchar code AT_CMGF=AT+CMGF=1;/设置短信的格式为text格式uchar code AT_CMGR=AT+CMGR=;/读取短信指令uchar code AT_CMGS=AT+CMGS=;/发送短信指令uchar code AT_CMGD=AT+CMGD=;/发送短信指令uchar AT_delete12;uchar AT_Read12;/用来存储发送读取短信指令 uchar AT_SendNumber22; /用来存储发送短信号码指令uchar numberbuf3; /用来保存短信条数 uchar idata SystemBufRxIn; /储存出口接收数据 uchar CommandBuf4; /用来储存指令 uchar Rx=0;bit receiveready=0; /接收短信标志位bit sendready=0; /发送短信准备标志位bit send=0; /发送短信标志位sbit IGT=P27;/启动GSM的启动线连IGTsb

      8、it sw1=P33; /打电话sbit sw2=P34;/发测试短信sbit sw3=P35;/发温度sbit beep=P32; /蜂鸣器void Delay_ms(uint i);void Start_GSM(void);void UART_init (void);void sendchar(uchar ch);void sendstring(uchar *p);void GSM_INIT(void);void receive_ready(void);void message_read(void);void read_message(void);void sendmessage(void);uchar code AT7=0x41,0x54,0x2B,0x43,0x4D,0x47,0x53,0x3D;/AT+CMGS= AT+CMGS=“+8613xxxxxxxxx”回车输入短消息。Crtl+Z结束并发送。uchar code AT12=0x41,0x54,0x44,0x3E;/ATD ATD*; (拨号,*为需要拨的号码,如呼叫13973292929,则为ATD13973292929;uchar code

      《基于51单片机GPRS手机详细教程》由会员桔****分享,可在线阅读,更多相关《基于51单片机GPRS手机详细教程》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.