基于launchpad的土壤濕度檢測裝置_第1頁
已閱讀1頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、<p>  摘要:本設(shè)計主要的內(nèi)容是基于LaunchPad 的土壤濕度檢測裝置土壤濕度檢測裝置的設(shè)計與制作。該裝置通過濕度傳感器對土壤濕度進行采集然后將采集到的數(shù)據(jù)傳遞給單片機,通過計算將數(shù)據(jù)顯示在顯示屏上。接收部分以LaunchPad MSP430為核心,將數(shù)據(jù)采集、液晶顯示結(jié)合起來,通過適當?shù)能?、硬件調(diào)試,完成土壤濕度情況的檢測。該系統(tǒng)具有實用性、小型化等特點。</p><p>  關(guān)鍵詞:Laun

2、chPad 傳感器 土壤濕度檢測</p><p><b>  1 引言 </b></p><p>  在日常實際生產(chǎn)生活中,科研、農(nóng)業(yè)、暖通、紡織、機房、航空航天、電力等工業(yè)部門對產(chǎn)品質(zhì)量的要求越來越高,對環(huán)境溫、濕度的控制以及對工業(yè)材料的水分值的監(jiān)測與分析都已成為比較普遍的技術(shù)條件之一。隨著科技的進步,檢測儀表也向著智能化、小型化、低功耗的方向

3、發(fā)展。在這個發(fā)展過程中,以單片機為核心控制器的溫濕度檢測以體積小、操作簡單、性能穩(wěn)定、測量精度高等諸多有點正逐步進入生產(chǎn)生活的各個方面。</p><p>  本文介紹的濕度檢測儀就是以MSP430單片機作為核心控制器設(shè)計的,它具有體積小、操作簡單、性能穩(wěn)定、測量精度高和抗干擾能力強等優(yōu)點,可廣泛應用于需要對溫濕度進行測控的領(lǐng)域中。 先根據(jù)實際生產(chǎn)生活的需要提出溫濕度檢測儀的設(shè)計功能要求,然后由這些具體要求和現(xiàn)有的

4、設(shè)計條件設(shè)計出了適合的硬件原理圖,盡量采用模塊化的方法將其分成幾個部分,然后分模塊設(shè)計程序,最使各部分結(jié)合起來協(xié)調(diào)工作,實現(xiàn)功能要求。它是以單片機的在控制方面的突出優(yōu)勢,并綜合運用現(xiàn)代檢測技術(shù)、微控制技術(shù)、數(shù)據(jù)處理和通信技術(shù)以及LCD顯示技術(shù)而設(shè)計的數(shù)字溫濕度檢測系統(tǒng),可以實時、準確的測量環(huán)境中的溫度和相對濕度,對生產(chǎn)生活有較好的知道意義。本設(shè)計主要介紹了溫濕度檢測儀的主要性能指標及其工作原理,溫濕度檢測儀的硬件設(shè)計總體方案和溫濕度檢測

5、儀的應用軟件系統(tǒng)的總體設(shè)計方案;溫濕度檢測儀的硬件電路設(shè)計,溫度檢測電路、鍵盤LCD顯示電路和濕度檢測電路;基于LaunchPad單片機的濕度檢測儀的軟件設(shè)計,軟件設(shè)計部分采用模塊化設(shè)計,濕度檢測模塊程序設(shè)計中LCD顯示。</p><p><b>  2 總體方案設(shè)計</b></p><p>  本文以單片機為核心,選用土壤濕度傳感器,完成土壤濕度情況的檢測,并能將檢

6、測到的數(shù)字量實時顯示。</p><p>  2.1方案一:AT89S52單片機。</p><p>  該檢測儀采用AT89S52單片機為核心,整個硬件系統(tǒng)分為以下幾個部分:</p><p>  圖1 基于AT89S51單片機的濕度檢測裝置框圖</p><p>  濕度測量電路由ADC0809轉(zhuǎn)換器和濕敏電阻組成,濕敏電阻阻值隨環(huán)境相對濕度的變

7、化而變化,從而導致其兩端電壓的變化變化。由ADC0809把模擬量轉(zhuǎn)換成數(shù)字量,單片經(jīng)過軟件處理后,獲得相對電壓值和濕度值。鍵盤輸入電路與顯示電路實現(xiàn)人機對話的功能。</p><p>  2.2方案二:采用MSP430單片機</p><p>  溫濕度采集模塊使用的是YL-69濕度傳感器。它使用單總線方式,接口簡單,而且無需另外校準,完全能夠滿足日常環(huán)境溫濕度的檢測要求。 數(shù)據(jù)處理模塊使用的

