




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、課程設計W題 目光照強度檢測裝置學生姓名學號所在學院 專業班級指導教師完成地點合作者 2014年1月5日目錄0 / 201. 課題的意義、目的 31.1 課題的意義31.2 課程設計目的32. 光照檢測裝置硬件電路設計 52.1 總體方案設計52.2 單片機的選擇52.3 單元電路的設計62.3.1 光敏電阻電路62.3.2 晶振電路和復位電路72.3.3 數模轉換電路72.3.4 報警電路82.3.5 顯示電路83. 光照檢測裝置軟件設計 93.1 軟件主程序03.2 顯示程序103.3 報警程序114. 電路仿真調試 125. 總結與心得 13附錄 13源程序 14摘要該數字式光照強度檢測
2、儀以STC89C5單片機和模數轉換為技術核心,具體由單片機最小系統、A/D模數轉換模塊、光照強度檢測模塊、輸出模塊和數碼管顯示模塊組成。 在本系統的設計中 , 利用光敏電阻阻值隨光強的變化特性來檢測光強 ,采用單片機控制 輸出模塊和數模轉換芯片依次測量不同的光照強度 , 并通過編程處理數據進行光強的 比較, 最后通過數碼管顯示檢測結果,過低或者過高將會使報警電路蜂鳴。總之,通過對電路的設計和實際裝調 , 最終基本實現了基于單片機的數字式光照強度檢測儀的整 體功能, 可顯示最大光照強度。關鍵字:STC89C5單片機:模數轉換;光敏電阻;報警9 / 201. 課題的意義、目的1.1 課題的意義本系
3、統是一個基于單片機的數字式光照檢測儀,通過數碼管顯示光度。以89C52單片機為核心,控制A/D芯片采集數據,輔以數碼管、數據 選擇器等器件,實現功能。本系統采用光敏電阻采集光照強度信息。光照強度直接反映在光敏電 電阻阻值上,進而反映在光敏電阻兩端的電壓值上。然后通過單片機控制 A/D模數轉換對電壓信號進行采集,經換算后通過數碼管顯示光強強度。 本設計適當地利用了光敏電阻的特性以及單片機的強大的運算控制功能, 實現了光照強度的檢測, 并在數碼管上顯示。 本系統充分利用了現有資源, 結構合理,性能穩定,成本低,滿足題目要求。加強對單片機的學習和認識,正確運用所學單片機的理論知識,將理 論與實際相結
4、合,單片機在我們的生活中得到越來越廣泛的應用,單片機 注定影響一個時代,只要存在計算機的地方就會有他的存在,學好單片機 對今后的學習與工作有很多益處。1.2 課程設計目的采用光敏電阻為光傳感器,利用光敏電阻的光照特性完成光強的檢測。 設計目的如下:1.對于光照強度的檢測結果能夠處理后在液晶屏上顯示 (光照過強、 光 照強、光照一般、光照弱);2.當光強太弱或者太強的時候,系統報警。操控簡易實用2. 光照檢測裝置硬件電路設計2.1總體方案設計總體設計方框圖設計原理光敏電阻在不同光照下的不同阻值通過數模轉換和單片機處理用數字表示出光照 強弱的區別,當光照過強或者過弱時會觸發警報。總體上來說,本方案
5、電路結構簡單、所用元器件供給充足、成本造價低、性能穩定 且誤差范圍也在設計選題的要求之內,能在簡單低成本的基礎上很好的完成設計選題 的任務,故實驗中米用本方案。2.2單片機的選擇本次課設選用的是STC89C5單片機,它是STC公司生產的一種低功耗、高性能CMoS位微控制器,具有8K在系統可編程FlaSh存儲器。STC89C52使用經典的MCS-51內核,但做了很多的改進使得芯片具有傳統 51單片機不具備的功能。在單芯片上,擁 有靈巧的8位CPU和在系統可編程Flash ,使得STC89C5為眾多嵌入式控制應用系統 提供咼靈活、超有效的解決方案。WPT.CC140 VOCT2E Ptj C L3
6、CJFC C -AEC FlJC豈3«JPC 1 ,AD'IPlJC4ST PC2ACC!PmCS10 PC 3 4AD3rC5 pi.sc3RFC和心*dkC P* 4C734 FCfnAD*.15> P* 7C33 PCCAMiHSTCi32JFC7-AO>丹上P3 2CTa31 5Z廬P(TC Fl和亡11X!T PJ2C1229 FTrr P: JCt328 F2 7A15)ojp3c1427JP2QAU(Th円月巧K F: f At3T Pj-: Ct尊3P24 <A12死円y173F2 3iA111CTALlrIa P2 00XTi CY9Z1
7、A>M3匚221 F2 CSTC89C5單片機引腳圖STC89C5具有以下標準功能:8k字節FIaSh , 512字節 RAMl 32 位 I/O 口線,內置 4KBEEPRQM MAX81(復位電路,3個16位定時器/計數器,4個 外部中斷,一個7向量4級中斷結構(兼容傳統51 的5向量2級中斷結構),全雙工串行口。另外 STC89C52可降至OHZ靜態邏輯操作,支持 2種軟 件可選擇節電模式。空閑模式下,CPU停止工作, 允許RAM定時器/計數器、串口、中斷繼續工作。 掉電保護方式下,RAM內容被保存,振蕩器被凍結, 單片機一切工作停止,直到下一個中斷或硬件復位 為止。最高運作頻率3
8、5MHz 6T/12T可選。2.3單元電路的設計2.3.1光敏電阻電路光敏電阻模塊光敏電阻又稱光導管,常用的制作材料 為硫化鎘,另外還有硒、硫化鋁、硫化鉛和硫 化鉍等材料。這些制作材料具有在特定波長 的光照射下,其阻值迅速減小的特性。這是由 于光照產生的載流子都參與導電 ,在外加電 場的作用下作漂移運動,電子奔向電源的正 極,空穴奔向電源的負極,從而使光敏電阻器 的阻值迅速下降。光敏電阻的工作原理是基 于內光電效應。在半導體光敏材料兩端裝上 電極引線,將其封裝在帶有透明窗的管殼里 就構成光敏電阻,為了增加靈敏度,兩電極常做成梳狀在光敏電阻兩端的金屬電極之間加上電壓 ,其中便有電流通過,受到適當
9、波長的光 線照射時,電流就會隨光強的增加而變大,從而實現光電轉換。光敏電阻的入射光強,電 阻減小;入射光弱,電阻增大。232晶振電路和復位電路單片機需要一個時間基準來為各種操作提供秩序,此電路叫時鐘電路,采用不同 的接線方式可以獲得不同時鐘電路,有內部時鐘電路和外部時鐘電路,外部時鐘電路 會使電路復雜,故采用的是內部時鐘電路。時鐘電路在單片機的外部通過兩個引腳跨接晶體振蕩器和微調電容,構成穩定的自激振蕩器。復位電路和晶振電路233數模轉換電路A/D轉換器就是模擬/數字轉換器是將輸入的模擬信號轉換成為數字信號。本實驗中利用模數轉換將模擬電壓值轉換為離散的數字量再送入單片機進行數據處理。制作 中選
10、用芯片PCF8591為8位CMo逐次比較型模數轉換器。模數轉換包括采樣、保持、 量化和編碼四個過程。在某些特定的時刻對這種模擬信號進行測量叫做采樣,量化噪聲及接收機噪聲等因素的影響,采樣速率一般取。通常采樣脈沖的寬度是很短的,故采樣輸出是斷續的窄脈沖。要把一個采樣輸出信 號數字化,需要將采樣輸出所得的瞬時模擬信號保持一段時間,這就是保持過程。 量化 是將連續幅度的抽樣信號轉換成離散時間、離散幅度的數字信號,量化的主要問題就是 量化誤差。假設噪聲信號在量化電平中是均勻分布的,則量化噪聲均方值與量化間隔和模數轉換器的輸入阻抗值有關。編碼是將量化后的信號編碼成二進制代碼輸出。這 些過程有些是合并進行
11、的,例如,采樣和保持就利用一個電路連續完成,量化和編碼也是在轉換過程中同時實現的AlNO TUWl VUDAfNI |_2_詞 AOlJTA*N2 1Jj VFtFrA1N3 4百AaNDF*CSo T回EXTAl區ClSCA2叵lo SCLySS叵Vl SDArno9ss f PCFI6N且所用時間又是保持時間的一部分234報警電路RJLK(JM)蛭鳴器模塊一般所指的蜂鳴器是以壓電陶瓷為主要元件 的。壓電陶瓷是一類有將壓力與電流相互轉換能力 的特殊陶瓷。這種能力緣于其特殊的晶體結構。當 壓電陶瓷在一定方向上受到一個壓力使其晶體結 構發生形變時,它就會在內部產生一個電流,并且 電流的變化與壓力
12、的變化密切相關。反之亦然。所 以利用這一特性,在壓電陶瓷上通過一定頻率的電 流,就會引起壓電陶瓷微小形變,這一形變帶動空 氣發生振動,如果頻率適當,就可以被人耳所聽見,也就是產生了蜂鳴聲。由于蜂鳴器的工作電流一般比較大,以致于單片機的I/O 口是無法直接驅動的,所以要利用放大電路來驅動,一般使用三極管來放大電流就可以了。當光照強度過高或過弱時,蜂鳴器會開始報警。2.3.5顯示電路顯示電路采用的是1602液晶1602液晶也叫1602字符型液晶,它是一種專門用來顯示字母、數字、符號等的點 陣型液晶模塊。它由若干個5X7或者5X11等點陣字符位組成,每個點陣字符位都可以 顯示一個字符,每位之間有一個
13、點距的間隔,每行之間也有間隔,起到了字符間距和 行間距的作用。1602LCc是指顯示的內容為16X2,即可以顯示兩行,每行16個字符液晶模塊(顯 示字符和數字)。市面上字符液晶大多數是基于 HD44780ft晶芯片的,控制原理是完全相同的,因 此基于HD4478C寫的控制程序可以很方便地應用于市面上大部分的字符型液晶。1 602顯示校塊LCrMSS 二-二 £一 Y= H一>2"6()U h二hUrE-LE LE LEr LS 気學一 蘭l- ll一一 IL 二I-:- 一 UP.-一*1 4 J液晶顯示內谷有光照的強度:“Light TeXt : XXX ”亮度等級
14、:“No Light! (無 光)、“LOWLight ”(低光照)”、“MiddIe Light ”(中等光照)、“High Light ” (高亮度)、“So High! ”(太高)四個等級。由于本系統采用的是8位AD芯片。所以顯示亮度的數值范圍是0256,即最低亮度檢測顯示為0,最高亮度檢測顯示為256。測試圖如上可以看出當數字顯示過小時表明光照過低,系統發出警報3. 光照檢測裝置軟件設計3.1軟件主程序主程序流程圖報警器報警3.2顯示程序while LCD_Write_Stri ng(O, 0,"Light Test:");num=255-ReadADC(0);/值
15、取差值,用于顯示光強越小,數值越小 aaa=( nu m/100);bbb=( nu m%100)10;ccc=( nu m%100)%10;LCD_Write_Char ( 12,0, 0x30+aaa);LCD_Write_Char ( 13,0, 0x30+bbb);LCD_Write_Char ( 14,0, 0x30+ccc);DeIayMS(500);if (n um<30)LCD_Write_Stri ng(1, 1,"No Light!");Warn();else if (n um>=30&&nu m<80)LCD_Writ
16、e_Stri ng(1, 1,"Low Light ");else if (nu m>=80&&n um<130)LCD_Write_Stri ng(1, 1,"Middle Light ");else if(num >=130&&n um<180)LCD_Write_Stri ng(1, 1,"High Light ");elseLCD_Write_String(1, 1,"So High! "); warn();3.3 報警程序#include<re
17、g52.h>#include"spk.h"void DelayUs2x(unsigned char t);/ 函數聲明 void DelayMs(unsigned char t);void warn(void)unsigned int i;/ while(1)/ for(i=0;i<200;i+) DelayUs2x(200);spk=!spk;spk=0;/ 防止一直給喇叭通電造成損壞 for(i=0;i<200;i+)DelayMs(1);/ 15 / 204.電路仿真調試XTALl<TEK1>C2IlIJl:XTJBLlP3* 1 TTV
18、eIOP HDc: LKCHIDIIOVlPDQ23FT7CTEKrILoDl LJ©血 ETE<1h XTALIF0.1D1PAD2XTALZPblPQiHPnSAXfSP0JWtIcgTMarASF.1fBF>1QPsEiPZlA11ALEP2.WA1EP7SA13PZjSAUP1.T15lDrRF3.1fTXtFIZP3Z,HTF13PWP1単R STl川P3iPljSFWFPiljlF3.7IInr C-Z ITEMrnI-=q"!S-m-37PnZ+-ii-35!口pB,J-P DSSa"S-p7sBIaH *117 3 1*pr '
19、 "is5.總結與心得本設計主要完成了以下內容:數字式光照強度檢測系統的工作原理及應用、基本 方案的選擇、單片機系統的硬件設計、單片機系統的軟件設計、系統各個模塊的設計 以及系統的仿真調試。設計的要求是檢測光照強度,光敏電阻在光照下電阻兩端電壓 改變電壓式模擬量需要轉換成數字量這樣單片機才能采集到信號因而選擇 A/D 模數轉 換。在設計過程中設計的前一部分也就是系統的硬件設計比較順利,但到了系統仿真 調試的時候出現了一定困難,包括軟件繪圖方面以及軟件編程方面。經過不懈努力還 是完成了老師要求的內容,通過這次課程設計認識到了自己的不足,我會努力完善自 己的知識基礎和實踐能力,相信以后會
20、更好。感謝我的隊友王軼超,感謝老師對我們 課程設計中的指導,我會更加努力,在專業上取得更大進步!附錄參考文獻1 閻石.數字電子技術基礎(第四版) M. 高等教育出版社 .1998.112 張毅剛等 .MCS-51 單片機應用設計 .哈爾濱工業電子出版社, 19963 何立民 .單片機應用技術選編 .北京航空航天大學出版社, 20004 張友德等 .單片微型機原理應用與實驗,復旦大學出版社,1996源程序#include<reg52.h>/包含單片機寄存器的頭文件#include<intrins.h> /包含_nop_()函數定義的頭文件Sbit CS=P34;/將CS位
21、定義為P3.4引腳Sbit CLK=P10;/將 CLK位定義為 P1.0 引腳定義字符數組顯示數字說明顯示的是電壓Sbit DIo=P11; /將 DIo位定義為 P1.1 引腳unsigned char code digit10="0123456789" /unSigned char code Str1="Volt= . V"/unSigned char code Str2="SLG I LoVE YoU"以下是對液晶模塊的操作程序*/Sbit RS = P20; / 定義端口Sbit RW = P21;Sbit E= P22;/
22、 使能信號位,將E位定義為P2.2弓I腳Sbit BF=P07; /忙碌標志位,將BF位定義為P0.7引腳函數功能:延時1ms (3j+2)*i=(3× 33+2) × 10=1010(微秒),可以認為是1毫秒 void delay1mS()unSigned char i,j; for(i=0;i<10;i+) for(j=0;j<33;j+);/* 函數功能:延時若干毫秒 入口參數: n */void delaynmS(unSigned char n)unSigned char i;for(i=0;i<n;i+)delay1mS();/*函數功能:判斷液
23、晶模塊的忙碌狀態返回值: reSult 。result=1 ,忙碌 ;result=0 ,不忙 */ bit BusyTest(void)bit result;RS=O; Zz根據規定,RS為低電平,RW為高電平時,可以讀狀態RW=1;E=1; ZZE=1 ,才允許讀寫_nop_(); ZZ 空操作_nop_();_nop_();_nop_(); ZZ 空操作四個機器周期,給硬件反應時間 result=BF; ZZ 將忙碌標志電平賦給 resultE=0; ZZ 將E恢復低電平return O; Z* 函數功能:將模式設置指令或顯示地址寫入液晶模塊 入口參數: dictate*Z void W
24、riteInstruction (unsigned char dictate) while(BusyTest()=1); ZZ 如果忙就等待RS=O; ZZ根據規定,RS和RZW同時為低電平時,可以寫入指令RW=0;E=0; ZZE置低電平(根據表8-6 ,寫指令時,E為高脈沖,ZZ就是讓E從0到1發生正跳變,所以應先置"0" _nop_();_nop_(); ZZ 空操作兩個機器周期,給硬件反應時間P0=dictate; ZZ將數據送入P0 口,即寫入指令或地址_nop_();_nop_();_nop_(); ZZ 空操作四個機器周期,給硬件反應時間E=1; ZZE 置高
25、電平_nop_();_nop_();_nop_();_nop_(); ZZ 空操作四個機器周期,給硬件反應時間E=0; ZZ當E由高電平跳變成低電平時,液晶模塊開始執行命令Z* 函數功能:指定字符顯示的實際地址 入口參數: x*/void WriteAddress(unsigned char x)Writelnstruction(x0x80); /顯示位置的確定方法規定為"80H+地址碼x"/* 函數功能:將數據 (字符的標準 ASCll 碼)寫入液晶模塊 入口參數: y( 為字符常量 )*/void WriteData(unsigned char y)while(Busy
26、Test()=1);RS=1; /RS 為高電平,RW低電平時,可以寫入數據RW=0;E=0; /E置低電平(根據表8-6 ,寫指令時,E為高脈沖,/就是讓E從0到1發生正跳變,所以應先置"0"P0=y; /將數據送入P0 口,即將數據寫入液晶模塊_nop_();_nop_();_nop_();_nop_(); / 空操作四個機器周期,給硬件反應時間E=1;/E 置高電平_nop_();_nop_();_nop_();_nop_(); / 空操作四個機器周期,給硬件反應時間E=0; /當E由高電平跳變成低電平時,液晶模塊開始執行命令/*函數功能:對LCD的顯示模式進行初始化
27、設置*/void Lcdlnitiate(void)delaynms(15); / 延時15ms首次寫指令時應給LCC一段較長的反應時間WriteInstruction(0x38); /顯示模式設置:16× 2顯示,5× 7點陣,8位數據接口delaynms(5); /延時5ms給硬件一點反應時間WriteInstruction(0x38);delaynms(5); /延時5ms給硬件一點反應時間WriteInstruction(0x38); / 連續三次,確保初始化成功 delaynms(5); /延時5ms給硬件一點反應時間WriteInstruction(0x0c);
28、 /顯示模式設置:顯示開,無光標,光標不閃爍delaynms(5); /延時5ms給硬件一點反應時間WriteInstruction(0x06); /顯示模式設置:光標右移 字符不移delaynms(5); / 延時 5ms 給硬件一點反應時間WriteInstruction(0x01); /清屏幕指令 將以前的顯示內容清除20 / 20delaynms(5); / 延時5ms給硬件一點反應時間以下是電壓顯示的說明函數功能:顯示電壓符號void display_volt(void)unsigned char i;寫顯示地址,將在第 2 行第 1列開始顯示 從第一個字符開始顯示 只要沒有寫到結束
29、標志,就繼續寫將字符常量寫入 LCDWriteAddress(0x01); / i = 0; / while(Str1i != '0') / WriteData(Str1i); / i+; / 指向下一個字符void display3(void)unsigned char i;WriteAddress(0x80+0x41); / 寫顯示地址,將在第 2 行第 1列開始顯示 i = 0; / 從第一個字符開始顯示只要沒有寫到結束標志,就繼續寫while(Str2i != '0') /WriteData(Str2i); / i+; / 指向下一個字符將字符常量寫入
30、LCD函數功能:顯示電壓的小數點*/ void display_dot(void)1 行第 10 列開始顯示LCDWriteAddress(0x0d); / 寫顯示地址,將在第 WriteData('.'); / 將小數點的字符常量寫入 /* 函數功能:顯示電壓的單位 (V)*/ void display_V(void)WriteAddress(0x0e); / 寫顯示地址,將在第 2 行第 13 列開始顯示 WriteData('V'); / 將字符常量寫入 LCDI*函數功能:顯示電壓的整數部分入口參數: x*void display1(unsigned char x)WriteAddress(0x08); / 寫顯示地址 , 將在第 2 行第 7 列開始顯示 WriteData(digitx); / 將百位數字的字符常量寫入 LCD /* 函數功能:顯示電壓的小數數部分 入口參數: x*/ void display2(unsigned char x)unsigned char i,j;i=x/10; / 取十位(小數點后第一位) j=x%10; / 取個位(小數點后第二位)WriteAddress(0x0a); /WriteData(digiti); /Writ
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農小蜂年度中國肉類生產及分布數據分析報告
- 2025年工業互聯網平臺SDN優化與5G通信技術在工業互聯網中的應用報告
- 2025年農業灌溉用水高效利用與水資源優化配置報告
- 2025年綠色供應鏈管理在調味品制造業的應用與推廣研究報告
- 智能礦山無人作業系統在煤炭開采中的應用研究與發展報告
- 2025年線下演出市場復蘇后的經濟效益與社會影響研究報告
- 基于區塊鏈技術的2025年零售企業數字化供應鏈協同安全報告
- 06年司法局上半年工作總結
- 2025年裝配式建筑部品部件生產流程優化與標準化創新案例分析報告
- 核電項目日常管理制度
- 民法典案例解讀PPT
- 安全生產知識應知應會
- 質 量 管 理 體 系 認 證審核報告(模板)
- 腫瘤科新護士入科培訓和護理常規
- 體育器材采購設備清單
- 第4章 頜位(雙語)
- 二手車鑒定評估報告書最終
- 電影場記表(雙機位)
- 塔吊負荷試驗方案
- 電子商務專業“產教融合、五雙并行”人才培養 模式的實踐研究課題論文開題結題中期研究報告(經驗交流)
- 購買社區基本公共養老、青少年活動服務實施方案
評論
0/150
提交評論