freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于gsm短消息的led點(diǎn)陣廣告屏設(shè)計(jì)論文-資料下載頁

2025-06-27 17:31本頁面
  

【正文】 signed char ring = 0。unsigned char sm = 0。/********************************************************************功能描述:51單片機(jī)ms延時(shí)函數(shù)*參數(shù)描述:Z的值決定了延時(shí)長短*返回說明:無*******************************************************************/void delay_1ms(unsigned int z){ unsigned int x。 unsigned int y。 for (x=z。 x0。 x) for (y=110。 y0。 y)。}/*******************************************************************功能描述:將data數(shù)組初始化為內(nèi)部數(shù)據(jù)都為‘Z’*參數(shù)說明:無*返回說明:無******************************************************************/void Data_Init() //data數(shù)組初始化{ unsigned char i。 for (i=0。 i200。 i++) { dat[i] = 39。Z39。 }}/*******************************************************************功能描述:51單片機(jī)的串口中斷處理函數(shù)*參數(shù)說明:無*返回說明:無******************************************************************/void Serve() interrupt 4 using 3 //串口中斷函數(shù){ TR0 = 0。 if((SBUF=65 amp。amp。 SBUF=90)||(SBUF=48 amp。amp。 SBUF=59)) //只存儲(chǔ)‘AZ’大寫字母和‘09’數(shù)字和”:;“ { dat[n] = SBUF。 n++。 if(n2) { if ((dat[n1]==39。G39。) amp。amp。 (dat[n2]==39。N39。)) // 判斷是否為來電 RING { ring = 1。 } if ((dat[n1]==39。O39。) amp。amp。 (dat[n2]==39。N39。)) // 判斷是否為掛斷(NO CARRIER) { delay_1ms(1000)。 Data_Init()。 //數(shù)據(jù)數(shù)組初始化 n = 0。 } if ((dat[n1]==39。E39。) amp。amp。 (dat[n2]==39。I39。)) // 判斷是否為掛斷(NO CARRIER) { delay_1ms(1000)。 Data_Init()。 //數(shù)據(jù)數(shù)組初始化 n = 0。 } if ((dat[n1]==39。T39。) amp。amp。 (dat[n2]==39。M39。)) // 判斷是否為短信 +CMTI: SM,n { sm = 1。 } if ((dat[n1]==39。M39。) amp。amp。 (dat[n2]==39。S39。)) // 判斷是否為短信 +CMTI: SM,n { sm = 1。 } if (sm == 1) { if ((dat[n1]=59) amp。amp。 (dat[n1]=48)) { new[0] = dat[n1]。 //記錄短信條數(shù) } } if ((dat[n1]==39。R39。) amp。amp。 (dat[n2]==39。E39。)) // 判斷是否為ERROR { delay_1ms(1000)。 Data_Init()。 //數(shù)據(jù)數(shù)組初始化 n = 0。 } if ((dat[n1]==39。R39。) amp。amp。 (dat[n2]==39。O39。)) // 判斷是否為ERROR { delay_1ms(1000)。 Data_Init()。 //數(shù)據(jù)數(shù)組初始化 n = 0。 } } } RI = 0。 TR0 = 1。}/*******************************************************************功能描述:GSM的初始化工作,和短信的解碼*參數(shù)說明:無*返回說明:無******************************************************************/void message(){ unsigned char time,i。 Data_Init()。 /***** 判斷是否連接 ****** 通過發(fā)送“AT”返回“ATOK”判斷模塊與單片機(jī)的連接****/ time=0。 do { Uart_Send_Str(AT\r)。 time++。 delay_1ms(1000)。 if ((dat[0] == 39。A39。) amp。amp。 (dat[1] == 39。T39。)) //檢測GSM模塊返回值中的關(guān)鍵字 { flag = 1。 } else { flag = 0。 } Data_Init()。 //數(shù)據(jù)數(shù)組初始化 n = 0。 //數(shù)據(jù)數(shù)組標(biāo)號(hào)清零,以便再次從頭寫入數(shù)據(jù) } while(flag == 0)。 //一直發(fā)送AT(+回車),直到返回ATOK/* 此時(shí)單片機(jī)與模塊連接成功 */ flag = 0。 //標(biāo)志清零 /** 判斷是否注冊 *** 通過查詢本地短信中心號(hào)碼來判斷是否注冊; ** 發(fā)送AT+CSCA?\r,返回“AT+CSCA? +CSCA: +8613800290500,145 OK”**/ do { Uart_Send_Str(AT+CSCA?\r)。 time++。 delay_1ms(1000)。 if ((dat[6] == 39。C39。) amp。amp。 (dat[7] == 39。S39。)) //檢測GSM模塊返回值中的關(guān)鍵字 { //驗(yàn)證是否返回本地短信中心號(hào)碼 flag = 1。 } else { flag = 0。 } Data_Init()。 //數(shù)據(jù)數(shù)組初始化 n = 0。 //數(shù)據(jù)數(shù)組標(biāo)號(hào)清零,以便再次從頭寫入數(shù)據(jù) } while(flag == 0)。 //一直發(fā)“AT+CSCA?\r,直到返回本地短信中心號(hào)碼 /* 此時(shí)可以確認(rèn) 已經(jīng)SIM卡網(wǎng)絡(luò)注冊成功*/ flag = 0。 //標(biāo)志清零 /*********** 短信初始化 ***************************************************** ************ AT+CNMI=1,1,2。\r 為設(shè)置來短信提醒,有短信會(huì)返回 “+CMTI: SM,n” ************ 發(fā)送“AT+CNMI=1,1,2。\r”,模塊返回“AT+CNMI=1,1,2。OK”*************/ do { Uart_Send_Str(AT+CNMI=1,1,2。\r)。 //短信初始化 time++。 delay_1ms(1000)。 if ((dat[2] == 39。C39。) amp。amp。 (dat[3] == 39。N39。)) //查詢返回值的關(guān)鍵字 驗(yàn)證是否返回本地短信中心號(hào)碼 { flag = 1。 } else { flag = 0。 } Data_Init()。 //數(shù)據(jù)數(shù)組初始化 n = 0。 //數(shù)據(jù)數(shù)組標(biāo)號(hào)清零,以便再次從頭寫入數(shù)據(jù) } while(flag == 0)。 //一直發(fā)AT+CNMI=1,1,2。\r,直到返回有效信息 /* 此時(shí)可以確認(rèn) 短信初始化完成 */ flag = 0。 //標(biāo)志清零 /**************** 短信模式初始化 ***************** AT+CMGF=1\r 為 TEXT 模式 ***************** 發(fā)送“AT+CMGF=1\r” 返回“AT+CMGF=1 OK” *******************/ do { Uart_Send_Str(AT+CMGF=0\r)。 //短信初始化 為PDU模式 time++。 delay_1ms(1000)。 if ((dat[4] == 39。G39。) amp。amp。 (dat[5] == 39。F39。)) //查詢返回值的關(guān)鍵字 驗(yàn)證是否返回正確信息 { flag = 1。 } else { flag = 0。 } Data_Init()。 //數(shù)據(jù)數(shù)組初始化 n = 0。 //數(shù)據(jù)數(shù)組標(biāo)號(hào)清零,以便再次從頭寫入數(shù)據(jù) } while(flag == 0)。 //一直發(fā),直到返回正確信號(hào) /* 此時(shí),短信模式選擇完成 */ flag = 0。 //標(biāo)志清零 /*********************至此,GSM 初始化工作完成 ************************/ delay_1ms(1000)。 Data_Init()。 //數(shù)據(jù)數(shù)組初始化 /****條件總為1,死循環(huán) 處理短信和來電(來電自動(dòng)接聽) ******/// while(1) // { /************ 不斷檢測是否有新短信和新來電 *************/ do { if (ring == 1) { Uart_Send_Str(ATA\r)。 // 來電自動(dòng)應(yīng)答 ring = 0。 delay_1ms(200)。 Data_Init()。 //數(shù)據(jù)數(shù)組初始化 } delay_1ms(1000)。 if (sm == 1) //驗(yàn)證是否有短信 { delay_1ms(500)。 sm = 0。 flag = 1。 } else { flag = 0。 } } while(flag==0)。 //一直檢測,直到有短信時(shí)跳出 delay_1ms(1000)。 i = 4。 while(i) { speaker = 0。 delay_1ms(100)。 speaker = 1。 delay_1ms(100)。 /***********如果有新短信,進(jìn)行解讀**************/ if (flag == 1) { /**** 發(fā)送 讀短信命令A(yù)T+CMGR=n\r *******/ Uart_Send_Str(AT+CMGR=)。 Uart_Send_Byte(new[0])。 Data_Init()。 //發(fā)送讀取短信命令前,將數(shù)組清空 n = 0。 Uart_Send_Str(\r)。 delay_1ms(4000)。 //適當(dāng)延時(shí) /****** 刪除當(dāng)前短信 *******/ Uart_Send_Str(AT+CMGD=)。 Uart_Send_Byte(new[0])。 Uart_Send_Str(\r)。 delay_1ms(4000)。 /****** 數(shù)據(jù)初始化 ********/// Data_Init()。 n = 0。 flag = 0。 // } }}}void message_init(void){ unsigned char time。 Data_Init()。 /***** 判斷是否連接 ****** 通過發(fā)送“AT”返回“ATOK”判斷模塊與單片機(jī)的連接****/ time=0。 do { Uart_Send_Str(AT\r)。 time++。
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1