8、是MSP430G2553單片機,其完成溫濕度數(shù)據(jù)的采集、運算和邏輯控制的功能。 其余模塊主要由電源、LCD構(gòu)成。其中LCD用于數(shù)據(jù)顯示。</p><p><b>  設(shè)計框圖如下:</b></p><p>  圖2 MSP430G2553單片機設(shè)計框圖</p><p>  單片機作為主控制器,主要負責處理由溫濕度傳感器送來數(shù)據(jù),并把處理好的數(shù)據(jù)

9、送向顯示器模塊;溫濕度傳感器主要用來采集周圍的環(huán)境參數(shù),并把所采集到得數(shù)據(jù)送向單片機;顯示電路主要用來顯示當前的溫濕度。</p><p>  AT89C51單片機,這款單片機在平時學習和課程設(shè)計中,都比較常用,但是51單片機內(nèi)部沒有A/D轉(zhuǎn)換模塊,需要借助ADC0809完成轉(zhuǎn)換過程。而MSP430G2553單片機,這款單片機內(nèi)部集成了10位的A/D轉(zhuǎn)換,并且TI公司做成了一個物美價廉的LaunghPad開發(fā)板,不

10、僅調(diào)試簡單,而且利于學生再次開發(fā)設(shè)計,十分方便。</p><p>  因此,對于土壤濕度檢測裝置這個課題以及兩種方案的對比的綜合分析,我最終的決定選擇方案二。</p><p><b>  3分電路設(shè)計和論證</b></p><p>  3.1 傳感器部分</p><p>  測量土壤濕度的方式很多,其原理是根據(jù)某種物質(zhì)

11、從土壤中吸收水分后引起的物理或化學性質(zhì)的變化,間接地獲得該物質(zhì)的濕度。有電容式、電阻式和濕漲式濕敏元件等。是根據(jù)其高分子材料吸濕后的介電常數(shù)、電阻率和體積隨之發(fā)生變化而進行濕度測量的。</p><p>  3.1.1 方案一:HS1101濕度傳感器</p><p>  是HUMIREL公司生產(chǎn)的變?nèi)菔较鄬穸葌鞲衅鳎腔讵毺毓に囋O(shè)計的電容元件,這種相對濕度傳感器可以大批量生產(chǎn)。可以應用于

12、辦公自動化、車廂內(nèi)空氣質(zhì)量控制、家電、工業(yè)控制系統(tǒng)等。在需要濕度補償?shù)膱龊弦部梢缘玫胶艽蟮膽?。測量濕度時將HS1 101置于555振蕩電路中,將電容值的變化轉(zhuǎn)換成電壓頻率信號,可以直接被微處理器采集。</p><p><b>  特性如下:</b></p><p>  寬量程:10~95%RH,</p><p>  精度±5%RH

13、,工作溫度范圍–40~80℃</p><p>  可選的10KΩ+/-3% NTC 溫度傳感器(HTF3223)輸出接點容量:220VAC,1A</p><p>  報警設(shè)定:0~100%RH</p><p>  圖3 HS1101實物圖</p><p>  3.1.2 YL-69土壤濕度傳感器。</p><p>

14、  這是一個簡易的水分傳感器可用于檢測土壤的水分,當土壤缺水時,模塊輸出一個高電平,反之輸出低電平。使用這個傳感器制作一款自動澆花裝置,讓您的花園里的植物不用人去管理。而且它的靈敏度可調(diào)(圖中藍色數(shù)字電位器調(diào)節(jié)),工作電壓一般為3.3V-5V5 。更重要的是它模塊雙輸出模式,這使得數(shù)字量輸出簡單,模擬量輸出更精確。并且設(shè)有固定螺栓孔,方便安裝。小板PCB尺寸為:3cm * 1.6cm。工作時電源指示燈為紅色和數(shù)字開關(guān)量輸出指示燈為綠色,

15、它的比較器采用LM393芯片,工作非常穩(wěn)定。</p><p>  設(shè)計電路如圖4所示:</p><p>  圖4 YL-69電路圖 </p><p>  圖5 YL-69濕度傳感器引腳圖 </p><p><b>  引腳說明</b></p><p>  1 V

16、CC 外接3.3V-5V2 GND 外接GND3 DO 小板數(shù)字量輸出接口(0和1)4 AO 小板模擬量輸出接口</p><p>  圖6 YL-69實物圖</p><p>  圖7 YL-69封裝圖</p><p>  由于HS1101所構(gòu)成的測濕度電路對電阻的精度要求高并電路繁瑣,而YL-69電路簡單,使用方便,通過綜合比較,我選擇了方案二。</p&

