【正文】
..........11 167。 課題的主要研究內(nèi)容及指標(biāo) ...................................................... 2 第一章 系統(tǒng)總體設(shè)計(jì) ........................................................................ 3 第二章 單片機(jī)及溫度傳感器 ........................................................... 4 167。每個(gè)模塊的軟件編程都在 IAR 開發(fā)環(huán)境中完成并 實(shí)現(xiàn)。從而實(shí)現(xiàn)自動溫度控制等功能,并重點(diǎn)闡述了系統(tǒng)的硬件構(gòu)成和軟件編程的設(shè)計(jì)過程。畢業(yè)設(shè)計(jì)(論文) I 基于 MSP430 的溫度采集報(bào)警系統(tǒng)的設(shè)計(jì) 摘 要 溫度控制儀表具有廣泛的應(yīng)用前景 ,在各種行業(yè)中都占有重要的位置,越來越多的領(lǐng)域應(yīng)用到以單片機(jī)為控制核心,用液晶作為顯示終端的數(shù)字化控制設(shè)備,通過單片機(jī)對被控對象進(jìn)行智能控制。 其中硬件構(gòu)成有六部分:電源及復(fù)位模塊、采集模塊、鍵盤輸入模塊、顯示模塊和報(bào)警模塊。 關(guān)鍵詞: MSP430F149,溫度控制儀, DS18B20, LCD1602 畢業(yè)設(shè)計(jì)(論文) II DESIGN OF TEMPERATURE ACQUISITION AND ALARM SYSTEM BASED ON MSP430F149 ABSTRACT Temperature control the appearance of a wide application prospect, in various industries will occupy an important position, more and more fields to a monolithic integrated circuits to control the use lcd as a display terminal equipment by some monolithic integrated circuits to control the object is intelligent control. This design is to reduce costs, expand the development of the scope and the system running stability, reliability, designed by msp430f149 monolithic integrated circuits to control the temperature sensor and figures ds18b20 to plete the temperature of the collection, the temperature in the number of ways in lcd display lcd1602, achieve the temperature of the collection and display and the police. The minimum temperature values based on actual requirements, the keyboard for set. for automatic temperature control and other functions, and the hardware and software systems of the programming process. the design of hardware to constitute a part of six modules, power and resets the collected, keyboard, the module displays module and. Msp430f149 is a 16bit flash chips including the type of operation of a monolithic integrated circuits, the development of device easy, but the characteristics and programming for the control system design a great convenience. all modules of a schematic diagram of a circuit are protel to plete. each module software programming in the iar development environments and implementation. KEY WORDS:MSP430F149, temperature control device, DS18B20, LCD1602 畢業(yè)設(shè)計(jì)(論文) III 目 錄 前 言 ......................................................................................................... 1 167。 MSP430F149 單片機(jī) ............................................................ 4 167。 采集模塊 .............................................................................. 13 167。 最小系統(tǒng)設(shè)計(jì) ...................................................................... 17 167。 報(bào)警模塊 .............................................................................. 25 第五章 系統(tǒng)調(diào)試 .............................................................................. 27 167。 軟件的調(diào)試 ............................................................. 29 167。單片機(jī)依靠其高可靠性和高性價(jià)比,在工業(yè)控制,智能化儀表,家用電器等方面得到極為廣泛的應(yīng)用。本文設(shè)計(jì)的溫度采集報(bào)警系統(tǒng)采用具有超低功耗性能的 MSP430 單片機(jī)作為主芯片,并利用其自帶的具有 12 位分辨率的 ADC12 進(jìn)行模 /數(shù)( A/D)轉(zhuǎn)換。溫度的數(shù)字通過 LCD1602 液晶顯示器顯示。在溫度控制方面,還存在著許多問題。從而實(shí)現(xiàn)溫度的采集、顯示和報(bào)警。 主要技術(shù)指標(biāo): DS18B20 測溫范圍為 55℃ ~ 125℃ ,精度為 ℃ ;A/D 變換時(shí)間為 200ms。溫度傳感器通過某種關(guān)系的換算,就可以得到溫度傳感器的輸出電壓,這樣單片機(jī)通過模擬口采集得到傳感器的輸出電壓 [1]。系統(tǒng)框圖如圖 11 所示。電源及復(fù)位模塊主要是為整個(gè)系統(tǒng)提供可靠的電源,另外考慮到系統(tǒng)工作需要有復(fù)位功能,因此也為系統(tǒng)提供復(fù)位信號 。大部分 MSP430 系列單片機(jī)采用 FLASH 技術(shù),支持在線編程,并有保密熔絲。 2. 看門狗定時(shí)器 Watchdog Timer,可用作通用定時(shí)器。 6. 四個(gè) 8 位并行端口; P P P5 與 P6。 10. 一個(gè)硬件乘法器 [2]。 3. 使用中斷請求將 CPU 從低功耗模式下喚醒時(shí)間: 6μs 4. 快速的指令執(zhí)行時(shí)間。 6. 具有靈活的時(shí)鐘設(shè)計(jì)。 8. 安全熔絲的程序代碼保護(hù) 9. 片內(nèi)提供模擬信號比較器、較多的儲存器。 16 位定時(shí)器可以用作看門狗定時(shí)器,實(shí)現(xiàn)在秒數(shù)量級上的定時(shí)。轉(zhuǎn)換數(shù)值在輸入信 號大于等于 Vr+ 時(shí)為滿量程 , 小于等于 Vr 時(shí)為 “0”。轉(zhuǎn)換的結(jié)果保存在 16 個(gè)轉(zhuǎn)換寄存器中 , 這樣 ADC12 可以進(jìn)行多次轉(zhuǎn)換而不需要軟件干預(yù) , 這一點(diǎn)提高了系統(tǒng)性能 , 也減少了軟件開銷 [2]。讀寫及溫度變換功率來源于數(shù)據(jù)總線,總線本身也可以向所掛接的 DS18B20 供電,而無需額外電源。 5. 通過編程可以實(shí)現(xiàn)九位數(shù)字溫度讀數(shù)。 (二)溫度傳感器 DS18B20 內(nèi)部結(jié)構(gòu): DS18B20 采用三腳 PR35 封裝如圖 22 所示,其內(nèi)部結(jié)構(gòu)框圖如 22 所示 [5]。配置寄存器為高速暫存器中的第五個(gè) 字節(jié),它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率,各位字節(jié)的定義如表 21 所示: 表 21 各位字節(jié)的定義 TM R1 R0 1 1 1 1 1 后五位一直是 1, TM 是測試模式位,用于設(shè)置 DS18B20 在工作模式畢業(yè)設(shè)計(jì)(論文) 9 還是在測試模式,在 DS18B20 出廠時(shí)被設(shè)置為 0,用戶不要去改動, R1和 R0 決定溫度轉(zhuǎn)換的精度位數(shù),也就是設(shè)置分辨率。 如下面的兩個(gè)表所示。從單片機(jī)最小系統(tǒng)電路可以看出,單片機(jī)的接口電路非常簡單,分別采用單片機(jī)的一般 I/O 口實(shí)現(xiàn)與其他電路的連口,在單片機(jī)的時(shí)鐘設(shè)計(jì)上與其他單片機(jī)有一定的區(qū)別, MSP430F149 單片機(jī)采用兩個(gè)時(shí)鐘輸入,一個(gè) 32kHz 的時(shí)鐘信號,一個(gè) 8MHz 的時(shí)鐘信號。單片機(jī)最小系統(tǒng)電路如圖 31 所示。而整個(gè)系統(tǒng)采用 供電,考慮到硬件系統(tǒng)對電源要求具有穩(wěn)壓功能和紋波小等特點(diǎn),另外也考慮到硬件系統(tǒng)的低功耗等特點(diǎn),因此該硬件系統(tǒng)的電源部分采用 TI 公司的 TPS76033 芯片實(shí)現(xiàn),該芯片能很好滿足該硬件系統(tǒng)的要求,另外該芯片具有很小的封裝,因此能有效節(jié)約 PCB 板的 面積 [8]。為了減小電源的干擾,還需要在復(fù)位芯片的電源輸入腿加一個(gè) 的電容來實(shí)現(xiàn)濾波,以減小輸入端受到的干擾。由于每片 DS18B20含有唯一的硅串行數(shù),從 DS18B20 讀出的信息或?qū)懭?DS18B20 的信息,僅需要一根口線(單線接口)。 167。 圖 35 鍵盤輸入電路 該矩陣掃描鍵盤由行線和列線組成, 、 、 和 構(gòu)成鍵盤的行線, 、 、 和 構(gòu)成鍵盤的列線。 鍵盤的工作原理具體如下:首先將 、 、 和 設(shè)置為輸出,將 、 、 和 設(shè)置為輸入,并將 、 、 和 設(shè)置為低電平觸發(fā)中斷方式;將 設(shè)置為低電平,如果該行上 有按鍵按下的話,則 、 、 或者 上為低電平,就會觸發(fā)中斷,進(jìn)入中斷服務(wù)程序,獲得輸入的數(shù)據(jù)。另外還要考慮鍵盤的抖動處理。 圖 36 顯示電路 通過 圖 35 可以看出,該顯示電路直接與單片機(jī)的數(shù)據(jù) I/O 口進(jìn)行連接,由于 MSP430149 具有豐富的 I/O 口資源,這樣采用并行的接口方式非常容易,減小系統(tǒng)設(shè)計(jì)的復(fù)雜度,也可以增加系統(tǒng)的可靠性。該電路具有簡單、實(shí)用等特點(diǎn)。 畢業(yè)設(shè)計(jì)(論文) 17 第四章 系統(tǒng)的軟件設(shè)計(jì) 經(jīng)過前面對系統(tǒng)硬件的了解,這一節(jié)介紹系統(tǒng)的軟件設(shè)計(jì)。 最小系統(tǒng)設(shè)計(jì) 主處理模塊主要是將各個(gè)模塊進(jìn)行協(xié)調(diào)處理和實(shí)現(xiàn)數(shù)據(jù)交互。 程 序 初 始 化打 開 中 斷讀 F L A S H 的 內(nèi) 容 有 設(shè) 置 數(shù) 據(jù) ?等 待 設(shè) 置 數(shù) 據(jù)啟 動 定 時(shí) 器數(shù) 據(jù) 處 理 數(shù) 據(jù) 正 常 ? 報(bào)警數(shù) 據(jù) 顯 示YN 圖 41 主處理器 流程圖 畢業(yè)設(shè)計(jì)(論文) 18 考慮到需要對設(shè)置數(shù)據(jù)進(jìn)行讀寫,這樣需要對 FLASH 進(jìn)行操作,下面給出 FLASH 操作的 函數(shù)。 PCTL1 = 0xA540。 void FLASH_wb(char *pData char nValue) { PCTL3 = 0xA500。 *pData = nValue。 PCTL3 = 0xA500。以下為具體的程序 [12]。 DS18B20 每一步操作都要遵循嚴(yán)格的工作時(shí)序和通信協(xié)議。 鍵盤輸入模塊 鍵盤輸入電路主要是用來輸入數(shù)據(jù),從而實(shí)現(xiàn)人機(jī)交互。在設(shè)計(jì)時(shí)為了程序設(shè)計(jì)的方便性,鍵盤的列線采用的是 、 和 ,這樣可以利用該管腳的中斷功能。依次將 、 、 和 設(shè)置為低電平來判斷該行是否有輸入,如果沒有輸入的話,、 、 和 均為高電平,如果有輸 入的話, 、 、 或者 上為低電平,就會觸發(fā)中斷,進(jìn)入中斷服務(wù)程序,獲得輸入數(shù)據(jù)。圖 43 為該部分的程序流程圖。 //將所以的管腳設(shè)置為一般 I/O 口 PISEL = 0。=~( BIT5)。=~( BIT7) 。PIDIR |= ~ BIT3。 //管腳 使能中斷 畢業(yè)設(shè)計(jì)(論文) 22 P1IES |= BIT5。 //管腳 使能中斷 P1IES |= BIT7。 // TBC