利用GSM模塊實現(xiàn)遠程無線控制程序_第1頁
利用GSM模塊實現(xiàn)遠程無線控制程序_第2頁
利用GSM模塊實現(xiàn)遠程無線控制程序_第3頁
利用GSM模塊實現(xiàn)遠程無線控制程序_第4頁
利用GSM模塊實現(xiàn)遠程無線控制程序_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、#define p_iob_data (volatile unsigned int *)0x7005#define p_iob_buffer (volatile unsigned int *)0x7006#define p_iob_dir (volatile unsigned int *)0x7007#define p_iob_attrib (volatile unsigned int *)0x7008#definep_ioa_data (volatile unsigned int *)0x7000 #definep_ioa_buffer(volatile unsigned int *)0x7

2、001 #define p_ioa_dir (volatile unsigned int *)0x7002#define p_ioa_attrib (volatile unsigned int *)0x7003#define p_uart_command1 (volatile unsigned int *)0x7021#define p_uart_command2 (volatile unsigned int *)0x7022#define p_uart_data (volatile unsigned int *)0x7023#definep_uart_baudscalarlow(volati

3、le unsigned int *)0x7024#definep_uart_baudscalarhigh(volatile unsigned int *)0x7025#define p_watchdog_clear (volatile unsigned int *)0x7012/定義變量 signed int d_x,d_y,d_z;/延遲signed int b200,b_1=0;/串口接收數(shù)據(jù)signed int read=at+cmgr=1rn;/讀指令signed int del=at+cmgd=1rn;/刪除指令signed int del1=at+cmgd=;/刪除指令(用于初始化

4、)signed int del_1=1,del_2=0x31;signed int send=at+cmgs=;signed int zcd5,zcd_1,zcd_g,zcd_s;/總長度signed int sendzx=0891683108402305f01100;signed int sjh30,sjh_1,sjh_2,sjh_3;/手機號signed int sendxh=000800;signed int dxc2,dxc_1,dxc_2,dxc_3,dxc_4; /短信長度signed int sendyk=5df25f00003a; /已開:signed int you_1,yo

5、u_2,you_3,you_4,dx20,wu,dx_1;signed int buf,*cmd,r;signed int bzw,mima=0,chaxun=0;signed int kai,kai_1,guan,guan_1;/void irq7(void) _attribute_ (isr); /void irq7(void);void delay(signed int d_delay);/* 名稱 : delay_1ms()* 功能 : 延時子程序,延時時間為 1ms * x* 輸入 : x (延時一毫秒的個數(shù))* 輸出 : 無*/void delay(signed int d_del

6、ay) for(d_x=0;d_x=d_delay;d_x+) *p_watchdog_clear=1;for(d_y=0;d_y=d_delay;d_y+) *p_watchdog_clear=1;for(d_z=0;d_z=d_delay;d_z+)*p_watchdog_clear=1;/* 名稱 : readzl()* 功能 :發(fā)送讀指令* 輸入 : at+cmgr=1回車* 輸出 : 無*/void readzl(void)cmd=read; while(*cmd!=0) while(r!=0x0040) *p_watchdog_clear=1; r=*p_uart_command2

