基于MSP430F149的溫濕度記錄儀的設計說明書
基于MSP430F149的溫濕度記錄儀的設計說明書,基于,msp430f149,溫濕度,記錄儀,設計,說明書,仿單
I 基于 MSP430F149 的溫濕度記錄儀的設計 摘 要 市場上已有溫濕度記錄儀電池使用時間短、功能單一,本設計通過軟、硬 件的優(yōu)化來實現(xiàn)低功耗。硬件主要由超低功耗單片機 MSP430、傳感器 SHT10、段碼液晶、 串口 MAX3232 和 AT45DB161 Flash 等器件組成。軟件方面主要通過定時器產生一秒中斷 方式,使其進行溫濕度的采集、顯示和存儲。記錄儀具有數(shù)據(jù)存儲大、功耗低、能和 PC 通信、性價比高等特點。研究結果表明,該儀器具有長時間記錄溫濕度,使用方便,性 能可靠,當溫度到達上限實現(xiàn)報警的功能。 關鍵詞 MSP430 溫濕度記錄儀 功耗低 II The Design of temperature and humidity recorder Based on the MSP430 Zheng Fengjun Directed by Lecturer Jiang Shaojun Abstract On the market,there has been a lot of problems of temperature and humidity recorder, such as single function, short battery life ,a kind of recorder based on MSP430 single chip was presented.The instrument through the soft and hardware to achieve low power consumption function. The hardware is mainly composed of low power microcontroller MSP430, sensor SHT10, Fault code liquid crystal, serial port MAX3232 and Flash AT45DB161.Software mainly through the timer generating a second interrupt mode and the power using query mode.The temperature and humidity recorder can realize the data acquisition, display and storage. It has the merits of big data storage volume, low power consumption,PC communication and high performancecost ratio. The results indicate that the device can long time record temperature and humidity. it is convenient in use and stable in performance.Besides,when the temperature reaches upper limit,the buzzer will sound. Key words MSP430F149 Temperature and humidity recorder Low power 1 目 錄 摘 要 ....................................................................I ABSTRACT ..............................................................II 2 背景介紹 ...............................................................1 2.1 選題背景 ..........................................................1 2.2 研究的目的及意義 ..................................................1 3 溫濕度記錄儀各模塊的介紹 ...............................................1 3.1 單片機 MSP430 .....................................................2 3.2 串口 MAX3232 ......................................................2 3.3 FLASH AT45DB......................................................3 3.4 時鐘 DS1302 .......................................................3 3.5 LCD 液晶顯示器 ....................................................3 3.6 溫濕度傳感器 SHT10 ................................................4 3.7 本章小結 ..........................................................4 4 溫濕度監(jiān)測的硬件設計 ...................................................4 4.1 msp430 的外圍電路 .................................................4 4.2 電源電路 ..........................................................5 4.3 通信電路 ..........................................................5 4.4 時鐘電路 ..........................................................6 4.5 存儲電路 ..........................................................6 4.6 顯示電路 ..........................................................7 4.7 報警電路 ..........................................................8 4.8 Altium Designer 的介紹 ............................................8 5 溫濕度監(jiān)測的軟件設計 ..................................................10 5.1 程序流圖 .........................................................10 2 5.2 MSP430 的開發(fā)軟件 ................................................10 6 問題發(fā)現(xiàn)和解決 ........................................................11 6.1 程序問題 .........................................................11 6.2 硬件問題 .........................................................12 6.3 本章小結 .........................................................12 7 總結 ..................................................................12 參考文獻 .................................................................13 致 謝 ...................................................................14 附 錄 ....................................................................15 1 基于 MSP430F149 的溫濕度記錄儀 1 引言 日常生活和工業(yè)生產都離不開溫濕度,因此人們發(fā)明了很多儀器去測量它們,并且經歷了長久 的發(fā)展過程,從很久以前的長度測量方法以及干濕測量方法,到現(xiàn)在的電測量方法,溫濕度測量技 術已經一步一步的趨于成熟。但是這些測量方法仍存在一些缺點和不足,不能滿足我們現(xiàn)在對溫濕 度測量的要求,尤其是一些場所,要求實時測量并記錄其全過程,并且超過溫度上下限時報警,這 些導致了新的溫濕度記錄儀的產生。該儀器溫濕度參數(shù)是由溫濕度傳感器SHT10獲得的,其值為數(shù) 字量,直接按預先設定的時間間隔將溫濕度參數(shù)儲存到內部的Flash中。在完成存儲后,如果將其與 PC機相連, PC將向記錄儀發(fā)送相應的指令,產生中斷,此時記錄儀將數(shù)據(jù)上傳PC,再對數(shù)據(jù)進行 整體分析,采取相應措施。它能夠長時間的記錄環(huán)境或被測對象的溫度,工作溫度范圍廣,滿足通 用性。在氣溫監(jiān)測,貨物存儲、實驗過程等方面有很重要的作用。 2 背景介紹 2.1 選題背景 1592年,意大利人Galileo創(chuàng)造了最早的溫濕度測量儀。他在一個容器中,倒入一定量的液體, 倒置了一個有細長頸的器皿,為了使液面上升到細頸內,從長頸器皿中抽出一部分空氣。由于氣體 的熱脹冷縮現(xiàn)象,長頸內的液面將隨著外界溫度的變化而變化,因此溫濕度的高低就反映到液面的 升降上,但是這個測量器是沒有刻度的,在應用上受到限制。 荷蘭人華倫海特于 1714 年制定了華氏溫標,這是歷史上最早出現(xiàn)的溫標,華氏溫標單位用 “”來表示,也讀作華氏度。0 華氏度是由一定濃度的鹽水變?yōu)楣腆w時的溫度規(guī)定的,32 華氏度、 212 華氏度分別是由純水變?yōu)楣腆w時的溫度和 101300 帕斯卡氣壓下水急劇轉化為氣體的溫度規(guī)定 的。 瑞典的 Anders Celsius 于 1742 年創(chuàng)立了另一種溫標,制成了水銀溫濕度計,溫濕度記錄儀以水 轉化為氣體的溫度作為 0 度,以水的凝固溫度為 100 度。1745 年,瑞典科學家 Linnaeus 研制了攝 氏溫濕度計,他是將 Anders Celsius 的水銀溫濕度計的冰點和沸點這兩個溫度點顛倒過來制成的。 1802年,出現(xiàn)了查理斯定律,即在恒壓一定量氣體的體積隨絕對溫度的上升而上升。反之,一 定體積的氣體,壓力與開爾文溫度變化的趨勢相同。當 Charles 定律出現(xiàn)后,氣體溫濕度計也有了 相應的提升,相比較水銀溫濕度計,氣體溫度計的效果無論在測溫范圍方面還是在精確度上,都超 過前者。 1821年,德國的塞貝克發(fā)現(xiàn)熱電效應,即溫差與電壓相互轉換的現(xiàn)象。于是就出現(xiàn)了熱電偶溫 濕度計。英國的 Dawid 在同一年里發(fā)現(xiàn)了溫濕度影響電阻的規(guī)律,再此之后熱電阻溫濕度計隨之 產生。 2.2 研究的目的及意義 在測量范圍內,溫度、濕度是一對很重要的參數(shù),無論是人們生活的環(huán)境還是工業(yè)生產、農作 物的生長都需要對溫度和濕度進行適時準確的測量,以保證能源的節(jié)約和各行各業(yè)安全健康的發(fā)展。 隨著科學技術的迅猛發(fā)展,測量領域內對溫濕度的檢測也取得飛速發(fā)展,其水平直接影響人類的各 種活動。利用單片機對溫濕度控制,具有很多優(yōu)點,如高精度、小體積、多功能、低價格、易操作 等,極大的滿足了生產生活的需求。 2 3 溫濕度記錄儀各模塊的介紹 3.1 單片機 MSP430 本設計考慮到低功耗的需求選用了 MSP430f149 作為主控制器。MSP430 系列是所有主流單片 機芯片中能耗最低的。其在一個芯片上集成了中央處理器和許多模擬、數(shù)字電路,提供了單片解決 的方案。其具有超低功耗、體積小、功能強的優(yōu)點,得到廣泛應用。 單片機 MSP430 的優(yōu)點如下: (1)功耗低。單片機 MSP430 工作電壓范圍為 1.83.6V,有一種活動模式,耗電電流為 250uA;有五種低功耗模式, 0.1uA 為 RAM 保持模式下的耗電電流,0.7uA 為實時時鐘模式下的電 流。輸入輸出口的最大漏電流僅為 50nA。 (2)MSP430 單片機集成的片內外設較為豐富,為簡化設計提供了很大的方便。這些外設包 括看門狗、模擬比較器 A、定時器 A、定時器 B、串口 0/1、乘法器、IIC 串口總線、10 位/12 位 模數(shù)轉換器、端口 16、基本定時器等模塊。 (3)處理能力強大。16 位單片機 MSP430 系列,采用了目前最流行的精簡指令集結構,指令 數(shù)目少,其指令執(zhí)行周期為一個時鐘周期。 (4)系統(tǒng)能夠長時間穩(wěn)定工作。數(shù)字控制振蕩器 DCO 是該系列默認的內部集成振蕩器,單片 機復位后,為使程序從正確的地方開始運行,確保晶體振蕩器的起振和穩(wěn)定時間充足,CPU 應首先 由 DCO 啟動。系統(tǒng)工作的時鐘頻率,可由軟件來設置,通過改變寄存器相應的控制位設定適當?shù)?頻率。為保證系統(tǒng)工作正常和運行的穩(wěn)定性,在 DCO 用作 CPU 時鐘的過程中,如果出現(xiàn)問題,數(shù) 字控制振蕩器會自動開啟。 (5)開發(fā)環(huán)境方便,效率高。MSP430 系列有三種類型,即 Flash 型、ROM 型、OTP 型, Flash 型單片機應用廣泛。不同類型的單片機開發(fā)方法不相同,F(xiàn)lash 型單片機的開發(fā)和調試環(huán)境很 方便,因為器件片內集成了可電擦寫的 Flash 存儲器及 JTAG 調試接口,所以,在一個軟件集成環(huán) 境中,可以運行所有編譯和調試過程。使用方法是將程序從 JTAG 調試接口下載到存儲器中,控制 系統(tǒng)運行。要想讀出片內中央處理器的狀態(tài),也要由該調試接口控制程序進行操作。這種方式不需 要專門的編程器和仿真器,只需要一個 JTAG 調試器和 PC 機,使用簡單方便。而 ROM 型和 OTP 型的 MSP430 系列是由專門的仿真器開發(fā)的,開發(fā)完之后再燒寫或掩摸的一種芯片。 以下是 MSP430f149 和 89C51 單片機性能的比較。 (1)十六位 MSP430f149 單片機,其指令使用的是精簡指令集( RISC ),指令相對較少, 有 27 條指令。其中,大多數(shù)為模擬指令,很多片內 Flash 和寄存器都可參加程序的執(zhí)行。由于這 27 條指令均為單周期的指令,所以運行速度快。相比較而言,八位 89C51 使用的是復雜指令集( CISC ),指令較多,有 111 條指令且運行速度慢。 (2)MSP430f149 是十六位的開放性架構,經過轉換還能使總線變?yōu)榘宋坏?,所以對這樣的基 本結構而言,無論外接八位,還是十六位的模塊,或者擴展模數(shù)轉換或數(shù)模轉換模塊也是很方便的。 對于 89C51,由于 89C51 系列的片內總線為八位,所以內部的模塊基本上也都是八位的。又由于受 其內部性質的影響,內部模塊雖然有了一定的增加,但是如果增加模擬功能的部件,仍顯得困難。 這使得 MSP430f149 的產品及功能部件迅速增加。 (3)在功耗方面,89C51 系列單片機比 MSP430f149 消耗的功耗多。89C51 正常運行的電源 電壓為 5V,有待機方式(系統(tǒng)時鐘還在運行)和掉電方式(停止包括系統(tǒng)時鐘的所有工作)兩種 低功耗模式。在正常運行情況下,電流消耗為 24mA;對于后者,一些模塊也要消耗電流 3mA 左 右。但是,為了保存 89C51 單片機內 RAM 中的內容,即便是停止所有工作,單片機所需電壓能降 到 2V 時,也需要提供電流約 50uA 。所以,MSP430 要比 89C51 更適合應用于電池供電裝置或系 統(tǒng)中。 (4)在開發(fā)工具方面。對于 MSP430f149 來說,采用了 JTAG 技術和 Flash 型存儲器,使開發(fā) 工具變得既簡便又低廉,同時也能夠實現(xiàn)在線編程。而 89C51,很早進入中國市場,使用者對它相 對了解,所以有很多開發(fā)工具被創(chuàng)造出來。但是仍存在一個很大的問題,即如何實現(xiàn)在線編程。 3 3.2 串口 MAX3232 串口 MAX3232 的輸出級使用的是輸入和輸出的電壓差值,為了能夠實現(xiàn)真正的 RS-232 的功 能,輸出電平保持 RS-232 的電平,必須使電源電壓在 3.0V 到 5.5V 之間。MAX3232 具有兩個發(fā)送 端和兩個接收端,具有關斷模式,電流僅為 1uA,有效的降低了功率的消效并延長了電池的使用時 間。在關斷模式下,串口 MAX3232 仍對芯片外設進行監(jiān)測,接收端口仍保持有效的電平。當芯片 傳輸數(shù)據(jù)的頻率過于頻繁時,串口仍就能實現(xiàn) RS-232 規(guī)定的電壓+5.0V 和-5.0V。只要輸入電壓在 3.0V 到 5.5V 范圍內,即可提供輸出正負電壓 5.5V。如果串口輸出電壓低于 5.5V,且工作在非連續(xù) 模式下,就會開啟電荷泵(開關電容式電壓變換器) ;如果串口電壓高于 5.5V,就會關閉電荷泵。 3.3 FLASH AT45DB 存儲芯片選用了 Nand-Flash 系列。存儲芯片現(xiàn)在流行 TF 卡,TF 卡可以方便拔插,但是功耗 比 Nand-Fash 系列高不少。本設計選用了 AT45DB161D,其有三種工作模式,典型待機電流為 25uA,典型掉電電流為 9uA,典型讀取電流 7mA。存儲器為八管腳的芯片,主要有片選端 (/CS) 、 電源(VCC) 、 串行輸入(SI) ,寫保護(WP) 、串行輸出(SO)和串行時鐘(SCK)等管腳。 AT45DB161D 是具有串行接口、運行電壓為 2.5V 或 2.7V 的 Flash 存儲器,能夠存儲各種數(shù)字 語音,圖像,程序代碼等。AT45DB161D 適用于要求高速操作的場合。 存儲器串口與 SPI 兼容,存儲速率能夠達到 66MHz。AT45DB161D 的存儲地址分為頁、塊、 扇、片??側萘繛?17301504 位,主存儲器為 4096 頁,512 或 528 字節(jié)定義為一頁。與以前的存儲 器不同,此存儲器串行口順序訪問數(shù)據(jù),而不是采用總線分時復用或并行傳輸?shù)姆绞健m樞蛟L問比 并行接口節(jié)省了很多引腳,充分利用了芯片的資源,有助于硬件設計,提高了系統(tǒng)工作的穩(wěn)定性。 AT45DB161D 在要求引腳數(shù)低、電壓低、功耗低以及容量高的場合 是最佳的選擇。 存儲器 AT45DB161D 讀取操作、重復編程操作的工作電壓都為 2.5V 至 3.6V 或 2.7V 至 3.6V, 而并不需要高輸入電壓來支持,為設計者提供了極大的方便。 3.4 時鐘 DS1302 隨著科學技術的提高和人們生活水平的不斷改善,測量時間的準確性也越來越重要。記錄、顯 示時間的儀器在人們的努力下,也得到了提升。從電子儀表到數(shù)字時鐘,測量工具逐步改進,計時 更加可靠,更加準確。在由單片機構成的系統(tǒng)中,實時時鐘是必不可少的器件?,F(xiàn)在大多數(shù)實時時 鐘,通常使用單片機的定時器設定初值,溢出后產生中斷的方法實現(xiàn),這種方式既需要采用計數(shù)器, 又使用軟件編程,耗費了單片機很多資源,而且需要選擇中斷或查詢方式,同時在一些系統(tǒng)中或許 不可以采用中斷;有的系統(tǒng)為了滿足對時鐘芯片的要求,則使用并行接口芯片,如 MSM5832、DS12C885 等,它們雖能滿足系統(tǒng)對實時時鐘的要求,但這些芯片存在很大缺點,如并 行接口的芯片與單片機連接的接口繁瑣、芯片占用空間大、占用數(shù)據(jù)位和地址位接口多,給整個系 統(tǒng)帶來不便。 此溫濕度記錄儀的數(shù)字時鐘是由串行實時時鐘 DS1302 和 MSP430 同步通信構成的。 其 3-wire 結構節(jié)省了 MSP430 很多能源,減少了不必要的消耗。而且,電路掉電后,時間和數(shù)據(jù)等 重要內容仍然不會消失。這些特點擬補了普通時鐘芯片具有的缺點,該時鐘電路可靠性和準確性有 了很大提高,適用于要求比較高的場合,優(yōu)越性明顯高于其它時鐘芯片,在很多自動化控制、無人 的測控系統(tǒng)等領域,具有較高的使用價值。 時鐘芯片 DS1302,能與單片機進行同步串行方式的通信,其內部內含有一個實時時鐘和 31 字 節(jié)數(shù)據(jù)暫存存儲器,僅需用到三根線進行數(shù)據(jù)的控制和傳遞,即 SCLK 串行時鐘,RES 復位,輸 入輸出數(shù)據(jù)線。實時時鐘能提供日、時、分、秒、月、年的精確信息,根據(jù)每月的天數(shù)和閏年、平 年的天數(shù),時鐘可自動做出調整。也可通過對時鐘進行設置,決定使用 24 小時模式還是使用 12 小時模式。DS1302 工作電壓范圍 2.05.5V,當電壓為 2V 時,能保存時鐘和數(shù)據(jù)信息,且電流小 于 300 納安,也就是說率小于 1 毫瓦,因此功耗很低。 3.5 LCD 液晶顯示器 LCD 液晶顯示器的整體是由上下兩個玻璃板構成的,在兩塊板之間設置液晶盒,LCD 液晶下 層板放置薄膜晶體管,在上層板中,放置彩色濾光片。LCD 液晶分子的運動趨勢由薄膜晶體管上 的電壓和信號的改變決定,由此決定每一個像素點偏振光被過濾掉還是射出,從而顯示出想要顯示 4 的效果。 LCD 液晶顯示器的優(yōu)點是顯示的內容多,控制簡單,功耗低,可以顯示字符、圖片等內容; 缺點是顯示器本身不會發(fā)光,而是根據(jù)背光來達到顯示的目的,并且價格也不便宜。相比于 LCD 液晶屏,LED(二極管)的優(yōu)點是液晶本身會發(fā)光,所以從遠處能夠看清屏上的內容,而 LCD 則 不能看清,并且其價格比 LCD 要低;缺點是顯示的內容少,一般是數(shù)碼,而且很耗電,控制復雜。 基于本設計低功耗的設計理念,并且對發(fā)光亮度沒有要求,應選擇 LCD 顯示屏。 芯片的驅動器使用的是功能強大并且可以編程的 HT1621,可驅動很多種顯示器,其中包括有 效電平時間與總周期之比為 1/2、1/3 和 1/4 的,偏置比為 1/2 或 1/3 的顯示器。驅動芯片內有 128 位顯示 RAM,可以選擇低功耗的運行模式,適用于本設計所選的 LCD 模塊和 HT1621 模塊組成的 顯示系統(tǒng)。HT1621 正常工作電壓為 2.4V 到 2.5V,內部設有振蕩器(頻率 256kHz) ,外部有時鐘 (頻率 256kHz)或者晶體振蕩器(頻率 32kHz) 。 3.6 溫濕度傳感器 SHT10 考慮到功能要求和功耗要求選用了 SHT10 溫濕度傳感器,該傳感器為輸出數(shù)字量的集成器件, 是由瑞士 Sensirion 公司推出。傳感器的組成包括兩個部分,即 1 個測溫元器件以及 1 個測濕元器 件,能同時實現(xiàn)測量溫濕度的要求,并且在同一芯片上,結合串行接口電路和 14 位模數(shù)轉換器。 這些器件不僅使該產品具有性價比高的優(yōu)點,而且反應快、功耗低,使其成為首選產品。 SHTl0 具有很多優(yōu)點,體積小,精度高,數(shù)字輸出等特點給設計者帶來很大方便。 3.7 本章小結 本章主要對溫濕度記錄儀各模塊的結構和功能特點做了簡單的介紹,從中可以看出都采用了超 低功耗的器件,使整個系統(tǒng)將功耗降到最低。 4 溫濕度監(jiān)測的硬件設計 溫濕度記錄儀的整體結構框架如圖 4-1 所示,記錄儀由 Flash 存儲器、外部時鐘、電源電路、 報警器、溫濕度傳感器、液晶顯示、MSP430 單片機等模塊組成。并且能夠與 PC 機通信,將數(shù)據(jù) 傳送到 PC,再進行分析綜合,有助于對整體趨勢的把握。 圖 4-1 溫濕度記錄儀的整體框架 4.1 MSP430 的外圍電路 MSP430及其外圍電路如圖4-2所示,單片機周圍有晶振電路、復位電路、電源電路。MSP430 外接了一個32768HZ的晶振,芯片內部的工作頻率通過倍頻提供,每條指令的執(zhí)行周期為125ns。 5 圖 4-2 單片機外圍電路 4.2 電源電路 如圖4-3所示,SOUR2是經過電阻R9和R10 分壓后得到的R10 上的電壓,送入MSP430 進行模數(shù) 轉換,轉換值與預先設置的值進行比較,如果低于設定值,則通知單片機,并在LCD液晶上顯示電 量不足的信息。二極管D1能防止 P2產生的大電流進入單片機,能很好的保護單片機正常運行。穩(wěn) 壓管VR1 為MSP430提供3.3V 電壓。 圖 4-3 電源電路 4.3 通信電路 使用 MAX3232 作為與 PC 通信的芯片,通信示意圖如圖 4-4 所示,供電電壓為+3.3v。電路中 的 C9、 C10、C13、C14 的值在串口使用說明上都為 0.1uf。 DB9 各管腳定義:1、載波檢測(DCD);2、數(shù)據(jù)接收端(RXD);3、數(shù)據(jù)發(fā)送端(TXD ); 4、數(shù)據(jù)終端準備好(DTR);5、信號地(SG);6、數(shù)據(jù)準備好(DSR);7、發(fā)送請求(RTS ); 6 8、發(fā)送清除(CTS);9、振鈴提示(RI); 圖 4-4 通信電路 4.4 時鐘電路 該設計時鐘電路由時鐘芯片、晶振和電阻組成。如右圖 4-5 所示,時鐘電路在很多系統(tǒng)中都很 常見,如手機、筆記本、電子手表、學習機等都有時鐘電路。DS1302 電路是目前普遍使用的串行 時鐘芯片,該時鐘電路具有很多優(yōu)點,如電路計時準確、價格便宜、操作方便、可靠性強、使用方 法簡單。時鐘電路最突出的特點是數(shù)據(jù)傳輸使用的是串行輸出,節(jié)省了輸入輸出口。除此之外,時 鐘電路具有充電功能,掉電后為保證電路正常工作,能夠通過軟件提供充電操作,也能夠停止該動 作。晶體振蕩器 Y1 使用的頻率為 32.768kHz。 圖 4-5 時鐘電路 4.5 存儲電路 AT45DB 的連接如圖 4-6 所示,片選引腳/CS 為使能端,串行時鐘(SCK)端進行讀寫控制。 SI 和 SO 為串行輸入線和串行輸出線,微處理器指令控制設備運行。AT45DB161B 具有通用串行接 口,但是只支持模式 0 和 3。在這兩種模式下,當 SCK 端出現(xiàn) 0 到 1 的跳變時,存儲器將輸入數(shù)據(jù); 當 SCK 出現(xiàn) 1 到 0 的跳變時,存儲器將輸出數(shù)據(jù)。二者的不同之處在于 SCK 觸發(fā)沿的變化不同。 復位時,串行外設接口的模式 3 為存儲器的默認使用模式。以上所有的地址、指令和數(shù)據(jù)都從高字 節(jié)傳送。 7 圖 4-6 存儲電路 4.6 顯示電路 根據(jù)顯示要求驅動器使用了 HT1621,驅動器是 34*2 位的內存映象(圖 4-7)和功能齊全的驅 動芯片。液晶能夠在很多地方使用,例如一些顯示子系統(tǒng)和 LCD 模塊等場合。只用四條或五條引 腳來連接驅動和主控制器?;诒驹O計的理念,HT1621 也有節(jié)電模式,電流最大為 5uA,有助于 系統(tǒng)整體功耗的降低。 圖 4-7 RAM 映象圖 液晶使用了普瑞翔 FY-T03937ARP,如圖 4-8 所示。 8 圖 4-8 液晶 4.7 報警電路 溫濕度記錄儀的報警電路如圖 4-9 所示,單片機通過 BELLLC 端控制蜂鳴器。當溫度超過上下 限時,該端為高電平,三極管導通,報警電路報警。相反,當該端為低電平時,三極管截止,報警 電路不工作。 圖 4-9 報警電路 4.8 Altium Designer 的介紹 該軟件是 EDA(電路設計自動化)軟件開發(fā)商 Altium 公司推出的一體化的電子產品開發(fā)系統(tǒng)。 這套軟件融合了原理圖繪制、電路仿真、PCB 繪制、自動布線、信號完整性分析和設計輸出等技術, 給使用此系統(tǒng)的人們提供了輕松的設計方法,是一種快捷高效的設計研發(fā)途徑。該系統(tǒng)已經在很大 程度上加快了印刷電路板的設計效率和產品質量。 9 EDA 指的是將整個設計過程中由人完成的部分現(xiàn)在交給計算機來完成此任務。例如電路原理 圖的繪制、印刷電路板文件的制作、執(zhí)行電路仿真等工作。隨著電子科技的迅速發(fā)展,功能強大的 器件不斷出現(xiàn),人們的要求也越來越高,電路的設計也變得很復雜,這些工作想要靠手工完成,幾 乎是不可能的事情,電路設計自動化已經成為必然的趨勢,設計人員開始使用簡單方便的 CAD(計算機輔助設計)軟件來進行設計,除了能夠畫原理圖和設計印刷電路板,也能夠打印各種 報表。 Altium Designer 不僅沿用了 EDA、CAD 的基本功能和特點,還擴展了一些改進的高端的功能。 該平臺拓展了板級設計的傳統(tǒng)界面,集成了可編程片上系統(tǒng)和現(xiàn)場可編程門陣列設計功能,從而允 許設計人員能集成系統(tǒng)設計中的印刷電路板設計與現(xiàn)場可編程門陣列和嵌入式設計。在繼承先前 EDA 軟件功能的基礎上,此軟件綜合了現(xiàn)場可編程門陣列設計、嵌入式系統(tǒng)軟件設計的功能,對 計算機的系統(tǒng)需求比以前的版本要高。 功能介紹:1、原理圖設計;2、PCB 設計;3、嵌入式開發(fā);4、現(xiàn)場可編程門陣列的開發(fā)。 使用該軟件時,首先在軟件建立一個印刷電路板的工程文件,然后向工程中添加原理圖文件, 如圖 4-10 所示,最后再向工程中添加 PCB,更新 PCB,設計 PCB,如圖 4-11 所示。 4-10 原理圖 10 圖 4-11 印刷電路板 5 溫濕度監(jiān)測的軟件設計 5.1 程序流圖 軟件部分可分為主程序、中斷程序和各種子程序。在主程序和中斷程序里調用數(shù)據(jù)接收、A/D 轉換、數(shù)據(jù)存儲、顯示、數(shù)據(jù)上傳等子程序。在沒有和PC 機連接的情況下,單片機執(zhí)行完操作后, 若沒有操作,會進入休眠狀態(tài),直到與上位機相連,將單片機喚醒。當單片機與PC相連時,可以 接收上位機發(fā)送來的命令并執(zhí)行,上傳相應的數(shù)據(jù)。 圖5-1為本設計的程序流圖。 開 始 定 時 一 秒外 部 中 斷 休 眠 顯 示 讀 時 間 和 溫 度 中 斷 服 務 是 否 達 到 一 秒 YN 圖 5-1 主程序流程圖 5.2 MSP430 的開發(fā)軟件 國內MSP430使用的開發(fā)軟件種類并不多,主要有IAR 公司的EW430和AQ430。目前IAR的用戶 居多。IAR Systems是全世界高端的嵌入式系統(tǒng)開發(fā)產品和服務的供應商。1983年,該公司成立, 至今為止已經有二十七年的歷史,提供的工具和服務與嵌入式系統(tǒng)的設計、開發(fā)、測試的每一個過 程都有關,例如:帶有C和C++ 編譯器和調試器的集成開發(fā)環(huán)境、實時操作系統(tǒng)和中間件、開發(fā)套 件、硬件仿真器以及狀態(tài)機建模工具。 本設計使用的是EW430 ,IAR EW430軟件提供了工程管理,程序編輯,代碼下載,調試等多種 功能,為設計提供了很大的方便。IAR 界面如圖5-2 所示。 11 圖 5-2 IAR 界面 6 問題發(fā)現(xiàn)和解決 6.1 程序問題 問題1:按鍵觸發(fā)概率低。 原來的按鍵程序如下: if(P1IFG if(keyin == 0 x0e) while(keyin != 0 x0f); //等待按鍵放開 KeyVal = 1; LPM1_EXIT; P1IFG = 0; return; 該程序在邏輯上是對的,因為單個按鍵程序是沒有任何問題的。 分析如下: 1)是不是由于delay()的時間太短或者太長造成的呢?經過查閱資料知道按鍵消抖時間 50毫秒 左右,經過嘗試修改delay()時間發(fā)現(xiàn)不能從根本上解決問題;還有很大的概率按鍵失靈; 2)懷疑是寫的程序太亂,執(zhí)行效率低,來不及執(zhí)行按鍵。通過三天的修改程序架構,已經變 得十分簡單了,結果還是沒有太大改善,但是程序順暢了。 3)懷疑是中斷使用過多,觸發(fā)太頻繁導致觸發(fā)程序失敗。經過精簡中斷函數(shù),去掉了一個20 毫秒的定時器,去掉了一個RS232發(fā)送中斷,沒有太大改觀。 4)或許按鍵程序有問題。通過仿真器的采集P1IFG的值,發(fā)現(xiàn)了亂碼,P1IFG應該是0 x80卻有 時候變?yōu)? x87(低三位接了DS1302);找到了原因原來邏輯上對的實際上很有可能有其他的干擾 存在,于是屏蔽低四位的干擾,程序如下: 12 if(P1IFG if(P1IN //等待按鍵放開 key_val = 1; P1IFG =0 x00; 完美解決了按鍵問題。 問題 2:段碼液晶顯示不正常。 1)可能是段碼程序問題,經過仔細檢查程序發(fā)現(xiàn)還是不正常顯示。 2)可能是電路問題,經過反復推敲電路設計發(fā)現(xiàn)沒問題。排除方法是:測量電壓、電流。發(fā) 現(xiàn)驅動 HT1621 正常工作。驅動 HT1621 的上拉電阻采取資料提供的標準 100k 電阻,發(fā)現(xiàn)問題依舊。 3)詢問廠家是否按標準制作,回答是肯定的。我們只好再次進行上述的步驟結果還是徒勞, 迷茫中我們要求廠家提供測試正常的視頻依據(jù)和測試代碼,經過仔細比對發(fā)現(xiàn)視頻中有一處和原理 有悖。進過仔細審查發(fā)現(xiàn)廠家沒有按要求去生產,把 COM 口放錯位置且是順時針排序。而我們提 供給他們的圖紙是逆時針的。亂碼問題也解決了。 問題 3:串口通訊不正常與速度太慢。 在調試串口時候發(fā)現(xiàn)程序有錯誤,按照教程修改好了。由于 4 萬條數(shù)據(jù)要以 9600 波特率傳送, 需要傳送十幾分鐘,我們改為 115200HZ 的波特率。發(fā)現(xiàn)總是通訊失敗,查閱相關資料發(fā)現(xiàn) MSP430 默認工作頻率 800KHZ,雖然傳送數(shù)據(jù)用的是子時鐘 8MHZ,但 CPU 主時鐘頻率低,不能 勝任提供數(shù)據(jù)工作,經過修改把 CPU 提高到 8MHZ,但是頻率越高功耗越大,所以我們進行降頻 實驗最后降到 1MHZ 發(fā)現(xiàn)正常工作。因此確定 CPU 工作在 1MHZ 模式下。 問題 4:存儲不正常。 NAND-Flash 雖然功耗低但是操作起來復雜,經過查閱相關資料發(fā)現(xiàn)存儲電路設計的并不完美, 因為 MSP430 有 SPI 接口,但設計電路時候卻用了普通 I/O 口模擬 SPI,造成某些對時間要求苛刻 的函數(shù)并不能夠順利執(zhí)行,最后采用精簡邏輯使用兩個函數(shù)完成存儲讀取的任務。 6.2 硬件問題 1)斷不開地問題的解決。采用三極管斷開器件與地的連接以節(jié)省功耗,卻發(fā)現(xiàn)芯片依然工作。 器件分離測試發(fā)現(xiàn)各個芯片都存在這個問題。最后決定使用三極管斷開電源的方法。 2)I/O 功耗問題的解決。雖然采取了大量硬件軟件措施降低功耗,但是功耗還是達到了十幾毫 安秒。芯片一一卸下檢測剩下的電路的總電流,最終發(fā)現(xiàn)原因在連接外部電源的接口,分析后認為 電源接口有一個檢測端口不插入外部電源就處于低電平而檢測端口接的 I/O 可能是高電平,所以 I/O 口設為輸入口后應該再輸出一個低電平,問題解決。 3)上拉電阻功耗問題的解決。在使用上拉電阻時候起初采用了經典的十千歐電阻,單個電阻 電流為 0.33mA,由于上拉電阻比較多電流總和就達到了 35mA。所以才用了一兆歐姆的電阻作為 上拉電阻,經過測試系統(tǒng)工作正常。 6.3 本章小結 本章大略地說明了存在的問題及其解決方法。總結出的方法是,首先考慮軟件問題,其次考慮 硬件問題,最后綜合考慮。最初的程序跑在板子上功耗最高時候四十多毫安秒。經過軟件的優(yōu)化降 低了大部分的功耗,經過硬件的排查幾乎滿足了要求。軟硬件的綜合考慮之后功耗滿足了設計的要 求。 7 總結 本設計要求能對溫度、濕度同時進行檢測。來自SHT10的數(shù)字信號通過SHTDATA 端進入單片 機,在單片機中,溫度濕度數(shù)據(jù)一方面送到LCD液晶屏顯示;另一方面將溫濕度數(shù)據(jù)存儲在 13 AT45DB中,存儲下來的數(shù)據(jù)可以經 MAX3232總線傳輸?shù)接嬎銠C中,在計算機中使用相應的軟件, 可以觀測溫濕度數(shù)據(jù)的曲線,也能對數(shù)據(jù)進行打印,實現(xiàn)了智能化,人性化。 本設計采用 MSP430 單片機實現(xiàn)了溫濕度的記錄、顯示、報警、設置、上傳到 PC 等功能。而 且還可以對測量溫濕度的時間長短、起始時間等參數(shù)進行設置。由于 MSP430 單片機的超低功耗特 性,以及采用高效率電源管理模塊,程序設計中采用低功耗設計方式,使得整個系統(tǒng)減少了功耗的 浪費。 參考文獻 1 胡大可MSP430 系列 Flash 型超低功耗 16 位單片機北京航空航天大學出版社,2001 2 蔡純潔,邢武PIC16/17 單片機原理和應用,合肥:中國科學技術大學出版社,2001 3 張雪彤,張榮華,胡書敏等大洋中脊熱水探測與新型傳感器J 地質論評,2006 4 沈建華,楊艷琴MSP430 系列 16 位超低功耗單片機原理與應用M北京:清華大學出 版社,2004 5 童詩白,華成英模擬電子技術M 北京:高等教育出版社, 2001 6 陳延奎基于 80C51 單片機的通用數(shù)據(jù)采集與處理系統(tǒng)J機械出版社,2008 7 李朝青單片機 //設置定時器 A的中斷時間為1S TACTL = TASSEL_1 + MC_1; //計數(shù)時鐘ACLK, 增計數(shù)模式8分頻+ID_3 CCTL0 |= CCIE; //使能CCR0比較中斷 /*ds1302*/ P1SEL //定義為普通I/O 口 P1DIR |= DS_RST+DS_SCL; //bit1 bit0 bit3輸出 /************初始化re232*************/ Init_rs232 (); // /***初始化1621顯示******/ P2SEL //定義p2.2 p2.4 p2.5為普通I/O 口 P2DIR|=BIT2+BIT4+BIT5; //定義p2.2 p2.4 p2.5為輸出 Init_1621(); qingping(); //先清 屏 //////////////初始化ad//////////// P6DIR ADC12CTL0 = ADC12ON+SHT0_0+MSC; // 打開ADC,設置采樣時間 ADC12CTL1 = CSTARTADD_3+SHP+CONSEQ_0; //配置寄存器 ADC12MCTL3 = INCH_3; // 選擇采樣通道a3 ADC12CTL0 |= ENC; // 使能轉換 P6SEL |= BIT3; //使能 ADC通道 // /**** 初始化flash*****/ AT45_ini(); ///******初始化按鍵**/ key_init(); ///***初值設定****/ chuzhi_from_flash();//讀出flsh中的初值 ///////////////初次顯示//////////// th_read( Getshijian(gettimer30s); chadianliang(); show_all1621(); P2DIR|=BIT1;P2OUT|=BIT1; Delays(18);P2OUT //蜂鳴器控制 /*初始化完成*/ while(1) _EINT(); //打開全局中斷 if(guanji==0) //不關機 這條命令只執(zhí)行一次 Init_1621(); 16 P4DIR|=BIT7; //開啟VS P4OUT|=BIT7; P1IFG =0 x00; P2IFG =0 x00; key_init(); guanji=2; //跳出這條命令 qingping(); CCTL0 |= CCIE; //使能CCR0比較中斷 if(guanji==2) //不關機 if(model==0) LPM1; if(kongzhi==0) if(miao%60==0) Getshijian(gettimer30s); th_read( temp=temp_offset+temp+tempset; hum=hum_offset+hum+humset; if((miao%caijishijian==0) if((miao%60==0) else if(model==1) show_setmodel1() ; else if(model==2) show_setmodel2() ; else if(model==3) show_setmodel3() ; if(guanji==1) qingping(); P2DIR|=BIT1;P2OUT//蜂鳴器不響 P1IE // 關閉P1.6P1.7中斷使能 P2IE //關閉P2.0中斷使能 P5OUT=BIT0+BIT1; P1OUT=BIT0+BIT1+BIT2; P3OUT=BIT1+BIT2+BIT3+BIT4; CCTL0 //關閉定時器 P4DIR|=BIT0; P4OUT LPM1; 17 /******************************************* 函數(shù)名稱:TimerA_ISR 功 能:定時器A的中斷服務函數(shù) 參 數(shù):無 返回值 :無 ********************************************/ #pragma vector=TIMERA0_VECTOR __interrupt void TimerA_ISR(void) LPM1_EXIT; //退出低功耗模式 miao++; if(miao==3600) miao=0; show_yanshi++; //控制時間顯示 if(show_yanshi==60) show_yanshi=0; show_all1621() ; /******************************************* 函數(shù)名稱:RS232收發(fā)中斷 ********************************************/ #pragma vector = UART1RX_VECTOR __interrupt void UART1_RXISR(void) LPM1_EXIT; //退出低功耗模式 kongzhi=0 xff; rs232kongzhi(); kongzhi=0; /******************************************* 函數(shù)名稱:PORT1_ISR 功 能:P1端口的中斷服務函數(shù) 參 數(shù):無 返回值 :無 ********************************************/ #pragma vector=PORT1_VECTOR __interrupt void PORT1_ISR(void) LPM1_EXIT; //退出低功耗模式 if(P1IFG if((P1IN //等待按鍵放開 18 key_val = 1; if(P1IFG if((P1IN //等待按鍵放開 key_val = 2; if(P1IFG if((P1IN while((P1IN //等待按鍵放開 key_val = 3; P1IFG=0; if((model==0) cun_LOG0= wendu_H8 ; cun_LOG1= wendu_H ; cun_LOG2= wendu_L8 ; cun_LOG3= wendu_L ; cun_LOG4= shidu_H8 ; cun_LOG5= shidu_H ; cun_LOG6= shidu_L8 ; cun_LOG7= shidu_L ; cun_LOG8= caijishijian8; cun_LOG9= caijishijian; cun_LOG10=LOG; Write_data_AT45(1,1501,0,cun_LOG,264); key_cmd(); /******************************************* 函數(shù)名稱:PORT2_ISR 功 能:P2端口的中斷服務函數(shù) 19 參 數(shù):無 返回值 :無 ********************************************/ #pragma vector=PORT2_VECTOR __interrupt void PORT2_ISR(void) LPM1_EXIT; //退出低功耗模式 if(P2IFG if((P2IN //等待按鍵放開 key_val = 4; P2IFG = 0 x00; if((model==0) uchar cun_LOG15; cun_LOG0= wendu_H8 ; cun_LOG1= wendu_H ; cun_LOG2= wendu_L8 ; cun_LOG3= wendu_L ; cun_LOG4= shidu_H8 ; cun_LOG5= shidu_H ; cun_LOG6= shidu_L8 ; cun_LOG7= shidu_L ; cun_LOG8= caijishijian8; cun_LOG9= caijishijian; cun_LOG10=LOG; cun_LOG11=temp_offset; cun_LOG12=hum_offset; cun_LOG13=tempset; cun_LOG14=humset; Write_data_AT45(1,1501,0,cun_LOG,264);//在1051頁記錄 key_cmd(); ////////////////////////////////////////////////////////////////////////// void InitSystemClock(void) // 初始化系統(tǒng)時鐘 unsigned char i; BCSCTL1 //Set 430 clk 開啟XT2 ,DOC的標稱頻率為最低 且不分頻;XT1 20 為低速晶體(32.768K) B
收藏
編號:15441583
類型:共享資源
大小:1.66MB
格式:ZIP
上傳時間:2020-08-10
50
積分
- 關 鍵 詞:
-
基于
msp430f149
溫濕度
記錄儀
設計
說明書
仿單
- 資源描述:
-
基于MSP430F149的溫濕度記錄儀的設計說明書,基于,msp430f149,溫濕度,記錄儀,設計,說明書,仿單
展開閱讀全文
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
裝配圖網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。