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

正文內(nèi)容

畢業(yè)論文基于單片機(jī)的數(shù)字溫度監(jiān)測系統(tǒng)(參考版)

2025-05-23 06:10本頁面
  

【正文】 感謝同宿舍的“兄弟同胞”,有了他們設(shè)計(jì)與制作不再是一件苦悶的事,有了他們即使遇上困難也不像想像中的那樣困難,互相支持,互相鼓勵。 感謝 導(dǎo)師 的指導(dǎo)以及為我們做單片機(jī)系統(tǒng)的同學(xué)提供制作設(shè)備 ,使我的單片機(jī)系統(tǒng)能夠順利完成。 經(jīng)過一段時(shí)間的“奮戰(zhàn)”,畢業(yè)設(shè)計(jì)與畢業(yè)論文都告一段落了。但是,有了設(shè)計(jì)方案,有了設(shè)計(jì)框架,之后的應(yīng)用開發(fā)會好走很多。 本次畢業(yè)設(shè)計(jì)基本上達(dá)到了預(yù)期的效果,有些問題還沒有得到有效地解決。 數(shù)字 測溫系統(tǒng) 用在溫室中,可以方便的 監(jiān)測與 控制溫室中的溫度, 從而提高效益 。 其實(shí) 這個(gè)設(shè)計(jì)只是 個(gè)雛形,可以往里面添加更多的實(shí)用模塊以適應(yīng)實(shí)際應(yīng)用的需求, 使用更加高性能的單片機(jī),以滿中更高端的應(yīng)用。 這編論文 對數(shù)字 溫 度監(jiān)測 系統(tǒng)做出一個(gè)簡 易的設(shè)計(jì)方案。在軟件方面重點(diǎn)介紹了 DS18B20 初始化及相關(guān)操作和串口通信的原理及實(shí)現(xiàn),下位機(jī)最重要同時(shí)也是最難的是溫度采樣的部分,這部分完成不好整個(gè)系統(tǒng)就沒有意義;上位機(jī)最重要的是正確通信,其次就是功能的豐富程度。 廣州工程技術(shù)職業(yè)學(xué)院 20xx 屆畢業(yè)設(shè)計(jì)(論文) 28 結(jié) 論 本文介紹了基于 AT89S52 單片機(jī)的數(shù)字溫度 監(jiān)測 系統(tǒng)的設(shè)計(jì),對整個(gè)硬件電路和軟件程序設(shè)計(jì)做了 詳細(xì) 分析 與相關(guān)知識和經(jīng)驗(yàn)的介紹 。這是由于蜂鳴器發(fā)聲函數(shù)大大延長了串?dāng)?服務(wù)時(shí)間,不能及時(shí)地回到主程序,出現(xiàn)很大的顯示間斷,所以出現(xiàn)顯示不完整。只有在發(fā)送命令太頻繁的時(shí)候會出現(xiàn)較明顯的閃爍,只上位機(jī)請求發(fā)送溫度值的時(shí) 間間隔在 1 秒以上,基本不會注意到閃爍。后來,放棄了無規(guī)律地發(fā)送與隨機(jī)的接收等待,改用了串口中斷來控制 。在單片機(jī)方面,顯示出現(xiàn)了明示的閃爍 。這兩個(gè)函數(shù)寫 在主函數(shù)的一個(gè)死循環(huán)里面。這個(gè)問題 真的是很奇怪,也許這就是仿真器的缺餡。這部分代碼是找到 DS18B20 的中文資料后,根據(jù)資料中的讀寫時(shí)序來寫,在溫度轉(zhuǎn)換部分也放棄原來正負(fù)溫度都要讀到的念頭,只關(guān)注于溫度,這樣在溫度轉(zhuǎn)換的程序就相對簡單,這也意味著相對穩(wěn)定。在仿真電路中已經(jīng)成功的程序,編譯后燒入實(shí)際電路中,發(fā)現(xiàn)根本不能正常顯示,到底能不能采集到溫度也不知道。最后就是焊到電路板上,進(jìn)行實(shí)物系統(tǒng)的調(diào)試。可以在仿真畫出粗略的電路畫,用于調(diào)試程序。 廣州工程技術(shù)職業(yè)學(xué)院 20xx 屆畢業(yè)設(shè)計(jì)(論文) 26 第五章 調(diào)試 前期的設(shè)計(jì) 與調(diào)試都是在仿真里面完成。上位機(jī)程序由 來編寫,主要是從下位機(jī)中獲得數(shù)據(jù),完成更加復(fù)雜數(shù)據(jù)處理以及控制單片機(jī)。 下位機(jī)的程序由 C語言來編寫,編譯成HEX 文件后寫入單片機(jī),單片機(jī)的能完成怎樣的任務(wù)由下位機(jī)程序決定。在軟件設(shè)計(jì)部分,又分了兩個(gè)大塊:下位機(jī)軟件、上位機(jī)軟件。 本章是本文的主體部分 ,分為兩個(gè)大塊:硬件設(shè)計(jì)、軟件設(shè)計(jì)。余下的就是數(shù)據(jù)格式部分了。因?yàn)橹挥姓_地收發(fā)數(shù)據(jù) ,上位機(jī)才能得到正確測溫?cái)?shù)據(jù),進(jìn)行下步的數(shù)據(jù)處理才有意義;上位機(jī)才能控制下位機(jī)工作。新窗口有兩個(gè)部分,左邊是一個(gè)列表,顯示有多個(gè)日志文件,只要點(diǎn)擊一個(gè)文件,該文件就會在右邊的 RichTextBox 中全部顯示出來,方便查看文件。因?yàn)辄c(diǎn)了“記錄”后,文本一直被當(dāng)前程序讀寫,所以無法直接把一個(gè)完整的文本載入到一個(gè) RichTextBox 控件當(dāng)中。日志是以天為單位來創(chuàng)建的,日志文件的名稱都是記錄的當(dāng)天日期。在程序中設(shè)置了定時(shí)清 空文本框,因?yàn)槲谋究蝻@示的內(nèi)空不是無限的,文本框只能存儲或顯示 64K的內(nèi)容,當(dāng)超過時(shí)就會發(fā)生溢出堆棧的錯誤,所以要定時(shí)清空。當(dāng)溫度大于上限溫度或者小于下限溫度,上位機(jī)就會發(fā)出于 0x22 控制字,使下位機(jī)執(zhí)行蜂鳴器發(fā)聲的程序段發(fā)出警報(bào)。 StrReceive 變量的值為一次采樣中得到的溫度值,有了這個(gè)溫度就能作實(shí)時(shí)比較,發(fā)送出警報(bào)控制字,使單片機(jī)發(fā)出警報(bào)。清空接收文本框 End Select 廣州工程技術(shù)職業(yè)學(xué)院 20xx 屆畢業(yè)設(shè)計(jì)(論文) 24 End Sub 本系統(tǒng)測量的范圍是 0~ ℃ ,單片機(jī)是一個(gè)字節(jié)一個(gè)字節(jié)來發(fā)送對應(yīng)數(shù)值的,所以上位機(jī)也要一個(gè)字一個(gè)字地接收,存入數(shù)組里,然后遍列數(shù)組,把每個(gè)數(shù)組元素從 Acsii 碼譯成十進(jìn)制數(shù),再拼裝成一個(gè)完整的數(shù)值。清空接收文本框 Case EventTxFull 39。清空接收緩沖區(qū) Case EventRxOver 39。 39。 Space(5) amp。 CStr(StrReceive amp。 Chr(ReArr(i)) 39。存入數(shù)組 For i = 0 To UBound(ReArr) 39。等待 5個(gè)接收字節(jié)接收完畢 buf = 39。觸發(fā)接收事件 Do DoEvents 39。定義動態(tài)數(shù)組 Dim temp As String temp = ℃ ’攝氏度符號 Dim StrReceive As String 39。 程序代碼段如下: Private Sub MSComm1_onComm() Dim buf As Variant 39。一些 URAT(通用異步收發(fā)器)不支持該事件 ComEvEOF 7 收到了 EOF 字符( ASCII 字符 26) 以上事件中,本系統(tǒng)只會用到 ComEvReceive。持續(xù)產(chǎn)生該事件,直到使用 了 Input 屬性刪除了接收緩沖區(qū)中的數(shù)據(jù) ComEvCTS 3 CTS( ClearToSend)線改變 ComEvDSR 4 DSR( DataSetReady)線改變。在串口初始化時(shí),設(shè)置 的值為 4,這表示收接收緩沖區(qū)收到 4個(gè)字節(jié)時(shí)觸發(fā) onComm 事件 ,執(zhí)行 onComm事件 里面的代碼。 CommEvent 屬性的值來檢測事件和通信錯誤。例如,當(dāng)在 CD( Carrier Detect)線或 RTS( Request To Send)線上有字符到達(dá)或發(fā)生了改變,在這種情況下,可以使用 MSComm 控件的 OnComm 事件捕獲和處理這些通信事件。 ( 7) ComEvEOF:值為 7,接收數(shù)據(jù)中出現(xiàn)文件尾( ASCII 碼為 26)字符。 ( 5) ComEvTxFull:值為 1010,發(fā)送緩沖區(qū)溢出。 ( 3) ComEvFrame:值為 1004,硬件檢測到幀錯誤。 CommEvent 屬性值及其含義如下: ( 1) ComEvSend:值為 1,發(fā)送緩沖區(qū)的內(nèi)容少于 SThreshold 指定的值。 ( 12) OutPut:向發(fā)送緩沖區(qū)傳送一串字符。 ( 10) OutBufferSize:設(shè)置或返回發(fā)送緩沖區(qū)的大小,缺省值為 512 字節(jié)。 ( 8) InputLen:設(shè)置或返回接收緩沖區(qū)內(nèi)用 Input 讀入的字節(jié)數(shù),設(shè)置該屬性為 0 表示 Input 讀取整個(gè)緩沖區(qū)的內(nèi)容。 ( 6) RThreshold:該屬性為一閥值,它確定當(dāng)接收緩沖區(qū)內(nèi)的字節(jié)個(gè)數(shù)達(dá)到或超過該值后就產(chǎn)生代碼為 ComEvReceive 的 OnComm 事件。例如: :=′9600,n,8,1′ ( 3) PortOpen:打開或關(guān)閉串行端口,格 式為::={True|False} ( 4) InBufferSize:設(shè)置或返回接收緩沖區(qū)的大小,缺省值為 1024 字節(jié)。MSComm 控件的主要屬性及事件 廣州工程技術(shù)職業(yè)學(xué)院 20xx 屆畢業(yè)設(shè)計(jì)(論文) 22 ( 1) CommPort:設(shè)置或返回串行端口號,缺省值 1。 圖 418 顯示部分代碼段 上位機(jī)程序 上位機(jī)程序由 編寫, 通信部分使用了 的 MSComm 控件,實(shí)現(xiàn)與串口的連接, 當(dāng)收到一定量的數(shù)據(jù)或都通信中出現(xiàn)錯誤時(shí)觸發(fā)控件的 OnComm 事件進(jìn)行相應(yīng)的處理。 溫度顯示 本系統(tǒng)使用共陽極的 7 段數(shù)碼管作為顯示設(shè)備。 通信端口初始化及數(shù)據(jù)發(fā)送 的部分已經(jīng)介紹完了。轉(zhuǎn)換的方法是把十進(jìn)制數(shù)的后面加上 0x30(十進(jìn)制的 0)即可。當(dāng)單片機(jī)接收到 0x11 控制字時(shí),就向串口發(fā)送溫度數(shù)據(jù)。使用中斷的好處在于每當(dāng)一組數(shù)據(jù)接收完成或者有數(shù)據(jù)壓進(jìn) SBUF 時(shí),就產(chǎn)生一個(gè)中斷請求。 SCON 的設(shè)置為: SCON SM0 SM1 SM2 REN TB8 RB8 TI RI 地址 9FH 9EH 8DH 9CH 9BH 9AH 99H 98H 值 0 1 0 1 0 0 0 0 PCON 的設(shè)置為: PCON SMOD GF1 GF0 PD ID 值 0 0 0 0 0 0 0 0 定時(shí)器 T1 的初值為: 程序如下: 圖 417 串口初始化程序段 廣州工程技術(shù)職業(yè)學(xué)院 20xx 屆畢業(yè)設(shè)計(jì)(論文) 21 當(dāng)串口初始化完成后,單片機(jī)就能通過串口與 PC通信了。一般選用定時(shí)器 T1 工作方式 2,因?yàn)槎〞r(shí)器 T1工作方式 2具有自動加載功能,可避免通過程序反復(fù)裝入初值所引起的定時(shí)誤差,使波特率更加穩(wěn)定。 本系統(tǒng)使用工作方式 1 收發(fā)數(shù)據(jù),方式 1 以 10 位數(shù)據(jù)為一幀進(jìn)行傳輸,設(shè)有 1 個(gè)起始位、 8 個(gè)數(shù)據(jù)位、 1位停止位,格式如下: 起始 D0 D1 D2 D3 D4 D5 D6 D7 停止 方式 1的波特率是可變的。 電源管理寄存器 PCON 的 單元地址是 87H, 不可位尋址, 其結(jié)構(gòu)格式如下: D7 D6 D5 D4 D3 D2 D1 D0 SMOD GF1 GF0 PD ID 廣州工程技術(shù)職業(yè)學(xué)院 20xx 屆畢業(yè)設(shè)計(jì)(論文) 20 與串行口工作有關(guān)的僅有它的最高位 SMOD, SMOD 稱為串行口的波特率倍增位。接收完第 8 位數(shù)據(jù)后,該位由硬件置位,在其他工作方式下,該位由硬件置位, RI=1 表示幀接收完成。 (7).RI:接收中斷標(biāo)志位。 可尋址標(biāo)志位。 在方式 2和方式 3 中, RB8存放接收到的第 9位數(shù)據(jù),用以識別接收到的數(shù)據(jù)特征。在多機(jī)通信中同樣亦要傳輸這一位,并且它代表傳輸?shù)牡刂愤€是數(shù)據(jù), TB8=0 為數(shù)據(jù),TB8=1 時(shí)為地址。 (4).TB8—— 發(fā)送接收數(shù)據(jù)位 8。 (3).REN—— 允許接收位。當(dāng) SM2=0 時(shí),就不管第 9 位數(shù)據(jù)是 0 還是 1,都會將數(shù)據(jù)送入 SBUF,并發(fā)出中斷申請。 多機(jī)通信是工作于方式 2 和方式 3, SM2 位主要用于方式 2 和方式 3。 串行口通信由兩個(gè)特殊功能寄存器對數(shù)據(jù)的接收和發(fā)送進(jìn)行控制,分別是串行口控制寄存器 SCON 和電源控制寄存器 PCON. 串行口控制寄存器 SCON 地址為 98H,位地址為 9FH~ 98H,具體格式如下: SM0 SM1 SM2 REN TB8 RB8 TI RI 9FH 9EH 8DH 9CH 9BH 9AH 99H 98H 廣州工程技術(shù)職業(yè)學(xué)院 20xx 屆畢業(yè)設(shè)計(jì)(論文) 19 (1).SM0、 SM1—— 串行口工作方式控制位。 AT89S51 串行端口有四種基本工作方式,通過編 程設(shè)置,可以使其工作在任一方式,以滿足不同場合的需要。串行發(fā)送時(shí),從片內(nèi)總線向發(fā)送 SBUF 寫入數(shù)據(jù);單片機(jī)接收時(shí),從接收 SBUF 向片內(nèi)總線讀出數(shù)據(jù)。 AT89S51 集成了一個(gè)全兩 工串行口( UART),串行口通過引腳 RXD( ,串行口數(shù)據(jù)接收端)和引腳 TXD( ,串行口數(shù)據(jù)發(fā)送端)與外部設(shè)備之間進(jìn)行串行通信。 5. 空閑位:空閑位表示線路處于空閑狀態(tài),此時(shí)線路上為邏輯 “1” 電平。 廣州工程技術(shù)職業(yè)學(xué)院 20xx 屆畢業(yè)設(shè)計(jì)(論文) 18 4. 停止位:停止位為 1位、 位或 2位,可有軟件設(shè)定。數(shù)據(jù)位究竟是幾位,可由硬件或軟件來設(shè)定。 2. 數(shù)據(jù)位:數(shù)據(jù)位為 58 位,它緊跟在起始位之后,是被傳送字符的有效數(shù)據(jù)位。 圖 415 串行異步通信數(shù)據(jù)格式 在一個(gè)有效字符正式發(fā)送前,發(fā)送器先發(fā)送一個(gè)起始位,然后發(fā)送有效字符位,在字符結(jié)束時(shí)再發(fā)送一個(gè)停止位,起始位至停止位構(gòu)成一幀。它是以字符為單位進(jìn)行傳輸?shù)?,字符之間沒有固定的時(shí)間間隔要求,而每個(gè)字符中的各位則以固定的時(shí)間傳送。 通信端口初始化及數(shù)據(jù)發(fā)送 本系統(tǒng)使用的 USB 通信模塊是通過虛擬串口來實(shí)現(xiàn)與 USB 口通信的,所以在下位機(jī)不必使用 USB 的通信協(xié)議來收發(fā)數(shù)據(jù),使用 RS232 串口的協(xié)議來通信既可 ,其余的處理工作由 PL2303 芯片來完成 . 本系統(tǒng)使用 的是串行異步通信。 這部分最關(guān)鍵的是嚴(yán)格遵守元件的讀寫時(shí)序, DS18B20 的讀寫都要是通過時(shí)間隙來完成的,這是單總線型元件的一大特點(diǎn),也是編寫控制程序的難點(diǎn)。 以上是 DS18B20 的初始化處理及數(shù)據(jù)處理部分,該部分是本系統(tǒng)的核心部分。 由于本系統(tǒng)只測量 0攝氏度 上的溫度 ,并沒有考慮到負(fù)溫度,所以并沒有把有關(guān)負(fù)溫度的處理寫進(jìn)程序里面。從 temp_data[0]中取上低 4位,低 4位是小數(shù)部分,把它單獨(dú)提取出來乘以 10/16(即 ),廣州工程技術(shù)職業(yè)學(xué)院 20xx 屆畢業(yè)設(shè)計(jì)(論文)
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1