7、; r&=0x0040; *p_uart_data=readbuf; cmd+;buf+; delay(10);cmd=0;buf=0;/* 名稱 : sendms()* 功能 :發(fā)送發(fā)短信指令* 輸入 : at+cmgs=n回車* 輸出 : 無*/void sendms(void)cmd=send; while(*cmd!=0) while(r!=0x0040) *p_watchdog_clear=1; r=*p_uart_command2; r&=0x0040; *p_uart_data=sendbuf; cmd+;buf+; delay(10);cmd=0;buf=0;for(buf=0

8、;buf=2;buf+)while(r!=0x0040) *p_watchdog_clear=1; r=*p_uart_command2; r&=0x0040; *p_uart_data=zcdbuf; delay(10);buf=0;delay(50);cmd=sendzx;while(*cmd!=0) while(r!=0x0040) *p_watchdog_clear=1; r=*p_uart_command2; r&=0x0040; *p_uart_data=sendzxbuf; cmd+; buf+; delay(3);cmd=0;buf=0;for(sjh_1=0;sjh_1=sj

9、h_3;sjh_1+) /發(fā)送目標(biāo)地址 delay(3);while(r!=0x0040) *p_watchdog_clear=1;r=*p_uart_command2; r&=0x0040; *p_uart_data=sjhsjh_1;cmd=sendxh;while(*cmd!=0) while(r!=0x0040) *p_watchdog_clear=1; r=*p_uart_command2; r&=0x0040; *p_uart_data=sendxhbuf; cmd+; buf+; delay(3);cmd=0;buf=0;for(buf=0;buf=1;buf+)while(r!

10、=0x0040) *p_watchdog_clear=1; r=*p_uart_command2; r&=0x0040; *p_uart_data=dxcbuf; delay(3);buf=0;cmd=sendyk;while(*cmd!=0) while(r!=0x0040) *p_watchdog_clear=1; r=*p_uart_command2; r&=0x0040; *p_uart_data=sendykbuf; cmd+; buf+; delay(3);cmd=0;buf=0;for(buf=0;buf=dx_1;buf+)while(r!=0x0040) *p_watchdo

11、g_clear=1; r=*p_uart_command2; r&=0x0040; *p_uart_data=dxbuf; delay(3);buf=0;/* 名稱 : del()* 功能 :發(fā)送刪除指令* 輸入 : at+cmgd=1回車* 輸出 : 無*/void del(void)if(del_1=1)del_1=0;for(del_2=0x31;del_2=0x38;del_2+)cmd=del1;while(*cmd!=0) while(r!=0x0040) *p_watchdog_clear=1; r=*p_uart_command2; r&=0x0040; *p_uart_dat

12、a=del1buf; cmd+; buf+; delay(10);cmd=0;buf=0;while(r!=0x0040) *p_watchdog_clear=1;r=*p_uart_command2;r&=0x0040;*p_uart_data=del_2;delay(10);while(r!=0x0040) *p_watchdog_clear=1;r=*p_uart_command2;r&=0x0040;*p_uart_data=0x0d;delay(10);while(r!=0x0040) *p_watchdog_clear=1;r=*p_uart_command2;r&=0x0040;

13、*p_uart_data=0x0a;delay(40);else cmd=del; while(*cmd!=0) while(r!=0x0040) *p_watchdog_clear=1; r=*p_uart_command2; r&=0x0040; *p_uart_data=delbuf; cmd+;buf+; delay(3);cmd=0;buf=0;/* 名稱 : void irq7(void) _attribute_ (isr); * 功能 :uart傳輸中斷* 輸入 : * 輸出 : 無*/void irq7(void) _attribute_ (isr); void irq7(vo

14、id) r=*p_uart_command2; while(r!=0x0080) *p_watchdog_clear=1; r=*p_uart_command2; r&=0x0080; bb_1=*p_uart_data; /判斷密碼 自動化81ea 52a8 5316 if(bb_1-11=0x38)&(bb_1-10=0x31)&(bb_1-9=0x45)&(bb_1-8=0x41)&(bb_1-7=0x35)&(bb_1-6=0x32)&(bb_1-5=0x41)&(bb_1-4=0x38)&(bb_1-3=0x35)&(bb_1-2=0x33)&(bb_1-1=0x31)&(bb_1=

15、0x36) mima=1; *p_watchdog_clear=1; /b_1=0; if(bb_1=0x32)&(bb_1-1=0x45)&(bb_1-2=0x42)&(bb_1-3=0x38)&(bb_1-4=0x35)&(bb_1-5=0x45)&(bb_1-6=0x37)&(bb_1-7=0x36)chaxun=1;if(b46=0x31)&(b47=0x30) sjh_2=46;/feixin=1; /對方是用飛信發(fā)的sjh_3=19;for(sjh_1=0;sjh_1=19;sjh_1+)*p_watchdog_clear=1;sjhsjh_1=bsjh_2;sjh_2+;else

