AT89S52单片机控制GSM模块TC35i发送短信与拨打电话程序
5星 · 超过95%的资源 需积分: 14 118 浏览量
更新于2024-09-21
2
收藏 5KB TXT 举报
"这篇资源是关于使用AT89S52单片机控制GSM模块TC35i进行发送短信和拨打电话的C语言程序。它包含了一些关键的寄存器配置、指令定义以及字符串常量,用于设置GSM模块的工作模式和执行通信操作。"
在单片机编程中,AT89S52是一款广泛应用的8位微控制器,它具有丰富的I/O口和内部程序存储空间。在这个项目中,AT89S52被用来与GSM模块TC35i通信,实现短信发送和电话拨打的功能。TC35i模块是一款基于GSM网络的模块,能够通过串行接口与微控制器进行数据交换。
首先,代码中包含了必要的头文件,如`reg52.h`、`absacc.h`和`intrins.h`,这些头文件提供了对AT89S52单片机特定寄存器的访问和一些内联函数的支持。
接着,定义了一些位变量(sbit),例如D10LED到D11LED,它们分别映射到P0口的不同位,用于状态指示。SW4和SW5是输入按钮,beeper是蜂鸣器控制,J1和J2可能是连接到GSM模块的串行通信接口。
程序中定义了一系列的字符数组,如`PhoneCall[]`,它包含了拨打电话的AT命令;`TxtMode[]`用于设置GSM模块进入PDU(Protocol Data Unit)模式,这是发送短信的一种方式;`mess_qian[]`、`length[]`、`cnum[]`等数组则用于构建和发送短信的PDU格式数据。
`init_chuankou()`函数初始化了单片机的相关设置,如关闭中断(EA=0)、设置串行通信模式(SCON=0X50,TMOD=0X20,TH1,TL1等)并启动定时器(TR1=1),这些都是为了建立与TC35i模块的串行通信所必需的。
`delay_Xms()`函数实现了简单的延时功能,用于在执行特定操作时等待一定时间,这里的延时是通过循环计数实现的。
在实际应用中,单片机会根据预设的AT指令和数据数组,通过串口向TC35i发送命令,控制其进行拨号或发送短信操作。例如,通过发送`ATD13795568363;`可以拨打电话,而`AT+CMGF=0`则切换到PDU模式,之后组合其他数组中的数据发送短信。
这个程序展示了如何使用C语言和AT89S52单片机控制GSM模块TC35i进行基本的通信任务,是物联网应用中常见的硬件控制示例,对于学习单片机控制无线通信模块的初学者具有很高的参考价值。
148 浏览量
123 浏览量
点击了解资源详情
点击了解资源详情
2022-09-24 上传
2017-10-10 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
zheyinglv
- 粉丝: 2
- 资源: 6
最新资源
- 前端协作项目:发布猜图游戏功能与待修复事项
- Spring框架REST服务开发实践指南
- ALU课设实现基础与高级运算功能
- 深入了解STK:C++音频信号处理综合工具套件
- 华中科技大学电信学院软件无线电实验资料汇总
- CGSN数据解析与集成验证工具集:Python和Shell脚本
- Java实现的远程视频会议系统开发教程
- Change-OEM: 用Java修改Windows OEM信息与Logo
- cmnd:文本到远程API的桥接平台开发
- 解决BIOS刷写错误28:PRR.exe的应用与效果
- 深度学习对抗攻击库:adversarial_robustness_toolbox 1.10.0
- Win7系统CP2102驱动下载与安装指南
- 深入理解Java中的函数式编程技巧
- GY-906 MLX90614ESF传感器模块温度采集应用资料
- Adversarial Robustness Toolbox 1.15.1 工具包安装教程
- GNU Radio的供应商中立SDR开发包:gr-sdr介绍