當前位置:首頁 » 編程語言 » c語言編寫簡單簡訊收發
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言編寫簡單簡訊收發

發布時間: 2022-08-26 21:49:24

1. 誰有89C51單片機(特別是AT89S52)控制GSM模塊TC35收發簡訊的程序(c語言的)急用,非常感謝!

這個程序是已經調完的,並且成功的,功能是定義了一個BUTTON1按鍵,,按下後就自動發短息,簡訊內容為nihao,GSM_ATCMGS()函數中有個數組。存入了指令加手機號加0d。把手機好的asc換成你的就能用了。不能用就hi我:
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
void gsm_uart();
unsigned int uart_delay(unsigned int z);
void GSM_init();
void GSM_CMGF();
void GSM_ATCMGS();
void TELNUM();
void GSM_TEXT();
void GSM_test();
void BUTTON();
unsigned int d;
unsigned char code ATEnter[]={0x41,0x54,0x0d};
unsigned char code ATCMGFEnter[]={0x41,0x54,0x2b,0x43,0x4d,0x47,0x46,0x3d,0x31,0x0d};
unsigned char code ATCMGS[]={0x41,0x54,0x2b,0x43,0x4d,0x47,0x53,0x3d};
unsigned char code TEL_NUM[]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39};
unsigned char code TEXT[]={0x4b,0x4f};
unsigned char code Enter[]={0x0d};
unsigned char code oneA[]={0x31,0x41};
unsigned char idata buf[20];

int flag;
int bufnum=0;

uchar str1[]={"AT"};
uchar str2[]={"ATD"};
uchar str3[]= {"ATH"};
uchar str5[]={"AT+CMGS="};

sbit bell=P1^6;
sbit betton1_1=P3^3;
sbit betton1=P3^4;
void gsm_uart()
{ EA=1;
ES=1;
SCON=0x50; //UART方式1:8位UART; REN=1:允許接收
PCON=0x00; //SMOD=0:波特率不加倍
TMOD=0x20; //T1方式2,用於UART波特率
TH1=0xFD;
TL1=0xFD; //UART波特率設置:9600
TI = 0;
RI = 0;
EA = 1;
TR1=1;
}
unsigned int uart_delay(unsigned int z)
{ unsigned int a,b;
for(a=z;a>0;a--)
{for(b=1000;b>0;b--);}
return z;
}
void ddd() interrupt 4 using 3
{
if(RI) //處理接收中斷
{ buf[bufnum]=SBUF; //接收串口數據
RI=0;
bufnum++; //清除中斷標志位

}

}
void GSM_init()
{
uint i;
uchar code test[]= {0x41,0x54,0X0D};
ES = 0;

for (i=0;i<3;i++)
{
SBUF = test[i];
while (TI == 0);
TI = 0;

}

ES = 1;
}
void GSM_CMGF()
{
uchar code sel[10]= {0x41,0x54,0x2B,0x43,0x4D,0x47,0x46,0x3D,0x31,0x0D}; //AT+CMGF=1回車
uint i;
for(i=0;i<10;i++)
{
SBUF=sel[i];
while(TI==0);
TI=0;

}

}
void GSM_ATCMGS()
{ uint i;
uchar code tel[20]= {0x41,0x54,0x2B,0x43,0x4D,0x47,0x53,0x3D,0x31,0x33,0x38,0x33,
0x36,0x30,0x32,0x33,0x33,0x37,0x39,0x0D};
for(i=0;i<20;i++)
{
SBUF=tel[i];
while(TI==0);
TI=0;

}

}

