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

正文內(nèi)容

基于pic16f877的培養(yǎng)液溫度實(shí)時(shí)監(jiān)控系統(tǒng)設(shè)計(jì)-資料下載頁

2025-10-30 00:53本頁面

【導(dǎo)讀】帶動(dòng)傳統(tǒng)控制檢測(cè)日新月益更新。在實(shí)時(shí)檢測(cè)和自動(dòng)控制的單片機(jī)應(yīng)用系統(tǒng)中,單。硬件結(jié)構(gòu),以及具體應(yīng)用對(duì)象特點(diǎn)的軟件結(jié)合,以作完善。軟件方面采用匯編語言來進(jìn)行程序設(shè)計(jì),使指令的執(zhí)行。速度快,節(jié)省存儲(chǔ)空間。為了便于擴(kuò)展和更改,軟件的設(shè)計(jì)采用模塊化結(jié)構(gòu),使程。序設(shè)計(jì)的邏輯關(guān)系更加簡(jiǎn)潔明了,使硬件在軟件的控制下協(xié)調(diào)運(yùn)作。器,進(jìn)行加熱或停止加熱,直到能在規(guī)定的溫度下恒溫加熱。

  

【正文】 MEOUTS結(jié)構(gòu) 的 內(nèi)容 來設(shè) 置 超時(shí)。 ?????????? ?????????? Timeouts. ReadIntervalTimeout=0 //讀間 隔 超時(shí) =10 //讀時(shí)間系數(shù) =100 //讀時(shí)間 常 量 =10 //寫時(shí)間系數(shù) =100 //寫時(shí)間 常 數(shù) SetCommTimeouts(hCom, amp。TimeOuts)。 // 保 存 設(shè) 置值生 效 武漢紡織大學(xué) 2020 屆畢業(yè)設(shè)計(jì) ( 論文 ) 24 ???????????? ???????????? ???????????? COMMTIMEOUTS結(jié)構(gòu) 的成 員 都 以 毫秒 為單位。 總 超時(shí)的計(jì) 算 公式是: 總 超時(shí) =時(shí)間系數(shù) 要求 讀 /寫的 字 符 數(shù) + 時(shí)間 常 數(shù) 異步方式讀寫串行 口 時(shí) 雖 然 ReadFile()和 Write File() 在完成 操 作以前就可能 返回 但超時(shí) 仍 然 是起作用的。這 種情況 下,超時(shí) 規(guī) 定的是 操 作的完成時(shí)間而不是 ReadFile()和Write File()的 返回 時(shí)間。 (3)讀寫串 口 初 始 化 工 作完成以 后便 可以 根 據(jù)通信協(xié)議 合 理 安排 讀 /寫函數(shù) ReadFile()和 Write File()以讀 寫各 種 握手信 息 和數(shù)據(jù)信 息等。 其中 何 時(shí)讀 取 單片機(jī)發(fā)送過來的數(shù)據(jù)信 息 及應(yīng) 答 信 息 是 重要 的。此時(shí)采 取 的是 事 件 驅(qū)動(dòng)法, 即:設(shè) 置 通信資源上的 事 件 掩 碼 為EV_RXCHAR 。 當(dāng) 接收到一 個(gè)字 符 并放入緩沖區(qū)后 即通 知 應(yīng)用程 序例。 //PC發(fā)送一 組命令 至 單片機(jī) Write File(mHandle, //串 口句柄 pDataBuff, //存放 數(shù)據(jù) 緩種區(qū) lien, //所寫數(shù)據(jù)的 長(zhǎng)度 pdwWritten, //已 寫 長(zhǎng)度操 作前應(yīng) 置 為 0 lpOverlapped) //異步方式 //設(shè) 置 通信 事 件 掩 碼 DWORD damask=EV_RXCHAR。 SetCommMask(m_hFile,dwMask)) //設(shè) 置 通信 事 件 掩 碼 //等待 通信 事 件的發(fā) 生 OVERLAPPED so。 Meme (amp。os, 0, sizeof ( OVERLAPPED ))。 =CreateEvent(NULL TRUE FALSE NULL) if(!WaitCommEvent(m_hFile, amp。dwEvtMask, amp。os)) // 重疊操 作 If (GetLastError ()==ERROR_IO_PENDING) { // 無 限 等待重疊操 作 結(jié)果 GetOverlappedResult (mHandle, amp。os, amp。detrains, true)。 //事 件 已 發(fā) 生 安排 讀 操 作 ReadFile(mHandle, //串 口句柄 pDataBuff, //存放 數(shù)據(jù) 緩種區(qū) lien, //所讀數(shù)據(jù)的 長(zhǎng)度 武漢紡織大學(xué) 2020 屆畢業(yè)設(shè)計(jì) ( 論文 ) 25 powered, //實(shí)際所讀 長(zhǎng)度 lpOverlapped) //異步方式 } 在上 例 中,我們 無 限 等待 通信 事 件的發(fā) 生。 如 果 通信 事 件一直 沒 有發(fā) 生則 系 統(tǒng) 將不會(huì) 繼 續(xù)執(zhí) 行。在實(shí)際程 序 設(shè)計(jì)中我們可以設(shè) 置 一時(shí)限,超過此時(shí)限通信 事 件 未 到 則執(zhí) 行相應(yīng) 錯(cuò)誤處 理此時(shí), 只需 將 GetOverlappedResult函數(shù) 替 換 為 WaitForSingleObject函數(shù)此函數(shù)的 聲 明 形 式如下: WaitForSingleObject ( HANDLE hEvent, //事 件 句柄 unsigned long mTimeOuts //超時(shí)設(shè) 置 ) (4) 關(guān) 閉 串 口 通信完 畢 調(diào)用 Close Handle() 函數(shù) 關(guān) 閉 串 口例 如 Close Handle(mHandle)。 //關(guān) 閉 mHandle為 打 開串 口 時(shí) 返回 的 句柄 include include includemath’s includestring’s main() { unsigned char z。 unsigned char a,b,flag_2=1,count1=0。 unsigned char Phil[]={2,0xce,0x6e,0x60,0x1c,2}。 TMOD=0x21。 TH0=0x2f。 TL0=0x40。 SCON=0x50。 PCON=0x00。 TH1=0xfd。 TL1=0xfd。 PS=1。 EA=1。 EX1=0。 ET0=1。 ES=1。 TR0=1。 TR1=1。 high time=50。 low time=50。 武漢紡織大學(xué) 2020 屆畢業(yè)設(shè)計(jì) ( 論文 ) 26 Pedant ( amp。spud )。 // Initialize Structure = 10。 // Set PID Coefficients = 8。 =6。 = 100。 // Set PID Set point while(1) { if(plus==0) { EA=0。 for(a=0。a5。a++) for(b=0。b102。b++){} if(plus==0) { set temper++。 flag=0。 } } else if(subs==0) { for(a=0。a5。a++) for(b=0。a102。b++){} if(subs==0) { set temper。 flag=0。 } } else if(stop==0) { for(a=0。a5。a++) for(b=0。b102。b++){} if(stop==0) { flag=0。 break。 } EA=1。 } get temper()。 b=temper。 if(flag_2==1) a=b。 if((abs(ab))5) 武漢紡織大學(xué) 2020 屆畢業(yè)設(shè)計(jì) ( 論文 ) 27 temper=a。 else temper=b。 a=temper。 flag_2=0。 if(++count130) { display()。 count1=0。 } pare temper()。 } TR0=0。 z=1。 while(1) { EA=0。 if(stop==0) { for(a=0。a5。a++) for(b=0。b102。b++){} if(stop==0) disp_1(Phil)。 // break。 } EA=1。 } } //DS18b20 子程序 include spit DQ=P2^1。 //定義端口 typedef unsigned char byte。 typedef unsigned int word。 //延時(shí) void delay(word useconds) { for(。useconds0。useconds)。 } //復(fù)位 byte ow_reset(void) { 武漢紡織大學(xué) 2020 屆畢業(yè)設(shè)計(jì) ( 論文 ) 28 byte presence。 DQ=0。 //DQ低電平 delay(29)。 //480us DQ=1。 //DQ高電平 delay(3)。 //等待 presence=DQ。 //presence信號(hào) delay(25)。 return(presence)。 } //0允許, 1禁止 //從 1wire 總線上讀取一個(gè)字節(jié) byte read_byte(viod) { byte i。 byte value=0。 for (i=8。i0。i) { value=1。 DQ=0。 DQ=1。 delay(1)。 if(DQ)value|=0x80。 delay(6)。 } return(value)。 } //向 1wire總線上寫一個(gè)字節(jié) void write_byte(char val) { byte i。 for (i=8。i0。i) //一次寫一個(gè)字節(jié) { DQ=0。 DQ=valamp。0x01。 delay(5)。 武漢紡織大學(xué) 2020 屆畢業(yè)設(shè)計(jì) ( 論文 ) 29 DQ=1。 val=val/2。 } delay(5)。 } //讀取溫度 Char Read_Temperature (void) { union { byte c [2]。 int x。 }temp。 ow_reset()。 write_byte(0xcc)。 write_byte(0xBE)。 [1]=read_byte()。 [0]=read_byte()。 ow_reset()。 write_byte(0xCC)。 write_byte(0x44)。 return 。 } 單片機(jī)軟件設(shè)計(jì) 我們 知 道影 響 數(shù)據(jù)轉(zhuǎn)輸 產(chǎn)生錯(cuò)誤 的因 素 有:轉(zhuǎn)輸線分 布 參 數(shù)上下位機(jī)間的 波 特 率 誤差 現(xiàn) 場(chǎng) 干擾 等。 而 針 對(duì) 近程小批量數(shù)據(jù)的通信,下位機(jī)的 波 特 率 誤 差 性 是 影 響 可 靠 通信的 最主要 因 素。 所以在單片機(jī)軟件的設(shè)計(jì)時(shí)應(yīng) 重 點(diǎn) 考慮 并 設(shè) 置 好 波 特 率。 ( 1)波 特 率 誤 差 來源分 析 ① 單片機(jī)的 振蕩 電路是由 晶 體 及電 容 C1 和 C2 構(gòu) 成。 晶振頻率 主要 由 晶 體 的因有 頻率 決定,同時(shí) 也 與電 容 C C2及 外界 溫 度 有一定的 關(guān) 系。 另 外, 晶 體 頻率 的標(biāo)稱 值 與實(shí)際 值也 不可能完全一 致。 ②波 特 率 最 大 允許誤 差 分 析 武漢紡織大學(xué) 2020 屆畢業(yè)設(shè)計(jì) ( 論文 ) 30 在異步串行通信方式 1中 單片機(jī) 以 16倍波 特 率 的采樣 速 率 對(duì)接收數(shù)據(jù)( RXD) 不 斷 采樣,一 旦 檢測(cè) 到由 1到 0的 負(fù)跳 變, 16分 頻 計(jì)數(shù)器立 刻 復(fù) 位, 使 之 滿 度 翻 轉(zhuǎn)的時(shí) 刻 恰 好與輸 入 位的 邊沿 對(duì)準(zhǔn)。 16分 頻 計(jì)數(shù)器 把 每個(gè) 接收位的時(shí)間分為 16 份, 在中間 三 位即 7 , 8 ,9 , 狀態(tài) 時(shí)位 檢測(cè) 器對(duì) RXD 端 的 值 采樣, 并 以 3取 2的表決方式 確 定所接收的數(shù)據(jù)位。由此可見, 當(dāng) 波 特 率 的 誤 差 使 得在接收 某 位數(shù)據(jù)位時(shí),采樣點(diǎn)離 該 位的中點(diǎn) 半 位間 隔 時(shí)將會(huì)對(duì) 該 位采樣兩 次。 即: 欲使 接收的 第 N位為正 確 位時(shí), 須 滿足 下式成立: 所 允許 的 波 特 率 誤 差 N 故 當(dāng) 所傳輸?shù)囊?幀 數(shù)據(jù)為 10 位時(shí),所 允許 的 最
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1