17、gt;<p><b>  3.2 單片機部分</b></p><p>  3.2.1 方案一: At89S52 單片機</p><p>  是一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash 存儲器。使用Atmel 公司高密度非 易失性存儲器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完 全兼容。片上Flash允許程序存儲器在系統(tǒng)

18、可編程,亦適于 常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng) 可編程Flash,使得AT89S52為眾多嵌入式控制應用系統(tǒng)提 供高靈活、超有效的解決方案。 AT89S52具有以下標準功能: 8k字節(jié)Flash,256字節(jié)RAM, 32 位I/O 口線,看門狗定時器,2 個數(shù)據(jù)指針,三個16 位 定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口, 片內(nèi)晶振及時鐘電路。另外,AT89S52 可降至0Hz 靜態(tài)邏 輯操作,支持

19、2種軟件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工 作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié), 單片機一切工作停止,直到下一個中斷或硬件復位為止。8 位微控制器 8K 字節(jié)在系統(tǒng)可編程 Flash AT89S52。</p><p>  圖9 AT89S52單片機最小系統(tǒng)</p><p>  圖8 AT89S52單片機引腳圖<

20、;/p><p><b>  VCC:電源。</b></p><p><b>  GND:接地。</b></p><p>  P0 —P3 :口是一個8 位漏極開路的雙向I/O 口。</p><p>  RST: 復位輸入。</p><p>  ALE/PROG:地址鎖存控制信號(

21、ALE)在訪問外部程序存儲器時,鎖存低8 位地址的輸出脈沖。在Flash編程時,此引腳(PROG)也用做編程輸入脈沖。</p><p>  PSEN:外部程序存儲器選通信號(PSEN)是外部程序存儲器選通信號。</p><p>  EA:訪問外部程序存儲器控制信號。</p><p>  XTAL1:振蕩器反相放大器和內(nèi)部時鐘發(fā)生電路的輸入端。</p>

22、<p>  XTAL2:振蕩器反相放大器的輸出端。</p><p>  3.2.2方案二:MSP430G2553單片機</p><p>  MSP430是一種基于RISC 的 16 位混合信號處理器,專為滿足超低功耗 (ULP) 需求而精心設(shè)計。MSP430 MCU 將智能外設(shè)、易用性、低成本以及業(yè)界最低功耗等優(yōu)異特性完美結(jié)合在一起,能滿足數(shù)以千計應用的要求,也必然能滿足您需求。

23、</p><p>  MSP-EXP430G2 LaunchPad 是一款易于使用且價格低廉的閃存編程器和調(diào)試工具,它提供了在 MSP430 超值系列器件上進行開發(fā)所需的一切內(nèi)容。它提供了具有集成仿真功能的 14/20 引腳 DIP 插座目標板,可通過 Spy Bi-Wire(2 線JTAG)協(xié)議對系統(tǒng)內(nèi)置的 MSP430 超值系列器件進行快速編程和調(diào)試。由于 MSP430 閃存的功耗極低,因此無需外部電源即可在

24、數(shù)秒內(nèi)擦除閃存并對其進行編程。</p><p><b>  CPU</b></p><p>  MSP430 CPU 具有一種16 位RISC 架構(gòu),對于應用而言是高度透明的。所有的操作(程序流指令除外)均作為寄存器操作與用于源操作數(shù)的7種尋址模式和用于目的操作數(shù)的4中尋址模式一起執(zhí)行。CPU 與16 個寄存器進行了集成,可提供精簡指令執(zhí)行時間。寄存器至寄存器操作執(zhí)行

25、時間為CPU時鐘的一個周期。</p><p><b>  指令集</b></p><p>  該指令集包括具有3 中格式和7種地址模式的51條指令。每條指令均可操作字和字節(jié)數(shù)據(jù)。</p><p><b>  振蕩器和系統(tǒng)時鐘</b></p><p>  時鐘系統(tǒng)由基本時鐘模塊提供支持,此時鐘模塊支持

26、一個32768 Hz 手表晶體振蕩器、一個內(nèi)部超低功耗低頻振蕩器和一個內(nèi)部數(shù)字控制振蕩器(DCO) ?;緯r鐘模塊專為同時滿足低系統(tǒng)成本及低功耗要求而設(shè)計。內(nèi)部DCO提供了一個快速導通時鐘源并可在不到μs 的時間里實現(xiàn)穩(wěn)定。基本時鐘模塊提供了以下時鐘信號:</p><p>  ? 輔助時鐘(ACLK),此時鐘由一個32768 Hz 手表晶體或內(nèi)部LF 振蕩器提供信號源。</p><p> 

