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

正文內(nèi)容

基于單片機(jī)atmage16設(shè)計(jì)的實(shí)時(shí)溫度采集儀電氣自動化畢業(yè)論文(編輯修改稿)

2025-06-19 22:32 本頁面
 

【文章內(nèi)容簡介】 /℃ 3 HL/用戶字節(jié) 2 存放溫度下限 8 CRC 基于 DS18B20的溫度測量裝置電路圖如圖 : 圖 溫度測量電路 溫度傳感器 DS18B20將被測環(huán)境溫度轉(zhuǎn)化成帶符號的數(shù)字信號(以十六位補(bǔ)碼形式,占兩個字節(jié)),傳感器可置于離裝置 150米以內(nèi)的任何地方,輸出腳 I/O直接與單片機(jī)的 相連, R1為上拉電阻,傳感器采用外部電源供電。 ATMAGE16 是整個裝置的控制核心, ATMAGE16內(nèi)帶 1K字節(jié)的 FlashROM,用戶程序存放在這 里。顯示器模塊由四位一體的共陽數(shù)碼管和 4個 9012組成。系統(tǒng)程序分傳感器控制程序和顯示器程序兩部分,傳感器控制程序是按照 DS18B20的通信協(xié)議編制。系統(tǒng)的工作是在程序控制下,完成對傳感器的讀寫和對溫度的顯示。 串口通信電路的設(shè)計(jì) 為了增加單片機(jī)多機(jī)通信的距離,該部分電路采用 RS232標(biāo)準(zhǔn)接口,通信距離可以達(dá)到 15米;如果采用 RS422 或是 RS485 接口,通信距離會更遠(yuǎn)。多機(jī)通信接口原理圖見圖 1 。在數(shù)據(jù)傳輸過程中采用的是 RS232 電平,提高了抗干擾能力。需要在主機(jī)串行接口和從機(jī)串行接口進(jìn)行 電平轉(zhuǎn)換: TTLRS232TTL。這都是用 MAX232 接口芯片實(shí)現(xiàn)的,具體的電路如圖 。 圖 TTLRS232TTL 電平轉(zhuǎn)換電路 通信電路是本設(shè)計(jì)的重要組成部分 ,負(fù)責(zé)溫度數(shù)據(jù)的采集和數(shù)據(jù)的上傳。包括單片機(jī)多機(jī)串口通信電路 ,PC 機(jī)與 ATMAGE16的串口通信電路。其中主單片機(jī)ATMAGE16既要和從機(jī)通信 ,還要負(fù)責(zé)將數(shù)據(jù)通過串口發(fā)送到 PC機(jī)上。而 ATMAGE16 單片機(jī)只有一個串行通信口,這就需要用硬件或是軟件擴(kuò)展一個串行通信口。本設(shè)計(jì)采用一種用單片機(jī)普通 I/O口和相應(yīng)軟件實(shí) 現(xiàn)串行通信的方法。 5 分布式溫度采集系統(tǒng)設(shè)計(jì) 數(shù)字式傳感器一般采用單總線技術(shù) (1WIREBUS),即在單片機(jī)或計(jì)算機(jī)接口中只用一根導(dǎo)線(輸入 / 輸出信號線),美國 Dallas公司最新推出的 1WireBus數(shù)字式溫度傳感器 DS18B20,與傳統(tǒng)的溫度傳感器不同,它能夠直接讀出被測溫度,并且可根據(jù)實(shí)際要求通過簡單的編程實(shí)現(xiàn) 9~ 12位的數(shù)字值讀數(shù)方式,可以分別在 和750ms內(nèi)將溫度值轉(zhuǎn)化為 9 位和 12位的數(shù)字量,對應(yīng)的可分辨溫度分別為 ℃ 、℃ 、 ℃ 和 ℃ ;為 實(shí)現(xiàn)與 PC機(jī)串口長距離數(shù)據(jù)通信,系統(tǒng)采用了 RS232 串行接口,通信距離可以達(dá)到 15m,如果采用 RS422或 RS485串行接口可以達(dá)到 1000m。串口通信由 PC機(jī)與單片機(jī)的通信和單片機(jī)多機(jī)通信組成,每個從機(jī)負(fù)責(zé)溫度的測量然后通過多機(jī)通信把溫度數(shù)據(jù)發(fā)送到主單片機(jī)上,最后 PC機(jī)通過 VB程序控制串口把主單片機(jī)上的所有溫度數(shù)據(jù)收集起來。系統(tǒng)框圖如圖 。 圖 系統(tǒng)框圖 6 ICCAVR 制作環(huán)境及介紹 本章介紹了 ICCAVR的制作環(huán)境, ICCAVR 中的文件類型及其文件的擴(kuò)展名、附注和擴(kuò)充 ,并 介紹了 IAR 或其它 ANSI C 編譯系統(tǒng)的代碼轉(zhuǎn)換。 ICCAVR 介紹 本節(jié)主要介紹了 ICCAVR 文件的基本特點(diǎn)、類型、擴(kuò)展名等。 ImageCraft 的 ICCAVR 介紹 ImageCraft 的 ICCAVR 是一種使用符合 ANSI 標(biāo)準(zhǔn)的 C 語言來開發(fā)微控制器(MCU)程序的一個工具 ,它有以下幾個主要特點(diǎn) : ICCAVR 是一個綜合了編輯器和工程管理器的集成工作環(huán)境( IDE),其可在WINDOWS9X/NT 下工作。 源文件全部被組織到工程之中,文件的編輯和工程的構(gòu)筑也在這 個環(huán)境中完成。編譯錯誤顯示在狀態(tài)窗口中,并且當(dāng)你用鼠標(biāo)單擊編譯錯誤時(shí),光標(biāo)會自動跳轉(zhuǎn)到編輯窗口中引起錯誤的那一行。這個工程管理器還能直接產(chǎn)生您希望得到的可以直接使用的 INTEL HEX 格式文件, INTEL HEX 格式文件可被大多數(shù)的編程器所支持,用于下載程序到芯片中去。 ICCAVR 是一個 32 位的程序,支持長文件名。 本論文并不介紹通用的 C 語言語法知識,僅介紹使用 ICC AVR 所必須具備的知識。 ICCAVR 中的文件類型及其擴(kuò)展名 文件類型是由它們的擴(kuò)展名決定的, IDE 和編譯 器可以使用以下幾種類型的文件。 輸入文件: .c 擴(kuò)展名 表示是 C 語言源文件 .s 擴(kuò)展名 表示是匯編語言源文件 .h 擴(kuò)展名 表示是 C 語言的頭文件 .prj 擴(kuò)展名 表示是工程文件,這個文件保存由 IDE 所創(chuàng)建和修改的一個工程的有 關(guān)信息。 .a 擴(kuò)展名 庫文件,它可以由幾個庫封裝在一起。 是一個包含了標(biāo)準(zhǔn)C 的庫和 AVR 特殊程序調(diào)用的基本庫。如果庫被引用,鏈接器會將其鏈接到您的模塊或文件中。您也可以創(chuàng)建或修改一個符合你需要的庫。 輸出文件 .s 對應(yīng) 每個 C 語言源文件,由編譯器在編譯時(shí)產(chǎn)生的匯編輸出文件。 .o 由匯編文件匯編產(chǎn)生的目標(biāo)文件,多個目標(biāo)文件可以鏈接成一個可執(zhí)行文件。 .hex INTEL HEX 格式文件,其中包含了程序的機(jī)器代碼。 .eep INTEL HEX 格式文件,包含了 EEPROM 的初始化數(shù)據(jù)。 .cof COFF 格式輸出文件,用于在 ATMEL 的 AvrStudio 環(huán)境下進(jìn)行程序調(diào)試。 .lst 列表文件,在這個文件中列舉出了目標(biāo)代碼對應(yīng)的最終地址。 .mp 內(nèi)存映象文件 它包含了您程序中有關(guān)符號及其所占內(nèi)存大小的信息 .cmd NoICE 調(diào)試命令文件。 .noi NoICE 調(diào)試命令文件。 .dbg ImageCraft 調(diào)試命令文件。 附注和擴(kuò)充 pragma (編譯附注) 這個編譯器接受以下附注: pragma interrupt_handler func1:vector number func2:vector ... 這個附注必須在函數(shù)之前定義,它說明函數(shù) func func2 是中斷操作函數(shù),所以編譯器在中斷操作函數(shù)中生成中斷返回指令 reti 來代替普通返回指 令 ret ,并且保存和恢復(fù)函數(shù)所使用的全部寄存器;同樣編譯器根據(jù)中斷向量號 vector number 生成中斷向量地址。 pragma ctask func1 func2... 這個附注指定了函數(shù)不生成揮發(fā)寄存器來保存和恢復(fù)代碼,它的典型應(yīng)用是在RTOS實(shí)時(shí)操作系統(tǒng)中讓 RTOS 核直接管理寄存器。 pragma text:name 改變代碼段名稱,使其與命令行選項(xiàng)相適應(yīng)。 pragma data:data 改變數(shù)據(jù)段名稱,使其與命令行選項(xiàng)相適應(yīng)。這個附注在分配全局變量至EEPROM中時(shí) 必須被使用。 pragma abs_address:address 函數(shù)與全局?jǐn)?shù)據(jù)不使用浮動定位(重定位),而是從 address開始分配絕對地址。這在訪問中斷向量和其它硬件項(xiàng)目時(shí)特別有用。 pragma end_abs_address 結(jié)束絕對定位,使目標(biāo)程序使用正常浮動定位。 C++ 注釋 如果你選擇了編譯擴(kuò)充 (ProjectOptionsCompiler),你可以在你的源代碼中使用 C ++的 // 類型的注釋。 二進(jìn)制常數(shù) 如果你選擇了編譯擴(kuò)充 (ProjectOptionsCompiler),你可以使用 0b1|0* 來指定二進(jìn)制常數(shù),例如 0b10101 等于十進(jìn)制數(shù) 21。 在線匯編 你可以使用 asm(string)函數(shù)來指定在線匯編代碼。 代碼轉(zhuǎn)換 IAR 或其它 ANSI C 編譯系統(tǒng)的代碼轉(zhuǎn)換 IAR C 編譯器作為應(yīng)用于 AVR 的第一個 C 編譯器,它有十分豐富的源代碼。當(dāng)你從 IAR編譯系統(tǒng)轉(zhuǎn)換到 ImageCraft 編譯系統(tǒng)時(shí),絕大多數(shù)符合 ANSI C標(biāo)準(zhǔn)的程序代碼不需要轉(zhuǎn)換, IAR C 中 IO 寄存器的定義與 ICCAVR 也是相同的。 中斷操作描述, ICCAVR 使用 pragma 附注描述中斷操作函數(shù),而 IAR 引入了語法擴(kuò)充( interrupt 關(guān)鍵字),下面是一個對照: 在 ICCAVR 中: pragma interrupt_handler func:4 // 4 是這個中斷的向量號, func 為中斷處理函數(shù)名稱, ICCAVR 可以使多個中斷向量共用一個中斷處理函數(shù)。 在 IAR 中: interrupt [vector_name] func() // vector_name 是某一個中斷向量的名稱, IAR C 的中斷向量地址使用中斷名稱來代替 ,以增加程序的可讀性。 擴(kuò)充關(guān)鍵字 IAR 引入 flash 關(guān)鍵字將項(xiàng)目分配進(jìn)入程序存貯空間( FLASH 存貯器),ICCAVR 使用 const 關(guān)鍵字來達(dá)到相同的目的。 過程調(diào)用轉(zhuǎn)換 在兩個編譯系統(tǒng)之間函數(shù)參數(shù)傳遞使用的寄存器是不同的,這僅影響手工寫的匯編函數(shù)。 在線匯編、宏等, IAR 不支持在線匯編符號,而 ICCAVR 支持在線匯編。 ICCAVR 向?qū)? 自你啟動 IDE 后,首先從 Project 菜單系統(tǒng)選擇 Open 命令,進(jìn)入\icc\ 目錄并且選擇并打開 “l(fā)ed”工程,工程管理器顯示在這個工程中只有一個文件 。 然后從 Project 菜單中選擇 Options 命令打開工程編譯選項(xiàng),在 Target標(biāo)號下選擇目標(biāo)處理器。然后從 Project 菜單中選擇 Make Project 命令, IDE 將調(diào)用編譯器編譯這個工程文件,并且在狀態(tài)窗口中顯示所有的信息。 ICCAVR 的 IDE 環(huán)境 編譯一個單獨(dú)的文件 正常建立一個輸出文件的次序是,你首先應(yīng)該建立一個工程文件并且定義屬于這個工程的所有文件。然而,我們有時(shí)也需要將一個文件單獨(dú)地編譯為目標(biāo) 文件或最終的輸出文件。這時(shí)可以這樣操作:從 IDE 菜單 “File” 中選擇 “Compile File...”命令,來執(zhí)行 “to Object”和 “to Output”中的任意一個。當(dāng)你調(diào)用這個命令時(shí),文件應(yīng)該是打開的并且在編輯窗口中可以編輯的。 編譯一個文件為目標(biāo)文件( to Object),對檢查語法錯誤和編譯一個新的啟動文件是很有用的。編譯一個文件為輸出文件( to Output),對較小的并且是一個文件的程序較為有用。 創(chuàng)建一個新的工程 為創(chuàng)建一個新的工程,從菜單 “Project”中選擇 “New”命令, IDE 會彈出一個對話框,在對話框中你可以指定工程的名稱,這也是你的輸出文件的名稱。如果你使用一些已經(jīng)建立的源文件,你可在菜單 “Project”中選擇 “AddFile(s) ”命令。 另外,你可以在菜單 “File”中選擇 “New”命令來建立一個新的源文件來輸入你的代碼,你可以在菜單 “File”中選擇 “Save”或 “Save As”命令來保存文件。然后你可以象上面所述調(diào)用 “AddFile(s)”命令將文件加入到工程中,也可在當(dāng)前編輯窗口中單擊鼠標(biāo)右鍵選擇 “Add to Project”將文件加入已 打開的工程列表中。通常你輸出源文件在工程同一個目錄中,但也可不作這樣要求。 工程的編譯選項(xiàng)使用菜單中 “Project”中的 “Options”命令。 工程管理 工程管理允許你將多個文件組織進(jìn)同一個工程,而且定義它們的編譯選項(xiàng),這個特性允許你將工程分解成許多小的模塊。當(dāng)你處理工程構(gòu)筑時(shí),只有一個文件被修改和重新編譯,如果一個頭文件作了修改,當(dāng)你編譯包含這個頭文件的源文件時(shí), IDE 會自動重新編譯已經(jīng)改變的頭文件。 一個源文件可以寫成 C 或匯編格式的任意一種。 C 文件必須使用 “.c”擴(kuò)展名匯編文 件必須使用 “.s”擴(kuò)展名。你可以將任意文件放在工程列表中,例如你可以將一個工程文檔文件放在工程管理窗口中,工程管理器在構(gòu)筑工程時(shí)對源文件以外的文件不予理睬。 對目標(biāo)器件不同的工程,可以在編譯選項(xiàng)中設(shè)置有關(guān)參數(shù)。當(dāng)你新建一個工程時(shí),使用默認(rèn)的編譯選項(xiàng),你可以將現(xiàn)有編譯選項(xiàng)設(shè)置成默認(rèn)選項(xiàng),也可將默認(rèn)編譯選項(xiàng)裝入現(xiàn)有工程中。默認(rèn)編譯選項(xiàng)保存在 文件中。 為避免你的工程目錄混亂,你可以指定輸出文件和中間文件到一個指定的目錄,通常這個目錄是你的工程目錄的一個子目錄。 編輯窗口 編輯 窗口是你與 IDE 交流信息的主要區(qū)域,在這個窗口中你可以修改相應(yīng)的文件。當(dāng)編譯存在錯誤時(shí),用鼠標(biāo)單擊有關(guān)錯誤信息時(shí),編輯器會自動將光標(biāo)定位在錯誤行的位置。 應(yīng)用構(gòu)筑向?qū)? 應(yīng)用構(gòu)筑向?qū)怯糜趧?chuàng)建外圍設(shè)備初始化代碼的一個圖形界面。你可以單擊工具條中的 “Wizard”按鈕或菜單 “Tools”中的 “ApplicationBuilder”命令來調(diào)用它。 應(yīng)用構(gòu)筑向?qū)褂镁幾g選項(xiàng)中指定的目標(biāo) MCU來產(chǎn)生相應(yīng)的選項(xiàng)和代碼。 應(yīng)用構(gòu)筑向?qū)э@示目標(biāo) MCU 的每一個外圍設(shè)備子系統(tǒng),它的使用是很顯而易見的。在這 里你可以設(shè)置 MCU 的所具有的中斷、內(nèi)存、定時(shí)器、 IO 端口、 UART 、SPI 和模擬量比較器等外圍設(shè)備,并產(chǎn)生相應(yīng)的代碼,如果你需要的話,還可產(chǎn)生main( )函數(shù)。 終端仿真 IDE 有一個內(nèi)置的終端仿真器,注意它不包含任意一個 ISP(在系統(tǒng)編程)功能,但它可以作為一個簡單的終端,或許可以顯示你的目標(biāo)裝置的調(diào)試信息,也可下載一個 ASC碼文件。從 版本開始 IDE 加入了對 ISP 的支持。 結(jié) 論 ATMAGE16單片機(jī)體積小、重量輕、抗干擾能力強(qiáng)、對環(huán)境要求不高、價(jià)格低 廉、可靠性高、靈
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1