搜索
bottom↓
回复: 7

请教:谁有单片机对M22的控制程序?

[复制链接]

出0入0汤圆

发表于 2009-6-4 15:53:42 | 显示全部楼层 |阅读模式
用单片机控制M22发送短息的程序
网上下的没全的啊,大多都只给了个主程序,而且很多函数计算看不懂啊
厉害的大侠帮帮忙。。。。。。。。。

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

 楼主| 发表于 2009-6-5 11:20:12 | 显示全部楼层
大侠们,救救急!!!!!!!

出0入0汤圆

发表于 2009-6-5 12:28:33 | 显示全部楼层
M22的短信控制指令跟其他模块有些区别,好好看看AT指令集,应该问题不大

出0入0汤圆

发表于 2009-7-16 20:24:23 | 显示全部楼层
#include<regx52.h>
#define uchar unsigned char

//只充许发送
void USART_Initial(void)
{
        SCON = 0X50; //异步模式1 禁止接收

        TMOD = 0x21;//定时器1工作于模式2
        //PCON = 0x80;
        TH1 = 0XE6; //波特率9600bit/s
        TL1 = 0XE6;
        TR1= 1;
}

void USART_TransmitWord(uchar Data)
{       
        TI = 0;
        SBUF = Data; while(!TI);
        TI = 0;
}

void USART_TransmitString(uchar *p)
{
        while(*p)
        {
                USART_TransmitWord(*(p++));
        }
}





#include<stc89c51.h>
#include<ATCommand.h>
#include<stdio.h>
//#include<comdef.h>

int main(void)
{  /*打电话程序*/
        unsigned int n=1000,m = 5;
        USART_Initial();
        ///while(n--);
        //while(1)
        //{
                //USART_TransmitString("ATD15029968164;");
                USART_TransmitString("ATD15877325720;");
                 //while(m--);
                USART_TransmitWord(0x0d);
        //        while(n--);
        //}
while(1);


        /*发短信*/
        /*USART_TransmitString("AT+CMGF=1");
        USART_TransmitWord(0x0d);
        USART_TransmitWord(0x0a);
        n=10000;while(n--);
        n=10000;while(n--);
        n=10000;
        USART_TransmitString("AT+CMGS=");
        USART_TransmitWord(0X22);
        USART_TransmitString("15877325720");
        USART_TransmitWord(0X22);
        USART_TransmitWord(0x0d);
        USART_TransmitWord(0x0a);
        while(n--);
        USART_TransmitString("I LOVE YOU");
        USART_TransmitWord(0X1A);
        while(1);  */

}

出0入0汤圆

发表于 2009-7-16 20:25:15 | 显示全部楼层
这个程序我在我的AT89s52开发板上已经调试通过了。

出0入0汤圆

发表于 2009-7-16 20:25:45 | 显示全部楼层
发短信用的的TEXT方式。

出0入0汤圆

发表于 2009-7-16 20:26:29 | 显示全部楼层
#include<regx52.h>
#define uchar unsigned char

//只充许发送
void USART_Initial(void)
{
        SCON = 0X50; //异步模式1 禁止接收

        TMOD = 0x21;//定时器1工作于模式2
        //PCON = 0x80;
        TH1 = 0XE6; //波特率9600bit/s
        TL1 = 0XE6;
        TR1= 1;
}

void USART_TransmitWord(uchar Data)
{       
        TI = 0;
        SBUF = Data; while(!TI);
        TI = 0;
}

void USART_TransmitString(uchar *p)
{
        while(*p)
        {
                USART_TransmitWord(*(p++));
        }
}

出0入0汤圆

 楼主| 发表于 2009-7-18 16:50:04 | 显示全部楼层
呵呵 谢了!我的已经写好了!
现在进行GPRS部分,有时间交流下!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-23 21:30

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表