void GSM_TEXT()
{
uchar code neirong[10]={0x48,0x69,0x21,0x6E,0x69,0x68,0x61,0x6F,0x2E,0x1a}; //hi!nihao.
uint i;
ES =0;
for(i=0;i<10;i++)
{
SBUF=neirong[i];
while(TI==0);
TI=0;

}
ES = 1;

}
void send()
{
SBUF=oneA[0];while(TI==0);TI=0;

SBUF=oneA[1];while(TI==0);TI=0;
}
void GSM_test()
{
gsm_uart();
uart_delay(400);
GSM_init();
uart_delay(1000);
ES =0;

bufnum = 0;
if(buf[5]=='O' && buf[6] =='K')

{
P0=0xfe;uart_delay(1000);P0=0xff;

}
else
{
P0=0x00;uart_delay(4000);P0=0xff;
}

}

void BUTTON()
{ betton1=1;
betton1_1=0;
if(betton1==0)
{
GSM_test();

uart_delay(1200);
GSM_CMGF();
uart_delay(1200);
GSM_ATCMGS();
uart_delay(1200);
GSM_TEXT();
uart_delay(800);
uart_delay(500);
betton1=1;
}
}
main()
{
BUTTON();
uart_delay(10);

}

2. 用c語言或者c++做

手機簡訊的發明人是芬蘭人,因為北歐人的感情比較含蓄,不喜歡通過電話來表達,於是就突發奇想發明了簡訊。網上有人說簡訊的發明者是美國人馬丁·庫珀,他是摩托羅拉的員工,但他發明的是手機,不是簡訊。

手機簡訊
世人把1973年第一部手機的問世歸功於當年的摩托羅拉總設計師馬丁·庫珀,而直到將近20年之後手機最具價值的一項附加服務簡訊才宣告誕生。1992年,Acision公司將首套Short Message Service Centre(SMSC)短消息服務中心系統投向市場,而當初其設計目的則主要是為了調查和改善發展中手機市場的可靠性,隨後挪威的本土電信Telenor公司成為了SMSC的第一家簽約公司。

一開始的"SMSC box"到如今的AcisionIPSMSC系統,Acision公司將簡訊息文字服務的單路理速度提升到了16,000條每秒,而其上限永無止境。基於對技術發展水平的預期,Acision公司未來的IMS-enabled平台將能為用戶提供更高品質服務的同時降低費用支出,對市場來說這項技術的價值不可估量,SMSC的創新永遠不會停止。

1992年,SMSC 1.0版本只具備每秒鍾處理10條簡訊的能力,直到1999年業內才算見到了第一套高速SMSC系統,Acision公司將其處理能力提升到了500條每秒,而目前最新的Acision IP SMSC系統又將這一數字提升了32倍。

盡管移動市場發展飛速,不過簡訊仍然是其最重要的一項附加價值服務。據此前IDC公司統計,文字簡訊仍是亞太地區手機用戶普及率最高的一項移動服務,即使在簡訊的發展中市場,例如西歐簡訊服務的使用率也達到了90%。

Acision公司的市場部經理Steven van Zanen表示:"簡訊對於這個星球上的幾乎所有移動網路服務商的收入都起到了至關重要的作用,在短消息服務中心系統的15年發展歷程中,簡訊取得了全面的成功。不過,我們的任務仍然沒有完成,Acision將堅持對自己系統進一步提升,提供更新更尖端的技術以保持我們在這一行業15年來的領先地位。"

1992年,世界上第一條簡訊在英國沃達豐的網路上通過電腦向手機發送成功,從而宣布手機簡訊誕生。至於中國的第一條簡訊誕生於何時何地已無從知曉,但據考證,中國的移動通信網路早在1994年就具備了簡訊功能,只是那時有手機的人根本不需要它罷了。隨著手機的日益普及,從1998年開始,移動、聯通先後大范圍拓展簡訊業務:2000年,中國手機簡訊息量突破10億條;2001年,達到189億條;2004年,數字飛漲到900億條。

據工信部公布統計數據顯示,2012年,全國移動簡訊發送量達到8973.1億條,同比增長僅2.1%,增幅為四年最低。兩項數據對比可以發現,我國手機用戶增速遠大於簡訊業務,我國2012年簡訊均發送量實際下滑了9%左右。

