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

正文內(nèi)容

一種溫濕度遠(yuǎn)程測(cè)量系統(tǒng)畢業(yè)設(shè)計(jì)論文-資料下載頁(yè)

2025-06-19 13:21本頁(yè)面
  

【正文】 LEN]。extern unsigned char xdata rxbuf2[RX_BUF_LEN]。extern unsigned char rx_rear,rx_head,rx_rear2,rx_head2。extern bit rx_data_pending。extern bit rx_flag2。sbit RS485_DIR=P2^4。endif串口uart源程序include bit int_status。 //backup of current interrupt statusunsigned char xdata rxbuf[RX_BUF_LEN]。unsigned char xdata rxbuf2[RX_BUF_LEN]。unsigned char rx_rear,rx_head,rx_rear2,rx_head2。bit rx_data_pending=0。bit rx_flag2=0。void uart_send_char(unsigned char c){ int_status=EA。 EA=0。 if(TI==1)TI=0。 SBUF=c。 while(!TI)。 TI=0。 EA=int_status。}void uart_send_hex_char(unsigned char c){ unsigned char volatile ch,cl。 //critical volatile ch=(c4)amp。0x0f。 cl=camp。0x0f。 if(ch9)ch+=0x07。 ch+=0x30。 if(cl9)cl+=0x07。 cl+=0x30。 uart_send_char(ch)。 uart_send_char(cl)。 }void uart_send_bin_char(unsigned char c){ unsigned char i=0。 do { if(camp。0x80)uart_send_char(39。139。)。 else uart_send_char(39。039。)。 c=c1。 i++。 } while(i8)。 }void uart_send_string(char *buffer){ for(。*buffer。buffer++) uart_send_char(*buffer)。 }void init_uart(void){ PCON |= 0x80。 //UART0 Double Rate Enable SCON = 0x50。 //UART0 set as 10bit , UART0 RX enable TMOD amp。= ~(16)。 //Timer1 Set as Timer, 12T TMOD = (TMOD amp。 ~0x30) | 0x20。 //Timer1 set as 8 bits auto relaod TH1 = T1_TimerReload。 //Load the timer TR1 = 1。 //start timer1 rx_rear=0。 //init rx buffer rx_head=0。 rx_data_pending=0。 ES = 1。 EA = 1。 }void init_uart2(void){ AUXRamp。=0xFB。//12T mode AUXR|=0x10。//enable brt AUXR|=0x08。//brt dobule AUXR|=0x08。//double brt S2CON = (S2CON amp。 0x3f) | (16)。//串口2模式1,8位UART,(2^S2SMOD / 32) * BRT溢出率 S2CON |= 1 4。//允許串2接收 BRT=BRT_Reload。 //init buffer rx_rear=0。 //init rx buffer rx_head=0。 rx_data_pending=0。 EA=1。 IE2|=0x01。//||||||ESPI|ES2 }void serial(void) interrupt 4{ EA=0。 if(RI==1) { RI=0。 rxbuf[rx_head++]=SBUF。//save data if(rx_head==(RX_BUF_LEN1))rx_head=0。 rx_data_pending=1。 } if(TI==1) { TI=0。 } EA=1。}void serial2(void) interrupt 8{ EA=0。 if(RI2) { CLR_RI2()。//clear RI rxbuf2[rx_head2++]=S2BUF。 if(rx_head2==17)rx_flag2=1。//set flag when data received if(rx_head2==RX_BUF_LEN)rx_head2=0。//adjust pointer } if(TI2) { CLR_TI2()。//clear TI } EA=1。}void uart_send_char2(unsigned char c){ IE2amp。=0xfe。 if(S2CONamp。0x02)S2CONamp。=0xfd。 S2BUF=c。 while(!(S2CONamp。0x02))。 S2CONamp。=0xfd。 IE2|=0x01。}void uart_send_string2(char *buffer){ for(。*buffer。buffer++) uart_send_char2(*buffer)。 }misc頭文件ifndef miscdefine miscextern void delay(unsigned long int interval)。extern unsigned char *int2str(unsigned int d)。endifMisc源程序include void delay(unsigned long int interval){ while(interval)。}unsigned char *int2str(unsigned int d){ unsigned char buf[6],c,j。 unsigned int i。 for(i=10000,j=0。i0。i/=10) { c=d/i。 d=d%i。 if(c==0)continue。 buf[j++]=c+0x30。 } buf[j]=39。\039。//terminate string return buf。}Sms短信頭文件ifndef smsdefine smsinclude include include include include include //gprs模塊狀態(tài)查詢引腳,高電平表示已開(kāi)機(jī),低電平表示已關(guān)機(jī)sbit gprs_status=P3^6。//gprs模塊控制引腳,拉低一秒以上可以開(kāi)機(jī)或者關(guān)機(jī)sbit gprs_pwr=P3^7。extern void init_gprs()。extern void start_gprs()。extern unsigned char handshake(void)。extern unsigned char check_sim()。extern void getcsq()。extern void getops()。extern unsigned char gprs_cmd(unsigned char code *cmd)。 extern void get_new_sms()。 extern unsigned char xdata csq[4]。//信號(hào)強(qiáng)度extern unsigned char xdata ops[15]。//運(yùn)營(yíng)商信息extern unsigned char xdata phone_num[16]。//GPRS內(nèi)網(wǎng)IP 數(shù)extern unsigned char xdata short_message[30]。//短信內(nèi)容寄存器extern unsigned char xdata short_message_index[3]。//短信存儲(chǔ)位置寄存器編號(hào)extern bit new_sms。//新短信標(biāo)志位,收到新短信時(shí)置位,在短信處理函數(shù)中復(fù)位//,液晶屏顯示內(nèi)容緩沖區(qū)extern unsigned char lcdbuf[16]。extern unsigned char lcdbuf2[16]。endifSms短信源程序include //查詢模塊信息AT指令unsigned char code HAND_SHAKE[]=AT\r。unsigned char code QUERY_OPS[]=AT+COPS?\r。unsigned char code QUERY_CSQ[]=AT+CSQ\r。unsigned char code QUERY_SIM[]=AT+CPIN?\r。//收發(fā)短信相關(guān)AT指令unsigned char code SMS_UNREAD_LIST[]=AT+CMGL=\REC UNREAD\\r。unsigned char code SMS_READ[]=AT+CMGR=。//read an smsunsigned char code SMS_DEL[]=AT+CMGD=。//delete an smsunsigned char code SMS_FORMAT_TEXT[]=AT+CMGF=1\r。//set sms format to text unsigned char code SMS_SEND[]=AT+CMGS=。//read an sms//測(cè)試用AT撥號(hào)指令unsigned char code ATD[]=ATD10086。\r。//dial up testunsigned char code ATH[]=ATH\r。//hung up //GPRS信息存儲(chǔ)區(qū)unsigned char xdata csq[4]。//信號(hào)強(qiáng)度unsigned char xdata ops[15]。//運(yùn)營(yíng)商信息unsigned char xdata phone_num[16]。//對(duì)方手機(jī)號(hào)unsigned char xdata short_message[30]。//短信內(nèi)容寄存器unsigned char xdata short_message_index[3]。//短信存儲(chǔ)位置寄存器編號(hào) bit new_sms=0。//新短信標(biāo)志位,收到新短信時(shí)置位,在短信處理函數(shù)中復(fù)位unsigned char handshake(void)//與GPRS模塊握手函數(shù){ unsigned int i。 rx_head=0。//清空接收緩沖區(qū) rx_rear=0。 rx_data_pending=0。 for(i=0。i200。i++) { while(!rx_data_pending) { uart_send_string(HAND_SHAKE)。//發(fā)送握手信號(hào)并等待回復(fù) delay(500)。 } delay(2000)。//延時(shí)等待接收完成 if(rxbuf[0]==39。A39。amp。amp。rxbuf[1]==39。T39。amp。amp。rxbuf[5]==39。O39。amp。amp。rxbuf[6]==39。K39。)break。//判斷返回握手信息是否正確,正確則跳出 rx_head=0。//返回握手信息不正確,清空再次接收 } rx_head=0。 rx_rear=0。 rx_data_pending=0。 if(i200)return 1。//握手成功 else return 0。//握手失敗}unsigned char check_sim()//檢查SIM卡狀態(tài),需要在握手成功情況下執(zhí)行{ unsigned status=0。 rx_head=0。//清空接收緩沖區(qū) rx_rear=0。 rx_data_pending=0。 uart_send_string(QUERY_SIM)。//查詢SIM卡狀態(tài) while(!rx_data_pending)。//等待返回?cái)?shù)據(jù) delay(20000)。//等待接收完成 while(rxbuf[rx_rear++]!=39。:39。)。//找到返回信息中的關(guān)鍵狀態(tài)信息位置 rx_rear++。//跳過(guò)一個(gè)空格 if(rxbuf[rx_rear]!=39。R39。)//READY,第一個(gè)字母是R則表示SIM卡正常工作,反之不正常 { st
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1