16、 if(b46=0x30)&(b47=0x42)/shouji_b=1; /對方是用手機發(fā)的 a1格式 無86sjh_2=46;sjh_3=15;for(sjh_1=0;sjh_1=15;sjh_1+)*p_watchdog_clear=1;sjhsjh_1=bsjh_2;sjh_2+;else if(b46=0x30)&(b47=0x44)/shouji_d=1; /對方是用手機發(fā)的帶 91格式 86sjh_2=46;sjh_3=17;for(sjh_1=0;sjh_170) /5f00 開*p_watchdog_clear=1;kai=1;kai_1=b_1;else if(bb_1-3=

17、0x35)&(bb_1-2=0x31)&(bb_1-1=0x37)&(bb_1=0x33)&(b_170) /5173 關(guān)*p_watchdog_clear=1;guan=1;guan_1=b_1;if(bb_1-3=0x4f)&(bb_1-2=0x4b)&(bb_1-1=0x0d)&(bb_1=0x0a) /判斷 ok ,結(jié)束標(biāo)志if(b_1=91)bzw=1;b_1=0;else /bzw=0;b_1=0; else b_1+; *p_watchdog_clear=1;/* 名稱 : main()* 功能 : 主程序* 輸入 : 無* 輸出 : 無*/int main()*p_iob_at

18、trib|=0x0480, /初始化io口,iob7懸浮輸入,iob10高電平輸出 *p_iob_dir|=0x400,*p_iob_data|=0x400,*p_iob_dir |= 0x0040;/設(shè)置iob6為同相高電平輸出*p_iob_attrib |= 0x0040;*p_iob_data |= 0x0040;*p_ioa_dir = 0xffff;/設(shè)置ioa口為同相低電平輸出*p_ioa_attrib = 0xffff;*p_ioa_data = 0x0000;*p_uart_baudscalarlow =0x00, /設(shè)置波特率9600bps *p_uart_baudscala

19、rhigh=0x05,*p_uart_command1 =0x0080; /rx使能 *p_uart_command2 =0x00c0;del();_asm(int irq);while(1)readzl();delay(50);if(bzw=1)bzw=0;if(mima=1)mima=0;if(chaxun=1)chaxun=0;if(*p_ioa_data&0x0001)you_1=4;dx0=0x30; dx1=0x30; dx2=0x33; dx3=0x31;if(*p_ioa_data&0x0002)you_2=4;dx0+you_1=0x30; dx1+you_1=0x30; d

20、x2+you_1=0x33; dx3+you_1=0x32;if(*p_ioa_data&0x0004)you_3=4;dx0+you_1+you_2=0x30; dx1+you_1+you_2=0x30; dx2+you_1+you_2=0x33; dx3+you_1+you_2=0x33;if(*p_ioa_data&0x0008)you_4=4;dx0+you_1+you_2+you_3=0x30; dx1+you_1+you_2+you_3=0x30; dx2+you_1+you_2+you_3=0x33; dx3+you_1+you_2+you_3=0x34;if(you_1!=4)

21、&(you_2!=4)&(you_3!=4)&(you_4!=4)wu=4;dx0=0x36;/無 65e0 dx1=0x35; dx2=0x45; dx3=0x30;dx_1=you_1+you_2+you_3+you_4+wu;dx0+you_1+you_2+you_3+you_4+wu=0x1a;dxc_1=20+you_1+you_2+you_3+you_4+wu; /短信內(nèi)容長度/2 送到 dxc0dxc1 you_1=0; you_2=0; you_3=0; you_4=0; wu=0; dxc_4=(dxc_1-7)/2; dxc_2=dxc_4/16; dxc_3=dxc_4-dxc_2*16; if(dxc_2=9) dxc0=0x30+dxc_2; else dxc0=0x41+dxc_2-0x0a; if(dxc_3=9) dxc1=0x30+dxc_3; else dxc1=0

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論