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

正文內(nèi)容

基于單片機的二氧化碳濃度器設(shè)計_畢業(yè)設(shè)計(留存版)

2024-09-07 20:29上一頁面

下一頁面
  

【正文】 2 個標準 RS232C 串口,即通道 COM1 和 COM2。 其中溫度采集又是由單總線協(xié)議和注冊碼組成的,因此,軟件設(shè)計主要任務(wù)是實現(xiàn) 1Wire總線協(xié)議。 _nop_()。 for(i=0。 // Temperature *= 。 GemTemp()。 ROM 搜索是針對對器件的 64 位注冊碼進行的,每個 1Wire器件的注冊碼都是唯一的。記錄最后一次值差異的位置以供下一次搜索使用,圖 。 LastDeviceFlag = FALSE。= ~rom_byte_mask。這兩個操作是搜索 1Wire 器件 ROM 碼的基礎(chǔ)。 putbyte((y%100)/10+0x30)。)。)。)。)。在這近兩個月的畢業(yè)設(shè)計中,我們有艱辛的付出,當然更多的是豐收的喜悅。 本系統(tǒng)的試制成功,克服了以前糧庫靠管理人員手工檢查、測量和手工計算糧倉的溫度值和濕度值,并用人工方法進行糧倉溫度和濕度控制的缺點,提高了糧倉溫度和濕度的檢測速度和檢測精度,同時也提高了糧倉溫度和濕度的控制速度和控制精度。 define ysr5us2 _nop_()。 void delay(uchar us)。 sbit rb1 = P1^1。 define ysr5us1 _nop_()。人非生而知之者!人的學(xué)識總是不能面面俱到的,這就要求我們必須善于借鑒別人的成功經(jīng)驗或失敗教訓(xùn),使自己少走彎路。 L 第 4 章 總結(jié) 經(jīng)過近兩個月的努力,終于順利完成了畢業(yè)設(shè)計。 lsi=ls。)。)。 putstring([J)。 XLVII 數(shù)據(jù)傳輸 數(shù)據(jù)傳輸有 RS232 串口完成,因為沒有做上位機軟件,借用 Windows操作系統(tǒng)自帶的超級終端程序完成數(shù)據(jù)的顯示功能,代碼如下: /*VT100 終端的光標定位 */ void gotoxy(uchar x,y) {putbyte(0x1b)。 LastDeviceFlag = FALSE。 else search_direction = (id_bit_number == LastDiscrepancy)。 search_result = 0。 圖 判斷過程 從圖 :如果所有總線上的器件在當前位具有相同值,那 XXXIX 么只有一條分支路徑可選;總線上沒有器件響應(yīng)的情況是一種異常狀態(tài),可能是要查找的器件在搜尋過程中與 1Wire 總線脫。i++) crc_data = CrcTable[crc_data^temp_buff[i]]。 //Temperature convert XXXIV Init18b20 ()。i++) crc_data = CrcTable[crc_data^temp_buff[i]]。 _nop_()。 if(dq==0) //檢測從屬器件送出存在脈沖 flag = 1。 MAX232 的引腳排列及功能描述見表 (摘錄自 MAX232 官方數(shù)據(jù)手冊) 表 MAX232 的引腳 功能 腳號 引腳名稱 引腳功能描述 腳號 引腳名稱 引腳功能描述 1 C1+ 泵電容 1 正極 9 R2OUT 第二組TTL/CMOS 電平輸出 2 V+ 正電源濾波 10 T2IN 第二組TTL/CMOS 電平輸入 3 C1 泵電容 1 負極 11 T1IN 第一組TTL/CMOS 電平輸入 4 C2+ 泵電容 2 正極 12 R1OUT 第一組TTL/CMOS 電平輸出 5 C2 泵電 容 2 負極 13 R1IN 第一組 RS232電平輸入 XXV6 V 負電源濾波 14 T1OUT 第一組 RS232電平輸出 7 T2OUT 第二組RS232 電平輸出 15 GND 地 8 R2IN 第二組RS232 電平輸入 16 VCC 電源 +5V 圖 MAX232引腳 排列 單片機與 PC 間通信接口電路設(shè)計 根據(jù) 設(shè)計 的需要,設(shè)計單片機與 PC 間通信接口電路如圖 17 示。 Pin31:EA/Vpp 程序存儲器的內(nèi)外部選通線, STC89C52 單片機,內(nèi)置有 8kB 的程序存儲器,當 EA 為高電平并且程序地址小于 8kB 時,讀取內(nèi)部程序存儲器指令數(shù)據(jù),而超過 8kB 地址則讀取外部指令數(shù)據(jù)。 ( 5) 并行輸入輸出 (I/O)口: STC89C52 共有 4 組 8 位 I/O 口 (P0、 P P2 或 P3),用于對外部數(shù)據(jù)的傳輸。 在制作中 曾經(jīng)就此電路做過實驗,在實驗中,降低電源電壓 VCC,當?shù)陀? 時,測出的溫度值比實際的溫度高,誤差較大。在 DS18B20 出廠時該位被設(shè)置為 0,用戶不要去改動。 圖 DS18B20 的讀時序 ( 2) DS18B20 的寫時序 對于 DS18B20 的寫時序仍然分為寫 0 時序和寫 1 時序兩個過程。 DS18B20 的引腳介紹 TO- 92 封裝的 DS18B20 引 腳排列見圖 ,其引腳功能描述見表。 DS18B20 數(shù)字溫度傳感器 , 測溫范圍 - 55℃ ~+ 125℃ ,固有測溫分辨率 ℃ 。按 IEC 標準測溫范圍 200~ 650℃,百度電阻比 W( 100)= 時, R0 為 100Ω和 10Ω,其允許的測量誤差 A 級為177。但是通過實際的考察,現(xiàn)實的系統(tǒng)根本不是這個樣子:由于糧食要定期的通過熏蒸來除蟲、防鼠,熏蒸藥劑具有高毒性,高腐蝕性,人員根本不能隨意接觸到倉內(nèi)設(shè)備,更不要說通過數(shù)碼管的 III 顯示和報警器來及時發(fā)現(xiàn)溫度的異常變化,同時出于防爆的要求,在倉庫內(nèi)部的系統(tǒng),是完全密封的,并被充入低氧高氮的氣體,平時人員根本不能及時進入。 為保證日常工作的順利進行,首要問題是加強倉庫內(nèi)溫度的監(jiān)測工作,因為溫度的升高,就意味著糧庫內(nèi)的有氧呼吸的加強,就意味著馬上就要發(fā)生腐爛霉變。其主要的特點為精度高 、測量范圍大、便于遠距離測量。 AD590 的測量信號可遠傳百余米。 C 之間。 單總線的實現(xiàn) ( 1) DS18B20 的復(fù)位時序 圖 DS18B20的復(fù)位時序 DS18B20 的讀時序?qū)τ?DS18B20 的讀時序分為讀 0 時序和讀 1 時序兩個過程。例如 +125℃ 的數(shù)字輸出為 07D0H, +℃ 的數(shù)字輸出為0191H, ℃ 的數(shù)字輸出為 FF6FH, 55℃ 的數(shù)字輸出為 FC90H。 要想使 DS18B20 進行精確的溫度轉(zhuǎn)換, I/O 線必須保證在溫度轉(zhuǎn)換期間提供足夠的能量,由于每個 DS18B20 在溫度轉(zhuǎn)換期間工作電流達到 1mA,當幾個溫度傳感器掛在同一根 I/O 線上進行多點測溫時,只靠 上拉電阻就無法提供足夠的能量,會造成無法轉(zhuǎn)換溫度或溫度誤差極大。 ( 2) 數(shù)據(jù)存儲器 (RAM) STC89C52 內(nèi)部有 256 個 8 位用戶數(shù)據(jù)存儲單元和 128 個專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的 RAM只有 256 個,可存放讀寫的數(shù)據(jù),運算的中間結(jié)果或用戶定義的字型表。更有一個特點,當訪問外部程序存儲器, ALE會跳過一個脈沖。 MAX232 是單電源雙 RS232C 發(fā)送 /接收芯片。 //delay 100 uS _nop_()。0x01。 } 有了上面的基本函數(shù),我們可以完成具體的 ROM操作了 舉例總線主機產(chǎn)生溫度變換命令然后讀出溫度,如下表所示: 表 讀溫度 主機方式 數(shù)據(jù) LSB 在先 注 釋 TX Reset(復(fù)位 ) 復(fù)位脈沖 480_960us RX Presence(存在) 存在脈沖 TX 55h 符合 ROM 命令 TX 64位 ROM代碼 發(fā)出 DS1820 地址 TX 44h 溫度 變換命令 TX I/O 線高電平 總線主機使 I/O 線至少保持 2 秒鐘的高電平以便完成變換 XXXI TX Reset 復(fù)位 復(fù)位脈沖 RX Presence 存在 存在脈沖 TX 55h 符合 ROM 命令 TX 64 位 ROM 代碼 發(fā)出 DS1820 地址 TX Beh 讀暫存存貯器命令 RX 9 個數(shù)據(jù)字節(jié) 讀整個暫存存儲器以及 CRC 主機現(xiàn)在重新計算機從暫存存儲器接收來的 8 位數(shù)據(jù)字節(jié)的 CRC 并把計算得到的 CRC 與讀出的 CRC 比較如果二者相符主機繼續(xù)操作如果不符重復(fù)此讀操作 TX Reset 復(fù)位復(fù)位脈沖 RX Presence 存在存在脈沖操作完成 完成這部分功能的代碼如下 /************************************************************ *Function:CRC校驗 *parameter: *Return: *Modify: *************************************************************/ uchar CRC (uchar j) { uchar i,crc_data=0。 Init18b20 ()。 uchar CRC (uchar j) { uchar i,crc_data=0。按照這種搜索算法進行下去,最終除了一個從機器件外所有從機將進入等待狀態(tài),經(jīng)過最后一輪檢測就可得到最 后保留(未進入等待狀態(tài))器件的 ROM 碼。 last_zero = 0。 } else XLIV { if (id_bit != cmp_id_bit) //10 01 search_direction = id_bit。 if (LastDiscrepancy == 0) LastDeviceFlag = TRUE。 ‘NEXT’操作 ‘ NEXT’ 操作是搜索 1Wire 總線上的下一個從機器件;一般情況下,此搜索操作是在‘ FIRST’操作之后或上一次‘ NEXT’ 操作之后 進行;保持上次搜索后這些值的狀態(tài)不變、執(zhí)行又一次搜索即可實現(xiàn)‘ NEXT’操作;之后從 ROM_NO 寄存器中來讀出新一個 ROM 碼,若前一次搜索到的是 1Wire 上的最后一個器件,則返回一個無效標記 FALSE, 并且把狀態(tài)設(shè)置成下一次調(diào)用搜索算法時將是‘ FIRST’ 操作的狀態(tài)。)。 puthex(temp_buff[2])。 puthex(temp_buff[6])。 //skip rom OWWriteByte(0x44)。)。如何在保證質(zhì)量和完成同等功能的情況下,把產(chǎn)品的成本降到最低 并符合用戶的實際使用習(xí)慣 。_nop_()。 void OWWriteByte (uchar wr)。 } /*串口初始化 */ void serial_init ( unsigned char bt ) { SCON = 0x50。_nop_()。 Digital Thermometer DS1820 Programmable Resolution 1Wire174。在畢業(yè)設(shè)計中,完成硬件電路的設(shè)計、單片機軟件編寫、 PCB設(shè)計等。)。)。,39。,39。39。最后 ROM 碼從 ROM_NO寄存器中讀出。 XLV rom_byte_mask = 1。 do { id_bit = OWReadBit()。 idata unsigned char last_zero, rom_byte_number。 搜索命令分為兩類:標準搜索命令 (0FH)用來搜索連接到網(wǎng)絡(luò)中所有器件;報警或有條件搜 索命令 (ECH)只用來搜索那些處于報警狀態(tài)下的器件 ,這種方式縮小了搜索范圍可以快速查找到所需要注意的器件。 DS1820在傳遞數(shù)據(jù)時也利用與上述相同的多項式函數(shù)產(chǎn)生一個 8位CRC值,并把此值提供給主機以確認數(shù)據(jù)字節(jié)的傳送,在使用 CRC來確認數(shù)據(jù)傳送的每一種情況中,總線主機必須使用上面給出的多項式函數(shù)計算 CRC的值,并把計算所得的值或者與存貯在 DS1820 的 64 位 ROM 部分中的 8 位 CRC 值,或者與 DS1820 中計算得到的 8 位 CRC值(在讀暫存存貯器中時它作為第九個字節(jié)被讀出)進行比較。 TempDelay(1)。 u = 1。 /************************************************************ *Function:向 18B20寫入一個字節(jié) *parameter: *Return: *Modify: ************************************************************* XXIX / void WriteByte
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1