版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 光電工程實踐 </b></p><p><b> ——單片機課程設(shè)計</b></p><p> 姓 名 xxx </p><p> 學(xué) 號 xxx
2、 </p><p> 專業(yè)班級 光信息科學(xué)與技術(shù)(光電工程) </p><p> 指導(dǎo)老師 </p><p> 日 期 2014.6.23~2014.6.26 </p><p><b> 目錄</b>&
3、lt;/p><p><b> 封面1</b></p><p><b> 目錄2</b></p><p><b> 設(shè)計題目3</b></p><p><b> 摘要3</b></p><p><b> 關(guān)鍵詞
4、3</b></p><p><b> 日程安排3</b></p><p> 設(shè)計內(nèi)容及功能要求3</p><p><b> 設(shè)計任務(wù)4</b></p><p><b> 設(shè)計過程4</b></p><p><b>
5、 硬件系統(tǒng)介紹10</b></p><p><b> 軟件設(shè)計14</b></p><p><b> 設(shè)計圖樣19</b></p><p><b> 心得體會20</b></p><p><b> 參考文獻20</b><
6、;/p><p> 設(shè)計題目:數(shù)據(jù)采集與顯示系統(tǒng)</p><p><b> 摘要</b></p><p> 數(shù)據(jù)采集與顯示系統(tǒng)應(yīng)用于當(dāng)今生活的各個領(lǐng)域,給我們帶來極大便利。為增進對其了解,及體會單片機在該系統(tǒng)的廣泛運用,本設(shè)計嘗試?yán)肧TC89C52、DS18B20、LCD1602、AT24C02和PCF8591等芯片/元器件設(shè)計一個數(shù)據(jù)采集與
7、顯示系統(tǒng)。能實時采集溫度和電位器電壓值,顯示在1602上,同時顯示時、分、秒等信息,利用單片機為核心,實現(xiàn)功能。</p><p><b> 關(guān)鍵詞</b></p><p> DS18B20、LCD1602、AT24C02和PCF8591、單片機,流程圖</p><p><b> 日程安排</b></p>
8、<p> 周一:分析設(shè)計要求,思考設(shè)計方案。</p><p> 周二~周三:搜集相關(guān)資料,編寫程序。</p><p> 周四:單片機燒入程序,使其可脫機工作,編寫課程設(shè)計報告及總結(jié)。</p><p> 一、設(shè)計內(nèi)容及功能要求</p><p> 利用STC89C52、DS18B20、LCD1602、AT24C02和PCF8
9、591等芯片/元器件設(shè)計一個數(shù)據(jù)采集與顯示系統(tǒng)。系統(tǒng)具有以下功能: </p><p> 能實時采集溫度和電位器電壓值,顯示在1602上;</p><p><b> 能顯示實時時鐘;</b></p><p> 按鍵1按下,將當(dāng)前的電壓值保存到AT24C02</p><p> 按鍵2按下,可逐個顯示之前采集到電壓值
10、;</p><p> 當(dāng)溫度超過設(shè)定值,則蜂鳴器報警。</p><p><b> 擴展功能:</b></p><p> 自行設(shè)定,如按鍵調(diào)整溫度報警閾值等</p><p><b> 二、設(shè)計任務(wù)</b></p><p> 1、根據(jù)設(shè)計內(nèi)容與要求,弄清系統(tǒng)及各個模塊的
11、工作流程,完成系統(tǒng)的軟件設(shè)計,包括系統(tǒng)主程序、溫度讀取子程序、電壓采集子程序,LCD顯示子程序、存儲子程序等,可使用匯編語言或是C語言編寫,建議使用C語言編寫。</p><p> 2、建議首先使用Proteus進行仿真和調(diào)試,在仿真通過后,將程序下載到單片機中,最終使得系統(tǒng)在脫機情況下,能穩(wěn)定可靠地工作。</p><p> 3、編寫課程設(shè)計報告。</p><p>
12、; 三、 設(shè)計過程 </p><p><b> 1 硬件系統(tǒng)介紹</b></p><p> 1.1 主控件模塊 </p><p> STC89C52是STC公司生產(chǎn)的一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash存儲器。STC89C52使用經(jīng)典的MCS-5
13、1內(nèi)核,但做了很多的改進使得芯片具有傳統(tǒng)51單片機不具備的功能。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。 具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,512字節(jié)RAM, 32 位I/O 口線,看門狗定時器,內(nèi)置4KB EEPROM,MAX810復(fù)位電路,3個16 位定時器/計數(shù)器,4個外部中斷,一個7向量4級中斷結(jié)構(gòu)(兼容傳統(tǒng)51的5向量2級中斷
14、結(jié)構(gòu)),全雙工串行口。另外 STC89C52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。空閑模式下,CPU 停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復(fù)位為止。最高運作頻率35MHz,6T/12T可選。芯片各引腳標(biāo)注如下圖1:</p><p> 圖1 STC89C52 各引叫標(biāo)注圖 </
15、p><p> 1.2 存儲電路模塊 </p><p> 存儲電路采用ATMEL 公司生產(chǎn)的AT24C02(圖2所示) ,儲存芯片 AT24C02 是一個 2K 位串行 CMOS E2PROM, 內(nèi)部含有 256 個 8 位字節(jié), CATALYST 公司的先進 CMOS 技術(shù)實質(zhì)上減少了器件的功耗。AT24C02 有 一個 16 字節(jié)頁寫緩沖器。該器件通過 IC 總線接口進行操作,有一個專門
16、 的寫保護功能。AT24C02 支持 IC,總線數(shù)據(jù)傳送協(xié)議 IC,總線協(xié)議規(guī)定任 何將數(shù)據(jù)傳送到總線的器件作為發(fā)送器。任何從總線接收數(shù)據(jù)的器件為接 收器。數(shù)據(jù)傳送是由產(chǎn)生串行時鐘和所有起始停止信號的主器件控制的。 主器件和從器件都可以作為發(fā)送器或接收器,但由主器件控制傳送數(shù)據(jù)(發(fā) 送或接收)的模式,通過器件地址輸入端 A0、A1 和 A2 可以實現(xiàn)將最多 8 個 AT24C02 器件連接到總線上。AT24C02具有2KB 的存儲空 間
17、。其管腳接法是1、2、3、4 接地,5、6 分別接單片機的端口,7、8 接5V 電 源。</p><p> 圖2 AT24C02引腳圖</p><p> 1.3 LCD1602 顯示電路設(shè)計 </p><p> (1)液晶顯示原理: 液晶顯示的原理是利用液晶的物理特性,通過電壓對其顯示區(qū)域進行控制,有電 就有顯示,這樣即可以顯示出圖形。液晶顯示器具有厚度薄
18、、適用于大規(guī)模集成 電路直接驅(qū)動、易于實現(xiàn)全彩色顯示的特點,目前已經(jīng)被廣泛應(yīng)用在便攜式電腦、 數(shù)字?jǐn)z像機、PDA 移動通信工具等眾多領(lǐng)域。 液晶顯示的分類方法有很多種,通??砂雌滹@示方式分為段式、字符式、點 陣式等。除了黑白顯示外,液晶顯示器還有多灰度有彩色顯示等。如果根據(jù)驅(qū)動 方式來分,可以分為靜態(tài)驅(qū)動(Static)、單純矩陣驅(qū)動(Simple Matrix)和 主動矩。陣驅(qū)動(Active Matrix)三種</p>
19、<p> (2)1602 字符型LCD 簡介: 字符型液晶顯示模塊是一種專門用于顯示字母、數(shù)字、符號等點陣式LCD,目前 常用 16*1,16*2,20*2 和 40*2 行等的模塊。下面以長沙太陽人電子有限公 司的1602 字符型液晶顯示器為例,介紹其用法。一般1602 字符型液 晶顯示器實物如圖3:</p><p> 圖3 LCD1602實物圖 </p><p>
20、; (3)1602LCD 主要技術(shù)參數(shù): </p><p> 顯示容量:16×2 個字符 </p><p> 芯片工作電壓:4.5—5.5V </p><p> 模塊最佳工作電壓:5.0V </p><p> 字符尺寸:2.95×4.35(W×H)mm </p><p&
21、gt; 引腳功能說明:1602LCD 采用標(biāo)準(zhǔn)的14 腳(無背光)或16 腳(帶背光)接口,各 引腳接口說明如表1 所示: </p><p> 表1 LCD各引腳接口說明 </p><p> 第1 腳:VSS 為地電源。 </p><p> 第2 腳:VDD 接5V 正電源。 </p><p> 第3 腳:VL 為液晶
22、顯示器對比度調(diào)整端,接正電源時對比度最弱,接地時對比 度最高,對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個10K 的電位器調(diào)整 對比度。 </p><p> 第4 腳:RS 為寄存器選擇高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。 </p><p> 第5 腳:R/W 為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當(dāng)RS 和R/W 共同為低電平時可以寫入指令或者顯示地址,
23、當(dāng)RS 為低電平R/W 為高電 平時可以讀忙信號,當(dāng)RS 為高電平R/W 為低電平時可以寫入數(shù)據(jù)。</p><p> 第6 腳:E 端為使能端,當(dāng)E 端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。 </p><p> 第7~14 腳:D0~D7 為8 位雙向數(shù)據(jù)線。 </p><p> 第15 腳:背光源正極。 </p><p> 第1
24、6 腳:背光源負(fù)極。 </p><p> (4) 1602LCD 的指令說明及時序 1602 液晶模塊內(nèi)部的控制器共有11 條控制指令,如表2所示:</p><p> 表2 1602 液晶模塊內(nèi)部的控制器共有11 條控制指令 </p><p> 1602 液晶模塊的讀寫操作、屏幕和光標(biāo)的操作都是通過指令編程來實現(xiàn)的。(說 明: 1 為高電平
25、、0 為低電平) </p><p> 指令1:清顯示,指令碼01H,光標(biāo)復(fù)位到地址00H 位置。 </p><p> 指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00H。</p><p> 指令3:光標(biāo)和顯示模式設(shè)置 I/D:光標(biāo)移動方向,高電平右移,低電平左移 S: 屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效。 </p><p&g
26、t; 指令4:顯示開關(guān)控制。 D:控制整體顯示的開與關(guān),高電平表示開顯示,低電 平表示關(guān)顯示 C:控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無光標(biāo) B: 控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍。 </p><p> 指令5:光標(biāo)或顯示移位 S/C:高電平時移動顯示的文字,低電平時移動光標(biāo)。</p><p> 指令6:功能設(shè)置命令 DL:高電平時為4 位總線,低電平時為8 位總
27、線 N:低 電平時為單行顯示,高電平時雙行顯示 F: 低電平時顯示5x7 的點陣字符,高電 平時顯示5x10 的點陣字符。</p><p> 指令7:字符發(fā)生器RAM 地址設(shè)置。 </p><p> 指令8:DDRAM 地址設(shè)置。 </p><p> 指令9:讀忙信號和光標(biāo)地址 BF:為忙標(biāo)志位,高電平表示忙,此時模塊不能 接收命令或者數(shù)據(jù),如果為低電平表示不
28、忙。 </p><p> 指令10:寫數(shù)據(jù)。 </p><p> 指令11:讀數(shù)據(jù)。 與HD44780 相兼容的芯片時序表3如下:</p><p> 表3 與HD44780 相兼容的芯片時序</p><p> 1.4 DS18B20 溫度傳感器電路設(shè)計</p><p> 1.4.1 溫度傳感器的種類眾多,在應(yīng)
29、用與高精度、高可靠性的場合時DALLAS (達拉斯)公司生產(chǎn)的DS18B20溫度傳感器當(dāng)仁不讓。超小的體積,超低的硬件 開消,抗干擾能力強,精度高,附加功能強,使得DS18B20更受歡迎。對于我們 普通的電子愛好者來說,DS18B20的優(yōu)勢更是我們學(xué)習(xí)單片機技術(shù)和開發(fā)溫度相 關(guān)的小產(chǎn)品的不二選擇。了解其工作原理和應(yīng)用可以拓寬您對單片機開發(fā)的思 路。 DS18B20的主要特征: 全數(shù)字溫度轉(zhuǎn)換及輸出。 先進的單總線數(shù)據(jù)通信。
30、最高12位分辨率,精度可達土0.5攝氏度。 12位分辨率時的最大工作周期為750毫秒。 可選擇寄生工作方式。 檢測溫度范圍為–55°C ~+125°C (–67°F ~+257°F) 內(nèi)置EEPROM,限溫報警功能。 64位光刻ROM,內(nèi)置產(chǎn)品序列號,方便多機掛接。 多樣封裝形式,適應(yīng)不同硬件系統(tǒng)。 </p><p> 1.4.2 DS18B20
31、 外形與引腳特性如圖4:</p><p> 圖4 S18B20 外形與引腳特性</p><p> 1.4.3 DS18B20工作原理及應(yīng)用:DS18B20的溫度檢測與數(shù)字?jǐn)?shù)據(jù)輸出全集成于一 個芯片之上,從而抗干擾力更強。其一個工作周期可分為兩個部分,即溫度檢測 和數(shù)據(jù)處理。在講解其工作流程之前我們有必要了解18B20的內(nèi)部存儲器資源。 18B20共有三種形態(tài)的存儲器資源,它們分別是:
32、 ROM 只讀存儲器:用于存放DS18B20ID編碼,其前8位是單線系列編碼 (DS18B20的編碼是19H),后面48位是芯片唯一的序列號,最后8位是以上56的 位的CRC碼(冗余校驗)。數(shù)據(jù)在出產(chǎn)時設(shè)置不由用戶更改。DS18B20共64位 ROM。 RAM 數(shù)據(jù)暫存器:用于內(nèi)部計算和數(shù)據(jù)存取,數(shù)據(jù)在掉電后丟失,DS18B20 共9個字節(jié)RAM,每個字節(jié)為8位。第1、2個字節(jié)是溫度轉(zhuǎn)換后的數(shù)據(jù)值信息,第3、 4個字節(jié)是用戶EEPROM
33、(常用于溫度報警值儲存)的鏡像。在上電復(fù)位時其值將 被刷新。第5個字節(jié)則是用戶第3個EEPROM的鏡像。第6、7、8個字節(jié)為計數(shù)寄存 器,是為了讓用戶得到更高的溫度分辨率而設(shè)計的,同樣也是內(nèi)部溫度轉(zhuǎn)換、計 算的暫存單元。第9個字節(jié)為前8個字節(jié)的CRC碼。EEPROM 非易</p><p> 圖5 DS18B20芯片與單片機的接口</p><p> 1.5 PCF8591芯片 &l
34、t;/p><p> PCF8591是一個單片集成、單獨供電、低功耗、8-bit CMOS數(shù)據(jù)獲取器件。PCF8591具有4個模擬輸入、1個模擬輸出和1個串行I²C總接線口。PCF8591的3個地址引腳A0, A1和A2可用于硬件地址編程,允許在同個I2C總線上接入8個PCF8591器件,而無需額外的硬件。在PCF8591器件上輸入輸出的地址、控制和數(shù)據(jù)信號都是通過雙線雙向I2C總線以串行的方式進行傳輸。其
35、引腳圖如圖6:</p><p> 圖6 PCF8591引腳圖</p><p><b> 引腳信息</b></p><p> AIN0~AIN3:模擬信號輸入端。</p><p> A0~A2:引腳地址端。</p><p> VDD、VSS:電源端。(2.5~6V)</p>
36、<p> SDA、SCL:I2C 總線的數(shù)據(jù)線、時鐘線。</p><p> OSC:外部時鐘輸入端,內(nèi)部時鐘輸出端。</p><p> EXT:內(nèi)部、外部時鐘選擇線,使用內(nèi)部時鐘時 EXT 接地。</p><p> AGND:模擬信號地。</p><p> AOUT:D/A 轉(zhuǎn)換輸出端。</p><p
37、> VREF:基準(zhǔn)電源端。</p><p> PCF8591特性:</p><p><b> 單獨供電</b></p><p> PCF8591的操作電壓范圍2.5V-6V</p><p><b> 低待機電流</b></p><p> 通過I2C總線串行輸
38、入/輸出</p><p> PCF8591通過3個硬件地址引腳尋址</p><p> PCF8591的采樣率由I2C總線速率決定</p><p> 4個模擬輸入可編程為單端型或差分輸入</p><p><b> 自動增量頻道選擇</b></p><p> PCF8591的模擬電壓范圍從V
39、SS到VDD</p><p> PCF8591內(nèi)置跟蹤保持電路</p><p> 8-bit逐次逼近A/D轉(zhuǎn)換器</p><p> 通過1路模擬輸出實現(xiàn)DAC增</p><p><b> 2.軟件設(shè)計 </b></p><p><b> 2.1 主程序 </b>&l
40、t;/p><p> 系統(tǒng)主程序首先對系統(tǒng)進行初始化,包括設(shè)置定時器、中斷和端口;然后顯 示開機畫面。由于單片機沒有停止指令,所以可以設(shè)計系統(tǒng)程序不斷地循環(huán)執(zhí)行 上述顯示效果。見圖7。</p><p> 圖7 系統(tǒng)主程序流程圖</p><p> 2.2 時間模塊設(shè)計</p><p> 時鐘流程圖如圖8所示</p><
41、p><b> 圖8 時鐘流程圖</b></p><p> 流程圖分析: 開始計時時,首先進行初 始化,當(dāng)有中斷信號時,讀取時鐘芯片的數(shù)據(jù)送入液晶屏顯示。這時若有設(shè)置鍵 按下時,進行時間修改,對應(yīng)日期時間修改子程序,完成后將數(shù)據(jù)送入時鐘芯片;若沒有按鍵按下,則直接 存入EPROM,送入液晶屏顯示。</p><p> 2.3 顯示模塊設(shè)計 </p>
42、;<p> 顯示程序流程圖如圖9。</p><p> 圖9 顯示程序流程圖</p><p> 流程圖分析:首先對LCD1602 顯示屏進行初始化(初 始化大約持續(xù)10ms 左右),然后檢查忙信號,若BF=0,則獲得顯示RAM 的地址, 寫入相應(yīng)的數(shù)據(jù)顯示;若 BF=1,則代表模塊正在進行內(nèi)部操作,不接受任何外 部指令和數(shù)據(jù),直到BF=0 為止。</p>
43、<p> 2.4 溫度模塊設(shè)計 </p><p> 溫度讀取流程圖如圖10所示。 </p><p> 圖10 溫度讀取流程圖</p><p> 流程圖分析:開始進入初始化DS18B20,就 是通過主機拉低單線產(chǎn)生復(fù)位脈沖然后釋放該線,如果有應(yīng)答脈沖,即發(fā)起ROM 命令當(dāng)成功的執(zhí)行操作命令后,就使用Convert T 命令即開始溫度轉(zhuǎn)換,
44、當(dāng)轉(zhuǎn)換 完后,又初始化DS18B20 是否有應(yīng)答脈沖,若有,就發(fā)起Read Scratchpad(讀 取暫存器和CRC 字節(jié))命令,既同時讀出第1,2 個字節(jié),即為溫度的數(shù)據(jù)。同理也可以采集相關(guān)電壓值。</p><p> 2.5 時間調(diào)整程序設(shè)計 </p><p> 調(diào)整時間用 3 個調(diào)整按鈕,1 個做為移位控制用,另外兩個做為加減用, 分別定義控制按鈕、加按鈕、減按鈕。在調(diào)整時間過程
45、中,要調(diào)整的那位與別的 位應(yīng)該有區(qū)別,所以增加了閃爍功能,即調(diào)整的那位一直在閃爍直到調(diào)整下一位。 閃爍原理就是讓要調(diào)整的那一位,每隔一定時間熄滅一次,比如說 50MS。利用 定時器計時,當(dāng)達到50MS 溢出時, 就送給該位熄滅符,在下一次溢出時,再送 正常顯示的值,不斷交替,直到調(diào)整該位結(jié)束,此時送正常顯示值給該位,再進 入下一位調(diào)整閃爍程序,時間調(diào)整程序程序流程圖如圖11。
46、 </p><p> 圖11 時間調(diào)整程序程序流程圖</p><p><b> 測試圖樣展示</b></p><p> 圖12 設(shè)計結(jié)果圖</p><p> 上圖為采集到的數(shù)據(jù)圖樣,LCD第一行左起顯示13時47分28秒,當(dāng)前電壓3.35伏。第二行左起則顯示當(dāng)前溫度30.5度,最高溫3
47、3度,最低溫28度,超出則出現(xiàn)警報。</p><p><b> 心得體會:</b></p><p> 看到設(shè)計任務(wù),我感到迷茫,我知道本次設(shè)計的重點在于各模塊的合理使用,各相互獨立的程序通過有機的組合,來完成所需功能是本次設(shè)計的精妙之所在。我感到將會是一個老長老長的程序,就算專業(yè)的程序員也絕非易事。還有什么比編程更讓我頭痛,我只好漫無目的的搜索資料,設(shè)計中所利用的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機課程設(shè)計--光電平衡小車
- 單片機課程設(shè)計實踐研究.pdf
- 單片機課程設(shè)計-單片機課程設(shè)計---電子時鐘
- 單片機課程設(shè)計
- 單片機課程設(shè)計
- 單片機課程設(shè)計
- 單片機課程設(shè)計
- 單片機課程設(shè)計--單片機串行通訊
- 單片機秒表單片機課程設(shè)計
- 單片機課程設(shè)計
- 單片機課程設(shè)計---單片機數(shù)字時鐘
- 單片機課程設(shè)計--單片機控制步進電機
- 單片機課程設(shè)計-單片機控制步進電機
- 單片機課程設(shè)計---單片機籃球計分器
- 單片機課程設(shè)計報告---單片機數(shù)字時鐘
- 單片機課程設(shè)計---單片機原理及應(yīng)用
- 基于單片機的秒表設(shè)計單片機課程設(shè)計
- 單片機課程設(shè)計--單片機控制各種器件
- 單片機課程設(shè)計---單片機數(shù)字時鐘.doc
- 單片機課程設(shè)計報告---單片機秒表系統(tǒng)設(shè)計
評論
0/150
提交評論