27、 ? 主時鐘(MCLK),CPU 所采用的系統(tǒng)時鐘。</p><p>  ? 系統(tǒng)子時鐘(SMCLK),外設(shè)模塊所采用的子系統(tǒng)時鐘。</p><p><b>  數(shù)字I/O</b></p><p>  提供了多達3 個8 位I/O 端口:</p><p>  ? 所有單獨的I/O 位均可進行獨立編程。</p>

28、<p>  ? 輸入、輸出和中斷條件的任一組合(僅限端口P1 和端口P2)都是可行的。</p><p>  ? 用于端口P1 和端口P2(如果可用的話)的所有位的邊沿可選中斷輸入功能。</p><p>  ? 所有指令均支持到端口控制寄存器的讀/寫訪問。</p><p>  ? 每個I/O 具有一個可單獨編程的上拉/下拉電阻器。</p>

29、<p>  ? 每個I/O 具有一個可單獨編程的引腳振蕩器使能位,此使能位用于啟用低成本觸摸感測。</p><p>  WDT+ 看門狗定時器</p><p>  看門狗定時器(WDT+) 模塊的主要功能是在軟件問題發(fā)生后執(zhí)行受控的系統(tǒng)重啟。如果選定的時間間隔結(jié)束,則產(chǎn)生一個系統(tǒng)復位。如果在某種應用中不需要看門狗功能,則該模塊可被禁用或配置為一個間隔定時器,并能在選定的時間間隔上

30、產(chǎn)生中斷。</p><p><b>  它的關(guān)鍵特性:</b></p><p>  ? 超低功耗 (ULP) 架構(gòu)與高度靈活的時鐘系統(tǒng)可顯著延長電池使用壽命:0.1μA RAM 保持模式;<1 μA  RTC 模式;<230 μA/MHz(閃存);<110 μA/MHz (RAM)。</p><p>  ? 集成各種智能外設(shè):

31、各種高性能模擬與數(shù)字外設(shè)可大幅緩減 CPU 的工作量;</p><p>  ? 簡單易用的 16 位 RISC CPU 架構(gòu),可實現(xiàn)具有業(yè)界領(lǐng)先代碼密度的最新應用;</p><p>  ? 完整的產(chǎn)業(yè)開發(fā)環(huán)境,全套工具售價低至 20 美元。</p><p>  MSP430G2x53 系列是超低功耗混合信號微控制器,具有內(nèi)置的16 位定時器、多達24 個支持觸摸感測

32、的I/O 引腳、一個通用型模擬比較器以及采用通用串行通信接口的內(nèi)置通信能力。此外,MSP430G2x53系列成員還具有一個10 位模數(shù)(A/D) 轉(zhuǎn)換器。而我們選用的是這個大家族中的MSP430G2553</p><p>  ? 低電源電壓范圍: 1.8V 至3.6V ,一般為33V</p><p>  ? 通用串行通信接口(USCI)</p><p>  ? 超低

33、功耗– 支持自動波特率檢測的增強型通用異步收發(fā)器</p><p><b>  ? 5 種節(jié)能模式</b></p><p>  ? 用于模擬信號比較功能或者斜率模數(shù)(A/D) 轉(zhuǎn)換的</p><p>  ? 可在不到 1μs 的時間里超快速地從待機模式喚醒 片載比較器</p><p>  ? 16 位精簡指令集 (RISC

34、) 架構(gòu),62.5ns 指令周期時</p><p>  ? 帶內(nèi)部基準、采樣與保持以及動掃描功能的 10間 位 200-ksps 模數(shù) (A/D) 轉(zhuǎn)換器</p><p>  ? 基本時鐘模塊配置</p><p><b>  ? 欠壓檢測器</b></p><p>  – 運行模式: 230μA (在 1MHz 頻率和

35、2.2V 電 (UART)壓條件下)</p><p>  – IrDA 編碼器和解碼器</p><p>  – 待機模式: 0.5μA </p><p><b>  – 同步SPI</b></p><p>  – 關(guān)閉模式(RAM 保持): 0.1μA – I2C?</p><p>  – 具有四

36、種校準頻率并高達 16MHz 的內(nèi)部頻率 ? 串行板上編程,</p><p>  – 內(nèi)部超低功耗低頻 (LF) 振蕩器 無需外部編程電壓,利用安全熔絲(Security Fuse) 實現(xiàn)可編程代碼保</p><p>  – 32kHz 晶體護</p><p>  – 外部數(shù)字時鐘源? 具有兩線制(Spy-Bi-Wire) 接口的片上仿真邏輯電</p>

37、<p>  ? 兩個16 位Timer_A,分別具有三個捕獲/比較寄存路器</p><p>  ? 多達24 個支持觸摸感測的I/O 引腳</p><p>  ? DIP封裝,簡單方便。</p><p>  圖10 MSP430G2553引腳圖 </p><p>  通過上面各種數(shù)據(jù)的比較,我選擇MSP430單片機組成的L

