




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 ARM課程設(shè)計報告嵌入式系統(tǒng)原理及應用課程設(shè)計 題目: 基于ARM7溫度監(jiān)測系統(tǒng)設(shè)計 班 級 學 號 姓 名 二一三年十一月 12基于ARM7的溫度監(jiān)測系統(tǒng)的設(shè)計 摘要 本系統(tǒng)基于ARM7LPC2210、溫度傳感器DS18B20、液晶屏LCD1302、LED顯示燈,開關(guān)等組成,系統(tǒng)可以實現(xiàn)對溫度的初值設(shè)定、環(huán)境溫度監(jiān)控以及當溫度超限時,產(chǎn)生報警LED閃爍)同時通過串口通信發(fā)送上位機顯示,從而實現(xiàn)對溫度的監(jiān)控。該系統(tǒng)硬件結(jié)構(gòu)簡單,監(jiān)控溫度范圍大,精度高,能廣泛應用于對溫度控制要求較高的各種場合,市場前景廣闊。關(guān)鍵詞:LPC2210 DS18B20 LCD 1602 溫度超限報警 目錄 1引言.
2、3 2系統(tǒng)總體方案.3 3硬件設(shè)計 3.1DS18B20溫度傳感器的設(shè)計.4 3.2LCD1602液晶顯示屏的設(shè)計.5 3.3串口設(shè)計.6 3.4程序硬件接線圖.6 4程序代碼設(shè)計及調(diào)試仿真 4.2 液晶顯示功能模塊.7 4.3 串口通信模塊.8 4.4主函數(shù)功能模塊.9 6設(shè)計結(jié)果演示.9-10 7設(shè)計體會.111 引言近年來隨著科技的飛速發(fā)展,嵌入式的應用正在不斷深入,同時帶動傳統(tǒng)控制檢測技術(shù)日益更新。在實時檢測和自動控制的嵌入式應用系統(tǒng)中,嵌入式往往作為一個核心部件來使用,僅嵌入式方面知識是不夠的,還應根據(jù)具體硬件結(jié)構(gòu)軟硬件結(jié)合,加以完善。溫度是一種最基本的環(huán)境參數(shù),人們生活與環(huán)境溫度息
3、息相關(guān),在工業(yè)生產(chǎn)過程中需要實時測量溫度,在工業(yè)生產(chǎn)中也離不開溫度的測量,因此研究溫度的測量方法和控制具有重要的意義。DS18B20是美國DALLAS半導體公司繼DS1820之后最新推出的一種改進型智能溫度傳感器,通過此次項目設(shè)計,可以在原有的理論基礎(chǔ)上,更加深入的了解傳感器的工作原理特別是DS18B20溫度傳感器的工作原理,同時提高我們的實踐動手能力以及邏輯思維能力,特別是拓寬了對ARM控制器的使用視野。本系統(tǒng)采用LPC2210系列ARM芯片和可編程串行I/O接口芯片DS18B20為中心器件來設(shè)計溫度監(jiān)測系統(tǒng),實現(xiàn)了設(shè)計一個數(shù)字溫度采集并監(jiān)控的系統(tǒng),利用LCD液晶屏和上位機顯示溫度,并具有溫
4、度超限報警功能,該系統(tǒng)能廣泛應用于各種行業(yè),例如智能家居系統(tǒng),化工廠和釀酒廠,市場前景廣闊,具有很高的實用價值。 2 系統(tǒng)的總體方案系統(tǒng)初始化后,LCD和上位機上顯示當前室內(nèi)溫度 ,通過功能鍵能實現(xiàn)對溫度初值的設(shè)定,如果溫度超過預先設(shè)定的溫度值,LED燈會閃爍提示溫度超限,上位機會顯示警告,提醒值班人員檢查溫度異常的原因。1. 液晶顯示模塊LCD1602資料介紹 使用LCD液晶屏1602作為溫度的顯示,LCD 液晶顯示器的構(gòu)造是在兩片平行的玻璃當中放置液態(tài)的晶體,兩片玻璃中間有許多垂直和水平的細小電線,透過通電與否來控制桿狀水晶分子改變方向,將光線折射出來產(chǎn)生畫面。顯示清晰,實現(xiàn)功能全,如果利
5、用數(shù)碼管顯示溫度,則不能順利顯示英文而且還會用到鎖存器,這會導致系統(tǒng)更加繁雜,綜合各種考慮,我們選用1602液晶顯示。此外,此液晶的功耗小,顯示內(nèi)容豐富。如果要想液晶顯示漢字,我們可以選擇另外一種芯片LCD12864。1602液晶模塊內(nèi)部的字符發(fā)生存儲器(CGROM)已經(jīng)存儲了160個不同的點陣字符圖形,這些字符有:阿拉伯數(shù)字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時模塊把地址41H中的點陣字符圖形顯示出來,我們就能看到字母“A”。1602采用標準的16腳接口,其中:第1腳:VSS為電源地第2
6、腳:VCC接5V電源正極第3腳:V0為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地電源時對比度最高。第4腳:RS為寄存器選擇,高電平1時選擇數(shù)據(jù)寄存器、低電平0時選擇指令寄存器。第5腳:RW為讀寫信號線,高電平(1)時進行讀操作,低電平(0)時進行寫操作。第6腳:E(或EN)端為使能(enable)端,高電平(1)時讀取信息,負跳變時 執(zhí)行指令。第714腳:D0D7為8位雙向數(shù)據(jù)端。 第1516腳:空腳或背燈電源。15腳背光正極,16腳背光負極。 LCD1602最重要的部分是第4,5,6三個引腳。這三個引腳決定了數(shù)據(jù)的讀和寫,我們寫程序的重點是控制這三個引腳的狀態(tài)2. 溫度傳感器設(shè)計 D
7、S18B20數(shù)字溫度傳感器,該產(chǎn)品采用美國DALLAS公司生產(chǎn)的 DS18B20可組網(wǎng)數(shù)字溫度傳感器芯片封裝而成,具有耐磨耐碰,體積小,使用方便,封裝形式多樣,適用于各種狹小空間設(shè)備數(shù)字測溫和控制領(lǐng)域。由于DS18B20性能已經(jīng)夠好,控制起來也比較方便,故我們直接選用DS18B20作為溫度傳感器。 在仿真圖中的引腳安裝 DS13820采用獨特的單口接線方式傳輸,在與微處理器連接時只需要一條口線即可實現(xiàn)微處理器與DS1380的雙向通信,不需要外圍元件,外加電壓范圍是3.05.5V,測量溫度范圍是-55125.在-10到+85的范圍內(nèi)的固有分辨率是0.5,測量結(jié)果以9位到12位的數(shù)字量方式直接輸出
8、數(shù)字信號,以“一線總線”方式傳給CPU,同時可傳送CRC校驗碼,具有極強的抗干擾能力,適用于環(huán)境惡劣的現(xiàn)場溫度測量。由于它的這種特性,我們只需要把它的引腳與ARMP1.25相連即可,VCC接電源,GND接地(如在仿真中的接線圖)整個操作主要包括三個關(guān)鍵過程:主機搜索DS18B20序列號、啟動在線DS18B20做溫度轉(zhuǎn)換、讀取溫度值。DS18B20嚴格遵循單總線協(xié)議,工作時,主機先發(fā)一復位脈沖,使總線上的所有DS18B20都被復位,接著發(fā)送ROM操作指令,使序列號編碼匹配的DS18B20被激活,準備接受下面的RAM訪問指令。RAM訪問指令控制選中的DS18B20工作狀態(tài),完成整個溫度轉(zhuǎn)換,讀取等
9、工作。在ROM命令發(fā)送之前,RAM命令命令不起作用。3. 串口的設(shè)計 LPC2210含有兩個符合工業(yè)標準的異步串行口,UART0和UART1。 系統(tǒng)仿真接線圖RXD和TXD分別連接ARM的P0.1和P0.0 上位機的RXD和也和ARM的P0.0相連。系統(tǒng)報警模塊用一個LED燈模擬,當出現(xiàn)狀況時,LED燈會不停的閃爍,達到報警的目的。 系統(tǒng)硬件總設(shè)計圖4軟件代碼設(shè)計及調(diào)試仿真結(jié)果軟件設(shè)計時用到了模塊化設(shè)計思想,代碼包含了若干個頭文件,包括lpc2100.h ,stdio.h ,ds18b20.h, lcd.h,uart.h下面我們截取重要的幾個頭文件程序進行并分析LCD液晶模塊程序設(shè)計(部分)v
10、oid ChkBusy()IO0DIR=0xf0;while(1)IO0CLR=rs;IO0SET=rw;IO0SET=en;if(!(IO0PIN & busy)break;IO0CLR=en;IO0DIR=0xffffffff;void WrOp(uint8 dat)ChkBusy();IO0CLR=rs;IO0CLR=rw;IO0CLR=IO0CLR|0xff00;/先清零IO0SET=dat<<8;/再送數(shù)IO0SET=en;IO0CLR=en;void WrDat(uint8 dat)ChkBusy();IO0SET=rs;IO0CLR=rw;IO0CLR=IO0
11、CLR|0xff00;/先清零IO0SET=dat<<8;/再送數(shù)IO0SET=en;IO0CLR=en;void lcd_init(void)WrOp(0x38);WrOp(0x06);WrOp(0x0c);第一個函數(shù)作用是監(jiān)測lcd是否忙碌,第二個函數(shù)是用來寫數(shù)據(jù)的,rs,rw,en的狀態(tài)很重要,是正確讀數(shù)據(jù)的關(guān)鍵,第三個函數(shù)是寫指令的函數(shù),和前一個一樣,rs,rw,en狀態(tài)是很關(guān)鍵的,最后一個是lcd的初始化函數(shù),其他函數(shù)在這里不做介紹。UART串口程序設(shè)計(部分)void UART0_Init(void) uint Fdiv; U0LCR = 0x83;/ 8位數(shù)據(jù),無效驗
12、,一個停止位, 除數(shù)鎖存訪問(DLAB = 1,可設(shè)置波特率) Fdiv = (Fpclk / 16) / UART_Baud; / 設(shè)置波特率, Fpclk=11059200 U0DLM = Fdiv / 256; / 設(shè)置分頻寄存器高字節(jié) U0DLL = Fdiv % 256; / 設(shè)置分頻寄存器低字節(jié) /U0DLL=72;/ 12MHz 或 11.0592MHz /U0DLL=97;/ 15MHZ U0LCR = 0x03;uint8 UART0_GetByte (void) uint8 rcv_dat;while (U0LSR & 0x01) = 0); / 等待接收標志置位r
13、cv_dat = U0RBR; / 讀取數(shù)據(jù)return (rcv_dat);void UART0_SendByte(uint8 data) U0THR = data; / 發(fā)送數(shù)據(jù) while (U0LSR&0x20)=0); / 等待數(shù)據(jù)發(fā)送完畢 0x40void UART0_SendStr(uint8 const *str) while(1) if(*str='0') break; UART0_SendByte(*str+); / 發(fā)送數(shù)據(jù) void UART0_GetStr(uint8 *s, uint32 n) for ( ; n>0; n-) *s+
14、= UART0_GetByte(); void UART0_SendChar(int ch) if (ch = 'n') while (!(U0LSR & 0x20); U0THR = 0x0D; while (!(U0LSR & 0x20); U0THR = ch;主函數(shù)程序設(shè)計(部分)#define UART_Baud 9600#include "DS18B20.h"#include "LCD.h"#include "UART.h"#define LED1(1<<17)/ uint16
15、set_temp=150; /設(shè)定溫度為15度,超過的話則報警,串口出現(xiàn)warning LED1開始閃爍。uint16 measure_temp=0;void _irq IRQ_T0(void)T0TCR = 0;/ 計數(shù)器使能 measure_temp=ReadTemp();ConvertTemperature(measure_temp); / 溫度轉(zhuǎn)換 if(measure_temp>set_temp) IO1CLR |= LED1;Delayms(100);IO1SET|=LED1;Delayms(100); UART0_SendStr("WARNING!! TOO HI
16、GH!! "); DisText(0xc4,Tp);else if(measure_temp<100) / 小于10度,則報警IO1CLR |= LED1;Delayms(100);IO1SET|=LED1;Delayms(100); UART0_SendStr("WARNING!! TOO LOW!"); DisText(0xc4,Tp);else UART0_SendStr(" NORMOL!");UART0_SendStr(Tp);/ 發(fā)送溫度UART0_SendStr("rn");/ 回車DisText(0xc4,Tp);/ 顯示當前溫度T0IR=0x02;/清除MR1中斷標志VICVectAddr=0x00;/通知VIC中斷處理結(jié)束T0TCR = 1;/ 計數(shù)器使能 在以上程序是環(huán)境溫度起判斷作用的關(guān)鍵,設(shè)定安全溫度為15和10,當環(huán)境溫度高于15或者
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO 19880-5:2025 EN Gaseous hydrogen - Fuelling stations - Part 5: Dispenser hoses and hose assemblies
- HY/T 0439-2024微型生物碳庫貢獻調(diào)查與評估技術(shù)規(guī)程海洋細菌
- 獸藥合理用藥在獸醫(yī)實踐中的案例分析考核試卷
- 環(huán)保材料在化妝品配方中的生物降解性分析考核試卷
- 藥品注冊與審批流程風險管理考核試卷
- 印刷機械壓力監(jiān)控技術(shù)考核試卷
- 部編人教版小學四年級語文下冊《小英雄雨來》教學課件
- 2025年中國PET彩色鍍鋁膜數(shù)據(jù)監(jiān)測研究報告
- 2025年中國IC卡手持機數(shù)據(jù)監(jiān)測報告
- 2025年中國DG-鈀觸媒數(shù)據(jù)監(jiān)測報告
- 職業(yè)行為習慣課件
- 高校智能化教學評價體系變革的技術(shù)創(chuàng)新路徑研究
- 高中復讀協(xié)議書
- 2024年甘肅省臨澤縣教育局公開招聘試題含答案分析
- 2025-2030中國戊烷發(fā)泡劑市場深度解析及前景運行動態(tài)研究報告
- 移植物抗宿主病分期及護理
- 2024年深圳市中考生物試卷真題(含答案解析)
- DB31/T 1402-2023養(yǎng)老機構(gòu)認知障礙照護單元設(shè)置和服務(wù)要求
- 防腐工程項目建議書(立項報告)
- 2025年安全管理員安全培訓考試試題附參考答案(綜合題)
- 河南省新鄉(xiāng)市2023-2024學年高一物理下學期7月期末考試含答案
評論
0/150
提交評論