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

正文內(nèi)容

基于gsm的遠程溫控單元設(shè)計方案-資料下載頁

2025-05-06 00:19本頁面
  

【正文】 二位的A/D,將轉(zhuǎn)換后的信號分高四位和低八位單獨輸出,原程序中將模擬的電壓信號轉(zhuǎn)換為數(shù)字電壓信號后分組顯示在三位數(shù)碼管上。本設(shè)計中為了統(tǒng)一顯示方式,改寫程序后使原來由HD7279驅(qū)動的數(shù)碼管顯示轉(zhuǎn)變?yōu)長CD顯示,而且為了顯示實際的模擬信號值,需要編寫D/A轉(zhuǎn)換的算法。測試中,將定時器T0的輸出作為A/D模塊的時鐘,將WK模塊的TEMP_OUT引腳與A/D模塊的IN0相接,即將反映溫度變化的電壓信號送入AD進行模數(shù)轉(zhuǎn)換,同時將WK模塊的HEATER引腳與DSP核心板的XF腳相接,通過對XF的置低和置高實現(xiàn)模擬溫箱的通斷控制,從而實現(xiàn)溫度的調(diào)節(jié)。在此測試程序中,LCD的第一行顯示電壓值,第二行顯示溫度值,第四行顯示報警信號。其中,電壓和溫度的關(guān)系為:T=20(V5),程序中設(shè)定一個溫度上限值和一個下限值,使溫度保持在兩者之間,實現(xiàn)自動保溫功能,同時一旦溫度值超過上限值,就會發(fā)出報警信號*。程序流程圖如圖42所示:圖42 溫控模塊測試程序流程圖下面列出本模塊測試程序主要部分。其中主程序為:void main(){ cpu_init()。 //CPU初始化 Lcd_Init()。 //LCD初始化 set_t0()。 //T0初始化 dellay(10000)。 asm( rsbx xf)。//運用XF引腳將heater端置0升溫 while(1) { CLEAR()。 //清屏 dellay(50000)。 DispVol()。 //顯示電壓值 dellay(50000)。 DispTemp()。 //顯示溫度值 DispAlarm()。 //恒溫控制并顯示報警信息 dellay(50000)。 dellay(50000)。 dellay(50000)。 } }顯示溫度子程序為:void DispTemp(){ float vola,tempa。 unsigned int tempb,vold。 unsigned int yy[3]。 vold=AD_conv()。 vola=vold*5/。 //D/A轉(zhuǎn)換得到實際電壓值 tempa=10020*vola。 //由溫度與電壓之間的關(guān)系得出實際溫度值 tempb=(int)(tempa*10)。//保留三位有效數(shù)字,小數(shù)點后一位 yy[0]=tempb/100。 yy[1]=tempb%100/10。 yy[2]=tempb%10。 temp_buff[0]=yy[0]+48。 temp_buff[1]=yy[1]+48。 temp_buff[2]=39。.39。 temp_buff[3]=yy[2]+48。 temp_buff[4]=39。D39。 //用來表示單位℃ temp_buff[5]=39。\039。 Display(temp_buff,0x0090)。 }恒溫控制及顯示報警信息子程序為:void DispAlarm(void){ float vola,tempa。 unsigned int tempb,vold。 unsigned char alarm[]=*。 vold=AD_conv()。 vola=vold*5/。 //D/A轉(zhuǎn)換得到實際電壓值 tempa=10020*vola。 //由溫度與電壓之間的關(guān)系得出實際溫度 tempb=(int)(tempa*10)。//保留三位有效數(shù)字,小數(shù)點后一位 if(tempb350) //℃,降溫并顯示報警信號{asm( ssbx xf)。 //運用XF引腳將heater端置1降溫 Display(alarm,0x0098)。 } else if(tempb320) //℃,升溫 asm( rsbx xf)。 //運用XF引腳將heater端置0升溫 } 整體測試在前面各模塊分塊測試正確后,根據(jù)課題的需求,本設(shè)計中將各模塊綜合起來,編寫程序,通過反復(fù)測試,最終實現(xiàn)了遠程溫控的功能。主程序完成了整個系統(tǒng)的各部分功能的初始化,實時監(jiān)控現(xiàn)場溫度,將現(xiàn)場的溫度定時的顯示在現(xiàn)場的LCD監(jiān)測屏上,而且一旦現(xiàn)場溫度超過我們所設(shè)定的某一特定值,將會向遠方監(jiān)測中心發(fā)出報警信號,從而通過遠方及時控制溫度變化;現(xiàn)場實時接收遠方監(jiān)測中心的控制命令,依據(jù)命令執(zhí)行相應(yīng)的操作,包括升溫、降溫和反饋當(dāng)前溫度值,實現(xiàn)實時監(jiān)控。其程序流程圖如圖43所示:圖43 遠程溫控系統(tǒng)程序流程圖下面列出整體測試程序主要部分。其中主程序為:void main(){ ack=0。 flag=1。 cpu_init()。 //CPU初始化 Init_16c450()。 //目標(biāo)初始化 Lcd_Init()。 //LCD初始化 set_t0()。 //T0初始化 dellay(10000)。 dellay(10000)。 Benq_init()。 //GSM模塊初始化 asm( ssbx xf)。 //運用XF引腳將heater端置1降溫 while(1) { ReadTemp()。 //監(jiān)測當(dāng)前溫度 if(tempb350) //℃,發(fā)送報警信號 { strcpy(Msg,alarm)。 Tansmit_Msg()。//發(fā)送報警信息 strcpy(Msg,temp_buff)。 Tansmit_Msg()。//回饋當(dāng)前溫度 } else 。 Temp_Ctr()。 //根據(jù)控制命令實現(xiàn)溫度控制 if(ack==1) //如果收到控制命令,回饋發(fā)送溫度 { strcpy(Msg,temp_buff)。 Tansmit_Msg()。//回饋當(dāng)前溫度 ack=0。 } else if((ack==0)amp。amp。(flag==1)) //定時顯示溫度值 { CLEAR()。 //清屏 Display(temp_buff,0x0080)。 } } }定時器T0中斷服務(wù)子程序為:interrupt void Tint0() //定時顯示當(dāng)前溫度值{ TIMER++。 if(TIMER%50000==0) { flag=flag^1。 TIMER=0。 }}接收控制命令并調(diào)節(jié)溫度的子程序為:void Temp_Ctr(void){ uchar x,i,j=0。 uchar unt。 uchar rdata[200]。 uchar R_Msg[5]。 for(i=0。i200。i++) //清除接收數(shù)據(jù)區(qū) rdata[i] = 0。 CMGF1()。 //設(shè)置GSM模塊短信格式為:1 dellay(0xffff)。 CLEAR_STAT()。 //清除16C450狀態(tài) CMGL()。 //發(fā)送讀未讀短信內(nèi)容命令 RECV(rdata)。 //接收返回數(shù)據(jù) unt = Check(rdata)。//統(tǒng)計單元中內(nèi)容為00的單元之前的回車數(shù) CLEAR()。 //清屏 if(unt == 0x02) //兩次回車為錯誤接收數(shù)據(jù),通常為正確接收數(shù)據(jù) DispErr(rdata)。 else DispMsg_R(rdata)。 //顯示短信內(nèi)容 dellay(100)。 asm( nop)。 i = 0。 for(x=0。x2。x++) //兩次回車換行后為短信內(nèi)容, while(rdata[i++] != 0x0a)。 while(rdata[i] != 0x0d) { R_Msg[j]=rdata[i]。 //將接收到的信息內(nèi)容復(fù)制到新的數(shù)組用于判斷 i++。 j++。 if(j==4) { R_Msg[4]=39。\039。 goto Judge。 } } R_Msg[j]=39。\039。 Judge: if(strcmp(R_Msg,view)==0) ack=1。 //正確接收view信息,反饋當(dāng)前溫度 else if(strcmp(R_Msg,up)==0) { asm( rsbx xf)。 //運用XF引腳將heater端置0升溫 ack=1。 //正確接收up信息,反饋當(dāng)前溫度 } else if(strcmp(R_Msg,down)==0) { asm( ssbx xf)。 //運用XF引腳將heater端置1降溫 ack=1。 //正確接收down信息,反饋當(dāng)前溫度 } else ack=0。 //錯誤接受信息或接收到其他非控制信息}本設(shè)計經(jīng)過驗證,很好的完成了課題要求,其正常工作時,LCD顯示如圖43所示,其中,圖(A)分別為收到查看命令“view”和反饋現(xiàn)場溫度的顯示,圖(B)分別為收到升溫命令“up”和反饋現(xiàn)場溫度的顯示,圖(C)分別為發(fā)送報警信號“*”和反饋現(xiàn)場溫度的顯示,圖(D)分別為發(fā)送降溫命令“down”和反饋現(xiàn)場溫度的顯示,圖(E)分別為等待接收命令時的顯示和錯誤反饋信息時的顯示。圖(A)圖(B)圖(C)圖(D)圖(E)圖44 系統(tǒng)測試顯示結(jié)果結(jié)論本文首先介紹了遠程的監(jiān)控系統(tǒng)和GSM系統(tǒng)的發(fā)展及應(yīng)用前景,并且提出了遠程溫控單元的設(shè)計方案,并對本論文使用的硬件平臺做了比較詳細的說明?;趯嶒炇业挠布脚_,綜合各模塊設(shè)計了一個完整的系統(tǒng)來實現(xiàn)遠程溫控的功能,最后,通過功能測試,進行了本設(shè)計方案的可行性驗證。在本設(shè)計中,需要對惡劣環(huán)境中的溫度進行遠程監(jiān)測及控制,鑒于GSM無線通信方式的普及、短消息業(yè)務(wù)的實現(xiàn)簡單和DSP處理器的高速性,設(shè)計了這套實時監(jiān)控遠程溫度的方案。本設(shè)計中,通過熱敏電阻構(gòu)成的傳感器電路將溫度信號轉(zhuǎn)換為電壓信號后送入A/D芯片;由于強調(diào)溫度監(jiān)控的實時性,故需要高速的A/D來完成信號的轉(zhuǎn)換任務(wù);在GSM模塊上的SIM插座上插上有效地手機卡,就可以實現(xiàn)現(xiàn)場與遠程監(jiān)測中心的通信;DSP作為現(xiàn)場的處理機,定時顯示現(xiàn)場采集到的溫度值,并等待監(jiān)測中心的控制命令,根據(jù)接收到的控制命令,執(zhí)行溫度的升降操作,同時將當(dāng)前溫度反饋給監(jiān)測中心。在本次畢業(yè)設(shè)計中,我第一次完成了基于硬件平臺的一個完整系統(tǒng)的設(shè)計。由于對硬件知識的理解不夠深入,從最初的硬件平臺的了解,設(shè)計方案的提出,各模塊功能的測試,到最后的整體聯(lián)調(diào),整個設(shè)計過程遇到了不少困難,為了找到解決方案,不得不查閱很多資料,中文和英文都有,這也訓(xùn)練了自己發(fā)現(xiàn)問題和解決問題的能力。因為也是第一次畫PCB板,所以有很多細節(jié)問題沒有考慮到,比如應(yīng)該嚴格按照芯片型號制作封裝,注意芯片的布局對以后布線的影響,也要注意在PCB板上信號和電源的走線。本設(shè)計是在十二位的A/D芯片ADS7852上測試成功的,對一些對溫度采集要求比較高的場合,可選用高速高精度的A/D芯片AD7656來采集信號,這時只要修改數(shù)模轉(zhuǎn)換算法就可以。另外,本設(shè)計只實現(xiàn)了溫度的簡單控制,實際中有些場合對溫度的控制要求較高,這時可以采用數(shù)字PID控制來實現(xiàn),如果要求同時監(jiān)測多個站點的溫度,則可以采用GPS來定位各監(jiān)測站點。參考文獻[1] 舒斌,吳建,[B].現(xiàn)代電子技術(shù),2008[2] 文小玲,[J],工業(yè)儀表與自動化控制,2008[3] 王明志,[J].機械設(shè)計與制造,2005[4] 劉勇,董紅玉,羅文淵,余全何, DT1000的無線溫度監(jiān)控系統(tǒng)設(shè)計[J].中國集成電路,2009[5] (法)穆利,波特.GSM數(shù)字移動通信系統(tǒng).電子工業(yè)出版社[M],1996[6] (法)拉格朗日.GSM網(wǎng)絡(luò)與G
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1