38、aunchPad開發(fā)板,LCD1602顯示屏,YL-69檢測土壤傳感器,其中傳感器1、2引腳接傳感器探頭,這三部分組成。</p><p>  Launchpad是德州儀器公司推出的一套MSP430G系列16位低功耗單片機開發(fā)板,它具有簡易的封裝(DIP),完備的開發(fā)環(huán)境。</p><p>  ?LaunchPad 開發(fā)板采用:14/20 引腳 DIP (N) 插座;調(diào)試和編程的內(nèi)置閃存仿真

39、;2 個可編程 LED;1 個高功率 LED;1 個可編程按鈕;1 個復位按鈕。</p><p>  實現(xiàn)在采用 14 或 20 引腳 DIP 封裝的所有 MSP430 超值系列器件上的開發(fā)。 </p><p>  ?LaunchPad 的集成仿真器接口將基于閃存的 MSP430 超值系列器件與 PC 相連接,可通過 USB 實現(xiàn)實時系統(tǒng)內(nèi)編程和調(diào)試。</p><p&g

40、t;  ?包含一根可與 PC 相連接的微型 USB 電纜。</p><p>  ?附帶的 MSP430G2211IN14和MSP430G2231IN14器件特性如下:</p><p>  · MSP430G2211IN14內(nèi)置2kB閃存、128B RAM、10 GPIO、1個16位定時器、WDT、BOR、Comparator A+模塊;</p><p> 

41、 · MSP430G2231IN14內(nèi)置2kB 閃存、128B RAM、10 GPIO、1個16位定時器、WDT、BOR、1 個 USI (I2C/SPI) 以及 8 通道 10 位 ADC 。</p><p>  · 附帶的 MSP430G2231IN14器件采用預加載的樣本程序。</p><p>  ?現(xiàn)已推出可供免費下載的 IAR Kickstart 和Code

42、Composer Studio 版本 5.1 集成開發(fā)環(huán)境,它們包含匯編器、連接器、仿真器、源碼級調(diào)試器和 C編譯器。</p><p>  MSP-EXP430G2 LaunchPad見下圖:</p><p>  圖11 LaunghPad組成及說明書</p><p>  通過USB電纜將其連接至PC后,MSP-EXP430G2 LaunchPad工作畫面:<

43、/p><p>  圖12 LaunghPad工作連接圖</p><p><b>  3.3顯示部分</b></p><p>  3.3.1方案一: 七段數(shù)碼管模塊</p><p>  是將所有數(shù)碼管通過分時輪流控制各個數(shù)碼管的的COM端,就使各個數(shù)碼管輪流受控顯示。將所有數(shù)碼管的8個顯示筆劃"a,b,c,d,e,f

44、,g,dp"的同名端連在一起,另外為每個數(shù)碼管的公共極COM增加位選通控制電路,位選通由各自獨立的I/O線控制,當單片機輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于單片機對位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會亮。</p><p>  圖13 數(shù)碼管實物圖

45、 圖14數(shù)碼管引腳圖 </p><p>  3.3.2 方案二:LCD1602液晶顯示屏</p><p>  1602液晶也叫1602字符型液晶,它是一種專門用來顯示字母、數(shù)字、符號等的點陣型液晶模塊。它由若干個5X7或者5X11等點陣字符位組成,每個點陣字

46、符位都可以顯示一個字符,每位之間有一個點距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用,正因為如此所以它不能很好地顯示圖形(用自定義CGRAM,顯示效果也不好)。</p><p>  1602LCD是指顯示的內(nèi)容為16X2,即可以顯示兩行,每行16個字符液晶模塊(顯示字符和前市面上字符液晶大多數(shù)是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780寫的控制程序可以很方便地應用于市面

47、上大部分的字符型液晶。</p><p><b>  顯示屏特性:</b></p><p>  3.3V或5V工作電壓,對比度可調(diào)。</p><p><b>  內(nèi)含復位電路。</b></p><p>  提供各種控制命令,如:清屏、字符閃爍、光標閃爍、顯示移位等多種功能。</p>&l

48、t;p>  有80字節(jié)顯示數(shù)據(jù)存儲器DDRAM。</p><p>  內(nèi)建有192個5X7點陣的字型的字符發(fā)生器CGROM。</p><p>  8個可由用戶自定義的5X7的字符發(fā)生器CGRAM。數(shù)字)。</p><p>  圖15 LCD1602實物圖 </p><p>  圖16 LCD1602引腳圖</p><

