❶ 求一份51單片機控制TC35發送簡訊的程序
我有發送的 自己用的額
/***********************************************************
***********************************************************/
//#include "stc15.h" //包含STC15單片機寄存器定義文件
#include "STC15F2K.h"
//#include "LCD12864.H"
#include <intrins.H>
typedef unsigned char unint8;
typedef unsigned char unint16;
#ifndef uchar
#define uchar unsigned char
#endif
#ifndef uint
#define uint unsigned int
#endif
#define SEND "AT+CMGS=\"電話號碼\"\r\n"
unsigned char qwh;
sbit buzzer = P0^6;
sbit relay = P0^4;
sbit key=P3^2;
void delay(uchar t,uchar y)
{
uint i,j;
for(i=0;i<y;i++)
for(j=0;j<t;j++);
}
void InitUART(void)
{ //[email protected]
PCON &= 0x7F; //波特率不倍速
SCON = 0x50; //8位數據,可變波特率
AUXR |= 0x40; //定時器1時鍾為Fosc,即1T
AUXR &= 0xFE; //串口1選擇定時器1為波特率發生器
TMOD &= 0x0F; //清除定時器1模式位
TMOD |= 0x20; //設定定時器1為8位自動重裝方式
TL1 = 0xDC; //設定定時初值
TH1 = 0xDC; //設定定時器重裝值
ET1 = 0; //禁止定時器1中斷
TR1 = 1;
ES = 1; //使能串口中斷
EA = 1;
}
void SendData(uchar dat)
{
//while (busy_ck); //等待前面的數據發送完成
//busy_ck = 1;
SBUF = dat; //寫數據到UART數據寄存器
while(TI==0);
TI=0;
}
/*----------------------------
發送字元串
----------------------------*/
void SendString(uchar *s)
{
while (*s) //檢測字元串結束標志
{
SendData(*s++); //發送當前字元
}
}
/****************************************************************************/
void fs(void)
{
int i;
SendString("AT+CMGF=1\r\n"); //m模式設置
for(i=0;i<50;i++)
delay(8888,8888);
SendString(SEND); //電話號碼 在頂部定義的
for(i=0;i<50;i++)
delay(8888,88888);
SendString("Warning! Someone broke into the house!\r\n"); //簡訊內容
for(i=0;i<50;i++)
delay(8888,8888);
SendData(0x1a); //結束符
}
void main(void)
{
int flage=0,i=0,j=0;
InitUART();
while(1)
{
relay = 0;
P2 = 0xA0;
P2 = 0x00;
if(key==1&&flage==0)
{
//P1=0XFF;
relay = 1;
P2 = 0xA0;
P2 = 0x00;
fs();
flage=1;
}
if(flage==1)
{
P1=0XFF;
}
delay(8888,8888);
i++;
if(i>=500)
{
flage=0;
i=0;
}
}
}
void Uart_Isr() interrupt 4 using 1
{
if (RI)
{
RI = 0; //Clear receive interrupt flag
//a[pi]= SBUF; //P0 show UART data
}
if (TI)
{
TI = 0; //Clear transmit interrupt flag
}
// pi++;
}
❷ 單片機控制GSM模塊發送簡訊
1、成品的程序只要適合你的單片機並且可以完成你的要求,下載到單片機之後就可以了
2、你的目的是單片機控制GSM模塊,所以在調試之後不必須將單片機和電腦連接,只需將單片機和模塊相連,若是連接了可以用來監視單片機發送的命令和模塊返回命令是否正確。
3、將你想要發送的命令編成程序中的字元串,單片機通過串口將命令發送給模塊,模塊接收到命令後就能完成相應的動作,並有可能返回一些語句以便確認(由於我的單片機和模塊跟你的型號不一樣,所以具體的過程或許不一樣)
4、AT指令的話通過查手冊可以看到,你可以先將模塊通過串口跟電腦相連,並通過電腦中的「串口調試助手」軟體來測試自己的AT命令是否正確或者是否需要,篩選了自己需要的命令之後就可以編程,最後燒錄到單片機中實現你想要的結果了。
❸ 怎麼用51系列單片機給手機發簡訊
對手機發簡訊並不復雜,但是你硬體上要有一個GSM/GPRS模塊,這個模塊和單片機是串口聯接,只要按模塊的操作說明給它發指令就行了
❹ 如何實現單片機自動給手機發信息
不知道你單片機什麼水平,如果是高手,去二手市場花20塊錢買個舊的手機,最好是那種老式的,回來拆了,然後把手機里的通訊模塊和手機卡座拆出來,還有屏也要,然後,你自己搭個電路,要有一張手機卡。否則不用卡就能發信息那移動和聯通肯定是不讓的。然後是了解通訊協議,之後,你在單片機里編子函數和主程序,測試後,就可以了。當然這只是概述,具體過程很復雜繁瑣。如果是新手,那還是建議買個別人做好的學習一下吧。
❺ 怎樣實現51單片機控制無線通信模塊進行簡訊收發
單片機的串口和無線模塊的串口連,單片機串口發AT指令集來控制無線模塊發簡訊。這個很簡單,你搜搜單片機和at指令集的關鍵字。這個無線模塊相當於gps模塊或者dtu。12864接單片機的io腳,剩下只是單片機編程的事了。
❻ 如何用單片機直接收發簡訊
很簡單,自己換高速單片機,自行設計編解碼演算法,自行研發射頻收發電路,自行申請入網許可。相信這一套研發過程下來,你能「省」不少錢,嗯。
❼ 單片機控制手機發簡訊
我去年做了個家居安全的設備,與你說的應用類似,現提供如下資料,供你參考:
1、硬體設計:選用MCS51兼容單片機,我用了WINDOND78E58B,再用了MOTOROLA G20的GSM模塊,外接的SIM卡電路和3.3v供電電路都自己設計,GSM模塊通過串口接單片機串口,接受指令控制。另用一個433MHZ無線接收模塊,其一個觸點接單片機I/O口,當連接到被監控設備(保險櫃門內感應開關)受觸發時,433MHZ無線發射模塊發出射頻開關信號給對應接收模塊,接收模塊輸出開關信號給單片機I/O口,單片機程序監測到I/O信號跳變後就發出指令,讓GSM模塊發出簡訊給指定的手機,可同時監測幾個監測點,然後發出簡訊息時也可以有對應變化。
2、程序:C語言,具體可參照G20指令手冊,用AT指令即可。程序與硬體都跑通過,可行。
3、製作時,請注意GSM與單片機間電平轉換,一個3.3V,另一個5V,要處理一下。
希望上述可給你帶來幫助,若還不明白或程序指令有疑問,可聯系[email protected]。
補充:上述方案是用於專門產品的設計,業余條件製作較麻煩。若你只是自己弄來玩玩的,可不必用GSM模塊,可直接弄快單片機試驗板,外接個便宜的帶串口的舊手機接一起就可試驗了,若找不到串口手機,用帶紅外口的NOKIA老手機改造下也可。GOODLUCK!
❽ 用51單片機怎麼控制4G模塊發簡訊
一般來說4g模塊都有一個串口,51單片機就通過這個串口來發送at命令控制4g模塊。收發簡訊有相應的at命令,你在4g模塊的手冊裡面可以找到。
❾ 單片機怎麼實現發送一條指令給手機,然後的手機發送一條簡訊給某個固定的人
使用SIM900A模塊,跟單片機之間實行串口通信,使用AT指令就可以了,很容易實現的。
❿ 怎樣用51單片機控制GSM模塊發簡訊
按模塊手冊供電,接SIM卡等,程序裡面先發握手初始化等指令,然後再發兩條發信息的指令就可以了
一條是對方號碼,一條是簡訊內容,如果是中文就稍微麻煩點,要格式轉換