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

正文內(nèi)容

基于單片機atmage16設(shè)計的實時溫度采集儀電氣自動化畢業(yè)論文-文庫吧

2025-04-10 22:32 本頁面


【正文】 復(fù)位以及可編程的掉電檢測 ( b) 片內(nèi)經(jīng)過標(biāo)定的 RC 振蕩器 ( c) 片內(nèi) /片外中斷 ( d) 6種睡眠模式 : 空 ADC噪聲抑制模式、省電模式、掉電模式、 Standby 、式以擴展的 Standby 模式 I/O和封裝 ( a) 32 個可編程的 I/O口 ( b) 40 引腳 PDIP封裝 , 44 引腳 TQFP 封裝 ,與 44 引腳 MLF封裝 工作電壓 : ( a) ATmega16L: ( b) ATmega16: 速度等級 ( a) 0 8 MHz ATmega16L ( b) 0 16 MHz ATmega16 ATmega16L在 1 MHz, 3V, 25 C時的功耗 ( a) 正常模式 : mA ( b) 空 : mA ( c) 掉電模式 : 1 μA 引腳配置 ATmega16是基于增強的 AVRRISC結(jié)構(gòu)的低功耗 8位 CMOS微控制器。由于其先進的指令集以及單時鐘周期指令執(zhí)行時間, ATmega16 的數(shù)據(jù)吞吐率高達(dá) 1MIPS MHz,從而可以緩減系統(tǒng)在功耗和處理速度之間的矛盾。 ATMAGE16引腳分布 如圖 。 AVR 內(nèi)核具有豐富的指令集和 32 個通用工作寄存器。所有的寄存器都直接與算邏單元 (ALU) 相連接,使得一條指令可以在一個時鐘周期內(nèi)同時訪問兩個獨立的寄存器。這種結(jié)構(gòu)大大提高了代碼效率,并且具有比普通的 CISC微 控制器最高至 10倍的數(shù)據(jù)吞吐率。 ATmega16 有如下特點 16K字節(jié)的系統(tǒng)內(nèi)可編程 Flash(具有同時讀寫的能力,即 RWW), 圖 ATMAGE16 引腳分布 AVR 內(nèi)核具有豐富的指令集和 32 個通用工作寄存器。所有的寄存器都直接與算邏單元 (ALU) 相連接,使得一條指令可以在一個時鐘周期內(nèi)同時訪問兩個獨立的寄存器。這種結(jié)構(gòu)大大提高了代碼效率,并且具有比普通的 CISC微控制器最高至 10倍的數(shù)據(jù)吞吐率。 ATmega16 有如下特點 16K字節(jié)的系統(tǒng)內(nèi)可編程 Flash(具有同時讀寫的能力, 即 RWW), 512 字節(jié) EEPROM, 1K字節(jié) SRAM, 32 個通用 I/O 口線, 32 個通用工作寄存器,用于邊界掃描的 JTAG 接口,支持片內(nèi)調(diào)試與編程,三個具有比較模式的靈活的定時器 /計數(shù) (T/C),片內(nèi) /外中斷,可編程 USART,有起始條件檢測器的通用串行接口, 8路 10位具有可選差分輸入級可編程增益 (TQFP 封裝 ) 的 ADC ,具有片內(nèi)振蕩器的可編程看門狗定時器,一個 SPI串行端口,以及六個可以通過軟件進行選擇的省電模式。 工作于空閑模式時 CPU 停止工作,而 USART、兩線接口 、 A/D 轉(zhuǎn)換器、 SRAM、 T/C、 SPI 端口以及中斷系統(tǒng)繼續(xù)工作;掉電模式時晶體振蕩器停止振蕩,所有功能除了中斷和硬件復(fù)位之外都停止工作;在省電模式下,異步定時器繼續(xù)運行,允許用戶保持一個時間基準(zhǔn),而其余功能模塊處于休眠狀態(tài); ADC噪聲抑制模式時終止 CPU 和除了異步定時器與 ADC以外所有 I/O 模塊的工作,以降低 ADC 轉(zhuǎn)換時的開關(guān)噪聲; Standby 模式下只有晶體或諧振振蕩器運行,其余功能模塊處于休眠狀態(tài),使得器件只消耗極少的電流,同時具有快速啟動能力;擴展 Standby 模式下則 允許振蕩器和異步定時器繼續(xù)工作。本芯片是以 Atmel 高密度非易失性存儲器技術(shù)生產(chǎn)的。片內(nèi) ISP Flash 允許程序存儲器通過 ISP 串行接口,或者通用編程器進行編程,也可以通過運行于 AVR 內(nèi)核之中的引導(dǎo)程序進行編程。引導(dǎo)程序可以使用任意接口將應(yīng)用程序下載到應(yīng)用 Flash存儲區(qū) (ApplicationFlash Memory)。在更新應(yīng)用 Flash存儲區(qū)時引導(dǎo) Flash區(qū) (Boot Flash Memory)的程序繼續(xù)運行,實現(xiàn)了 RWW 操作。 通過 8 位 RISC CPU 與系統(tǒng)內(nèi)可編程的 Flash 集成在一個芯片內(nèi), ATmega16 成為一個功能強大的單片機,為許多嵌入式控制應(yīng)用提供了靈活而低成本的解決方案。 3 DS18B20 的設(shè)計 本 章介紹了系統(tǒng)軟件設(shè)計,并具體介紹了實現(xiàn)和調(diào)試的方法,以及分布式溫度采集系統(tǒng)的通信流程和 DS18B20溫度測量軟件的設(shè)計思路、 DS18B20工作的時序問題 。 總體通信流程及通信協(xié)議 總體通信流程體現(xiàn)在 PC機,單片機主機及各從機的通信,信號接受及發(fā)送,這個設(shè)計中,通信協(xié)議是一個非常重要也很復(fù)雜的部分, 在由 PC 機與單片機組成的系統(tǒng)中,常要涉及通 信問題 ,如果沒有統(tǒng)一的通信協(xié)議, PC機與單片機之間的 信息 傳遞就無法識別。 通信協(xié)議是指通信各方事前約定規(guī)則 ,我們可以簡單地理解為各計算機之間進行相互會話所使用的共同語言 .PC機與單片機在進行通信時 ,必須使用的通信協(xié)議。 首先,在設(shè)計中自定義幾個數(shù)據(jù)通信協(xié)議,如下問提到的 “a”、 “b”、 “c”、 “d”、 “g”、“h”。這些協(xié)議一旦定義,在后面的執(zhí)行過程中就代表了固定的含義,不再改變 , PC機、單片機、從機都靠識別這個協(xié)議來執(zhí)行程序,發(fā)送一個字節(jié)的數(shù)據(jù),接受幾個字節(jié)的數(shù)據(jù),所有的數(shù)據(jù)協(xié)議全都建立在這 2個操作方法上。 本設(shè)計中自定義 “a”為 PC機與單片機主機間的數(shù)據(jù)協(xié)議,意思為要求主機發(fā)送一號從機的溫度給 PC機; 自定義 “b”為 PC機與單片機主機間的數(shù)據(jù)協(xié)議,意思為要求主機發(fā)送二號從機的溫度給 PC機; 自定義 “c”為從機與主機間的數(shù)據(jù)協(xié)議,它代表從機向主機發(fā)送完四位當(dāng)前采集的溫度,這里一號從機和二號從機采集的溫度,都定義為 “c”; 自定義 “d”為 PC機與單片機主機之間的數(shù)據(jù)協(xié)議,意思為開始 和完成命令的信號; 自定義 “g”為一號從機和單片機主機之間的數(shù)據(jù)協(xié)議,意思為主機表示要采集一號從機的溫度數(shù)據(jù),一號從機要求單片機主機準(zhǔn)備接收; 自定義 “h”為二號從機和單片機主機之間的數(shù)據(jù)協(xié)議,意思為主機表示要采集二號從機的溫度數(shù)據(jù),二號從機要求單片機主機準(zhǔn)備接收。 具體流程如下: PC 機向單片機主機發(fā)送 “d”: 這步是流程的開始, PC 機向單片機主機發(fā)送數(shù)據(jù)協(xié)議,要求主機把接收的溫度發(fā)送給 PC 機顯示; 單片機主機向一號從機發(fā)送 “g”: 單片機主機在接收到 PC 機發(fā)送的 “d”信號后,會立即向一號從機發(fā)送 “g”,要求一號從機采集溫度并且將溫度發(fā)回單片機主機; 一號從機回發(fā) “g”: 一號從機接收到單片機主機的命令后,會立即向單片機主機回發(fā)信號,要求單片機主機做好接收準(zhǔn)備; 向主機發(fā)送四位當(dāng)前采集的溫度,并回發(fā)發(fā)送完成標(biāo)記 “c”; 一號從機回發(fā)信號后,向主機發(fā)送四位采集的溫度,這個溫度在前文已提到標(biāo)記為 “c”; 主機發(fā)送 “h”給 2 號從機: 主機在接收到一號從機發(fā)來的 “c”命令后,會立刻發(fā)送 “h”信號給二號從機,表示要采集二號從機的數(shù)據(jù); 2 號從機回發(fā) “h”: 二號從機接收到單片機主機的命令后,會 立即向單片機主機回發(fā)信號,要求單片機主機做好接收準(zhǔn)備; 向主機發(fā)送四位當(dāng)前采集的溫度,并回發(fā)發(fā)送完成標(biāo)記 “c”: 二號從機向單片機主機回發(fā)完信號后,向主機發(fā)送四位當(dāng)前采集的溫度,這個溫度標(biāo)記為 “c”; 主機發(fā)送 “d”給 PC 機: 單片機主機在接收到二號從機發(fā)送來的信號后,立刻發(fā)送信號給 PC 機,表示完成 PC機的前一指令; PC 發(fā)送 “a”給主機: PC 機在接收到單片機主機發(fā)送的信號后,發(fā)送新一個指令給單片機主機,要求單片機主機發(fā)送一號從機采集的溫度數(shù)據(jù); 主機將一號從機溫度數(shù)據(jù)發(fā)送給 PC 機: 單片機主機接收到 PC 機的命令后將一號從機發(fā)送過來的四位當(dāng)前溫度數(shù)據(jù)轉(zhuǎn)換成ASCII 碼后,發(fā)送給 PC 機,因為 PC 機只能讀取 ASCII 碼; 1 PC 機發(fā)送 “b”給主機: PC 機接收到單片機主機發(fā)送的即時溫度后會立即發(fā)送另一指令給單片機主機,要求單片機主機發(fā)送二號從機采集的溫度數(shù)據(jù); 1 主機將二號從機溫度數(shù)據(jù)發(fā)送給 PC機,發(fā)送完成后,返回( 1): 單片機主機接收到 PC機的命令后將二號從機發(fā)送過來的四位當(dāng)前溫度數(shù)據(jù)同樣也轉(zhuǎn)換成 ASCII碼后,發(fā)送給 PC機。此時一個完整過程結(jié)束,將返回( 1)開始另一輪采集。 DS18B20 溫度測量軟件的設(shè)計 由于 DS18B20 單線通信功能是分時完成的,它有嚴(yán)格的時隙概念,因此讀寫時序很重要。系統(tǒng)對 DS18B20的各種操作必須按協(xié)議進行。操作協(xié)議為:初始化 DS18B20(發(fā)復(fù)位脈沖) → 發(fā) ROM 功能命令 → 發(fā)存儲器操作命令 → 處理數(shù)據(jù)。主機控制DS18B20完成溫度轉(zhuǎn)換的程序必須經(jīng)過 3個步驟:初始化、 ROM操作指令、存儲器操作指令。假設(shè)單片機系統(tǒng)所用的晶振頻率為 12MHz,根據(jù) DS18B20的初始化時序、寫時序和讀時序,分別編寫 3個子程序: INIT為初始化子程序, WRITE 為寫(命令或數(shù)據(jù))子程序, READ為讀數(shù)據(jù)子程序,所有的數(shù)據(jù)讀寫均由最低位開始。主程序的主要功能是負(fù)責(zé)溫度的實時顯示、讀出并處理 DS18B20的測量溫度值,溫度測量每 1s 進行一次,流程圖如圖 。 讀出溫度子程序的主要功能是讀出 RAM中的 9個字節(jié),在讀出時需進行 CRC 校驗,校驗有錯時不進行溫度數(shù)據(jù)的改寫,其程序流程圖如圖 。 從 DS18B20讀取出的二進制值必須先轉(zhuǎn)換成十進制值,才能用于字符的顯示。因為 DS18B20的轉(zhuǎn)換精度為 9~ 12 位可選,為了提高精度采用 12位。在采用 12位轉(zhuǎn)換 精度時,溫度寄存器里的值是以 ,即溫度值為溫度寄存器里的二進制值乘以 ,就是實際的十進制溫度值。 多機通信軟件的設(shè)計 ATMAGE16單片機有串行發(fā)送緩沖器/接收緩沖器 (SBUF)、串行口控制寄存器(SCON)、特殊功能寄存器 (PCON)。通過設(shè)置 SCON可以有四種工作方式,其中工作方式 3 適用于多機通信。在串行通信前,通過程序預(yù)先將各從機串行口設(shè)置為方式 2或方式 3,并使 SM2和 REN(允許串行接收控制位 )為 1,允許串行口中斷。主機與從機通信時,將 SM2置 0,準(zhǔn)備接 收數(shù)據(jù),否則維持 SM2為 1,這樣在主機發(fā)送數(shù)據(jù)時 (此時主機發(fā)送數(shù)據(jù)中第 9 位為 0),只有地址相符的從機可接收數(shù)據(jù), 圖 DS18B20溫度主程序流程圖 圖 讀出溫度子程序流程圖 其余從機對數(shù)據(jù)信息不予理睬,從而可以實現(xiàn)多機通信集散型控制系統(tǒng)將各控制單元分散到現(xiàn)場各控制點。從機主程序和串行口中斷服務(wù)程序 如 圖 。 PC 機與單片機的串口通信中, ATMAGE16單片機的 通信的發(fā)送和接收端,其接口程序主要由發(fā)送子程序和接收子 程序組成。通信速率9600bps,幀格式為 。發(fā)送時,先發(fā)送一個起始位 (低電平 ),接著 按低位在先的順序發(fā)送 8位數(shù)據(jù),最后發(fā)送停止位。接收時,先判斷 出現(xiàn),如有則按低位在先的順序接收 8位數(shù),最后判斷 口是否有停止高電平出現(xiàn),如有則完成一個數(shù)據(jù)接收,否則繼續(xù)等待。其中軟件編寫要嚴(yán)格按照異步通信的時序進行。 圖 從機主程序和串行口中斷服務(wù)程序 DS18B20 工作時序問題 DS18B20的一線工作協(xié)議流程是:初始化 →ROM 操作指令 → 存儲器操作指令 → 數(shù)據(jù)傳輸。其工作時序包括初始化時序、寫時序和讀時序。 主機即單片機首先發(fā) 480us960us的低電平,進行復(fù)位,然后釋放總線,之后總線被外部上拉電阻電阻抬高,大約等待 15—60us之后, DS18B20發(fā)出 60到 240us的低電平信號,以示存在,至此初始化結(jié)束。 寫 “0“的時候,首先單片機發(fā)復(fù)位信號,然后發(fā) “0”于是低電平持續(xù) 60us就完成了寫 “0”寫 “1”的時候首先單片機發(fā)復(fù)位信號,持續(xù)時間大于 1us小于 15us然后發(fā) “1”持續(xù) 50us以上即可。 讀時序也是主機先發(fā)低電平,然后在 15us內(nèi)檢測連接 DS18B20的數(shù)據(jù)線的引腳,從而讀得相應(yīng)值。 4 電路的設(shè)計 本 章分析了分布式溫度采集系統(tǒng)的各主要功能模塊的設(shè)計與實現(xiàn),具體包括溫度測量電路模塊和串口通信電路模塊。 溫度測量電路的設(shè)計 溫度測量采用 DS18B20 數(shù)字式溫度傳感器。由 DS18B20 構(gòu)成的智能溫度測量裝置由三部分組成: DS18B20 溫度傳感器、 ATMAGE1顯示模塊。產(chǎn)品的主要技術(shù)指標(biāo): ① 測量范圍: 55℃ ~ +125℃ , ② 測量精度: ℃ , ③ 反應(yīng)時間 ≤500ms。為了達(dá)到更高的精度,則在對 DSl8B20測溫原理進行 詳細(xì)分析的基礎(chǔ)上,采取直接讀取DSl8B20內(nèi)部暫存寄存器的方法,將 DSl8B20 的測溫分辨率提高到 ℃ ~ ℃ ,DSl8B20內(nèi)部暫存寄存器的分布如表 41所列,其中第 7字節(jié)存放的是當(dāng)溫度寄存器停止增值時計數(shù)器 l的計數(shù)剩余值,第 8字節(jié)存放的是每度所對應(yīng)的計數(shù)值。這樣,就可以通過下面的方法獲得高分辨率的溫度測量結(jié)果。 表 41 DS18B20內(nèi)部暫存器 序號 寄存器名稱 作用 序號 寄存器名稱 0 溫度低字節(jié) 以 16 位補碼形式存放 5 保存字節(jié) 2 1 溫度高字節(jié) 6 計數(shù)器余值 2 TH/用戶字節(jié) 1 存放溫度上限 7 計數(shù)器
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1