㈠ 基於單片機的電動車防盜系統設計編程步驟,求大神給出編程過程,謝謝
這個是一個很不錯的題目啊,能鍛煉動手能力。
1、先做單片機的最小系統。
2、學會使用單片機的串口,與PC機正常通信。(這個很重要,即使你的項目不需要這個)
3、能夠使用單片機控制報警模塊報警。
4、弄懂震動感測器原理,知道要把什麼樣的信號送給單片機,單片機再進行處理,使用控制報警模塊報警。
4、單片機和遙控模塊。學習遙控器的編碼、使用示波器觀察遙控模塊接收到的波形,編號解碼程序。將解碼結果通過串口傳到PC機屏幕上,看結果是否正確。
5、單片機和GSM。學習兩者之間的通信原理,使用示波器觀察GSM發出的波形,將通信結果發到PC機上看結果是否正確。
6、將上述結合起來
㈡ 怎麼把單片機和GSM模塊連接什麼型號都行。
把單片機和GSM模塊連接,直接把非同步串列通信口的TX和RX連上就可以,別忘了地線。但是需要注意幾點:
1、不同的單片機有不同的電壓,一般GSM模塊的輸入輸出電平是2.85V,51系列的電平是5V,一般在51輸出的TX那根線上串聯2K的電阻,基本上可以使用。如果是3.3V的單片機,這個電阻就可以很小,幾百歐姆就可以。
2、GSM模塊本身的電源和SIM卡電路很麻煩,首先是大多數GSM模塊都是用FPC40的介面,排線的間距只有零點五毫米,而且是塑料外殼,不好焊接。焊不好的話工作不穩定。
其次是電源部分較麻煩,GSM模塊的發射電流較大,最大瞬間電流2A。所以電源部分一般要用LM2576這種大電流的DC-DC變換器來提供4V的電壓,DCDC電路設計本身就很不容易,個人應用比較難,需要做電路板。
㈢ GSM模塊與單片機
GSM模塊肯定不會只是一個集成塊,他是一整塊電路板,對於這種手機,這個模塊基本就是除去外殼,電池,按鍵和顯示器後剩下的全部了,建議你別拆。
找到這個手機的串口,把串口接到你的單片機的串口,通過串口下AT指令就可以了。
㈣ 我在做單片機寫指令到GSM讓GSM發簡訊到指定手機號,求資料或QQ幫助
我以前編寫的51單片機通過SIM300模塊用GPRS把採集到的溫度發送到設定的TCP伺服器,你可以看看,發簡訊很簡單,根據AT指令修改一下前面的代碼即可。
/*8位共陽數碼管,18b20接P3^3,11.0592晶振*/
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar th,tl;//存放採集溫度高8位,低8位
uchar temp_int,temp_dot;//存放轉換後的溫度整數部分和小數部分
sbit dq=P3^3; //18b20數據介面
bit stat_18b20; //18b20初始化返回狀態
uchar ctrl_z=0x1a;//GPRS數據發送結束標識ctrl+z鍵16進制碼
uchar ATCLPORT[]="AT+CLPORT=\"TCP\",\"5256\"\r"; //設置本地GPRS通信協議以及埠號
uchar ATCIPSTART[]="AT+CIPSTART=\"TCP\",\"121.233.142.158\",\"6000\"\r"; //連接TCP伺服器
uchar ATCIPSEND[]="AT+CIPSEND\r"; //啟動數據發送命令
void uart_init(); //串口初始化
void delayus(uint xus); //延時微秒
void delayms(uint xms); //延時毫秒
init_18b20(); //18b20初始化
readchar(); //讀一個位元組
void writechar(uchar dat); //寫一個位元組
void get_temp(); //取溫度
void temp_convert(); //轉換溫度
void send_string(uchar *gprs_string); //給GPRS模塊發送字元串
void send_char(uchar);
void gprs_init(); //GPRS模塊初始化
void send_temp(); //通過GPRS模塊發送溫度
//--------------下面為主函數----------------
void main(void)
{
uart_init();
gprs_init();
while(1)
{
get_temp();
temp_convert();
send_temp();
}
}
void uart_init()
{
TMOD=0X20;
SCON=0X50;
TH1=0XFD;
TL1=0XFD;
TR1=1;
}
//--------------下面為延時操作函數----------------
void delayus(uint xus)
{
for(;xus>0;xus--);
}
void delayms(uint xms)
{
uint i;
uchar j;
for(i=0;i<xms;i++)
for(j=0;j<112;j++);
}
//--------------下面為DS18B20操作函數----------------
init_18b20()
{
stat_18b20=1;
dq=1;
delayus(5);
dq=0;
delayus(50);
dq=1;
delayus(5);
stat_18b20=dq;
delayus(60);
dq=1;
return(stat_18b20);
writechar(0x4e);
writechar(0x02);
writechar(0x01);
writechar(0x7f);
}
readchar()
{
uchar i,dat;
for(i=8;i>0;i--)
{
dq=0;
dat=dat>>1;
dq=1;
if(dq)
dat=dat|0x80;
delayus(4);
}
return(dat);
}
void writechar(uchar dat)
{
uchar i;
for(i=8;i>0;i--)
{
dq=0;
dq=dat&0x01;
delayus(5);
dq=1;
dat=dat>>1;
}
}
void get_temp()
{
init_18b20();
if(stat_18b20==0)
{
writechar(0xcc);
writechar(0x44);
delayms(50);
init_18b20();
writechar(0xcc);
writechar(0xbe);
tl=readchar();
th=readchar();
}
else
{
; //錯誤處理模塊
}
}
void temp_convert()
{
temp_int=((th&0x07)<<4)|((tl&0xf0)>>4);
temp_dot=tl&0x0f;
}
//--------------下面為SIM300操作函數----------------
void send_string(uchar *gprs_string)//指令字元串發送指令
{
while(*gprs_string)
{
SBUF = *gprs_string;
while(TI==0);
TI=0;
gprs_string++;
}
}
void send_char(uchar x)
{
SBUF=x;
while(TI==0);
TI=0;
}
void gprs_init()
{
send_string(ATCLPORT);
delayms(1000);
send_string(ATCIPSTART);
delayms(1000);
}
void send_temp()
{
send_string(ATCIPSEND);
send_char(temp_int);
send_char(temp_dot);
send_char(ctrl_z);
delayms(1000);
}
㈤ 基於單片機設計和基於GSM的設計有什麼區別嗎
單片機是一種電子硬體,能實現io、通信、數模、計算等控制,是一個中央處理系統。gsm是第二代移動通信技術。
㈥ 單片機控制GSM模塊發送簡訊
1、成品的程序只要適合你的單片機並且可以完成你的要求,下載到單片機之後就可以了
2、你的目的是單片機控制GSM模塊,所以在調試之後不必須將單片機和電腦連接,只需將單片機和模塊相連,若是連接了可以用來監視單片機發送的命令和模塊返回命令是否正確。
3、將你想要發送的命令編成程序中的字元串,單片機通過串口將命令發送給模塊,模塊接收到命令後就能完成相應的動作,並有可能返回一些語句以便確認(由於我的單片機和模塊跟你的型號不一樣,所以具體的過程或許不一樣)
4、AT指令的話通過查手冊可以看到,你可以先將模塊通過串口跟電腦相連,並通過電腦中的「串口調試助手」軟體來測試自己的AT命令是否正確或者是否需要,篩選了自己需要的命令之後就可以編程,最後燒錄到單片機中實現你想要的結果了。
㈦ 單片機控制GSM模塊具體怎麼操作
gsm模塊是需要手機里的手機卡的,現在好多直放站就是這種gsm模塊監控,需要必須要安裝sim卡。