供大家參考內附有電路圖,棒棒
Altium Designer畫的原理圖和PCB圖如下:(51hei附件中可下載工程文件)
單片機源程序如下:
- /************************************************************
- 程序說明:
- 1.將自己的51單片機的串口1連接到GSM 232上
- 2.找到程序中前面的#define處,根據說明修改好自己的單片機配置,編譯程序
- 2.下載程序
- 3.等待發(fā)送成功
- *************************************************************/
- #include <REG51.H>
- #define uchar unsigned char
- #define uint unsigned int
- #define FOSC_110592M
- //#define FOSC_12M
- //無論接收到信號還是發(fā)送完信號,都會進中斷服務程序的
- /*初始化程序(必須使用,否則無法收發(fā)),次程序將會使用定時器1*/
- void SerialInti()//初始化程序(必須使用,否則無法收發(fā))
- {
- TMOD=0x20;//定時器1操作模式2:8位自動重載定時器
- #ifdef FOSC_12M //在這里根據晶振大小設置不同的數值初始化串口
- TH1=0xf3;//裝入初值,波特率2400
- TL1=0xf3;
- #else
- TH1=0xfd;//裝入初值,波特率9600
- TL1=0xfd;
- #endif //end of SOC_12M
-
- TR1=1;//打開定時器
- SM0=0;//設置串行通訊工作模式,(10為一部發(fā)送,波特率可變,由定時器1的溢出率控制)
- SM1=1;//(同上)在此模式下,定時器溢出一次就發(fā)送一個位的數據
- REN=1;//串行接收允許位(要先設置sm0sm1再開串行允許)
- EA=1;//開總中斷
- ES=1;//開串行口中斷
- }
- /*串行通訊中斷,收發(fā)完成將進入該中斷*/
- void Serial_interrupt() interrupt 4
- {
- // a=SBUF;
- P2=SBUF;
- RI=0;//接收中斷信號清零,表示將繼續(xù)接收
- // flag=1;//進入中斷的標志符號
- }
- void Uart1Send(uchar c)
- {
- SBUF=c;
- while(!TI);//等待發(fā)送完成信號(TI=1)出現
- TI=0;
- }
- //串行口連續(xù)發(fā)送char型數組,遇到終止號/0將停止
- void Uart1Sends(uchar *str)
- {
- while(*str!='\0')
- {
- SBUF=*str;
- while(!TI);//等待發(fā)送完成信號(TI=1)出現
- TI=0;
- str++;
- }
- }
- //延時函數大概是1s鐘,不過延時大的話不準...
- void DelaySec(int sec)
- {
- uint i , j= 0;
- for(i=0; i<sec; i++)
- {
- for(j=0; j<65535; j++)
- {
- }
- }
- }
- void main()
- {
- uchar i = 0;
- SerialInti();
- //程序執(zhí)行到這里,模塊已經注冊到了網絡,可以將讓模塊開機,等待模塊注冊到網絡,然后開單片機電源。
- Uart1Sends("AT+CMGF=1\r\n");
- DelaySec(3);//延時3秒 //延時不準,此處加了這么長的延時 就是單純?yōu)榱?能讓模塊執(zhí)行此條指令,實際中最好加判斷,判斷模塊是否執(zhí)行成功
- Uart1Sends("AT+CSCS=\"UCS2\"\r\n");
- DelaySec(3);//延時3秒
- Uart1Sends("AT+CSCA?\r\n");
- DelaySec(3);//延時3秒
- Uart1Sends("AT+CSMP=17,167,0,25\r\n");
- DelaySec(3);//延時3秒
- //下面的短信號,短信內容都為UNICON編碼,可以用UNICON編碼工具來獲取
- Uart1Sends("AT+CMGS=\"00310033003800310038003200370030003000360039\"");//此處修改為對方的電話號 注意此條指令后不要加回車換行
- DelaySec(5);//延時3秒
- Uart1Sends("4F60597D00680065006C006C006F");
- Uart1Send(0x1a);
- DelaySec(15);//延時20秒
-
- }
復制代碼
所有資料51hei提供下載:
防幼兒誤鎖車內裝置設計(含電路圖原理圖,程序).7z
(1.49 MB, 下載次數: 39)
2020-3-25 18:05 上傳
點擊文件名下載附件
|