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

正文內(nèi)容

基于短信回傳的溫度監(jiān)測(cè)節(jié)點(diǎn)設(shè)備設(shè)計(jì)畢業(yè)論文(編輯修改稿)

2025-07-24 20:44 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 存儲(chǔ)IO口狀態(tài) uchar idata state1[17]。 //用來(lái)存儲(chǔ)IO口狀態(tài) uchar Rx=0。uint temp。 //記錄狀態(tài) uchar temp1。 // 用于記錄P0口狀態(tài)uchar temp2。 // 用于記錄P2口狀態(tài) bit check=0。 //查詢標(biāo)志位 bit receiveready=0。 //接收短信標(biāo)志位bit sendready=0。 //發(fā)送短信準(zhǔn)備標(biāo)志位bit send=0。 //發(fā)送短信標(biāo)志位bit flag=0。 //指令標(biāo)志位sbit P3_7=P3^7。//啟動(dòng)GSM的啟動(dòng)線連IGTsbit realy0=P0^0。//繼電sbit realy1=P0^1。//繼電器2sbit realy2=P0^2。 //繼電器3sbit realy3=P0^3。//繼電器4sbit realy4=P0^4。 //繼電器5sbit realy5=P0^5。 //繼電器6sbit realy6=P0^6。 //繼電器7sbit realy7=P0^7。 //繼電器8sbit key1=P2^0。 //開關(guān)1sbit key2=P2^1。 //開關(guān)2sbit key3=P2^2。 //開關(guān)3sbit key4=P2^3。 //開關(guān)4sbit key5=P2^4。 //開關(guān)5sbit key6=P2^5。 //開關(guān)6sbit key7=P2^6。 //開關(guān)7sbit key8=P2^7。 //開關(guān)8void Delay_ms(uint i)。void Start_GSM(void)。void UART_init (void)。void sendchar(uchar ch)。void sendstring(uchar *p)。void GSM_INIT(void)。void receive_ready(void)。void message_read(void)。void read_message(void)。void sendmessage(void)。sbit DQ=P3^3。 //溫度輸入口uint h。 uint tempX。//**************溫度小數(shù)部分用查表法***********//uchar code ditab[16]={0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09}。uchar code dis_7[12]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0xbf}。//共陽(yáng)LED段碼表 0 1 2 3 4 5 6 7 8 9 不亮 uchar data temp_data[2]={0x00,0x00}。 //讀出溫度暫放uchar data display[5]={0x00,0x00,0x00,0x00,0x00}。 //顯示單元數(shù)據(jù),共4個(gè)數(shù)據(jù)和一個(gè)運(yùn)算暫用/*****************11us延時(shí)函數(shù)*************************/void delay(uint t){for (。t0。t)。}/****************DS18B20復(fù)位函數(shù)************************/ow_reset(void){char presence=1。while(presence){while(presence) {DQ=1。_nop_()。_nop_()。//從高拉倒低DQ=0。 delay(50)。 //550 usDQ=1。 delay(6)。 //66 uspresence=DQ。 } //presence=0 復(fù)位成功,繼續(xù)下一步 delay(45)。 //延時(shí)500 us presence=~DQ。}DQ=1。 } //拉高電平/****************DS18B20寫命令函數(shù)************************///向1WIRE 總線上寫1個(gè)字節(jié)void write_byte(uchar val){ uchar i。 for(i=8。i0。i) {DQ=1。_nop_()。_nop_()。 //從高拉倒低 DQ=0。_nop_()。_nop_()。_nop_()。_nop_()。 //5 us DQ=valamp。0x01。 //最低位移出 delay(6)。 //66 us val=val/2。} //右移1位 DQ=1。 delay(1)。}/****************DS18B20讀1字節(jié)函數(shù)************************///從總線上取1個(gè)字節(jié)uchar read_byte(void){uchar i。uchar value=0。for(i=8。i0。i){DQ=1。_nop_()。_nop_()。 value=1。 DQ=0。_nop_()。_nop_()。_nop_()。_nop_()。 //4 us DQ=1。_nop_()。_nop_()。_nop_()。_nop_()。 //4 us if(DQ)value|=0x80。 delay(6)。}//66 usDQ=1。return(value)。}/****************讀出溫度函數(shù)************************/uint read_temp(){ ow_reset()。 //總線復(fù)位 delay(200)。 write_byte(0xcc)。 //發(fā)命令 write_byte(0x44)。 //發(fā)轉(zhuǎn)換命令 ow_reset()。 delay(1) write_byte(0xcc)。 //發(fā)命令 write_byte(0xbe)。 temp_data[0]=read_byte()。 //讀溫度值的第字節(jié) temp_data[1]=read_byte()。 //讀溫度值的高字節(jié) tempX=temp_data[1]。 tempX=8。 tempX=tempX|temp_data[0]。 // 兩字節(jié)合成一個(gè)整型變量。 return tempX。} //返回溫度值/****************溫度數(shù)據(jù)處理函數(shù)************************///二進(jìn)制高字節(jié)的低半字節(jié)和低字節(jié)的高半字節(jié)組成一字節(jié),這個(gè)//字節(jié)的二進(jìn)制轉(zhuǎn)換為十進(jìn)制后,就是溫度值的百、十、個(gè)位值,而剩//下的低字節(jié)的低半字節(jié)轉(zhuǎn)化成十進(jìn)制后,就是溫度值的小數(shù)部分/********************************************************/work_temp(uint tem){uchar n=0。if(tem6348) // 溫度值正負(fù)判斷 {tem=65536tem。n=1。} // 負(fù)溫度求補(bǔ)碼,標(biāo)志位置1 display[4]=temamp。0x0f。 // 取小數(shù)部分的值 display[0]=ditab[display[4]]。 // 存入小數(shù)部分顯示值 s[16]=display[0]+0x30。 display[4]=tem4。 // 取中間八位,即整數(shù)部分的值 display[3]=display[4]/100。 // 取百位數(shù)據(jù)暫存 s[12]=display[3]+0x30。 display[2]=display[4]/10%10。 // 取十位數(shù)據(jù)暫存 s[13]=display[2]+0x30。 display[1]=display[4]%10。 // 取個(gè)位數(shù)據(jù)暫存 s[14]=display[1]+0x30。 s[15]=0x2e。/******************符號(hào)位顯示判斷**************************/ if(!display[3]) {display[3]=0x0a。 //最高位為0時(shí)不顯示 s[12]=display[3]。 if(!display[2]){display[2]=0x0a。 //次高位為0時(shí)不顯示 s[13]=display[2]。}} if(n){display[3]=0x2d。 s[12]=display[3]。}}//負(fù)溫度時(shí)最高位顯示/********************************************************************/函數(shù)void Delay_ms(uint i)。實(shí)現(xiàn)功能:進(jìn)行毫秒延時(shí)/********************************************************************/void Delay_ms(uint i){ unsigned int j。 for(。i0。i){ for(j=0。j125。j++) {。}}}/********************************************************************/函數(shù)void Start_GSM(void)。實(shí)現(xiàn)功能:對(duì)TC35I進(jìn)行啟動(dòng),開啟TC35I//功能詳述:單片機(jī)上的P3_7管腳是跟TC35I的IGT管腳相連。需要啟動(dòng)TC35I必須在 15腳(/IGT)加時(shí)長(zhǎng)至少為100ms的低電平信號(hào),//且該信號(hào)下降沿時(shí)間小于1ms。啟動(dòng)后,15 腳的信號(hào)應(yīng)保持高電平./********************************************************************/void Start_GSM(void){ P3_7=0。 Delay_ms(1000)。 P3_7=1。 Delay_ms(1000)。}/********************************************************************/函數(shù)void UART_init。實(shí)現(xiàn)功能:對(duì)串口進(jìn)行初始化/********************************************************************/void UART_init (void){ TMOD=0x20。 //選擇定時(shí)器1 PCON=0x00。 ///波特率不加倍 SCON=0x50。 //串行工作方式1允許串行接收 TH1=0xFD。 //,選擇波特率為9600 TL1=0xFD。 //在相應(yīng)計(jì)數(shù)器上賦值 EA=1。 //總中斷開啟 ES=1。 //串行中斷開啟 TR1=1。 } //開啟定時(shí)器1/********************************************************************/函數(shù)void sendchar(uchar ch)。實(shí)現(xiàn)功能:發(fā)送一字節(jié)數(shù)據(jù)/********************************************************************/void sendchar(uchar ch){ SBUF=ch。 while(TI==0)。 TI=0。}/********************************************************************/函數(shù)void sendstring(uchar *p)。實(shí)現(xiàn)功能:通過(guò)串口發(fā)送字符串/********************************************************************/void sendstring(uchar *p){ while(*p) {sendchar(*p)。 p++。} sendchar(0x0D)。 sendchar(0x0A)。}/*
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1