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

正文內容

溫度監(jiān)控系統(tǒng)設計的設計論文-文庫吧資料

2025-07-04 20:35本頁面
  

【正文】 所以具體速率值依具體應用而變化。發(fā)送數(shù)據(jù)速率、接收數(shù)據(jù)速率計算公式如下:發(fā)送數(shù)據(jù)速率:9600*32/44=6981bit/s接收數(shù)據(jù)速率:9600*32/45=6826bit/s這是理論上的速率,實際中還應包含PC和PIC16F877A單片機的處理信號幀,等待信號幀的時間。每接收一幀數(shù)據(jù)時,需要附加13 個字節(jié)其中5 個字節(jié)用于接收8 個字節(jié)用于應答。在實際應用中,應用本通信時傳輸距離只有幾米以內而且環(huán)境干擾比較小,從而從外部因素上進一步保證了通信的可靠性。如果將此異或校驗改為CRC校驗則出錯的可能性更是微乎其微了。 另外通過幀類型字節(jié)的判斷可使之進一步降低。 通信協(xié)議設計結論通信的可靠性主要體現(xiàn)在所使用通信協(xié)議的可靠性上,本通信協(xié)議的可靠性主要有兩點理論基礎:(1)通過判斷幀頭起始字符來決定一幀的開始,這樣就避免了部分數(shù)據(jù)進入到內部數(shù)據(jù)處理之中。如果,晶振的離散度已超過所允許的范圍,此時不宜用其標稱值,可以采用測量其波特率的方法來得出實際的晶振波特率值。即:欲使接收的第N位為正確位時,須滿足下式成立:所允許的波特率誤差N 故當所傳輸?shù)囊粠瑪?shù)據(jù)為10 位時,所允許的最大的波特率允許誤差為5 %對于其它常用的8位,9位,11位,一幀的串行傳輸,%,%, %。16分頻計數(shù)器把每個接收位的時間分為16 份,在中間三位即7 ,8 ,9 ,狀態(tài)時位檢測器對RXD 端的值采樣,并以3取2的表決方式確定所接收的數(shù)據(jù)位。另外,晶體頻率的標稱值與實際值也不可能完全一致。(1)波特率誤差來源分析①單片機的振蕩電路是由晶體及電容C1 和C2 構成。而針對近程小批量數(shù)據(jù)的通信,下位機的波特率誤差性是影響可靠通信的最主要因素。在實際程序設計中我們可以設置一時限,超過此時限通信事件未到則執(zhí)行相應錯誤處理此時,只需將GetOverlappedResult函數(shù)替換為WaitForSingleObject函數(shù)此函數(shù)的聲明形式如下:WaitForSingleObject(HANDLE hEvent, //事件句柄unsigned long mTimeOuts //超時設置)(4) 關閉串口通信完畢調用CloseHandle() 函數(shù)關閉串口例如CloseHandle(mHandle)。//事件已發(fā)生安排讀操作ReadFile(mHandle, //串口句柄pDataBuff, //存放數(shù)據(jù)緩種區(qū)iLen, //所讀數(shù)據(jù)的長度pdwRead, //實際所讀長度lpOverlapped) //異步方式}在上例中,我們無限等待通信事件的發(fā)生。os, amp。dwEvtMask, amp。os, 0, sizeof( OVERLAPPED ) ) 。SetCommMask(m_hFile,dwMask)) //設置通信事件掩碼//等待通信事件的發(fā)生OVERLAPPED os 。當接收到一個字符并放入緩沖區(qū)后即通知應用程序例。其中何時讀取單片機發(fā)送過來的數(shù)據(jù)信息及應答信息是重要的。這種情況下,超時規(guī)定的是操作的完成時間而不是ReadFile()和WriteFile()的返回時間。 // 保存設置值生效………………………………………………………………………………………………COMMTIMEOUTS結構的成員都以毫秒為單位?!璗imeOuts. ReadIntervalTimeout=0 //讀間隔超時=10 //讀時間系數(shù)=100 //讀時間常量=10 //寫時間系數(shù)=100 //寫時間常數(shù)SetCommTimeouts(hCom, amp。要查詢當前的超時設置應調用GetCommTimeouts 函數(shù)。例如:……………………………………………………SetupComm( mHandle , 1024*2, 1024*2 ) //輸入輸出緩沖區(qū)的大小均為2K……………………………………………………在用ReadFile 和WriteFile 讀寫串行口時,需要考慮超時問題。dcb) // 保存至DCB結構使設置值生效調用SetupComm 函數(shù)可以設置串行口的輸入和輸出緩沖區(qū)的大小。 // 無校驗=ONESTOPBIT。dcb) //讀取DCB結構…………………………………………=9600 // 設置波特率為9600b/s=8。例如:DCB dcb。在調用API 函數(shù)進行串口初始化時,波特率,數(shù)據(jù)位,奇偶校驗停止位的信息包含于一個DCB結構中,而超時方面的信息則包含于COMMTIMEOUTS結構中,一般在用CreateFile 打開串行口后,可以調用GetCommState 函數(shù)來獲取串行口的初始配置。如果調用成功函數(shù)返回串口的句柄賦給Handle,如果調用失敗則函數(shù)返回INVALID_HANDLE_VALUE。通信會話由調用CreateFile 函數(shù)打開串口開始,CreateFile 以讀訪問權限,寫訪問權限或讀寫訪問權限“打開串口”并設定了對其是異步操作方式。鑒于應用異步方式的安全性和普遍性下面以C++ Builder為例,敘述PC機通信軟件的實現(xiàn)過程:(1)打開串口在Win32中,串口和其他通信設備是作為文件處理的。③ 每次所轉輸?shù)臄?shù)據(jù)的長度是已知的,所轉輸?shù)臄?shù)據(jù)量是有限且比較小。② 有限時間內,PC機命令可以執(zhí)行完畢并返回結果。此時確定串口讀取的時機,握手協(xié)議及軟件糾錯的實現(xiàn)是程序員應考慮的主要問題,也是減小線程阻塞所帶來的負面影響的主要措施。但在某些場合下,該缺點可以通過一些措施盡可能地減小,而其簡單易用的優(yōu)點卻是很好地體現(xiàn)出來。異步方式的優(yōu)點也恰是同步方式的缺點。并且使用通信線程還不占用CPU時間,這樣系統(tǒng)實際上具有了同時控制多個通信設備(如MODEM)的能力。(3)兩種方式的比較異步方式利用多線程結構來監(jiān)視通信設備,其最大優(yōu)點是程序對接收數(shù)據(jù)具有自主覺察能力。lp Overlapped)。………………………………………………………………ReadFile (hComport,inBuffer,nWantRead,amp。cto)。 //設置總超時常數(shù) = timeMutiplier。int timeConstant, timeMutiplier。OVERLAPPED lpOverlapped。最后一個參數(shù)值NULL 代表ReadFile將采用同步文件讀寫方式。nWantRead 為每次調用ReadFile 時,函數(shù)試圖讀出的字節(jié)數(shù)。//讀串口……………………………………………………COMMTIMEOUTS結構用于設置超時,指定讀寫函數(shù)的等待時間在ReadFile 函數(shù)中hComport 為待讀串口句柄。 //超時設置……………………………………………………ReadFile (hComport,inBuffer,nWantRead,amp。 //設置總超時系數(shù)SetCommTimeouts(m_hFile,amp。 = timeConstant。例如:(以C++ Builder編程語言為例下同)…………………………………………COMMTIMEOUTS cto。在軟件設計時應根據(jù)實際情況選擇合適的方式。開發(fā)Windows環(huán)境下的串口通信程序主要有以下2種方法:(1) 利用Windows API(Application Program Interface)用戶程序接口函數(shù);(2) 利用ActiveX控件;后者的主要特點是簡單易學,但前者的功能更為強大控制手段更為靈活。而在這3種方式中Windows環(huán)境下的串口編程以其設備無關性,可移植性以及界面友好等特征而得到廣泛應用。(2) DOS環(huán)境下的高級編程語言,如: C語言等。在接收端,分幀的數(shù)據(jù)去掉幀頭重新組合到接收緩沖區(qū)中,交給應用程序處理。01H PIC16F877A 單片機方寫入芯片發(fā)生錯誤主動通知PC退出通訊。(5) 重發(fā)幀幀頭標志幀類型空校驗字幀尾標志其它分析同上。(4) 正響應幀幀頭標志幀類型空校驗字幀尾標志空無意義:為了PIC16F877A編程的方便而加入。數(shù)據(jù)區(qū):所轉輸?shù)臄?shù)據(jù)信息。其它分析同上。幀尾標志(1Byte): 此幀信號的結束標志。長度(1Byte): 一次命令所轉輸?shù)臄?shù)據(jù)長度。器件地址(1Byte): PC所要訪問的外部器件的地址即是哪一個外部器件。(1) 讀命令幀格式幀頭標志幀類型器件地址起始地址長度校驗和幀尾標志幀頭標志(1 Bit): 表示此數(shù)據(jù)包屬于本串口通信協(xié)議,并為是否接收此包數(shù)據(jù)的標志。(5) 重發(fā)命令幀:當PC讀/寫數(shù)據(jù)時,PIC16F877A所接收的信號幀(讀/寫命令幀)有誤時向PC發(fā)出的請求重發(fā)信號。(3) 數(shù)據(jù)幀:當PC讀數(shù)據(jù)時,PIC16F877A向PC發(fā)送的內含數(shù)據(jù)信息的信號。 通信協(xié)議說明(1) 讀命令幀:當PC讀數(shù)據(jù)時,PC向PIC16F877A發(fā)送的命令信號。(3) 如果在轉輸過程中,其間PC或MCU所接收任何一幀信號出現(xiàn)錯誤時,均會向對方發(fā)送重發(fā)此幀信號的請求。此時傳輸數(shù)據(jù)即執(zhí)行命令具體如下:(1) 在PC讀數(shù)據(jù)時,遵循“讀命令等數(shù)據(jù)報告”,即PC下達一命令,等待接收數(shù)據(jù),根據(jù)所接收數(shù)據(jù)的正誤向應用程序報告此命令的執(zhí)行情況。即在向RS232串口發(fā)送命令信號,應答信號及數(shù)據(jù)信號時,是一幀一幀地發(fā)送的。采用這種通信協(xié)議較雙方互為主控者時簡單??煽靠焖俎D輸?shù)膶崿F(xiàn),需要PC單片機軟件以及通信協(xié)議等各個環(huán)節(jié)的可靠和其間的相互配合。 電平轉換電路圖注:在PC機中9針RS232接口中:2線:RXD, 3線:TXD, 5線:GND而在25針的RS232接口中:3線:RXD, 2線:TXD, 7線:GND 軟件設計在進行數(shù)據(jù)通信的軟件設計時,必須解決好兩個方面的問題:一是可靠性,二是速度。因此在將PC機和單片機的RXD和TXD交叉連接時,必須進行電平轉換。由于RS232C是早期為促進公用電話網(wǎng)絡進行數(shù)據(jù)通信而制定的標準,其邏輯電平與TTL, MOS 邏輯電平不同。即:將PC機和單片機的“發(fā)送數(shù)據(jù)線(TXD)”與“接收數(shù)據(jù)(RXD)”交叉連接,二者的地線(GND)直接相連而其它信號線如握手信號線均不用,而采用軟件握手。本設計應用條件為傳輸距離不超過15米的短距離數(shù)據(jù)傳輸,且傳輸數(shù)據(jù)量較小,所以采用在控制領域里應用較廣泛RS232C串行通信方式。NX測量值對應的數(shù)字量。N0儀表下限對應的數(shù)字量。AM為一次測量儀表的上限。檢測與變送A/D轉換工程量變換溫度非線性轉換發(fā)送數(shù)據(jù)到串口比較判斷算法溫度預設值溫度調節(jié) 電路執(zhí)行器從串口接受數(shù)據(jù)命令識別控制程序 單片機控制流程圖開始初始化PIC16F877A單片機端口地址讀入預設溫度值啟動A/D轉換A/D轉換結果送入NX單元NXFF0F0NX0降溫加熱工程量變換溫度非線性溫度轉換發(fā)送數(shù)據(jù)到串口命令識別程序從串口接受數(shù)據(jù)YYYNNN 溫度變換程序模塊溫度傳感器在12℃到60℃—,溫度起點為12℃,滿量程為48℃。必要時,計算機也可以通過軟件來強制改變培養(yǎng)皿中溫度。由Micro Chip PIC16F877A單片機構成的數(shù)字控制器進行比較運算,經(jīng)過比較后輸出控制量控制由加熱和降溫電路構成的溫度調節(jié)電路對培養(yǎng)皿中的培養(yǎng)液溫度進行調節(jié)。溫度傳感器輸出電壓經(jīng)過A/D轉換后的數(shù)字量與培養(yǎng)皿內的溫度給定值數(shù)字化后進行比較,即可得到實際溫度和給定溫度的偏差。
點擊復制文檔內容
語文相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1