工信部數據顯示,2012年我國行動電話用戶達到11億戶,其中簡訊業務用戶達到7.6億戶,滲透率為68.8%,手機網民用戶約為4.2億,滲透率為38.2%。另一方面,在我國11億手機用戶中,騰訊微信用戶超過3億戶,滲透率為27.3%。而在中國每10個手機網民中,就有超過7個為微信用戶。

3. 用單片機控制手機模塊發送PDU簡訊的C語言程序

我想樓主的意思是不是想在單片機的某個輸入口上安裝的按鈕,按鈕按下後簡訊就發出去了。其實這很簡單,你要用單片機的串列口跟TC35通訊。首先你先將單片機的波特率定義的和TC35一致,然後根據PDU格式將你要發送的簡訊內容編碼後存放在單片機里,程序檢測到控制端電平變化後就調用發送子程序按照AT指令的格式發送就完了。不過這樣你只能發送固定內容的簡訊。

4. 求,急求,跪求,含淚求C語言編程實現 手機簡訊接受,發送,刪除操作

你是想用c語言寫手機軟體??沒必要吧,android自帶有那功能,如果真要寫也應該用java,而不是c,如果是想手機控制電腦有點麻煩,但我可以實現,方法不定
-物聯網校企聯盟技術部

5. 求linux下C語言編程的通信模塊實現撥號與收發簡訊功能的源代碼!

你的是 TC35么,直接初始化串口,然後發送At指令AT+CMGC 發送簡訊AT+CMGR接收簡訊,然後通過串口查詢,看有沒有受到Ok,收到了說明發送成功,我這有8051單片機控制Tc35的源碼

6. 怎樣用51單片機控制GSM模塊發簡訊,求相關程序(C語言匯編都行)

首先要看哪家GSM模塊,我以前做過一個電腦串口鏈接GSM模塊收發簡訊,打接電話,上網程序,通過串口發送AT指令,你就把單片機的串口和GSM臉上,波特率什麼的都調對,能通信就行,一般應該就是at指令,如果發送AT能回來ok就沒問題,像什麼atd打電話,還有發簡訊的指令都有,不過就是簡訊編碼麻煩一些,你可以上網去搜簡訊編解碼的程序,大把大把的。一般模塊的廠家都會有datasheet,可以聯系一下,有datasheet就什麼都好辦了。其實GSM模塊裡面估計也是單片機或arm,加上一個射頻電路,只要把它當成一個一般的元器件就可以使用了,不是很復雜的。

7. 如何編寫簡訊,例如回復簡訊AA+BB+C+內容。要怎麼寫,請高手指導

是想用JAVA發簡訊是嗎?
首先你得有個簡訊伺服器。一般都是和電信,移動合作的。
然後JAVA代碼如下
PostRequest pr = new PostRequest();

public static String smsUrl = 「簡訊認證伺服器地址」:

private static DCSMSender instance = new DCSMSender();
public static DCSMSender getInstance() {
return instance;
}
private DCSMSender() {
}

/**
* 向指定手機號碼(可多個)發送指定信息
*
* @param cellPhones 手機號
* @param msg 簡訊內容
* @return 成功、失敗
*/
public boolean send(String[] cellPhones, String msg) {

Map param = new HashMap();
String result = "";
param.put("cellPhones", java.util.Arrays.toString(cellPhones));
param.put("msg", DcipherTrans.cipher("system", msg, true));
pr.setParameters(param);
pr.setUrl(smsUrl);
try {
result = pr.getPost();
if ("1".equals(result)) return true;
else return false;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}

public static void main(String[] args) {

String[] cellPhones = {"12345678900"};
String content = "這是發送的內容";
DCSMSender.getInstance().send(cellPhones, "AA+BB+CC「+content);
System.out.println("發送成功");
}

8. 求一個用單片機控制gsm模塊發送簡訊的c語言程序,謝謝了

如果只發送ASCII簡訊的話程序比較簡單,發送中文的就比較復雜了。另外,對於不同型號的GSM模塊,發送中文簡訊的程序略有差別,不知你是哪一種需求。