版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、基于MSP430的溫濕度測量儀設計集美大學信息工程學院電子信息工程專業(yè)2006屆 學號: 【摘要】本設計以MSP43F437單片機為核心,采用集成化的數(shù)字溫度濕度傳感器,實現(xiàn)了對溫度濕度的測量、顯示、存儲、傳輸、打印。來自溫濕度傳感器信號IIC總線進入MSP430F437,在MSP430F437中,溫度濕度數(shù)據(jù)一方面送LCD顯示;另一方面將溫度濕度數(shù)據(jù)存儲在AT25256中,存儲下來的溫度濕度數(shù)據(jù)可以經(jīng)RS232總線傳輸?shù)絇C中,在PC應用程序中,可以對溫度濕度數(shù)據(jù)進行曲線顯示,并可以打印報表。同時還可以通過按鍵對溫度濕度測量的時間間隔、是否存儲、起始時間等參數(shù)進行設置。此外,還采用VB編寫了
2、PC端應用程序。整個系統(tǒng)可以外接9V DC電源供電,可以采用9V鋰電池供電,由于MSP430單片機的超低功耗特性,以及程序設計中采用低功耗設計方式,使得整個系統(tǒng)非常省電,特別適合于手持式儀表。【關鍵詞】溫度測量 濕度測量 MSP430The Design of Temperature and Humidity Meter Based on MSP430Information Technology College of Jimei UniversityMajor of Electronic Engineering ,2006 YANYU YANG ,NO:Abstract In this des
3、ign, I use the MSP43F437 for core and take an integration numerical temperature sensor to carry out the measuring of the temperature degree and the humidity, and to show, to save, to transmit, to print the result of the measuring. The signal coming from the sensor is transmitted to the MSP430F437 th
4、rough the IIC BUS. The data that we have gathered will be show in the LCD and will be deposited in the AT25256. The data we have deposited can be transmitted to the pc through the RS232 BUS. We can show the data by a curve in PC in virtue of application program, and we can also print the report form
5、s. We can set the time partition, start time and can decide whether deposit the data or not through the keyboard. In addition, I also write the PC application program using VB. The system power is supply by 9V DC. We can drive the system by the 9V Lithium battery. Thanks to the low power exhausts ch
6、aracteristic of the MSP430, and we design the program in purpose of saving power, the system consume little, and the system is specially suitable for handheld appearance.Key Words Temperature Measure Humidity Measure MSP430目 錄摘 要iAbstractii目 錄iii引 言2第一章 溫濕度測量儀設計方案21.1 系統(tǒng)基本要求21.2系統(tǒng)基本結構21.3各個模塊的功能2第二章
7、 溫濕度測量儀的硬件設計32.1 MSP430F437介紹32.2溫濕度測量電路42.2.1溫濕度傳感器介紹42.2.2溫度濕度測量電路62.3溫度濕度數(shù)據(jù)存儲電路62.3.1 AT25256介紹62.3.2 SPI協(xié)議介紹72.3.3溫度濕度數(shù)據(jù)存儲電路72.4 RS232通信電路82.4.1 RS232協(xié)議介紹82.4.2 RS232通信電路92.5段式LCD顯示電路92.5.1段式LCD顯示原理92.5.2段式LCD顯示電路112.6按鍵電路122.7電源電路132.8 JTAG接口電路14第三章 溫度濕度測量儀的軟件設計153.1系統(tǒng)設計的總體流程圖153.2系統(tǒng)參數(shù)設置程序設計163
8、.3傳感器溫度濕度數(shù)據(jù)讀取程序173.4溫濕度數(shù)據(jù)存儲程序設計183.5 RS232通信程序設計193.6段式LCD顯示程序設計203.7按鍵程序20第四章 PC應用程序設計214.1 Visual Basic介紹214.2 VB串口通信控件MSComm介紹224.3 PC應用程序設計23第五章 溫度濕度測量儀的系統(tǒng)調試25結 語26致 謝27參考文獻28引 言溫濕度測量是現(xiàn)代測量新發(fā)展出來的一個領域,尤其濕度的測量更是不斷前進。經(jīng)歷了長度法、干濕法直至今天的電測量的歷程,使?jié)穸葴y量技術日漸成熟。時至今日,由于我們不再滿足于溫濕度的測量,尤其是一些場所的監(jiān)控直接要求實時測量并記錄其全過程溫濕度
9、變化,并依據(jù)這些變化認定儲運過程的安全性,導致了新的溫濕度測量儀的誕生。溫濕度測量儀是將溫濕度參數(shù)進行測量并按照預定的時間間隔將其儲存在內部存儲器中,在完成記錄功能后將其聯(lián)接到PC機,利用適配軟件將存儲的數(shù)據(jù)提出并按其數(shù)值、時間進行分析的儀器。利用該儀器可確定儲運過程、實驗過程等相關過程沒有任何危及產(chǎn)品安全的事件發(fā)生。目前,溫濕度測量儀在食品儲運、博物館文物、檔案管理、建材實驗、農業(yè)及畜牧業(yè)的應用、氣候記錄、重要醫(yī)衛(wèi)場所、管路維護等方面都重要的應用。第一章 溫濕度測量儀設計方案1.1 系統(tǒng)基本要求u 采用MSP430超低功耗單片機作用系統(tǒng)設計的核心;u 采用段式LCD顯示溫度和濕度;u 采用集
10、成的數(shù)字式溫度濕度傳感器;u 具有參數(shù)設計功能;u 具有數(shù)據(jù)存儲功能;u 具有通信功能。1.2系統(tǒng)基本結構圖1-1 系統(tǒng)基本結構圖1.3各個模塊的功能1) MSP430F437單片機v 本系統(tǒng)的核心器件,主要功能是溫度濕度數(shù)據(jù)采集、處理、存儲、傳輸、LCD顯示等。2) 溫度濕度傳感器電路v 采用集成的數(shù)字式溫度濕度傳感器,通過IIC總線與MSP430F437通信。3) LCD顯示電路v 采用段式LCD,顯示采集到的溫度、濕度、時間等數(shù)據(jù)及系統(tǒng)的工作狀態(tài)信息。4) 數(shù)據(jù)存儲電路v 采用4片AT25256,存儲采集到的溫度濕度數(shù)據(jù),并存儲時間及參數(shù)設置信息。5) RS232通信電路v 與PC通信,
11、可從PC上設置系統(tǒng)參數(shù),并可以讀取、擦除AT25256中的數(shù)據(jù)。6) 按鍵電路v 完成系統(tǒng)參數(shù)設置功能。7) JTAG電路v 現(xiàn)實程序的在線調試及下載編程功能。8) 電源電路v 采用9V鋰電池供電,通信電路轉換電路,提供系統(tǒng)工作所需的3.3V電源。第二章 溫濕度測量儀的硬件設計2.1 MSP430F437介紹MSP430系列單片機是美國德州儀器(TI)1996年開始推向市場的一種16位超低信號功耗的混合處理器。稱之為混合信號處理器,主要是由于其針對實際應用要求,把許多模擬電路、數(shù)字電路和微處理器集成在一個芯片上,以提供“單片”解決方案。MSP430單片機主要特點如下:(1) 超低功耗。MSP4
12、30系列單片機的電源電壓采用1.83.6V低電壓,RAM數(shù)據(jù)保持方式下耗電僅僅0.1uA,活動模式耗電250uA/MIPS,IO輸入端口的漏電流最大僅僅50nA。(2) 強大的處理能力。MSP430系列單片機是16位單片機,采用了目前最流行的精簡指令集(RISC)結構,一個時鐘周期可以執(zhí)行一條指令(傳統(tǒng)的MCS51單片機要12個時鐘周期才可以執(zhí)行一條指令),使MSP430在8MHz晶振工作時,指令速度可達8MIPS。(3) 高性能模擬技術及豐富的片上外圍模塊。MSP430系列單片有機結合TI的高性能模擬技術,各成員都集成了較豐富的片內外設。視型號的不同可能組合有以下功能模塊:看門狗(WDT),
13、模擬比較器A,定時器A(Timer_A),定時B(其Timer_B),串口0,1(USART0、1),硬件乘法器,液晶驅動器,10位/12/14位ADC,12位DAC,IIC總線,直接數(shù)據(jù)存?。―MA),端口16(P1P6),基本定時器(Basic Timer)等。(4) 系統(tǒng)工作穩(wěn)定。上電復位后,首先由DC0_CLK啟動CPU,以保證程序從正確的位置開始執(zhí)行,保證晶體振器有足夠的起振及穩(wěn)定時間。然后軟件可設置適當?shù)募拇嫫鞯目刂莆粊泶_定最后的系統(tǒng)時鐘頻率。如果晶體振蕩器在用作CPU時鐘MCLK時發(fā)生故障,DCO會自動啟動,以保證系統(tǒng)正常工作。這種結構和運行機制,在目前各系列單片機中是絕無僅有的
14、。另外,MSP430系列單片機均為工業(yè)級器件,運行環(huán)境溫度為-40+85,運行穩(wěn)定、可靠性高,所設計的產(chǎn)品適用于各種民用和工業(yè)環(huán)境。(5) 方便高效的開發(fā)環(huán)境。目前MSP430系列有OTP型、FLASH型和ROM型3種類型,國內大量使用的是FLASH型。這些器件的開發(fā)手段不同,對于OTP型和ROM型的器件是使用專用仿真器開發(fā)成功之后再燒寫或掩摸的芯片。對于FLASH型則有十分方便的開發(fā)調試環(huán)境,因為器件片內有JTAG調試接口,還有可電擦寫的FLASH存儲器,因此采用先通過JTAG接口下載程序到FLASH內,再由JTAG接口控制程序運行,讀取片內CPU狀態(tài),以及存儲器內容等信息供設計者調試,整個
15、開發(fā)(編譯、調試)都可以在同一個軟件集成環(huán)境中進行。這種方式只需要一臺PC機和一個JTAG調試器,而不需要專用仿真器和編程器。2.2溫濕度測量電路2.2.1溫濕度傳感器介紹溫度濕度采用瑞士Sensirion的SHT7x集成的數(shù)字式傳感器,采用IIC總線與MSP430F437通信,電路簡單,SHT7x命令字很,使得通信程序設計很方便。這種傳感器采用獨特的CMOSens TM技術,具有數(shù)字式輸出、免調試、免標定、免外圍電路及全互換的特點。SHT7x溫濕度傳感器的主要特性如下:(1) 將溫濕度傳感器、信號放大調理、A/D轉換、IIC總線接口全部集成于一片(COMSens TM技術);(2) 可給出全
16、校準相對濕度及溫度值輸出;(3) 帶有工業(yè)標準的IIC總線數(shù)字輸出接口;(4) 具有露點值計算輸出功能;(5) 具有卓越的長期穩(wěn)定性;(6) 濕度值輸出分辨率為14位,溫度值輸出分辨率為12位,并且可編程;(7) 小體積(7.655.0823.5mm),可表面貼裝;(8) 具有可靠的CRC數(shù)據(jù)傳輸校驗功能;(9) 片內裝載的校準系數(shù)可保證100%互換性;(10) 電源電壓范圍為2.45.5V;(11) 電流消耗,測量時為550A,平均為28A,休眠時為3A。SHT7x溫濕度傳感器采用SMD(LCC)表面貼片封裝形式,其引腳說明如下:(1) GND:接地端;(2) DATA:雙向串行數(shù)據(jù)線;(3
17、) SCK:串行時鐘輸入;(4) VDD電源端:0.45.5V電源端;(5) (58)NC:空管腳。SHT7x的測量原理如下:SHT7x的濕度檢測運用電容式結構,并采用具有不同保護的“微型結構”檢測電極系統(tǒng)與聚合物覆蓋層來組成傳感器芯片的電容,除保持電容式濕敏器件的原有特性外,還可抵御來自外界的影響。由于它將溫度傳感器與濕度傳感器結合在一起而構成了一個單一的個體,因而測量精度較高且可精確得出露點,同時不會產(chǎn)生由于溫度與濕度傳感器之間隨溫度梯度變化引起的誤差。COMSens TM技術不僅將溫濕度傳感器結合在一起,而且還將信號放大器、模數(shù)轉換器、校準數(shù)據(jù)存儲器、標準IIC總線等電路全部集成在一個芯
18、片內。SHT7x的每一個傳感器都是在極為精確的濕度室中校準的。SHT7x傳感器的校準系數(shù)預先存在OTP內存中。經(jīng)校準的相對濕度和溫度傳感器與一個14位的A/D轉換器相連,可將轉換后的數(shù)字溫濕度值送給二線IIC總線器件,從而將數(shù)字信號轉換為符合IIC總線協(xié)議的串行數(shù)字信號。由于將傳感器與電路部分結合在一起,因此,該傳感器具有比其它類型的濕度傳感器優(yōu)越得多的性能。首先是傳感器信號強度的增加增強了傳感器的抗干擾性能,保證了傳感器的長期穩(wěn)定性,而A/D轉換的同時完成,則降低了傳感器對干擾噪聲的敏感程度。其次在傳感器芯片內裝載的校準數(shù)據(jù)保證了每一只濕度傳感器都具有相同的功能,即具有100%的互換性。最后
19、,傳感器可直接通過IIC總線與任何類型的微處理器、微控制器系統(tǒng)連接,從而減少了接口電路的硬件成本,簡化了接口方式。SHT7x的時序使用說明如下:(1) 傳輸開始。初始化傳輸時,應首先發(fā)出“傳輸開始”命令,該命令可在SCK為高時使DATA由高電平變?yōu)榈碗娖?,并在下一個SCK為高時將DATA升高。接下來的命令順序包含三個地址位(目前只支持“000”)和5個命令位,當DATA腳的ack位處于低電位時,表示SHT7x正確收到命令。(2) 連接復位順序。如果與STH7x傳感器的通訊中斷,下列信號順序會使串口復位:即當DTAA線處于高電平時,觸發(fā)SCK 9次以上,此后應接著發(fā)一個“傳輸開始”命令。(3)
20、溫濕度測量時序。當發(fā)出了溫(濕)度測量命令后,控制器就要等到測量完成。使用8/12/14位的分辨率測量分別需要大約11/55/210ms的時間。為表明測量完成,SHT7x會使數(shù)據(jù)線為低,此時控制器必須重新啟動SCK,然后傳送兩字節(jié)的測量數(shù)據(jù)與1字節(jié)CRC校驗和??刂破鞅仨毻ㄟ^使DATA為低來確認每一個字節(jié),所有的量均從右算,MSB列于第一位。通訊在確認CRC數(shù)據(jù)位后停止。如果沒有用CRC-8校驗和,則控制器就會在測量數(shù)據(jù)LSB后保持ack為高來停止通訊,SHT7x在測量和通訊完成后會自動返回睡眠模式。SHT7x傳感器中的一些高級功能是通過狀態(tài)寄存器來實現(xiàn)的,寄存器各位的類型及說明見表1所列。下
21、面對寄存器的相關位的功能說明:(1) 加熱。使芯片中的加熱開關接通后,傳感器溫度大約增加5C,從而使功耗增加至8mA5V。加熱用途如下:通過對啟動加熱器前后的溫、濕度進行比較,可以正確地區(qū)別傳感器的功能;在相對濕度較高的環(huán)境下,傳感器可通過加熱來避免冷凝。(2) 低電壓檢測。SHT7x工作時可以自行檢測VDD電壓是否低于2.45V,準確度為0.1V。(3) 下載校準系數(shù)。為了節(jié)省能量并提高速度,OTP在每次測量前都要重新下載校準系數(shù),從而使每一次測量節(jié)省8.2mS的時間。(4) 測量分辨率設定。將測量分辨率從14位(溫度)和12位(濕度)分別減到12位和8位可應用于高速或低功耗場合。表1 SH
22、T7x命令字表No命令命令字1保留(Reserved)0000X2測量溫度000113溫量濕度001014讀狀態(tài)寄存器001115寫狀態(tài)寄存器001106保留(Reserved)0101X-1110X7軟件復位111102.2.2溫度濕度測量電路在現(xiàn)代電子系統(tǒng)中,有為數(shù)眾多的IC需要進行相互之間以及與外界的通信。為了提高硬件效率和簡化電路設計而廣泛使用Inter-IC(IIC)。IIC總線是一種用于內部IC控制的具有多端控制能力的雙線雙向串行數(shù)據(jù)總線系統(tǒng)。能夠用于替代標準的并行總線,連接各種集成電路和功能模塊。IIC器件的應用能夠減少電路間連線,減小電路板尺寸,降低硬件成本,并提高了系統(tǒng)可靠性
23、 MSP430可以同時連接多個IIC設備,其連接關系如圖2-1所示。圖2-1 MSP430與多個IIC總線設備通信在本系統(tǒng)中,MSP430與溫度濕度傳感器SHT7x的連接關系如圖2-2所示,電路結構非常簡單。圖2-2 MSP430與SHT7x通信連接圖2.3溫度濕度數(shù)據(jù)存儲電路2.3.1 AT25256介紹溫度濕度數(shù)據(jù)存儲芯片采用ATMEL公司的SPI接口的低電壓串行EEPROM AT25256。AT25256主要適用于低功耗場合,內部按照32K8位組織,可以工作在3.3V電壓下,最大串行時鐘頻率為2.1MHz。支持64字節(jié)的頁寫方式以及字節(jié)寫方式。另外,AT25256還可以通過設置寫保護引腳
24、/WP的電平來設置芯片的只讀或可寫狀態(tài)。2.3.2 SPI協(xié)議介紹串行外圍設備接口SPI(Serial Peripheral Interface)總線技術是一種同步串行接口,其硬件功能很強,因此,與SPI有關的軟件相當簡單,使CPU有更多的時間處理其他事務。SPI總線上可以連接多個可作為主機的MCU(微控制器)、裝有SPI接口的輸出設備、輸出設備,如液晶驅動、A/D轉換等外設,也可以簡單連接到單個TTL移位寄存器芯片??偩€上允許連接多個設備,但在任一瞬間只允許一個設備作為主機。其中SPI總線的時鐘線由主機控制,另外還有數(shù)據(jù)線:主機輸入/從機輸出線和主機輸出/從機輸入線。主機和哪臺從機通信通過各
25、從機的選通線進行選擇。應用SPI的系統(tǒng)可以簡單,也可以復雜,主要有多種形式:(1)一臺主機MCU和若干從機MCU;(2)多臺MCU互相連接成一個多主機系統(tǒng);(3)一臺主機MCU和若干從機外圍設備。MSP40與SPI設備的連接關系如圖2-3所示。圖2-3 MSP40與SPI設備的連接圖2.3.3溫度濕度數(shù)據(jù)存儲電路本系統(tǒng)的采用了2塊SPI接口的AT25256芯片,其電路原理圖如圖2-4所示:圖2-4 溫濕度數(shù)據(jù)存儲電路2.4 RS232通信電路2.4.1 RS232協(xié)議介紹對于RS-232C接口,需要說明兩點是: 首先,RS-232-C標準最初是遠程通信連接數(shù)據(jù)終端設備DTE(Data Term
26、inal Equipment)與數(shù)據(jù)通信設備DCE(Data Communication Equipment)而制定的。其次,RS-232C標準中所提到的“發(fā)送”和“接收”,都是站在DTE立場上,而不是站在DCE的立場來定義的。RS-232C標準(協(xié)議)的全稱是EIA-RS-232C標準,其中EIA(Electronic Industry Association)代表美國電子工業(yè)協(xié)會,RS(Recommeded standard)代表推薦標準,232是標識號,C代表RS232的最新一次修改(1969),在這之前,有RS232B、RS232A。它規(guī)定連接電纜和機械、電氣特性、信號功能及傳送過程。
27、RS-232C對電器特性、邏輯電平和各種信號線功能都的規(guī)定如下:(1) 在TxD和RxD上:v 邏輯1(MARK)=-3V-15Vv 邏輯0(SPACE)=+315V(2) 在RTS、CTS、DSR、DTR和DCD等控制線上:v 信號有效(接通,ON狀態(tài),正電壓)+3V+15Vv 信號無效(斷開,OFF狀態(tài),負電壓)=-3V-15V以上規(guī)定說明了RS-323C標準對邏輯電平的定義。對于數(shù)據(jù)(信息碼):邏輯“1”(傳號)的電平低于-3V,邏輯“0”(空號)的電平告語+3V;對于控制信號;接通狀態(tài)(ON)即信號有效的電平高于+3V,斷開狀態(tài)(OFF)即信號無效的電平低于-3V,也就是當傳輸電平的絕
28、對值大于3V時,電路可以有效地檢查出來,介于-3+3V之間的電壓無意義,低于-15V或高于+15V的電壓也認為無意義,因此,實際工作時,應保證電平在(315)V之間。RS-232C與TTL轉換:EIA-RS-232C是用正負電壓來表示邏輯狀態(tài),與TTL以高低電平表示邏輯狀態(tài)的規(guī)定不同。因此,為了能夠同計算機接口或終端的TTL器件連接,必須在EIA-RS-232C與TTL電路之間進行電平和邏輯關系的變換。實現(xiàn)這種變換的方法可用分立元件,也可用集成電路芯片。目前較為廣泛地使用集成電路轉換器件,如MC1488、SN75150芯片可完成TTL電平到EIA電平的轉換,而MC1489、SN75154可實現(xiàn)
29、EIA電平到TTL電平的轉換。MAX232芯片可完成TTLEIA雙向電平轉換,RS-232C規(guī)標準接口有25條線,4條數(shù)據(jù)線、11條控制線、3條定時線、7條備用和未定義線,常用的只有9根,它們是:(1)聯(lián)絡控制信號線:數(shù)據(jù)裝置準備好(Data set ready-DSR)、數(shù)據(jù)終端準備好(Data set ready-DTR)、請求發(fā)送(Request to send-RTS)、允許發(fā)送(Clear to send-CTS)、接收線信號檢出(Received Line detection-RLSD、振鈴指示(Ringing-RI);(2)數(shù)據(jù)發(fā)送與接收線:發(fā)送數(shù)據(jù)(Transmitted da
30、ta-TxD)、接收數(shù)據(jù)(Received data-RxD);(3)地線。2.4.2 RS232通信電路RS232通信電路由兩部分組成,一部分在主板上,如圖2-5所示,另一部分電路在RS232的通信電纜上,通信電纜上的電路主要完成TTL電平與RS232電平的相互轉換。這兩部分采用立體聲的音頻接口連接。立體聲的音頻接口比較小,制作在便攜式儀表上比采用DB9的RS232接頭更美觀,同時插拔更方便。圖2-5 RS232通信電路2.5段式LCD顯示電路2.5.1段式LCD顯示原理液晶顯示器的原理是利用液晶的物理特生,通電時導通,排列變得有秩序,使光線容易通過;不通電時排列混亂,阻止光線通過。光線通過
31、和不通過的組合就可以在屏幕上顯示出圖象來。通俗地說,液晶顯示器就是兩塊玻璃中間夾了一層(或多層)液晶材料,液晶材料在信號控制下改變自己的透光狀態(tài),于是就能在玻璃面板前看到圖像了。由于液晶是通過境光來顯示信息的,液晶本身不主動發(fā)光,所以液晶功耗很低,更加適合于單片機低功耗應用系統(tǒng)。另外,液晶只能使用低頻交流電壓驅動,直流電壓將損壞液晶。液晶有很多種類,常見的有段式液晶、字符式液晶、圖形式液晶等。其中段式液晶價格低廉,使用簡單,被廣泛地用于各種單片機應用系統(tǒng)中,例如各種智能儀表的顯示。在MSP430系列單片機中,MSPX1XX系列沒有段式液晶驅動模塊,MSP430F4XX系列片內具有段式液晶驅動模
32、塊。具體型號的液晶驅動段能力不同,參見本書第1章選型部分。在液晶驅動電路中,液晶等效為電容。兩個電極板分別為公共極與段極。公共極由COMn信號驅動,段極由SEGn信號驅動。MSP430液晶驅動模塊主要特點如下:(1) 具有顯示緩存器(2) 所需的SEG、COM信號自動產(chǎn)生(3) 4種驅動方法(4) 多種掃描頻率(5) 段輸出端口可以切換為通常輸出端口(6) 顯示緩存器可作為一般存儲器(7) 用ACLK經(jīng)Basic Timer產(chǎn)生頻率MSP430液晶驅動模塊有4種驅動方法,分別為靜態(tài)驅動、2MUX驅動、3MUX驅動、4MUX驅動。靜態(tài)驅動方法,除了公共極需要一個引腳,驅動的每一段還各需要一個引腳
33、。如果設計中涉及很多段數(shù),就需要占用眾多引腳。為了減少引腳個數(shù),可以根據(jù)需要選擇多路驅動方法:2MUX驅動、3MUX驅動、4MUX驅動方法。增加公共極個數(shù),可以極大地減少引腳數(shù)。需要驅動的段數(shù)越多,效果越明顯。本系統(tǒng)由于所需要顯示的段碼較多,故采用了4MUX的驅動方式,其顯存與I/O腳的對應關系如圖2-6所示。圖2-6 4MUX驅動時顯存與IO腳的對應關系2.5.2段式LCD顯示電路段式LCD顯示電路接口電路如圖2-7所示。圖中,R15、R16、R17為10K等值電阻,以此分壓產(chǎn)生LCD顯示所需的交流電壓波形。圖2-7 段式LCD顯示電路2.6按鍵電路按鍵是計算面系統(tǒng)中最常用的人機對話輸入部分
34、。在單片機應用系統(tǒng)中,為了控制系統(tǒng)的工作狀態(tài)以及向系統(tǒng)輸入數(shù)據(jù),一般均設有按鍵或鍵盤。鍵盤一般分為編碼鍵盤和非編碼鍵盤兩種。編碼鍵盤本身除了按鍵之外,還包括產(chǎn)生鍵碼的硬件電路。只要按下某一個鍵,就能產(chǎn)生這個鍵的代碼(一般稱為編碼),這種鍵盤使用比較方便,需要編者按寫的鍵盤輸入程序也比較簡單。非編碼鍵盤是由若干個按鍵組合的開關矩陣,按鍵的作用,只是簡單地實現(xiàn)接點的接通和斷開,非編碼鍵盤必有一套相應的程序與之配合,才能產(chǎn)生出相應的鍵碼。本系統(tǒng)采用了單鍵輸入式鍵盤。單鍵輸入式鍵盤是指直接用I/O端口線構成的單個按鍵電路。每個單鍵輸入式按鍵單獨占用一根I/O線,每根I/O線上的按鍵工作狀態(tài)不會影響其他
35、I/O線的工作狀態(tài)。按鍵電路如圖2-8所示,按鍵功能分配如表2-1所示。 圖2-8 按鍵電路表2-1 按鍵功能分配表No功能No功能K1EnterK5UpK2EscK6DownK3RecK7LeftK4SetK8Right2.7電源電路電源電路采用是TI公司產(chǎn)品的電池管理芯片TPS71533,其主要特點如下:(1) 最大輸入電壓24V;(2) 工作在50mA時的靜態(tài)電流僅為3.2;(3) 輸出電壓3.3V;(4) 輸出電流可達50mA;(5) 5PIN SOT小型封裝;(6) 穩(wěn)壓工作溫度范圍-40125。電源電路如圖2-9所示。系統(tǒng)可以由9V的鋰電池供電,也可以由外部的9V DC電源供電。圖
36、中二極管起電源反接保護作用,9V電源輸入后,經(jīng)過TPS71533 DC-DC變換后,輸出3.3V的電壓,供系統(tǒng)工作所用。圖2-9 電源電路2.8 JTAG接口電路JTAG(Joint Test Action Group)聯(lián)合測試行動小組)是一種國際標準測試協(xié)議(IEEE 1149.1兼容),主要用于芯片內部測試?,F(xiàn)在多數(shù)的高級器件都支持JTAG協(xié)議,如DSP、FPGA、MSP430器件等。標準的JTAG接口是4線:TMS、 TCK、TDI、TDO,分別為模式選擇、時鐘、數(shù)據(jù)輸入和數(shù)據(jù)輸出線。 JTAG最初是用來對芯片進行測試的,基本原理是在器件內部定義一個TAP(Test Access Por
37、t測試訪問口)通過專用的JTAG測試工具對進行內部節(jié)點進行測試。JTAG測試允許多個器件通過JTAG接口串聯(lián)在一起,形成一個JTAG鏈,能實現(xiàn)對各個器件分別測試?,F(xiàn)在,JTAG接口還常用于實現(xiàn)ISP(In-System rogrammable在線編程),對FLASH等器件進行編程。 本系統(tǒng)中的JTAG電路如圖2-10所示。圖2-10 JTAG電路第三章 溫度濕度測量儀的軟件設計3.1系統(tǒng)設計的總體流程圖軟件系統(tǒng)總體上采用中斷觸發(fā)與中斷處理的方式,其流程圖如圖3-1所示。圖3-1 軟件系統(tǒng)總體流程圖 圖3-2 中斷處理流程圖3.2系統(tǒng)參數(shù)設置程序設計系統(tǒng)參數(shù)設置程序設計的過程其實就是對MSP43
38、0內部Flash的讀寫過程。MSP430內部的Flash模塊由以下幾部分組成:v 控制寄存器:控制FLASH存儲器的檫除與寫入 v FLASH存儲器陣列:存儲體 v 地址數(shù)據(jù)鎖存器:檫除與編程時執(zhí)行鎖存操作 v 編程電壓發(fā)生器:產(chǎn)生編程電壓 v 時序發(fā)生器:產(chǎn)生檫除與編程所需所有時序控制信號 寫信息段A函數(shù)如下:/ write_SegA (void) / void write_SegA (void)char *Flash_ptr; / Flash pointerunsigned int i; / test_busy;Flash_ptr = (char *) 0x1000; / Initiali
39、ze Flash pointer FCTL1 = FWKEY + ERASE; / Set Erase bit FCTL3 = FWKEY; / Clear Lock bit*Flash_ptr = 0; / Dummy write to erase Flash segment FCTL1 = FWKEY + WRT; / Set WRT bit for write operation for (i=0; i128; i+) *Flash_ptr+ = CalTbli; / Write value to flash FCTL1 = FWKEY; / Clear WRT bit FCTL3 =
40、FWKEY + LOCK; / set LOCK bit/ End write_SegA (void) / Flash擦除程序如下:/ Flash_Clr(int *Data_ptr ) /void Flash_Clr(int *Data_ptr ) FCTL3 = 0x0A500; / Lock = 0 FCTL1 = 0x0A502; / ERASE = 1 *Data_ptr=0; / erase Flash segment FCTL1 = 0x0A500; / ERASE = 0 FCTL3 = 0x0A510; / Lock = 1 / End Flash_Clr(int *Data
41、_ptr ) /3.3傳感器溫度濕度數(shù)據(jù)讀取程序傳感器溫濕度數(shù)據(jù)讀取程序設計其實就寫對IIC總線的讀寫操作。其時序關系如圖3-3和圖3-4所示。起始位:SCL=1時,SDA上有下降沿;停止位:SCL=1時,SDA上有上升沿。圖3-3 IIC數(shù)據(jù)傳輸時序圖圖3-4 IIC總線位傳輸時序圖 傳感器溫度濕度數(shù)據(jù)讀取程序主要包括了以下一些函數(shù)子程序:v void SendCommand(char data);/發(fā)送命令v void TurnOnSensor(void);/啟動傳感器v void TurnOffSensor(void);/停止傳感器v void MeasureSTemp(void);/測
42、量溫度v void MeasureSHumi(void);/測量濕度3.4溫濕度數(shù)據(jù)存儲程序設計傳感器溫濕度數(shù)據(jù)讀取程序設計其實就寫對SPI總線器件AT25256的讀寫操作SIP的時序關系如圖3-5所示。圖3-5 SPI控制時序圖存儲1個數(shù)據(jù)記錄的關鍵語句如下:/ void ReadOneRecord(void) /void ReadOneRecord(void)Transmit(); /M為存儲命令Transmit(M);if (temp = gRecordNum)/ 判斷存儲空間是否夠用laddr = (temp-1) * 4;/ Calculate the record addressl
43、addr+=4096;unTADC = SPI_RDInt(laddr);/調用SPI總線操作函數(shù)unHADC = SPI_RDInt(laddr+2);conversion_ok = IntToStr(gtx,&strlength,unTADC);Transmit0Str(gtx,strlength);conversion_ok = IntToStr(gtx,&strlength,unHADC);Transmit0Str(gtx,strlength); Transmit();Transmit(CR);/ End void ReadOneRecord(void) /擦除所有記錄的函數(shù)的關鍵語句
44、如下:/ void EraseAllRecord(void) /void EraseAllRecord(void)char i;Transmit();/E為擦除命令Transmit(E);bRecord=0; / Clear record status bitfor(i=2;i4000) return 0;/ Time outreturn (RXBUF0);/ End char Receive(void) /3.6段式LCD顯示程序設計 圖3-6 LCD顯示子程序流程圖本系統(tǒng)測量的溫度和濕度數(shù)據(jù)都是采用3位數(shù)據(jù)顯示,其1位為小數(shù)。系統(tǒng)中的溫度濕度數(shù)據(jù)在運算時為浮點類型,因此,轉換的第一步是截取
45、有效的數(shù)字,去除多余的小數(shù)部分,接著轉換成3位的字符串,然后把十位、個位和小數(shù)位從表中查出所需要顯示的段碼,把段碼送入MSP430的內部顯存即可,MSP430會根據(jù)顯存中的內容自動輸出相應的交流電壓波形。3.7按鍵程序MSP430單片機指令系統(tǒng)具有的散轉指令和C430中的SWITCH語名非常適合對鍵輸入信息的處理,這些指令可以看成是鍵信息輸入的軟件接口。按鍵或鍵盤通過接口與CPU相連,在相應軟件的配合下,CPU可以采用中斷或者查詢方式了解有無按鍵信息輸入并檢查是哪個鍵按下,然后執(zhí)行該按鍵對應的功能程序。最后再回到原始狀態(tài)。但要求信息快速可靠地輸入計算機,還有如下的一些實際問題需要解決。(1)去
46、抖動問題目前常用的按鍵或者鍵盤均利用機械觸點的閉合與斷開來產(chǎn)生輸入電信號。由于機械觸點的彈性作用,在閉合或者斷開瞬間有一個抖動問題。抖動時間的長短取決于觸點的機械特性.一般為510ms.為保證CPU對一次鍵入只作一次處理,必須采取措施去除抖動影響.去抖動的方法很多,在單片機系統(tǒng)一般用軟件方法去除抖動.這種方法是在編程過程中當判斷有鍵按下時,加入一個10ms的延時子程序,然后再次確認該按鍵是否被按下.如再次確認的結果仍然處于被按下的狀態(tài).則再做該鍵按下的相應處理.這樣就可以避開抖動時間段,消除抖動影響。(2)對按鍵進行編號以便于識別為使CPU識別出鍵入值或鍵盤編碼,以便轉入相應的處理程序。鍵的編
47、碼一般由按鍵必須有不同的鍵入值或鍵盤編碼,以便轉如相應的處理程序。鍵的編碼一般由按鍵的硬件連接方式?jīng)Q定。(3)按鍵信息的邏輯處理在實際應用設計中,應用系統(tǒng)除對按鍵能作識別處理外,還要考慮到對人在操作時易產(chǎn)生的其他問題的邏輯處理。如多個按鍵同時被按下一個鍵功能正在處理的時候另外按鍵被誤按下、按鍵時間長短的影響等,所有這些問題一般情況下都能通過軟件解決。綜合以上,按鍵程序的流程圖如圖3-7所示。圖3-7 按鍵程序流程圖第四章 PC應用程序設計4.1 Visual Basic介紹Microsoft Visual Basic提供了在Microsoft Windows操作系統(tǒng)下開發(fā)功能強大的應用程序的迅
48、速、容易的途徑。利用Microsoft Visual Basic程序設計系統(tǒng)能夠創(chuàng)建充分利用圖形用戶界面的功能強大而實用的應用程序。Microsoft Visual Basic提供了適合于圖形用戶界面開發(fā)的各個方面的工具,從而使得程序的開發(fā)更具有潛力。以圖形方式繪制對象是為應用程序創(chuàng)建圖形用戶界面的基本方法。通過這些對象屬性的設置,可以改變這些對象的外觀和行為,從而實現(xiàn)用戶所需要的圖形用戶界面。然后現(xiàn)為界面中出現(xiàn)的控件事件的響應編制代碼,使得這種界面用戶的行為能夠作出反應。4.2 VB串口通信控件MSComm介紹在這系統(tǒng)的PC端應用程序設計過程中,主要用到了VB串口通信控件MSComm。MSC
49、omm控件提供下列兩種處理通信的方式:事件驅動方式和查詢方式。事件驅件方式是處理串行端口交互作用的一種非常有效的方法。事件驅動方式的優(yōu)點是程序響應及時,可靠性高。每個MSComm控件對應著一個串行端口。如果應用程序需要訪問多個串行端口,必須使用多個MSComm控件。查詢方式實質上還是事件驅動,但在有些情況下,這種方式顯得更為便捷。在程序的每個關鍵功能之后,可能通過檢查Comm Event屬性的值來查詢事件和錯誤。如果應用程序較小,這種方法可能是更可取的。 MSComm控件有很多重要的屬性,其中的主要的屬性有如下幾個:(1)CommPort屬性,設置并返回通信端口號,類型為Integer。設計時
50、,CommPort屬性值可以設置成從1-16的任何數(shù)(缺省值為1)。 (2)Settings屬性,設置并返回波特率、奇偶校驗、數(shù)據(jù)位、停止位參數(shù)。屬性值由4個設置值組成,其格式為:“BBBB,P,D,S”,其中,BBBB為波特率,P為奇偶校驗,D為數(shù)據(jù)位數(shù),S為停止位數(shù)。 (3)PortOpen屬性,設置或返回串口狀態(tài),Boolean類型。 (4)Input屬性,從接收緩沖區(qū)讀取數(shù)據(jù),類型為Variant。它從輸入緩沖區(qū)中刪除一組字符。刪除字符的個數(shù)由InputLen屬性決定,返回值的類型由InputMode屬性決定。(5)InputMode屬性,讀取或設置從接收緩沖區(qū)讀取數(shù)據(jù)的格式,類型為Integer;InputMode屬性值為comInputModeText(0)時表示以文體格式(ASCII)取回數(shù)據(jù),為comInputModeBinary(1)時表示二進制格式(BIN)取回數(shù)據(jù)。(6)InBufferCount屬性,讀取接收緩沖區(qū)中的字節(jié)數(shù),類型為Integer。(7)InBufferSize屬性,讀取或設置接收緩沖區(qū)的大小,類型為Integer。(8)Output屬性,向發(fā)送緩沖區(qū)寫入數(shù)據(jù),類型為Variant。(9)OutBuffer
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 校園應急預案解讀
- 食品安全伴我行
- 認識銷售課件教學課件
- 假如課件教學課件
- 高三化學一輪復習 第一章 離子反應 離子方程式 課件
- 稻田餐廳課件教學課件
- 3.1.1鐵及鐵的氧化物 課件 高一上學期化學人教版(2019)必修第一冊
- 2.2化學平衡 課件高二上學期化學人教版(2019)選擇性必修1
- 成人夏季食品安全教育
- 企業(yè)宿舍管理培訓
- 小麥病蟲害識別及防治技術課件
- 間質性肺炎護理查房
- 220324-員工手冊民主程序步驟及相應簽字文件
- 國有資產(chǎn)應急管理預案
- 華為綜合面試常見問題
- 2022年上海外國語大學三亞附屬中學招聘考試真題
- 園區(qū)開展安全生產(chǎn)大檢查工作總結
- 小批量試產(chǎn)報告1
- 電機與電氣控制技術課程說課
- 2014年中級統(tǒng)計師《統(tǒng)計工作實務》真題
- 作業(yè)本印制服務投標方案(技術標)
評論
0/150
提交評論