3.1 使用STC89C52控制MC20拨打电话
需要准备的硬件
- MC20开发板 1个
https://item.taobao.com/item.htm?id=562661881042 - GSM/GPRS天线 1根
https://item.taobao.com/item.htm?id=531979567261 - IPEX接口转SMA接口转接线 1根
https://item.taobao.com/item.htm?id=531979903836 - GPS有源天线 1根
https://item.taobao.com/item.htm?id=26241892024 - 中国移动或者联通的SIM卡一张,micro sim尺寸的
需要自备,如果只是测试GPRS可以购买物联网卡,该卡不能测试电话和短信功能
https://item.taobao.com/item.htm?id=562257211778 - DC9V1A电源一个
https://item.taobao.com/item.htm?id=41915338664
或者两节串联的18650电池
https://item.taobao.com/item.htm?id=530904849115 - USB-TTL模块 1个
https://item.taobao.com/item.htm?id=39481188174 - 杜邦线若干
https://item.taobao.com/item.htm?id=562848773709 - STC89C52最小系统板
https://item.taobao.com/item.htm?id=26410708738
使用代码源码位置:
功能:
可以通过STC89C52单片机拨打电话给某个号码,这个代码写的比较完善,不是简单的只是发送指令,
而且对MC20的反馈数据进行解析分析判断是否正常。正常则运行下一个执行,不正常就会重复发送该指令。
可以从调试信息很清楚判定现在的工作状态。
测试流程:
- 修改代码里面的电话号码为自己想要拨通的电话号码
char phoneNumber[] = "173XXXXXXX1"; //替换成需要被拨打电话的号码
- 用keil软件编译通过生成新的hex文件,然后下载到自己的51单片机,记住需要11.0592MHz晶振的板子,12MHz不行
- 下载后打开自己的板子的电脑对应的串口调试助手的com,可以看到单片机发送出来的AT指令,这里一直发送AT因为我们的MC20模块还没和单片机连接,并没通讯上,代码也不会向下继续运行其它指令
- STC89C52和MC20连接
mc20的V_IO,GND,GSM_TX,GSM_RX分别接STC89C52的5V,GND,P3.0,P3.1
然后正常给MC20供电,然后按下启动按键3秒松开启动MC20模块,当我们看到MC20的NET指示灯开始闪烁。我们会看到以下的串口界面
另外一定要记住下载单片机程序的时候要拔掉单片机和MC20的连接,要不会和下载程序冲突影响下载。
下载后再接线
看到ATD指令,说明已经开始拨打电话了,
上面的CPIN指令可以查询是否插入识别SIM卡,如果卡在这里,往下不执行,说明没识别你用的SIM卡,检查下是否为移动联通卡,或者是否卡插正确,
而CREG指令可以获取现在的SIM卡是否已经有服务信息了。一般net指示灯能3秒频率闪烁时候,才能过去这条指令
文章对您有帮助,开心可以打赏我,金额随意,欢迎来赏!
需要电子方面开发板/传感器/模块等硬件可以到我的淘宝店逛逛