49、;p><b>  引腳說明:</b></p><p>  第1腳:VSS為電源地</p><p>  第2腳:VCC接5V電源正極</p><p>  第3腳:V0為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地電源時對比度最高(對比度過高時會 產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比度)。第4腳:RS為寄存器選擇,高電

50、平1時選擇數(shù)據(jù)寄存器、低電平0時選擇指令寄存器。第5腳:RW為讀寫信號線,高電平(1)時進行讀操作,低電平(0)時進行寫操作。第6腳:E(或EN)端為使能(enable)端,高電平(1)時讀取信息,負跳變時執(zhí)行指令。</p><p>  第7~14腳:D0~D7為8位雙向數(shù)據(jù)端。</p><p>  第15~16腳:空腳或背燈電源。15腳背光正極,16腳背光負極</p>&l

51、t;p>  由上文數(shù)據(jù)可以看出,LCD1602使用起來更加方便,功能更全面。</p><p>  3.4 電源部分 </p><p>  直流穩(wěn)壓電源,又稱直流穩(wěn)壓器。它的供電電壓大都是交流電壓,當交流供電電壓的電壓或輸出負載電阻變化時,穩(wěn)壓器的直接輸出電壓都能保持穩(wěn)定。穩(wěn)壓器的參數(shù)有電壓穩(wěn)定度、紋波系數(shù)和響應速度等。前者表示輸入電壓的變化對輸出電壓的影響。紋波系數(shù)表示在額定工作情

52、況下,輸出電壓中交流分量的大小;后者表示輸入電壓或負載急劇變化時,電壓回到正常值所需時間。</p><p><b>  直流穩(wěn)壓電源特點</b></p><p>  三組輸出 (兩組可調(diào),一組固定電壓)。</p><p>  自動 Tracking。</p><p><b>  自動串并聯(lián)操作。</b&g

53、t;</p><p>  固定電壓與固定電流操作功能。</p><p><b>  低漣波與低雜訊。</b></p><p>  具可選擇連續(xù)或動態(tài)負載。</p><p>  過載與極性反向保護功能。</p><p>  3 1/2 位數(shù) 0.5" LED 顯示. 5V, 3A 固定輸出

54、。</p><p>  所以我直接選用了穩(wěn)壓電源。</p><p><b>  4 軟件設(shè)計</b></p><p><b>  4.1程序流程</b></p><p>  4.1.1系統(tǒng)主程序流程圖</p><p><b>  否 </b></p

55、><p><b>  是</b></p><p><b>  圖17主流程</b></p><p>  4.1.2各子程序流程圖</p><p><b>  采樣流程圖:</b></p><p><b>  否</b></p>

56、;<p><b>  圖17采樣流程圖</b></p><p>  圖18 A/D采樣流程圖</p><p><b>  顯示流程圖:</b></p><p>  圖19 LCD1602顯示流程圖</p><p><b>  4.2程序</b></p>

57、<p><b>  4.2.1主程序</b></p><p>  void main()</p><p><b>  {</b></p><p>  WDTCTL = WDTPW + WDTHOLD; // Stop WDT</p><p>  P2SE

58、L=0x00;</p><p>  P2DIR = 0xff;</p><p>  P1DIR = 0x38;</p><p>  lcdinit();</p><p>  //lcdcls();</p><p>  //datt=0xff;</p><p>  //writecom(1,0x0

59、1);</p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  displayleng(2,0,table1);</p><p><b>  }</b></p><p><b>  }&

60、lt;/b></p><p>  4.2.2 各子程序</p><p><b>  顯示子程序:</b></p><p>  #include "msp430g2553.h"</p><p>  #define uchar unsigned char</p><p>  

61、#define uint unsigned int</p><p>  #define RS_1 P1OUT|=BIT3;//將P1OUT的第3位置1:即P1.2=1</p><p>  #define RS_0 P1OUT&=~BIT3;//將P1OUT的第3位清0:即P1.2=0</p><p>  #define RW_1 P1OUT|=BIT4;&l

62、t;/p><p>  #define RW_0 P1OUT&=~BIT4;</p><p>  #define EN_1 P1OUT|=BIT5;</p><p>  #define EN_0 P1OUT&=~BIT5;</p><p>  //#define datt P2OUT;</p><p>  u

63、char chkbusy();</p><p>  void lcdinit();</p><p>  void writecom(uchar x,uchar comm);</p><p>  void writedata(uchar dat);</p><p>  void displayone(uchar x,uchar y,uchar

64、one);</p><p>  void displayleng(uchar x,uchar y,uchar *s);</p><p>  //uchar temp=0;</p><p>  uchar table1[]="turang";</p><p><b>  //延時程序</b></

