




已閱讀5頁,還剩24頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
河海大學(xué)本科課程設(shè)計(jì)報(bào)告河海大學(xué)本科課程設(shè)計(jì)報(bào)告 1 目目 錄錄 第一章 概述 2 第一節(jié) 課題背景與意義 2 第二節(jié) 課題設(shè)計(jì)要求與指標(biāo) 2 第二章 系統(tǒng)方案選擇與確定 3 第一節(jié) 硬件系統(tǒng)方案選擇 3 一 光照采集模塊方案選擇 3 二 無線傳輸模塊方案選擇 3 三 LCD 顯示模塊方案選擇 4 四 MCU 模塊方案選擇 4 第二節(jié) 軟件系統(tǒng)方案選擇 4 第三章 系統(tǒng)硬件設(shè)計(jì)與實(shí)現(xiàn) 6 第一節(jié) 采集端硬件設(shè)計(jì) 6 一 光照采集模塊設(shè)計(jì) 7 二 ATmega16L 最小系統(tǒng)模塊設(shè)計(jì) 7 三 無線傳輸模塊設(shè)計(jì) 8 第二節(jié) 終端硬件設(shè)計(jì) 9 一 LCD 顯示模塊設(shè)計(jì) 10 二 變壓電路設(shè)計(jì) 11 第四章 系統(tǒng)軟件設(shè)計(jì)與實(shí)現(xiàn) 12 第一節(jié) 程序整體設(shè)計(jì) 12 第二節(jié) 光照采集與 AD 轉(zhuǎn)換程序設(shè)計(jì) 12 第三節(jié) 無線傳輸程序設(shè)計(jì) 13 第四節(jié) LCD 顯示程序設(shè)計(jì) 15 第五節(jié) 程序下載 16 第四章 測試結(jié)果及討論 17 第一節(jié) LCD 顯示測試 17 第二節(jié) 光照采集與顯示測試 18 心得體會 20 參考文獻(xiàn) 21 附 錄 22 一 器件清單 22 二 工具清單 22 三 實(shí)物圖 23 四 程序代碼 23 河海大學(xué)本科課程設(shè)計(jì)報(bào)告河海大學(xué)本科課程設(shè)計(jì)報(bào)告 2 第一章第一章 概述概述 第一節(jié)第一節(jié) 課題背景與意義課題背景與意義 在現(xiàn)代農(nóng)業(yè)和工業(yè)領(lǐng)域 經(jīng)常需要對一些環(huán)境參數(shù)進(jìn)行監(jiān)測 以做出相應(yīng) 處理 確保設(shè)備和系統(tǒng)運(yùn)行在最佳狀態(tài) 隨著科技的發(fā)展 對環(huán)境參數(shù)監(jiān)測系 統(tǒng)的要求也越來越高 因此基于傳感器 單片機(jī)和無線通信芯片設(shè)計(jì)出一種無 線環(huán)境參數(shù)監(jiān)測系統(tǒng)十分的重要 光照強(qiáng)度是一個重要的環(huán)境參數(shù) 在工業(yè)和農(nóng)業(yè)領(lǐng)域有著重要的應(yīng)用 本 課程設(shè)計(jì)介紹一種可以應(yīng)用在許多領(lǐng)域的無線光照強(qiáng)度監(jiān)測系統(tǒng) 實(shí)現(xiàn)對環(huán)境 中的光照強(qiáng)度進(jìn)行實(shí)時采集處理 無線傳輸與顯示的功能 本文的主要研究工作集中在光照強(qiáng)度監(jiān)測系統(tǒng)的設(shè)計(jì)上 通過 C 語言編程 對單片機(jī)進(jìn)行控制 使單片機(jī)控制光照采集傳感器 無線通信芯片和 LCD 實(shí) 現(xiàn)系統(tǒng)功能 在本課題的基礎(chǔ)上可以設(shè)計(jì)完成一個高速 方便 穩(wěn)定的環(huán)境數(shù) 據(jù)監(jiān)測采集和傳輸系統(tǒng) 可以廣泛應(yīng)用于現(xiàn)代農(nóng)業(yè)和工業(yè)領(lǐng)域 第二節(jié)第二節(jié) 課題設(shè)計(jì)要求與指標(biāo)課題設(shè)計(jì)要求與指標(biāo) 本系統(tǒng)以環(huán)境光照強(qiáng)度為研究對象 應(yīng)滿足的要求與指標(biāo)為 1 監(jiān)測點(diǎn)光照強(qiáng)度測量精確 精度大于 0 1lux 2 將監(jiān)測點(diǎn)的參數(shù)數(shù)據(jù)以無線方式發(fā)送至匯節(jié)點(diǎn) 并 LCD 顯示 要求分 立元件實(shí)現(xiàn)的無線傳輸距離大于 20cm 無線傳輸模塊實(shí)現(xiàn)的傳輸距離大于 1km 3 無線傳輸設(shè)備具有較強(qiáng)的抗干擾能力 4 設(shè)備具有較高的實(shí)時性 5 設(shè)備功耗功耗較低 河海大學(xué)本科課程設(shè)計(jì)報(bào)告河海大學(xué)本科課程設(shè)計(jì)報(bào)告 3 第二章第二章 系統(tǒng)方案選擇與確定系統(tǒng)方案選擇與確定 第一節(jié)第一節(jié) 硬件系統(tǒng)方案選擇硬件系統(tǒng)方案選擇 系統(tǒng)硬件部分主要分為采集端和終端兩個部分 采集端應(yīng)包含 光照采集 模塊 MCU 模塊 無線傳輸模塊 終端應(yīng)包括 MCU 模塊 無線傳輸模塊 LCD 顯示模塊 針對各個模塊 分別有幾種不同的方案 本節(jié)將各個模塊的方 案進(jìn)行比較并確定最終方案 1 光照采集模塊方案選擇光照采集模塊方案選擇 系統(tǒng)要求采集環(huán)境內(nèi)實(shí)時光照強(qiáng)度 并有一定的精確度 光照采集模塊有 下列兩種方案 方案一 采用光敏電阻及相關(guān)的外圍電路 設(shè)計(jì)成的自制光照采集模塊 用于采集環(huán)境光照信息 使用光敏電阻的電路結(jié)構(gòu)簡單 實(shí)時性高 成本低 但是一般的光敏電阻精確度較低 難以達(dá)到課題的要求 方案二 采用光照傳感器 Po188 采集環(huán)境的光照信息 使用光照傳感器 Po188 的電路結(jié)構(gòu)簡單 實(shí)時性好 成本較低 靈敏度高 電流隨光照度增強(qiáng) 呈線性變化 采集精確度高 符合課題要求 故采用該方案 2 無線傳輸模塊方案選擇無線傳輸模塊方案選擇 系統(tǒng)要求采集端通過無線的方式將采集到的光照強(qiáng)度信息發(fā)送到終端 終 端也是采用無線的方式接受采集端發(fā)來的數(shù)據(jù) 無線通信模塊方案有下列幾種 方案 方案一 通過自制的無線通信模塊 但是由于是采用分立元件設(shè)計(jì)的自制 河海大學(xué)本科課程設(shè)計(jì)報(bào)告河海大學(xué)本科課程設(shè)計(jì)報(bào)告 4 無線通信模塊 工作不穩(wěn)定 抗干擾性差 不滿足題目的要求 故不采用該方 案 方案二 采用無線串口進(jìn)行無線數(shù)據(jù)通信 具有接口簡單 只需利用單片 機(jī)的串口就可建立無線通信 采用該模塊成本較高 雖然能夠滿足題目要求 但是考慮到系統(tǒng)的成本 不采用該方案 方案三 采用無線收發(fā)模塊 nRF24L01 該模塊采用 SPI 接口可以很方便的 與 MCU 建立通信 發(fā)送與接受只需通過簡單的將控制指令通過 SPI 接口寫入 nRF24L01 就可以發(fā)送和接收數(shù)據(jù) 具有低的系統(tǒng)費(fèi)用 低速微處理器也能進(jìn)行 高速射頻發(fā)射 數(shù)據(jù)在空中停留時間短 抗干擾性高 故采用該方案 3 LCD 顯示模塊方案選擇顯示模塊方案選擇 系統(tǒng)的終端需要實(shí)時地將環(huán)境光照強(qiáng)度信息顯示出來 選擇 1602 液晶模塊 該模塊能夠顯示 32 個 ASCII 碼 并且電路結(jié)構(gòu)簡單 能夠滿足系統(tǒng)的數(shù)據(jù)顯 示要求 故采用液晶 1602 進(jìn)行數(shù)據(jù)顯示 4 MCU 模塊方案選擇模塊方案選擇 方案一 采用 51 系列單片機(jī)及其最小系統(tǒng)作為 MCU 模塊 其特點(diǎn)是結(jié)構(gòu) 簡單 使用的是 CISC 指令系統(tǒng) 馮諾依曼總線結(jié)構(gòu) 系統(tǒng)功能易于實(shí)現(xiàn) 成 本低 但是處理速度較慢 故不采用此方案 方案二 采用 AVR 系列單片機(jī)及其最小系統(tǒng)作為 MCU 模塊 其特點(diǎn)是結(jié) 構(gòu)簡單 使用的是 RISC 指令系統(tǒng) 哈佛結(jié)構(gòu)總線結(jié)構(gòu) 處理速度較快 更好 的滿足系統(tǒng)實(shí)時性的要求 同時功耗較低 故采用該方案 我們選用的是 ATmega16L 單片機(jī) 第二節(jié)第二節(jié) 軟件系統(tǒng)方案選擇軟件系統(tǒng)方案選擇 河海大學(xué)本科課程設(shè)計(jì)報(bào)告河海大學(xué)本科課程設(shè)計(jì)報(bào)告 5 軟件系統(tǒng)采用模塊化設(shè)計(jì)思想 分別使用 C 語言對對采集端和終端的 MCU 進(jìn)行編程 軟件系統(tǒng)的編譯環(huán)境采用的是采用 AVR 單片機(jī) C 語言集成開發(fā)環(huán)境 code vision1 25 3 是 HP Info Tech 專為 AVR 系列單片機(jī)設(shè)計(jì)的一款低成本 C 語言 編譯器 它產(chǎn)生的代碼非常嚴(yán)密 效率很高 不僅包括了 AVR 的 C 編譯器 同時也是一個集成 IDE 的 AVR 開發(fā)平臺 簡稱 CVAVR 基于高級語言開發(fā)單 片機(jī)系統(tǒng)具有語言簡潔 可讀性強(qiáng) 可移植性好 可進(jìn)行結(jié)構(gòu)化和模塊化程序 設(shè)計(jì)等優(yōu)點(diǎn) 圖 2 1 為 code vision1 25 3 的開發(fā)環(huán)境 圖 2 1 code vision1 25 3 的開發(fā)環(huán)境 河海大學(xué)本科課程設(shè)計(jì)報(bào)告河海大學(xué)本科課程設(shè)計(jì)報(bào)告 6 第三章第三章 系統(tǒng)硬件設(shè)計(jì)與實(shí)現(xiàn)系統(tǒng)硬件設(shè)計(jì)與實(shí)現(xiàn) 系統(tǒng)硬件部分主要分為采集端和終端兩個部分 采集端應(yīng)包含 光照采集 模塊 MCU 模塊 無線傳輸模塊 終端應(yīng)包括 MCU 模塊 無線傳輸模塊 LCD 顯示模塊 圖 3 1 為系統(tǒng)硬件設(shè)計(jì)框圖 圖 3 1 系統(tǒng)硬件設(shè)計(jì)框圖 第一節(jié)第一節(jié) 采集端硬件設(shè)計(jì)采集端硬件設(shè)計(jì) 采集端主要由光照采集模塊 MCU 模塊 即 ATmega16L 最小系統(tǒng) 以及 無線傳輸模塊構(gòu)成 采集端電路圖如圖 3 2 所示 終端 LCD 顯示模塊 1602 MCU 模塊 ATmega16L 無線傳輸模塊 nRF24L01 采集端 光照采集模塊 Po188 MCU 模塊 ATmega16L 無線傳輸模塊 nRF24L01 河海大學(xué)本科課程設(shè)計(jì)報(bào)告河海大學(xué)本科課程設(shè)計(jì)報(bào)告 7 圖 3 2 采集端硬件電路圖 一 光照采集模塊設(shè)計(jì)一 光照采集模塊設(shè)計(jì) 采集端的光照采集模塊的主要器件是光照傳感器 Po188 Po188 是一個 光電集成傳感器 典型入射波長為 p 520nm 內(nèi)置雙敏感元接收器 可見 光范圍內(nèi)高度敏感 輸出電流隨照度呈線性變化 Po188 的主要特性有 暗電流小 低照度響應(yīng) 靈敏度高 電流隨光照度 增強(qiáng)呈線性變化 內(nèi)置雙敏感元 自動衰減近紅外 光譜響應(yīng)接近人眼函數(shù) 曲線 內(nèi)置微信號 CMOS 放大器 高精度電壓源和修正電路 輸出電流大 工作電壓范圍寬 溫度穩(wěn)定性好 可選光學(xué)納米材料封裝 可見光透過 紫 外線截止 近紅外相對衰減 增強(qiáng)了光學(xué)濾波效果 符合歐盟 RoHS 指令 無 鉛 無鎘等 光照采集模塊 Po188 連接電路圖如圖 3 3 所示 Po188 輸出特性曲線如圖 3 4 所示 河海大學(xué)本科課程設(shè)計(jì)報(bào)告河海大學(xué)本科課程設(shè)計(jì)報(bào)告 8 圖 3 3 Po188 電路圖 圖 3 4 Po188 輸出特性曲線 二 二 ATmega16LATmega16L 最小系統(tǒng)模塊設(shè)計(jì)最小系統(tǒng)模塊設(shè)計(jì) 采集端和終端的 MCU 模塊都由 ATmega16L 單片機(jī)及其最小系統(tǒng) ATmega16 是基于增強(qiáng)的 AVR RISC 結(jié)構(gòu)的低功耗 8 位 CMOS 微控制器 由于其先進(jìn)的指 令集以及單時鐘周期指令執(zhí)行時間 ATmega16 的數(shù)據(jù)吞吐率高達(dá) 1MIPS MHz 從而可以緩減系統(tǒng)在功耗和處理速度之間的矛盾 ATmega16L 最小系統(tǒng)主要由 ATmega16L 芯片 晶振電路 復(fù)位電路組成 ATmega16L 芯片的工作電壓 2 7v 5 5v 我們采用的是 3 3v 供電 由電源電路 提供 在 ATmega16L 芯片的 XTAL1 和 XTAL2 之間加上 8M 的晶振 通過 30pf 電容接地為單片機(jī)提供工作時鐘 在 RESET 引腳加上低電平復(fù)位的復(fù)位電路 一開始上電的時候是自動上電復(fù)位 后來工作過程中通過復(fù)位開關(guān)實(shí)現(xiàn)手動復(fù) 位 ATmega16L 最小系統(tǒng)如圖 3 5 所示 河海大學(xué)本科課程設(shè)計(jì)報(bào)告河海大學(xué)本科課程設(shè)計(jì)報(bào)告 9 圖 3 5 Atmega16L 最小系統(tǒng) 三 無線傳輸模塊設(shè)計(jì)三 無線傳輸模塊設(shè)計(jì) 無線傳輸模塊使用的主要芯片是nRF24L01 nRF24L01是一款工作在 2 4 2 5GHz世界通用ISM頻段的單片無線收發(fā)器芯片 無線收發(fā)器包括 頻率發(fā) 生器 增強(qiáng)型SchockBurst模式控制器 功率放大器 晶體振蕩器 調(diào)制器解調(diào) 器 輸出功率頻道選擇和協(xié)議的設(shè)置可以通過SPI 接口進(jìn)行設(shè)置 芯片電流消 耗極低 當(dāng)工作在發(fā)射模式下發(fā)射功率為 6dBm 時電流消耗為9 0mA 接收模 式時為12 3mA掉電模式和待機(jī)模式下電流消耗更低 支持六路通道的數(shù)據(jù)接收 工作電壓為1 9v 3 6v 無線傳輸模塊示意圖如圖3 6所示 在實(shí)際電路中我們使用的是集成的 nRF24L01模塊 如圖3 7所示 圖3 6 nRF24L01與單片機(jī)連接示意圖 圖3 7 nRF24L01集成模塊實(shí)物 河海大學(xué)本科課程設(shè)計(jì)報(bào)告河海大學(xué)本科課程設(shè)計(jì)報(bào)告 10 nRF24L01 集成模塊有 8 個引腳 各個引腳的功能及與單片機(jī)的連接如表 3 1 所示 引腳名稱引腳功能描述 與 Atmega16L 連 接 1VSS電源接地 0V 2VDD電源電源 3V 3CE數(shù)字輸入 RX 或 TX 模式選 擇 PB2 4CSN數(shù)字輸入SPI 片選信號PB1 5MOSI數(shù)字輸入從 SPI 數(shù)據(jù)輸入腳PB6 6MISO數(shù)字輸出從 SPI 數(shù)據(jù)輸出腳PB5 7SCK數(shù)字輸入SPI 時鐘PB7 8IRQ數(shù)字輸出可屏蔽中斷腳PD2 表 3 1 nRF24L01 集成模塊引腳功能 在系統(tǒng)工作時 采集端單片機(jī)將光照傳感器采集到的光照強(qiáng)度信息處理后 傳給采集端的無線傳輸模塊 采集端的無線模塊將 32 字節(jié)信息打包 通過無線 傳輸協(xié)議發(fā)送 終端的無線傳輸模塊接收 傳給單片機(jī) 通過相關(guān)處理 顯示 結(jié)果 第第 2 節(jié)節(jié) 終端硬件設(shè)計(jì)終端硬件設(shè)計(jì) 終端主要由 LCD 顯示模塊 MCU 模塊 即 ATmega16L 最小系統(tǒng) 以及 無線傳輸模塊構(gòu)成 終端電路圖如圖 3 8 所示 河海大學(xué)本科課程設(shè)計(jì)報(bào)告河海大學(xué)本科課程設(shè)計(jì)報(bào)告 11 圖 3 8 終端硬件電路圖 終端中的 MCU 模塊 ATmega16L 最小系統(tǒng) 無線傳輸模塊的設(shè)計(jì)與采集 端類似 故不再贅述 下面介紹一下終端中的 LCD 顯示模塊和變壓電路 一 一 LCD 顯示模塊設(shè)計(jì)顯示模塊設(shè)計(jì) 終端中選用的是字符液晶顯示器 1602 工作電壓為 5V 兩行顯示 每行 顯示 16 個字符 一共有 16 個引腳 1602 引腳功能如表 3 2 所示 引腳符號功能說明 1 VSS一般接地 2 VDD接電源 5V 3 V0 液晶顯示器對比度調(diào)整端 接正電源時對比度最弱 接地電 源時對比度最高 對比度過高時會產(chǎn)生 鬼影 使用時可以 通過一個 10K 的電位器調(diào)整對比度 4 RS RS 為寄存器選擇 高電平 1 時選擇數(shù)據(jù)寄存器 低電平 0 時選擇指令寄存器 5 R W R W 為讀寫信號線 高電平 1 時進(jìn)行讀操作 低電平 0 時 進(jìn)行寫操作 6 EE 或 EN 端為使能 enable 端 下降沿使能 7 DB0底 4 位三態(tài) 雙向數(shù)據(jù)總線 0 位 最低位 8 DB1底 4 位三態(tài) 雙向數(shù)據(jù)總線 1 位 9 DB2底 4 位三態(tài) 雙向數(shù)據(jù)總線 2 位 10 DB3底 4 位三態(tài) 雙向數(shù)據(jù)總線 3 位 11 DB4高 4 位三態(tài) 雙向數(shù)據(jù)總線 4 位 12 DB5高 4 位三態(tài) 雙向數(shù)據(jù)總線 5 位 13 DB6高 4 位三態(tài) 雙向數(shù)據(jù)總線 6 位 14 DB7 高 4 位三態(tài) 雙向數(shù)據(jù)總線 7 位 最高位 也是 busy fla g 15 BLA背光電源正極 16 BLK背光 電源負(fù)極 表 3 2 1602 引腳功能 河海大學(xué)本科課程設(shè)計(jì)報(bào)告河海大學(xué)本科課程設(shè)計(jì)報(bào)告 12 在 1602 的引腳中 7 14 DB0 DB7 八位數(shù)據(jù)總線 三態(tài)雙向 實(shí)際使用 時 用的是 DB4 DB7 這四位數(shù)據(jù)線 這樣節(jié)省了 ATmega16L 的 I O 資源 因?yàn)?液晶引腳是與單片機(jī) PA 口相連的 PA 口只有八位 液晶 4 5 6 引腳分別接 的 PA0 PA1 PA2 剩下的只有五個口 所以用四位數(shù)據(jù)線分兩次傳送來緩解 接口的緊張 1602 引腳示意圖如圖 3 9 所示 1602 與 ATmega16L 引腳連接示意圖如圖 3 10 所示 圖 3 9 1602 引腳示意圖 圖 3 10 1602 與 ATmega16L 引腳連接 二 變壓電路設(shè)計(jì)二 變壓電路設(shè)計(jì) 變壓電路部分的主要功能是給無線傳輸模塊提供穩(wěn)定的 3 3V 的電壓 使其 正常工作 在采集端的電路中也有變壓電路 在這里一同介紹 系統(tǒng)使用的是 AMS1117 系列穩(wěn)壓器 AMS1117 系列穩(wěn)壓器有可調(diào)版與多種 固定電壓版 設(shè)計(jì)用于提供 1A 輸出電流且工作壓差可低至 1V 在最大輸出電 流時 AMS1117 器件的壓差保證最大不超過 1 3V 并隨負(fù)載電流的減小而逐漸 降低 AMS1117 的片上微調(diào)把基準(zhǔn)電壓調(diào)整到 1 5 的誤差以內(nèi) 而且電流限制 也得到了調(diào)整 以盡量減少因穩(wěn)壓器和電源電路超載而造成的壓力 AMS1117 電路圖如圖 3 11 所示 河海大學(xué)本科課程設(shè)計(jì)報(bào)告河海大學(xué)本科課程設(shè)計(jì)報(bào)告 13 圖 3 11 AMS1117 電路圖 第第 4 章章 系統(tǒng)軟件設(shè)計(jì)與實(shí)現(xiàn)系統(tǒng)軟件設(shè)計(jì)與實(shí)現(xiàn) 第第 1 節(jié)節(jié) 程序整體設(shè)計(jì)程序整體設(shè)計(jì) 系統(tǒng)軟件部分主要是使用 C 語言對 ATmega6L 進(jìn)行編程 使采集端的 MCU 能夠處理光照傳感器 Po188 傳遞來的模擬電流信號 將其轉(zhuǎn)換為數(shù)字信號 同 時 MCU 傳遞給無線傳輸傳輸模塊 將光照信息發(fā)送出去 在終端 無線傳輸模 塊可以接收到采集端傳來的光照信息 傳遞給 MCU 進(jìn)行處理 最終顯示在 LCD 上面 系統(tǒng)程序的整體流程就是這樣 下面分別給出采集端和終端的程序流程 圖 采集端程序流程圖如圖 4 1 所示 終端程序流程圖如圖 4 2 所示 河海大學(xué)本科課程設(shè)計(jì)報(bào)告河海大學(xué)本科課程設(shè)計(jì)報(bào)告 14 圖 4 1 采集端程序流程圖 圖 4 2 終端程序流程圖 我們將重點(diǎn)介紹光照采集與 AD 轉(zhuǎn)換程序 無線傳輸程序以及 LCD 顯示程序 并簡單說明一下程序下載的方法 詳細(xì)的程序代碼將在附錄中給出 第第 2 節(jié)節(jié) 光照采集與光照采集與 AD 轉(zhuǎn)換程序設(shè)計(jì)轉(zhuǎn)換程序設(shè)計(jì) 這部分程序要求將光照采集模塊采集到的電壓信號轉(zhuǎn)換成電流信號后經(jīng)過 函數(shù)轉(zhuǎn)換成光照強(qiáng)度單位勒克斯 這里需要注意四個與數(shù)模轉(zhuǎn)換 ADC 相關(guān)的 I O 寄存器 ADC 多路復(fù)用器選擇寄存器 ADMUX ADC 控制和狀態(tài)寄存器 ADCSRA ADC 數(shù)據(jù)寄存器 ADCL 和 ADCH 這些寄存器在數(shù)模轉(zhuǎn)換前都需 要根據(jù)需求進(jìn)行設(shè)置 光電函數(shù)關(guān)系即 Po188 特性曲線在第二章第一節(jié)中有所介紹 可以參考圖 3 4 下面給出本部分程序代碼 unsigned int read adc unsigned char adc input float adc data ADMUX adc input ADC VREF TYPE delay us 10 ADCSRA 0X40 while ADCSRA ADCSRA 0X10 adc data ADCL 開始 初始化 外圍設(shè)備 設(shè)置NRF24L01 進(jìn)入接受模式 是否接收 到數(shù)據(jù) 提取數(shù)據(jù)并 送到LCD顯示 是 否 開始 初始化 外圍設(shè)備 設(shè)置NRF24L01 進(jìn)入發(fā)送模式 讀取溫度和 光照信息 無線發(fā) 射數(shù)據(jù) 是否發(fā) 射成功 否 是 河海大學(xué)本科課程設(shè)計(jì)報(bào)告河海大學(xué)本科課程設(shè)計(jì)報(bào)告 15 adc data adc data ADCH 256 adc data adc data 2560 0 1024 0 1000 0 adc data adc data 330 0 1000 if adc data 2 0 adc data 800 0 adc data 2 0 666 7 if adc data 1 5 if adc data 0 5 adc data adc data 200 0 adc data adc data 10 0 return adc data 第第 3 節(jié)節(jié) 無線傳輸程序設(shè)計(jì)無線傳輸程序設(shè)計(jì) MCU 與 nRF24L01 是通過 SPI 接口進(jìn)行通信的 SPI 的接口的讀時序如圖 4 3 所示 寫時序如圖 4 4 所示 圖中 Cn SPI 指令位 Sn 狀態(tài)寄存器位 Dn 數(shù)據(jù)位 注 由低字節(jié)到高字節(jié) 每字節(jié)中高位在前 圖 4 3 SPI 寫時序 圖 4 4 SPI 讀時序 在配置 nRF24L01 的寄存器之前一定要確保 nRF24L01 進(jìn)入待機(jī)模式或掉 電模式 nRF24L01 在接受模式的初始化函數(shù)為 void RX Mode void nRF24L01 CE 0 delay us 130 河海大學(xué)本科課程設(shè)計(jì)報(bào)告河海大學(xué)本科課程設(shè)計(jì)報(bào)告 16 write register onebyte EN AA 0 x00 Enable Auto Ack Pipe0 write register onebyte EN RXADDR 0 x01 Enable Pipe0 write register onebyte SETUP AW 0 x03 ADDR WIDTH 5 BYTES write register onebyte RF CH 40 Select RF channel freq 2440Mhz write register onebyte RX PW P0 T X PLOAD WIDTH Select same RX payload width as TX Payload width write register onebyte RF SETUP 0 x07 TX PWR 0dBm Datarate 2Mbps LNA HCURR write register onebyte CONFIG 0 x0f Set PWR UP bit enable CRC 2 bytes Use the same address on the RX device as the TX device write register bytes TX ADDR flash ch annel0 TX ADR WIDTH write register onebyte CONFIG 0 x0f Set PWR UP bit enable CRC 2 bytes 接收模式要為高電平 nRF24L01 CE 1 delay us 130 This device is now ready to receive one packet of 16 bytes payload from a TX device sending to address nRF24L01 在發(fā)射模式的初始化函數(shù)為 void TX Mode void write register onebyte EN AA 0 x01 Enable Auto Ack Pipe0 write register onebyte EN RXADDR 0 x01 Enable Pipe0 write register onebyte SETUP AW 0 x03 write register onebyte SETUP RETR 0 x0a 1A 500us 86us 10 retrans write register onebyte RF CH 40 Select RF channel 40 write register onebyte RF SETUP 0 x07 TX PWR 0dBm Datarate 2Mbps LNA HCURR write register onebyte CONFIG 0 x0 E Set PWR UP bit enable CRC 2 bytes RX Addr0 same as TX Adr for Auto Ack 河海大學(xué)本科課程設(shè)計(jì)報(bào)告河海大學(xué)本科課程設(shè)計(jì)報(bào)告 17 write register bytes TX ADDR flash channel0 TX ADR WIDTH write register onebyte CONFIG 0 x0E Set PWR UP bit enable CRC 2 bytes 第第 4 節(jié)節(jié) LCD 顯示程序設(shè)計(jì)顯示程序設(shè)計(jì) LCD 顯示程序比較簡單 主要是 put 和 goto 語句的應(yīng)用 代碼如下 write register onebyte STATUS 0 xF0 read rx palyoad R RX PAYLOAD data 5 lcd gotoxy 0 0 lcd putsf light for i 0 i 4 i lcd gotoxy i 1 lcd putchar data i lcd gotoxy 4 1 lcd putsf lcd gotoxy 5 1 lcd putchar data 4 lcd gotoxy 7 1 lcd putsf lux delay ms 100 第第 5 節(jié)節(jié) 程序下載程序下載 Code Vision 軟件在對項(xiàng)目編譯成功后會在項(xiàng)目文件夾的 EXE 文件夾中生 成 hex 文件 此文件可通過下載軟件經(jīng)下載線下載至單片機(jī)上 我們使用的是 progisp1 72 燒寫軟件 它支持所有的 AVR 芯片的編程 支持 AT89S51 AT89S52 支持自定義并口下載編程器 支持自定義串口的下載編程器 支持 STK500 編程 器 支持 USBASP 編程器 支持并口的并行編程器 支持 USBProg 編程器 支持 自定義編程芯片 支持自定義編程熔絲信息提示信息 支持 USBProg 的在線升 級 通過 USB 口 支持 USBProg C 實(shí)現(xiàn)脫機(jī)下載 支持命令行方式 可以直接 嵌入其他 IDE 中使用 綠色軟件 無需安裝 占用資源少 支持自定義漢化信 河海大學(xué)本科課程設(shè)計(jì)報(bào)告河海大學(xué)本科課程設(shè)計(jì)報(bào)告 18 息提示 支持工程管理 可以將所有的配置數(shù)據(jù)與編程數(shù)據(jù)打包為單一文件 progisp1 72程序操作界面圖 4 5 所示 圖 4 5 progisp1 72 燒寫軟件 第四章第四章 測試結(jié)果及討論測試結(jié)果及討論 測試貫穿于硬件和軟件的設(shè)計(jì)過程中 用于檢查設(shè)計(jì)過程的出現(xiàn)的各種問 題 下面介紹一下在設(shè)計(jì)過程我們對各個模塊的測試過程與結(jié)果 第一節(jié)第一節(jié) LCD 顯示測試顯示測試 LCD 顯示測試的目的是測試 ATmega16L 單片機(jī)與 1602LCD 顯示屏的連接是 否正確 能否正確顯示 測試程序?yàn)樵谝壕辽巷@示兩行固定數(shù)據(jù) 測試程序 如下 河海大學(xué)本科課程設(shè)計(jì)報(bào)告河海大學(xué)本科課程設(shè)計(jì)報(bào)告 19 include include asm equ lcd port 0 x18 PORTB 數(shù) 據(jù)寄存器地址 endasm include flashchardis str Hello World void main void char flash str str dis str lcd init 16 while 1 lcd clear lcd putsf It sdisplaydemo lcd gotoxy 0 1 lcd putsf str if str 0 str dis str delay ms 200 在測試結(jié)果如圖 4 6 所示 1602 上第一行顯示 It demo 第二行顯示 Hello word 圖 4 6 LCD 測試結(jié)果 第二節(jié)第二節(jié) 光照采集與顯示測試光照采集與顯示測試 光照采集測試的主要目的是測試系統(tǒng)的基礎(chǔ)部分是否達(dá)到設(shè)計(jì)的要求 測 試程序?yàn)椴唤?jīng)過無線傳輸在液晶屏上實(shí)時顯示光照強(qiáng)度 測試程序如下 include include asm equ lcd port 0 x18 PORTB 數(shù)據(jù)寄 存器地址 endasm include define ADC VREF TYPE 0 x40 Const unsigned char table unsigned int read adc unsigned 河海大學(xué)本科課程設(shè)計(jì)報(bào)告河海大學(xué)本科課程設(shè)計(jì)報(bào)告 20 char adc input float adc data ADMUX adc input ADC VREF TYPE delay us 10 ADCSRA 0X40 while ADCSRA ADCSRA 0X10 adc data ADCL adc data adc data ADCH 256 adc data adc data 2560 0 1024 0 1000 0 adc data adc data 330 0 1000 if adc data 2 0 adc data 800 0 adc data 2 0 666 7 if adc data 1 5 if adc data 0 5 adc data adc data 200 0 adc data adc data 10 0 return adc data void port init DDRA 0XFE 輸入為 0 輸出為 1 PORTA 0 xFE PORTB 0 xFF DDRB 0 xFF void main void unsigned int adc i ad 5 port init lcd init 16 ACSR 0X80 SFIOR 0X00 ADMUX ADC VREF TYPE ADCSRA 0X86 while 1 lcd gotoxy 0 0 lcd putsf light adc read adc 0 for i 0 i 5 i ad 4 i adc 10 adc adc 10 河海大學(xué)本科課程設(shè)計(jì)報(bào)告河海大學(xué)本科課程設(shè)計(jì)報(bào)告 21 for i 0 i 4 i lcd gotoxy i 1 lcd putchar table ad i lcd gotoxy 4 1 lcd putsf lcd gotoxy 5 1 lcd putchar table ad 4 lcd gotoxy 7 1 lcd putsf lux lcd gotoxy 0 0 lcd putchar table data delay ms 200 測試結(jié)果如圖 4 7 所示 LCD 上顯示實(shí)時的光照強(qiáng)度 圖 4 7 光照采集與顯示測試結(jié)果 心得體會心得體會 本次通信系統(tǒng)綜合設(shè)計(jì)的課題較為復(fù)雜 我們設(shè)計(jì)的過程也較為艱難 從 一開始的確定方案 選擇芯片 器材購買到后來的硬件軟件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 以及測試過程都比以往的課程設(shè)計(jì)要困難的多 我們不斷發(fā)現(xiàn)問題 不斷解決 困難 在寫這篇報(bào)告的時候我們已經(jīng)完成了基礎(chǔ)部分的設(shè)計(jì) 實(shí)現(xiàn)了基礎(chǔ)部分 的全部功能 發(fā)揮部分仍然在調(diào)試過程中 本次課程設(shè)計(jì)讓我們深入理解了之前學(xué)習(xí)的單片機(jī) 數(shù)字電路以及 C 語言 編程等知識 也充分鍛煉了我們的能力 包括查閱資料的能力 學(xué)習(xí)芯片的能 河海大學(xué)本科課程設(shè)計(jì)報(bào)告河海大學(xué)本科課程設(shè)計(jì)報(bào)告 22 力 動手動腦的能力 更重要的是課程設(shè)計(jì)鍛煉了我們的毅力 一次一次來往 于電子市場購買很更換材料 一點(diǎn)一點(diǎn)焊接硬件 一行一行編寫和修改程序代 碼 這些都讓我們養(yǎng)成了堅(jiān)持不懈的精神 這次課程設(shè)計(jì)使我們受益匪淺 在 將來的學(xué)習(xí) 生活和工作中 這些知識 能力和精神將伴隨我們面對更大的挑 戰(zhàn) 完成更艱巨的任務(wù) 實(shí)現(xiàn)人生的成功 在此要感謝指導(dǎo)老師張秀平對我們的悉心指導(dǎo) 更要感謝張老師在我們遇 到挫折時對我們的鼓勵和幫助 參考文獻(xiàn)參考文獻(xiàn) 1 馬潮 AVR 單片機(jī)嵌入式系統(tǒng)原理與應(yīng)用實(shí)踐 M 北京航空航天大學(xué) 出版社 2007 2 張友德 趙志英 涂時亮等 單片微型機(jī)原理 應(yīng)用與實(shí)驗(yàn) 第五版 M 復(fù)旦大學(xué)出版社 2008 3 康華光 電子技術(shù)基礎(chǔ)模擬部分 第五版 M 高等教育出版社 2006 4 康華光 電子技術(shù)基礎(chǔ)數(shù)字部分 第五版 M 高等教育出版社 2006 5 On Elelctronics Co Ltd Po188 光照傳感器中文資料 河海大學(xué)本科課程設(shè)計(jì)報(bào)告河海大學(xué)本科課程設(shè)計(jì)報(bào)告 23 6 ATmel 公司 Atmega16L 中文資料 7 訊通科技 nRF24L01 中文資料 河海大學(xué)本科課程設(shè)計(jì)報(bào)告河海大學(xué)本科課程設(shè)計(jì)報(bào)告 24 附附 錄錄 1 器件清單器件清單 器件名稱使用個數(shù) ATMEL mega16 單片機(jī)2 單片機(jī)插槽2 8M 晶振2 nRF24L01 無線發(fā)送接收模塊2 發(fā)光二極管4 103uF 陶瓷電容4 30uF 陶瓷電容4 10uF 電解電容 4 100uF 電解電容2 1k 電阻 8 500 電阻 10 1117 變壓芯片2 4 腳開關(guān)2 105uF 陶瓷電容 2 1602 液晶屏1 503 變阻器1 排針若干 排線若干 導(dǎo)線若干 二 工具清單二 工具清單 1 鑷子 2 老虎鉗 3 螺絲刀 4 電烙鐵 5 萬用表 6 數(shù)據(jù)下載線 河海大學(xué)本科課程設(shè)計(jì)報(bào)告河海大學(xué)本科課程設(shè)計(jì)報(bào)告 25 三 實(shí)物圖三 實(shí)物圖 四 程序代碼四 程序代碼 1 發(fā)送端 發(fā)送端 include includes h asm equ lcd port 0 x1B PORTA endasm include include include include NRF24L01 h define ON 0 define OFF 1 define LIGHT PIND 4 define ADC VREF TYPE 0 x40 const unsigned char table unsigned char data 5 uchar test temp unsigned int read adc unsigned char adc input float adc data ADMUX adc input ADC VREF TYPE delay us 10 ADCSRA 0X40 while ADCSRA ADCSRA 0X10 adc data ADCL adc data adc data ADCH 256 adc data adc data 2560 0 1024 0 1000 0 adc data adc data 330 0 1000 if adc data 2 0 adc data 800 0 adc data 2 0 666 7 if adc data 1 5 if adc data 0 5 adc data adc data 200 0 adc data adc data 10 0 return adc data void Device init void 進(jìn)入發(fā)送模式 SPI MasterInit Clear rx Clear tx TX Mode 發(fā)送模式 void PORT init void DDRA 0 xFE PORTA 0 xFE PORTB 0XFF DDRB 0XBF DDRD 0 xDF PORTD 0 xFF void main void unsigned int adc i ad 6 ACSR 0 x80 SFIOR 0 x00 PORT init ADMUX ADC VREF TYPE ADCSRA 0X86 Init NRF24L01 Device init TX Mode 發(fā)送模式 while 1 Place your code here adc read adc 0 for i 0 i 5 i ad 4 i adc 10 adc adc 10 數(shù)據(jù)處理 data 0 table ad 0 data 1 table ad 1 data 2 table ad 2 data 3 table ad 3 data 4 table ad 4 write tx palyoad data 5 delay ms 1000 PORTD 5 OFF test temp Read StatusByte STATUS if test temp Clear rx write register onebyte STATUS
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)字產(chǎn)品營銷保證金合同
- 施工現(xiàn)場合同工協(xié)議
- 租房合同自己買房后原來的租房合同要解除租房合同10篇
- 新版商貿(mào)城項(xiàng)目轉(zhuǎn)讓合同7篇
- 2025年輪胎購銷合同6篇
- 磚供需合同6篇
- 車間臨時用工合同8篇
- 學(xué)術(shù)著作出版合同標(biāo)準(zhǔn)版10篇
- 農(nóng)業(yè)現(xiàn)代化對農(nóng)村勞動者就業(yè)結(jié)構(gòu)的影響-洞察闡釋
- 公共文化設(shè)施可達(dá)性提升的政策支持研究-洞察闡釋
- 新興原料市場分析-洞察闡釋
- 社工崗前培訓(xùn)課件
- 《企業(yè)的股權(quán)規(guī)范化落地實(shí)務(wù)》-20250506
- 福建省三明市2025年普通高中高三畢業(yè)班五月質(zhì)量檢測物理試卷及答案(三明四檢)
- 山東省青島市、淄博市2025年高三年級第二次適應(yīng)性檢測英語試題及答案(青島、淄博二模)
- 廣東省佛山市高三二模語文試題(原卷版)
- 2024年新疆額敏縣事業(yè)單位公開招聘村務(wù)工作者筆試題帶答案
- 早產(chǎn)兒試題及答案多選
- 林下經(jīng)濟(jì)產(chǎn)業(yè)項(xiàng)目可行性研究報(bào)告
- 《深入了解中信建投》課件
- 搶救配合流程和站位規(guī)范
評論
0/150
提交評論