65、p><p>  void delay(uint i)</p><p><b>  {</b></p><p><b>  uint j;</b></p><p>  while(--i!=0){</p><p>  for(j=0;j<255;j++);</p>

66、<p><b>  }</b></p><p><b>  }</b></p><p><b>  //忙信號檢查</b></p><p>  uchar chkbusy()</p><p><b>  {</b></p>&l

67、t;p>  uchar busy;</p><p>  P2OUT=0xf0;</p><p>  EN_0;//P1.4=0</p><p>  RS_0;//P1.2=0</p><p>  RW_1;//P1.3=1</p><p><b>  EN_1;</b></p>

68、<p>  busy=P2OUT&0x80;//busy=0x80 1000 0000</p><p><b>  delay(1);</b></p><p><b>  EN_0;</b></p><p>  return(busy);</p><p><b>  

69、}</b></p><p><b>  //寫指令</b></p><p>  void writecom(uchar x,uchar comm){</p><p>  while(chkbusy());</p><p><b>  EN_0;</b></p><p&

70、gt;<b>  RS_0;</b></p><p><b>  RW_0;</b></p><p><b>  EN_1;</b></p><p>  P2OUT=(comm&0xf0);</p><p><b>  delay(5);</b>&

71、lt;/p><p><b>  EN_0;</b></p><p><b>  delay(5);</b></p><p><b>  EN_1;</b></p><p>  P2OUT=(comm&0x0f)<<4;</p><p>&

72、lt;b>  delay(5);</b></p><p><b>  EN_0;</b></p><p><b>  }//寫數(shù)據(jù)</b></p><p>  void writedata(uchar dat)</p><p><b>  {</b></

73、p><p>  while(chkbusy()); //檢查忙信號</p><p><b>  EN_0;</b></p><p><b>  RS_1;</b></p><p><b>  RW_0;</b></p><p><b>  EN_1

74、;</b></p><p>  P2OUT=(dat&0xf0); //送高四位數(shù)據(jù)到P1口</p><p><b>  delay(5);</b></p><p><b>  EN_0;</b></p><p><b>  delay(5);</b><

75、;/p><p><b>  EN_1;</b></p><p>  P2OUT=(dat&0x0f)<<4; //送低四位數(shù)據(jù)到P1口</p><p><b>  delay(5);</b></p><p><b>  EN_0;</b></p>

76、<p>  P2OUT=P2OUT|0x0f; //置低四位為1</p><p>  }//lcm初始化程序</p><p>  void lcdinit()</p><p><b>  {</b></p><p>  delay(30);</p><p>  writecom(0,0x

77、02);</p><p><b>  delay(5);</b></p><p>  writecom(1,0x28);</p><p>  writecom(1,0x0c);</p><p>  writecom(1,0x06);</p><p>  writecom(1,0x01);</

78、p><p>  delay(10);</p><p>  }//在指定位置顯示一個字符,x為行,Y為列;</p><p>  void displayone(uchar x,uchar y,uchar one)</p><p><b>  {</b></p><p>  uchar add;</

79、p><p>  if (x == 1) add=0x80+y;</p><p>  else add=0xc0+y;</p><p>  writecom(1,add);</p><p>  writedata(one);</p><p><b>  }</b></p><p>

80、;<b>  //顯示字符串</b></p><p>  void displayleng(uchar x,uchar y,uchar *s){</p><p><b>  y=y&0x0f;</b></p><p>  while(*s){</p><p>  displayone(x,y

81、,*s);</p><p><b>  y++;</b></p><p><b>  s++;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  AD采樣:

82、</b></p><p>  void main( void )</p><p><b>  {</b></p><p>  WDTCTL = WDTPW + WDTHOLD; //stop WTD</p><p>  P2DIR=0XFF;</p><p>  P2OUT=0

83、XFF;</p><p>  ADC10CTL0 = SREF_1+ ADC10SHT_1 + REF2_5V + REFON + ADC10ON + MSC;</p><p>  //選擇參考電壓(Vr+=Vref+,Vr-=AVss),Vref+=2.5V,內(nèi)部參考電壓發(fā)生器打開,多次采樣轉(zhuǎn)換位</p><p>  ADC10CTL1 = INCH_2 +

84、 ADC10DIV_1 + CONSEQ_2 ; </p><p>  // 選擇2通道采樣,ADC時鐘2分頻,單通道多次采樣</p><p>  ADC10AE0 |= BIT2; //選擇AD采樣通道使能</p><p>  P2DIR |=0XFF;</p><p>  P2OUT=0X00; //顯示&l

85、t;/p><p><b>  while(1)</b></p><p><b>  { </b></p><p>  ADC10CTL0 |= ENC + ADC10SC; // 啟動AD采樣</p><p>  temp = ADC10MEM;

86、 //讀取寄存器的值</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  5軟硬件系統(tǒng)的調(diào)試</b></p><p><b>  硬件調(diào)試:</b></p><p&

87、gt;  硬件調(diào)試基本分為以下四個步驟:</p><p><b>  檢查電路:</b></p><p>  在上電前,必須確保電路中不存在短路或斷路情況,這一工作是整個調(diào)試的第一步,也是非常重要的一個步驟,應該確保每個電源都連接正確。在這部分調(diào)試中主要使用的工具是萬用表,用來檢測電路中是否存在斷路或者短路情況等。 </p><p>  對照

88、電路圖,按照一定的順序進行逐級檢查。首先,先通過萬用表的檢測,檢查電源線與地線是否接錯,是否短路。然后,看單片機,顯示屏,傳感器之間的引腳是否接錯。最后檢查各焊點是否牢固,有無虛焊現(xiàn)象。檢查完后進行通電觀察。</p><p><b>  通電觀察:</b></p><p>  在直流穩(wěn)壓電源上調(diào)好+5V電壓,然后給顯示屏,單片機通上相應的電源進行觀察。</p&g

89、t;<p>  最后,用電壓表進行測量各個電源引腳是否正常供電。通過電壓表的測量,測得各個電源引腳數(shù)據(jù)如表1,之后進行靜態(tài)和動態(tài)調(diào)試。</p><p>  表20 電源值測量圖</p><p><b>  靜態(tài)調(diào)試:</b></p><p>  先不加輸入信號,測量各級的工作電壓,電流是否符合要求。本課題使用的是直流電源,所以比較

90、簡單,可以直接進行測量。</p><p><b>  動態(tài)調(diào)試:</b></p><p>  加上輸入信號,觀測電路輸出信號是否符合要求。通過用電位器調(diào)節(jié)顯示屏的背光,在傳感器模塊中調(diào)節(jié)傳感器模塊的靈敏度如表二等,看是否電路輸出達到設(shè)計要求。</p><p>  從此數(shù)據(jù)可看出,此設(shè)計基本符合設(shè)計要求。</p><p>

91、<b>  軟件調(diào)試:</b></p><p>  軟件調(diào)試主要是運用Code Composer Studio v5這款軟件進行調(diào)試的。 </p><p>  1)CCS新建工程:</p><p>  首先打開CCSv5.1并確定工作區(qū)間,然后選擇project-->New CCS Projec

92、t彈出圖20對話框。</p><p>  圖21 創(chuàng)建新工程主界面</p><p>  在project name中輸入新建工程名稱turang。</p><p>  在Device部分中,Variant中選擇MSP430G××× Family,芯片選擇MSP430G2553,其余選擇默認。</p><p>  

93、選擇空工程,然后單擊Finish,完成新工程的創(chuàng)建。</p><p>  創(chuàng)建工程如圖21所示:</p><p>  圖22 Project Explorer界面</p><p>  然后選擇File-->New-->Source File,新建一個C文件,并且命名為turang.C,并在工程名上右擊選擇Add Files,創(chuàng)建工程如圖22:</p

94、><p><b>  圖23新建工程界面</b></p><p><b>  CCS調(diào)試:</b></p><p>  調(diào)試之前,先確定目標配置文件是否已經(jīng)創(chuàng)建并且配置正確。</p><p>  首先進行工程編譯:選擇Project-->Build Project,編譯目標工程。編譯結(jié)果如<

95、/p><p>  圖23所示,表示沒有錯誤,可以進行下載調(diào)試,如果有錯誤,知道調(diào)試到?jīng)]錯誤為止。</p><p><b>  圖24工程調(diào)試結(jié)果</b></p><p> ?。?)單擊運行圖標 運行程序,可以觀察顯示的結(jié)果。在程序調(diào)試的過程中,也可通過設(shè)置斷點來調(diào)試程序,選擇需要設(shè)置斷點的位置,右擊鼠標選擇Breakpoints-->?Bre

96、akpoint,斷點設(shè)置成功后顯示圖標可以通過雙擊該圖標來取消該斷點。程序運行的過程中還可以通過單步調(diào)試按鈕進行調(diào)試。</p><p> ?。?)當然在在程序調(diào)試的過程中,可以通過 CCSV5.1查看變量、寄存器、匯編程序或者是Memory等的信息 顯示出程序運行的結(jié)果,以和預期的結(jié)果進行比較,從而順利地調(diào)試程序。</p><p><b>  6 附錄</b><

97、/p><p><b>  附錄一:電路圖</b></p><p><b>  圖25電路圖 </b></p><p><b>  附錄二:PCB板圖</b></p><p><b>  圖26 PCB圖</b></p><p><

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論