畢業(yè)設計---基于單片機的紅外自動淋浴器設計 (2)_第1頁
已閱讀1頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  學科分類號: 08 </p><p><b>  本科生畢業(yè)設計</b></p><p>  題 目: 基于單片機的紅外自動淋浴器的設計 </p><p>  學生姓名: 學號 07416135 </p><p>  系 部: 通信與控

2、制工程系 </p><p>  專業(yè)年級: 通信工程2007級 </p><p>  指導教師: </p><p>  職 稱: </p><p>  基于單片機的紅外自動

3、淋浴器設計</p><p>  摘要:目前我國國有企業(yè)、事業(yè)單位、學校等都有許多公共浴室,其中大多是傳統(tǒng)淋浴設備,這些設備陳舊,造成大量淡水資源的浪費,針對我國淡水資源浪費的現(xiàn)狀,本文設計了一種能自動感應人的來去的紅外自動淋浴系統(tǒng)。系統(tǒng)主要以STC89C52單片機為核心,以RE200B傳感器為紅外接收模塊,蜂鳴器報警模塊,LCD顯示模塊及電磁閥控制模塊,并輔有一些外部元件組成。單片機接收到的紅外信號后打開電磁閥,

4、此時開始淋浴,同時通過LCD液晶顯示淋浴時間或定時時間,當定時時間快到時,通過蜂鳴器進行聲音報警,并一分鐘后關閉電磁閥,從而達到淋浴節(jié)水效果。</p><p>  關鍵詞:Pro tel DXP; 電路設計; Wo rd 文檔; 仿真性能</p><p>  Design of Infrared Automatic Shower Based on MCU</p><p&

5、gt;  Abstract: Altium's Protel DXP2004 was launched in 2004, the latest version of the circuit design software, which enables from conceptual design, level design and production data until the output of all this anal

6、ysis between the validation and design data management. The current popular Protel 98, Protel 99 SE, is its pre-release. Protel DXP 2004 is not a simple PCB (printed circuit board) design tools, but by the number of

7、modules of the system tools, namely, SCH (schematic) design, SCH (sch</p><p>  Keywords:infrared sensors; shower; induction; electromagnetic valve; buzzer </p><p><b>  目 錄</b>

8、</p><p><b>  第一章 緒論1</b></p><p>  1.1 紅外技術的特點1</p><p>  1.2 課題背景及意義1</p><p>  1.3 國內(nèi)外的研究現(xiàn)狀2</p><p>  1.4 論文的主要研究內(nèi)容3</p><p>  

9、第二章 系統(tǒng)整體方案設計4</p><p>  2.1系統(tǒng)設計思路4</p><p>  2.2系統(tǒng)方案設計4</p><p>  2.2.1 方案一4</p><p>  2.2.2 方案二5</p><p>  第三章 系統(tǒng)硬件設計6</p><p>  3.1單片機的選擇6&

10、lt;/p><p>  3.1.1 STC89C52單片機的特點6</p><p>  3.1.2 STC89C52單片機的管腳說明8</p><p>  3.2紅外信號的采集電路設計9</p><p>  3.2.1 RE200B熱釋紅外傳感器結(jié)構圖及工作原理10</p><p>  3.2.2熱釋電紅外傳感器R

11、E200B處理芯片BISS000111</p><p>  3.2.3 紅外采集電路12</p><p>  3.3顯示電路設計13</p><p>  3.3.1 1602液晶模塊JHD162A 簡介13</p><p>  3.3.2單片機與1062LCD接口電路設計16</p><p>  3.4 報警

12、電路設計17</p><p>  3.5 電磁閥控制電路設計17</p><p>  第四章 系統(tǒng)軟件設計19</p><p>  4.1 主程序設計19</p><p>  4.2 紅外信號采集程序19</p><p>  4.3 報警程序19</p><p>  4.4液晶顯示驅(qū)

13、動程序19</p><p><b>  致謝22</b></p><p><b>  參考文獻23</b></p><p><b>  附錄24</b></p><p>  附錄A 開發(fā)板原理圖24</p><p>  附錄B 程序清單25&

14、lt;/p><p><b>  第一章 緒論</b></p><p>  近年來單片機技術發(fā)展很快,已廣泛應用于軍事、通信、消費類電子等領域正成為各行業(yè)不可缺少的技術,是電子類科研和工程技術人員必須掌握的技術之一。</p><p><b>  紅外技術的特點</b></p><p>  紅外技術能夠得到

15、眾多廠家的支持和青睞,是和其本身的優(yōu)點是分不開的。</p><p>  一般人體都有恒定的體溫,一般在37度,所以會發(fā)出特定波長10UM左右的紅外線,被動式紅外探頭就是靠探測人體發(fā)射的10UM左右的紅外線而進行工作的。人體發(fā)射的10UM左右的紅外線通過菲尼爾濾光片增強后聚集到紅外感應源上。紅外感應源通常采用熱釋電元件,這種元件在接收到人體紅外輻射溫度發(fā)生變化時就會失去電荷平衡,向外釋放電荷,后續(xù)電路經(jīng)檢驗處理后即

16、可產(chǎn)生報警信號型還是B型,其引線只有4根,2根數(shù)據(jù)線,一根電源線,一根地線。釋電紅外傳感技術在紅外探測、夜視裝置、防入侵、安全防范、自動門控制、自動燈控制、交通管制、溫度監(jiān)測以及觀點玩具等方面有著廣泛應用[1]。因其價格低廉、技術性能穩(wěn)定而受到廣大用戶和專業(yè)人士的歡迎:</p><p> ?、拧坝须娢kU”安全警示電路:用于有電場合時,通過發(fā)出聲音和聲光提醒人們注意安全。</p><p> 

17、?、谱詣娱T:主要用于銀行、賓館;當有人來到時,大門自動打開,人離開后又自動關閉。</p><p> ?、羌t外防盜報警器:用于銀行、辦公樓、家庭等場合的防盜報警器。</p><p> ?、雀咚俟奋囕v、車流計數(shù)器。</p><p> ?、勺詣娱_、關的照明燈,人體自動開關等。</p><p><b>  課題背景及意義</b>

18、;</p><p>  我國國有企業(yè)、事業(yè)單位、學校等都有許多公共浴室,其中大多是傳統(tǒng)淋浴設備;這些設備陳舊,造成大量淡水資源的浪費。這些浴室每個噴頭沒一小時浪費掉0.25噸水,一天工作八小時就浪費2噸水,那么一千個、十萬個這樣的噴頭將浪費多么大的淡水資源;浪費主要是因為水閥,其中主要與出水閥有關目前傳統(tǒng)公共浴室應用較廣泛的閥門有兩種。第一中是手動閥。這是最原始,但價格低廉,在我國廣大城鄉(xiāng)地區(qū)仍應用廣泛。第二種是

19、腳踏彈簧閥。這種閥門采用機械性原理,實現(xiàn)半自動控制?,F(xiàn)在基于單片機的紅外測控系統(tǒng),它采用了單片機控制技術和紅外感應技術,集成了光學、電子、單片機和機械等技術于一體。該系統(tǒng)應用于自動淋浴器的實例表明:系統(tǒng)工作可靠,成本低廉,經(jīng)濟效益顯著。</p><p><b>  國內(nèi)外的研究現(xiàn)狀</b></p><p>  21世紀是邁向信息化社會的嶄新階段,其中,紅外技術已成為這

20、一時期科學技術發(fā)展的重要標志,并最有尋求更大的突破與飛躍。市場上有許多種類的紅外淋浴器,如學校和高級賓館所設的紅外淋浴器,是利用紅外發(fā)射接收方式達到控制淋浴器水龍頭開或關的裝置,當人手將紅外光線切斷, 接收器及控制器件將淋浴器打開供水,由于發(fā)射器所發(fā)出的是一束光線,所以手放的位置受限,而且還要一個長期工作的紅外發(fā)射器,用電量大、成本高易損壞、安裝困難、使用不方便。同時現(xiàn)階段又出現(xiàn)紅外自動淋浴器,利用人的手和身體所發(fā)出的紅外線直接控制淋浴

21、器水龍頭開或關的人體紅外傳感自動淋浴器。產(chǎn)品主要特點:</p><p>  1、自動淋浴器采用紅外遙控原理,自動感應人體的來去,人到水流,人去水停。 </p><p>  2、節(jié)水效果明顯,達30%以上。 </p><p>  3、具有極強的防水垢、防污能力。 </p><p>  4、控制器不怕潮氣、不怕水淋、不怕濃霧。 </p>

22、;<p>  5、控制器和噴頭之間采用電線連接。 </p><p>  6、恒溫供水,供水方式可明可暗。 </p><p>  7、適合廠礦、公共浴池等使用環(huán)境。 </p><p>  8、噴頭與電磁閥合二為一,便于檢修、除垢。</p><p>  9、浴池整體布局合理,墻面整潔,管路明快簡捷,方便浴后清理衛(wèi)生。 </p&

23、gt;<p>  10、人在淋浴時不用觸摸開關,溫馨舒適,充分享受高科技帶來的全自動的文明服務。</p><p><b>  論文的主要研究內(nèi)容</b></p><p>  針對目前國內(nèi)淡水資源大量浪費的現(xiàn)狀,結(jié)合國內(nèi)外現(xiàn)有的相關研究成果及現(xiàn)有的成熟技術。本論文進行了基于單片機的紅外淋浴器系統(tǒng)的研究與設計。</p><p><

24、;b>  論文的主要內(nèi)容有:</b></p><p>  第1章 緒論。簡要介紹本文的研究目的及意義、紅外傳感技術在國內(nèi)外發(fā)展和現(xiàn)狀。</p><p>  第2章 系統(tǒng)整體方案設計。主要包括系統(tǒng)的設計思路與系統(tǒng)方案對比。</p><p>  第3章 系統(tǒng)硬件設計。這部分主要包括系統(tǒng)各模塊的主要芯片選型、各芯片的功能介紹、各模塊的功能作用闡述及其紅外

25、傳感模塊及報警顯示模塊硬件電路設計等。</p><p>  第4章 系統(tǒng)軟件設計。軟件設計部分包括系統(tǒng)主程序、紅外采集程序、顯示程序及報警程序等,并給出了各自的設計流程圖。</p><p>  第二章 系統(tǒng)整體方案設計</p><p>  本章提出了系統(tǒng)的設計思路,明確了系統(tǒng)的功能特點。制定了系統(tǒng)方案框圖 在系統(tǒng)結(jié)構設計部分給出了紅外淋浴系統(tǒng)的結(jié)構圖。</p&

26、gt;<p><b>  2.1系統(tǒng)設計思路</b></p><p>  紅外淋浴系統(tǒng)的設計思路:當人靠近淋浴器時,系統(tǒng)中的紅外傳感器檢測模塊便器檢測到相應的人體紅外信號,系統(tǒng)便被觸發(fā);送給單片機控制系統(tǒng)進行判斷處理后,打開電磁閥、觸發(fā)報警、時間顯示等一系列操作。</p><p><b>  2.2系統(tǒng)方案設計</b></p&

27、gt;<p><b>  2.2.1 方案一</b></p><p>  采用SNS9201紅外傳感器進行對人體紅外信號采集,經(jīng)SNS9201芯片處理之后傳給單片機,單片機作相應的操作,如電磁閥和蜂鳴器的開關,并將時間用數(shù)碼管顯示出來。但SNS9201芯片處理紅外信號時有延時電路,電磁閥不能馬上打開;其次數(shù)碼管功耗大并對電流非常敏感,不能極好顯示時間。所以該方案只能較好完成系統(tǒng)

28、功能。</p><p><b>  圖2-1 方案一</b></p><p><b>  2.2.2 方案二</b></p><p>  采用RE200B紅外傳感器進行對人體紅外信號采集,經(jīng)BISS0001芯片處理之后傳給單片機,單片機作相應的操作。如電磁閥和蜂鳴器的開關,并將時間用LCD顯示出來。BISS0001是一款具

29、有較高性能的傳感信號處理集成電路,能及時對紅外信號進行采集并觸發(fā)單片機的控制操作;LCD體積小、工作電流比LED小幾個數(shù)量級,故其功耗低,且有著良好的人機界面。該方案能很好完成系統(tǒng)功能。</p><p><b>  圖2-2 方案二</b></p><p>  從以上兩種方案,采用方案二。電路比較簡單、費用較低、可靠性高、軟件設計也比較簡單,故采用了方案二。</

30、p><p>  第三章 系統(tǒng)硬件設計</p><p>  根據(jù)系統(tǒng)采用的方案,本章設計了系統(tǒng)的總體結(jié)構圖。闡述了系統(tǒng)硬件的總體結(jié)構;其次進行系統(tǒng)的硬件設計,包括紅外信號采集模塊設計和電磁閥控制模塊設計,液晶顯示模塊設計,報警電路設計等。詳細闡述了各個模塊的芯片選型,根據(jù)所選芯片的功能特點、工作原理及接口電路,設計了各模塊的具體硬件電路。</p><p><b>

31、;  3.1單片機的選擇</b></p><p>  STC89C52是一種低功耗、高性能CMOS 8位微控制器,具有8K可編程Flash存儲器[2]。使用高密度非易失性存儲器技術制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應用系統(tǒng)提供高靈活、超有

32、效的解決方案[3]。</p><p>  3.1.1 STC89C52單片機的特點</p><p><b>  超低功耗</b></p><p><b>  (1)掉電模式:</b></p><p>  典型功耗 0.5uA,可由外部中斷喚醒,中斷返回后,繼續(xù)執(zhí)行原程序</p>

33、<p><b>  (2)空閑模式:</b></p><p>  典型功耗 2mA</p><p>  (3)正常工作模式:</p><p>  典型功耗 4mA - 7mA</p><p><b>  超強抗干擾</b></p><p><b&g

34、t;  (1)I/O口</b></p><p>  輸入/輸出口經(jīng)過特殊處理,很多干擾是從I/O進去的,,每個I/O均有對VCC/對GND二級管箝位保護。</p><p><b>  (2)電源</b></p><p>  單片機內(nèi)部的電源供電系統(tǒng)經(jīng)過特殊處理,很多干擾是從電源進去的。</p><p><

35、;b>  (3)時鐘</b></p><p>  單片機內(nèi)部的時鐘電路經(jīng)過特殊處理,很多干擾是從時鐘部分進去的。</p><p><b>  (4)看門狗</b></p><p>  單片機內(nèi)部的看門狗電路經(jīng)過特殊處理,打開后無法關閉,可放心省去外部看門狗。</p><p><b>  (5)

36、復位電路</b></p><p>  單片機內(nèi)部的復位電路經(jīng)過特殊處理,很多干擾是從復位電路部分進去的。STC89C51RC/RD+系列單片機為高電平復位。推薦外置復位電路為MAX810/STC810,STC6344,STC6345,813L,706P;也可用R/C復位 10uF電容/10k電阻,22uF/8.2k等。</p><p><b>  (6)寬電壓 <

37、;/b></p><p>  不怕電源抖動,5v: 6v - 3.4v 3v: 4v - 1.9v。</p><p><b>  具體特征如下:</b></p><p>  (1)增強型6時鐘、機器周期 12時鐘、機器周期 8051 CPU。</p><p>  (2)工作電壓:5.5V - 3.4V(5V單片

38、機)/ 3.8V - 2.0V(3V單片機)。</p><p>  (3)工作頻率范圍:0 – 40MHZ 相當于普通8051的 0~80MHZ。實際工作頻率可達48MHZ。</p><p>  (4)用戶應用程序空間4K / 8K / 13K / 16K / 32K / 64K 字節(jié)。</p><p>  (5)片上集成1280字節(jié) / 512字節(jié) RAM。<

39、;/p><p>  (6)通用I/O口(32/36個) 復位后為:P1/P2/P3/P4是準以向口/弱上拉(普通8051傳統(tǒng)I/O口)P0口是開漏輸出,作為總線擴展用時,不用加上拉電阻,作為I/O口用時,需加上拉電阻。</p><p>  (7)ISP(系統(tǒng)可編程)/IAP(在應用可編程),無需專用編程器/仿真器可通過串口(P3.0/P3.1)直接下載用戶SK程序3秒即可完成一片。</p

40、><p>  (8)CCPROM功能。</p><p><b>  (9)看門狗電路。</b></p><p>  (10)內(nèi)部集成MAXS10專用復位電路(D版本才有)外部晶體20M以下時,可省外部復位電路。</p><p>  (11)共3個16位定時器/計數(shù)器。其中定時器0還不可以當成2個8位定時器使用。</p&

41、gt;<p>  (12)外部中斷4路,下降沿中斷或低電平觸發(fā)中斷,Power Down模式可由外部中斷低電平觸發(fā)中斷方式喚醒。</p><p>  (13)通用異步串行口(UART) 還可用定時器軟件實現(xiàn)多個UART。</p><p>  (14)工作溫度范圍:0-750C/-400C -+850C。</p><p>  (15)封裝:LQFP-44

42、,PDIP-40,PLCC-44,PQFP-44。</p><p>  3.1.2 STC89C52單片機的管腳說明</p><p>  STC89C52芯片如圖3-1[7]:</p><p>  圖3-1 STC89C52管腳圖</p><p><b>  具體介紹如下:</b></p><p&g

43、t;  (1)主電源引腳(2根)</p><p>  VCC(Pin40):電源輸入接+5V電源;</p><p>  GND(Pin20):接地線;</p><p>  (2)外接晶振引腳(2根)</p><p>  XTAL1(Pin19):片內(nèi)振蕩電路的輸入端;</p><p>  XTAL2(Pin20):片內(nèi)

44、振蕩電路的輸出端;</p><p>  (3)控制引腳(4根)</p><p>  RST/VPP(Pin9):復位引腳,引腳上出現(xiàn)2個機器周期的高電平將使單片機復位。</p><p>  ALE/PROG(Pin30):地址鎖存允許信號;</p><p>  PSEN(Pin29):外部存儲器讀選通信號;</p><p&

45、gt;  (4)可編程輸入/輸出引腳(32根)</p><p>  STC89C52單片機有4組8位的可編程I/O口。分別位P0、P1、P2、P3口,每個口有8位(8根引腳)共32根。</p><p>  PO口(Pin39~Pin32):8位雙向I/O口線,名稱為P0.0~P0.7;</p><p>  P1口(Pin1~Pin8):8位準雙向I/O口線,名稱為P

46、1.0~P1.7;</p><p>  P2口(Pin21~Pin28):8位準雙向I/O口線,名稱為P2.0~P2.7; </p><p>  P3口(Pin10~Pin17):8位準雙向I/O口線,名稱為P3.0~P3.7;</p><p>  STC89C52主要功能如表3.1所示。</p><p>  表3.1 STC89C52主要功

47、能</p><p>  3.2紅外信號的采集電路設計</p><p>  紅外信號采集都是指從傳感器或者其他待測的設備等模擬被測單元或數(shù)字被測單元中自動采集信息的一個過程。信號采集系統(tǒng)是結(jié)合計算機的測量軟硬件相關產(chǎn)品來實現(xiàn)靈活、用戶自定義的測量系統(tǒng)[4]。一個完備的數(shù)據(jù)采集系統(tǒng)應該包括傳感器或變換器、信號調(diào)理設備、數(shù)據(jù)采集和分析硬件、驅(qū)動程序和應用軟件等等。本系統(tǒng)中被檢測的信號為模擬量,要

48、經(jīng)過BISS0001轉(zhuǎn)換成數(shù)字量,才能實現(xiàn)單片機的控制。數(shù)據(jù)采集模塊是將人體紅外的傳感器信號,經(jīng)過BISS0001送給單片機進行處理,終端單片機判斷處理并作時間數(shù)碼顯示及蜂鳴器報警。在數(shù)據(jù)采集模塊部分,本系統(tǒng)采用STC89C52單片機作為前端警情采集中心控制單元,主要完成對所采集數(shù)據(jù)的處理。下面介紹采集模塊各芯片的選型。</p><p>  3.2.1 RE200B熱釋紅外傳感器結(jié)構圖及工作原理</p>

49、;<p>  RE200B熱釋電紅外傳感器[5]的通常由熱釋電晶體、氧化膜、濾光鏡片、結(jié)型場效應管FET和電阻等部分組成。熱釋電晶體一般采用PZT或其他壓電晶體材料,將敏感材料PZT的上、下表面做成電極,并在其上表面上加1層黑色氧化膜,以提高轉(zhuǎn)換效率。在管殼頂端裝有濾光鏡片,它可以阻止不需要的紅外線或其他光線進入傳感器,其結(jié)構如圖3-2所示。</p><p>  紅外傳感器工作原理與紅外線有關,它是

50、利用紅外線的物理性質(zhì)來進行測量的傳感器,熱釋電紅外傳感器內(nèi)部的熱釋電晶體具有極化現(xiàn)象,并且隨溫度的變化而變化。這種傳感器對于不同波長的光線照射都能產(chǎn)生不同程度的響應,因此在傳感器前會加入一個濾鏡窗口,這就是為什么我們能看到的RE200B的to5封裝形式中有一個像玻璃似的小窗。當然通過這個濾鏡可以限定晶體對特定波長的光線產(chǎn)生響應,一般在8um~14um,這樣就非常接近人體輻射的紅外線波長了。當恒定的紅外輻射照射在探測器上時,熱釋電晶體溫度

51、不變,晶體對外呈電中性,探測器沒有電信號輸出,因而恒定的紅外輻射不能被檢測到。當交變的紅外線照射到晶體表面時,晶體溫度迅速變化,這時才發(fā)生電荷的變化,從而形成一個明顯的外電場,這種現(xiàn)象稱為熱釋電效應。由于熱釋電晶體輸出的是電荷信號,不能直接使用,需要用電阻將其轉(zhuǎn)換為電壓形式,該電阻阻抗高達104兆,故引入N溝道結(jié)型場效應管接成共漏形式(即源極跟隨器)來完成阻抗變換。熱釋電紅外傳感器,其內(nèi)部結(jié)構示意圖如圖3-3所示。該傳感器將兩個特性相同

52、的熱釋電晶體逆向串聯(lián),用來防止其他紅外光引起傳感器誤動作。另外,當環(huán)境溫度改變時,兩</p><p>  圖3-2 紅外傳感器結(jié)構圖 圖3-3 熱釋電紅外傳感器內(nèi)部結(jié)構示意圖</p><p>  3.2.2熱釋電紅外傳感器RE200B處理芯片BISS0001</p><p>  RE200B紅外熱釋電處理芯片BISS0001,BISS

53、0001是一款具有較高性能的傳感信號處理集成電路,它配以熱釋電紅外傳感器和少量外接元器件構成被動式的熱釋電紅外開關。它能自動快速開啟各類白熾燈、熒光燈、蜂鳴器、自動門、電風扇、烘干機和自動洗手池等裝置,特別適用于企業(yè)、賓館、商場、庫房及家庭的過道走廊等敏感區(qū)域,或用于安全區(qū)域的自動燈光、照明和報警系統(tǒng)[6]。該處理芯片具有CMOS工藝,數(shù)?;旌?,具有獨立的高輸入阻抗運算放大器;內(nèi)部的雙向鑒幅器可有效抑制干擾,內(nèi)設延遲時間定時器和封鎖時間

54、定時器,采用16腳DIP封裝等特點。紅外熱釋電處理芯片BISS0001[7]管腳如下圖3-4: </p><p>  圖3-4 BISS0001管腳圖</p><p>  BISS0001管腳說明如下表3.2:</p><p><b>  表3.2 管腳說明</b></p><p>  BISS0001是由運算放大器、電

55、壓比較器、狀態(tài)控制器、延遲時間定時器以及封鎖時間定時器等構成的數(shù)模混合專用集成電路。</p><p>  3.2.3 紅外采集電路</p><p>  紅外傳感器接收到人體紅外信號經(jīng)BISS0001處理后輸出輸給單片機P1.0口,TEL0表示接STC89C52是的P1.0口,通過對P1.0電平的判斷,實現(xiàn)對單片機外圍電路的控制,如電磁閥控制水閥電路,液晶顯示淋浴時間等。紅外采集電路[7]如

56、圖3-5:</p><p>  圖3-5 紅外采集電路</p><p><b>  3.3顯示電路設計</b></p><p>  在本系統(tǒng)中,用LCD液晶屏來構成顯示部分,主要在人來時對淋浴計時時間和定時時間的顯示。LCD液晶顯示器具有功耗低、壽命長、無輻射、不易引起視疲勞等優(yōu)點,正在被廣泛應用于儀表、家用電器、計算機、醫(yī)療儀器及交通和通信領

57、域[8]。本系統(tǒng)中,選擇JHD162A作為液晶屏的顯示驅(qū)動控制器。</p><p>  3.3.1 1602液晶模塊JHD162A 簡介</p><p>  字符型液晶顯示模塊是一種專門用于顯示字母、數(shù)字、符號等點陣式LCD 目前常用16*1 16*2 20*2和40*2行等的模塊。是一種很常用的小型液晶顯示模塊 在單片機系統(tǒng)、嵌入式系統(tǒng)等的人機界面中得到了廣泛的應用。</p>

58、<p>  1602LCD主要技術參數(shù)如下:</p><p>  (1)顯示容量:16×2個字符</p><p>  (2)芯片工作電壓:4.5-5.5V</p><p>  (3)工作電流:2.0mA(5.0V)</p><p>  (4)模塊最佳工作電壓:5.0V</p><p>  (5)

59、字符尺寸:2.95×4.35(W×H)mm</p><p><b>  引腳功能說明:</b></p><p>  1602LCD采用標準的14腳(無背光)或16腳(帶背光)接口,各引腳接口說明如表3.3所示:</p><p>  表3.3 引腳接口說明表</p><p>  1602LCD的指令說明

60、及時序</p><p>  1602液晶模塊內(nèi)部的控制器共有11條控制指令,如表3.4所示:</p><p><b>  表3.4 指令說明</b></p><p>  1602液晶模塊的讀寫操作、屏幕和光標的操作都是通過指令編程來實現(xiàn)的。(說明:1為高電平、0為低電平)。</p><p>  指令1:清顯示 指令碼01

61、H,光標復位到地址00H位置。</p><p>  指令2:光標復位 光標返回到地址00H。</p><p>  指令3:光標和顯示模式設置 I/D:光標移動方向 高電平右移 低電平左移 S:屏幕上所有文字是否左移或者右移。高電平表示有效 低電平則無效。</p><p>  指令4:顯示開關控制。D:控制整體顯示的開與關 高電平表示開顯示 低電平表示關顯示 C:控制

62、光標的開與關 高電平表示有光標 低電平表示無光標 B:控制光標是否閃爍 高電平閃爍 低電平不閃爍。</p><p>  指令5:光標或顯示移位S/C:高電平時移動顯示的文字 低電平時移動光標。</p><p>  指令6:功能設置命令DL:高電平時為4位總線 低電平時為8位總線 N:低電平時為單行顯示 高電平時雙行顯示 F: 低電平時顯示5×7的點陣字符 高電平時顯示5×

63、;10的點陣字符。</p><p>  指令7:字符發(fā)生器RAM地址設置。</p><p>  指令8:DDRAM地址設置。</p><p>  指令9:讀忙信號和光標地址 BF:為忙標志位 高電平表示忙 此時模塊不能接收命令或者數(shù)據(jù) 如果為低電平表示不忙。</p><p><b>  指令10:寫數(shù)據(jù)。</b><

64、/p><p><b>  指令11:讀數(shù)據(jù)。</b></p><p>  讀操作時序如圖3-6所示:</p><p>  圖3-6讀操作時序圖</p><p>  寫操作時序如圖3-7所示:</p><p>  圖3-7 寫操作時序圖</p><p>  3.3.2單片機與10

65、62LCD接口電路設計</p><p>  根據(jù)1062LCD的工作原理,我們可以設計單片機與1062LCD的接口電路圖如3-8所示:</p><p>  圖3-8 單片機與JHD162A的應用電路</p><p>  3.4 報警電路設計</p><p>  本系統(tǒng)采用蜂鳴器作為報警,淋浴時當設置的定時時間還有一分鐘時,蜂鳴器響應單片機進行

66、報警。蜂鳴器報警原理比較簡單,單片機對IO口P1.2控制;當定時時間還有一分鐘時,單片機給P1.2口輸出低電平,蜂鳴器工作,達到報警的效果。報警電路如圖3-9:</p><p>  圖 3-9 蜂鳴器與單片機的接口電路圖</p><p>  3.5 電磁閥控制電路設計</p><p>  本系統(tǒng)采用電磁閥控制浴室水閥的開關,電磁閥是利用電線圈通電時產(chǎn)生電磁力,使動鐵

67、芯克服彈簧力同靜鐵芯吸合直接開啟閥,介質(zhì)呈通路;當線圈斷電時電磁力消失,鐵芯在彈簧力的作用下復位,直接關閉閥口,介質(zhì)不通[9]。系統(tǒng)中由單片機stc89C52 的P1.1腳輸出信號使驅(qū)動電路工作于相應的工作狀態(tài)。當P1.1輸出高電平時,經(jīng)過電阻R4使開關三極管8050飽和導通,電流從R3經(jīng)三極管的CE極流向光電耦合器,發(fā)光二極管點亮,次極三極管導通,水管電磁閥通電,吸合動鐵芯,閥門打開,水開始流出。當P1.1輸出低電平時,三極管8050

68、截止,水管電磁閥斷電,閥門關閉。電磁閥的控制電路如圖3-10:</p><p>  圖3-10 電磁閥控制電路</p><p>  第四章 系統(tǒng)軟件設計</p><p>  分析單片機的系統(tǒng)功能可知,它是數(shù)據(jù)采集模塊的主控制器,主要完成對人頭紅外信號的采集,然后通過紅外傳感模塊傳送給單片機處理。根據(jù)系統(tǒng)功能要求,單片機的軟件設計部分主要包括主程序設計、紅外信號采集程

69、序設計和LCD顯示程序設計以及報警程序設計。</p><p><b>  4.1 主程序設計</b></p><p>  系統(tǒng)主程序主要是在系統(tǒng)上電后進行的一系列初始化工作,包括對I/O口、定時器/計數(shù)器、中斷系統(tǒng)等特殊功能寄存器賦值,使得數(shù)據(jù)采集、LCD顯示、電磁閥控制、報警等模塊與單片機的數(shù)據(jù)傳輸正常[10]。其程序運行框圖如圖4-1所示。當把采集到紅外信號進行相

70、應的處理后,通過LCD進行時間顯示,同時對電磁閥、蜂鳴器進行相應的控制。</p><p>  4.2 紅外信號采集程序</p><p>  通過對單片機P1.0口的高低電平判斷來完成紅外信號的采集,當P1.0口為低電平時判斷人來,否則繼續(xù)循環(huán)檢測,當人來時完成信號采集。程序如圖4-2:</p><p><b>  4.3 報警程序</b>&l

71、t;/p><p>  當淋浴時定時時間還有一分鐘結(jié)束時,蜂鳴器報警。報警時,單片機給IO口P1.2賦予低電平,此時進行報警,如圖4-3: </p><p>  4.4液晶顯示驅(qū)動程序</p><p>  顯示模塊采用的是LCD1602液晶顯示芯片,使用LCD進行顯示也有很多成熟的技術。單片機將處理完的數(shù)據(jù)傳輸?shù)絃CD顯示的時候,也用了很多子程序 它們有檢查LCD忙狀態(tài)(

72、程序流程圖為圖4-4);寫指令數(shù)據(jù)到LCD(程序流程圖為圖4-5);寫顯示數(shù)據(jù)到LCD(程序流程圖為圖4-6);LCD初始化(程序流程圖為圖4-7)[11]。通過液晶顯示出來,相關人員就可以更加直接的對淋浴房的當前情況有一個直觀的了解了。</p><p>  圖4-1 主程序流程圖 圖4-2 紅外信號采集程序流程圖</p><p>  圖4-3 報警程序流程圖 圖

73、4-4 檢查LCD忙流程圖 圖4-5 寫指令數(shù)據(jù)流程圖</p><p>  圖4-6 寫顯示數(shù)據(jù)流程圖 圖4-7 LCD初始化流程圖</p><p><b>  致謝</b></p><p>  首先,衷心感謝我的指導老師王志勇老師和謝四蓮老師。本課題是在王老師、謝老師的指導下完成的。在我整個的畢業(yè)設計制作過程中,受到兩位老師很多的幫助。

74、從設計的選題、研制計劃的安排到設計的具體過程,兩位老師都給予了悉心的指導。王老師嚴謹?shù)闹螌W態(tài)度、開明的學術思想,謝老師事必躬親的工作精神、和寬人律己的高尚品德深深打動著我,使我倍受教育。值此畢業(yè)設計完成之際,謹向王老師、謝老師致以誠摯的謝意!再一次向他們表示衷心的感謝,感謝他們?yōu)閷W生營造的濃郁學習氛圍,以及學習、生活上的無私幫助!</p><p>  同時感謝湖南人文科技學院通信與控制工程系的所有教師對我的學業(yè)和

75、成長付出寶貴的時間和辛勤的汗水;感謝07級通信工程本一班的同學們在學習、生活上給我大力的支持和幫助。在此論文完成之際,我衷心的祝愿你們身體健康,工作順利??!</p><p><b>  參考文獻</b></p><p>  [1] 薛晨陽等.紅外傳感器的信號提取和數(shù)據(jù)采集的設計[J].儀表技術與傳感器,2007 ,2 P45-47.</p><p&

76、gt;  [2]張鑫等.單片機原理及應用[M].電子工業(yè)出版社,2006,7 4(7):P24-35.</p><p>  [3]李光飛等.單片機課程設計實例指導[M].北京航空航天大學出版社,2004..</p><p>  [4]張齊等.單片機應用系統(tǒng)設計技術——基本C語言編程[M].電子工業(yè)出版社,2004.</p><p>  [5]沙占友等.單片機外圍電路

77、設計[M].電子工業(yè)出版社,2003,16(7):P176-192</p><p>  [6] 周興華.單片機智能化產(chǎn)品——C語言設計實例詳解[M].北京航空航天大學出版社,2006,7 P94-123.</p><p>  [7]朱定華,戴汝平.單片微機原理與應用[M].北京:清華大學出版社,2003.</p><p>  [8] 樓然苗,李光飛.單片機課程設計指

78、導[M].北京航空航天大學出版社,2007.</p><p>  [9] 宋文緒.傳感器與檢測技術[M].北京: 高等教育出版社,2004.</p><p>  [10]肖洪兵.跟我學用單片機.北京:北京航空航天大學出版社,2002.8. </p><p>  [11]何立民.單片機高級教程.第1版.北京:北京航空航天大學出版社,2001.</p>&

79、lt;p><b>  附錄</b></p><p>  附錄A 開發(fā)板原理圖</p><p><b>  附錄B 程序清單</b></p><p>  #include<reg52.h></p><p>  #define uchar unsigned char</p>

80、<p>  #define uint unsigned int</p><p>  #include"24c02.h"</p><p>  sbit p1.0=P1^0; /定義紅外信號采集口</p><p>  sbit p1.1=P1^1; /定義控制電磁閥口</p><p>  sbit p1.2=P1

81、^2; /定義蜂鳴器控制口</p><p>  sbit lcden=P2^2;//定義LCD使能端</p><p>  sbit rw=P2^1;//定義LCD讀寫端</p><p>  sbit rs=P2^0;//定義1602液晶RS端</p><p>  uchar count,s1num;</p><p> 

82、 char ge,shi,bai;</p><p>  /*-----------------------------------------------------------*/</p><p><b>  //兩個延時函數(shù)</b></p><p>  void delay0()</p><p><b> 

83、 {;;}</b></p><p>  void delay(uint z)</p><p><b>  {</b></p><p><b>  uint x,y;</b></p><p>  for(x=z;x>0;x--)</p><p>  for(y

84、=110;y>0;y--);</p><p><b>  }</b></p><p>  /*-----------------------------------------------------------*/</p><p><b>  //報警函數(shù)</b></p><p>  voi

85、d baojing()</p><p><b>  {</b></p><p><b>  P1.2=0;</b></p><p>  delay(100);</p><p><b>  p1.2=1;</b></p><p><b>  }&

86、lt;/b></p><p>  /*-----------------------------------------------------------*/</p><p>  void write_com(uchar com)</p><p><b>  {</b></p><p><b>  rs

87、=0;</b></p><p><b>  lcden=0;</b></p><p><b>  P0=com;</b></p><p><b>  delay(5);</b></p><p><b>  lcden=1;</b></p&

88、gt;<p><b>  delay(5);</b></p><p><b>  lcden=0;</b></p><p><b>  }</b></p><p>  /*----------------------------------------------------------

89、-*/</p><p>  void write_date(uchar date)</p><p><b>  {</b></p><p><b>  rs=1;</b></p><p><b>  lcden=0;</b></p><p><b&

90、gt;  P0=date;</b></p><p><b>  delay(5);</b></p><p><b>  lcden=1;</b></p><p><b>  delay(5);</b></p><p><b>  lcden=0;</

91、b></p><p><b>  }</b></p><p>  /*-----------------------------------------------------------*/</p><p><b>  //時間函數(shù)</b></p><p>  void write_sfm(

92、uchar add,uchar date)</p><p><b>  {</b></p><p>  uchar bai,ge;</p><p>  bai=date/10;</p><p>  ge=date%10;</p><p>  write_com(0x80+0x40+add);<

93、;/p><p>  write_date(0x30+bai);</p><p>  write_date(0x30+ge);</p><p><b>  }</b></p><p>  /*-----------------------------------------------------------*/</p&

94、gt;<p>  void write_byte(uchar date)</p><p><b>  {</b></p><p>  uchar i,temp;</p><p>  temp=date;</p><p>  for(i=0;i<8;i++)</p><p>&l

95、t;b>  {</b></p><p>  temp=temp<<1;</p><p><b>  scl=0;</b></p><p><b>  delay0();</b></p><p><b>  sda=CY;</b></p>

96、<p><b>  delay0();</b></p><p><b>  scl=1;</b></p><p><b>  delay0();</b></p><p><b>  }</b></p><p><b>  scl=0

97、;</b></p><p><b>  delay0();</b></p><p><b>  sda=1;</b></p><p><b>  delay0();</b></p><p><b>  }</b></p><

98、p>  /*-----------------------------------------------------------*/</p><p>  void write_add(uchar address,uchar date)</p><p><b>  {</b></p><p><b>  start();<

99、/b></p><p>  write_byte(0xa0);</p><p>  respons();</p><p>  write_byte(address);</p><p>  respons();</p><p>  write_byte(date);</p><p>  re

100、spons();</p><p><b>  stop();</b></p><p><b>  }</b></p><p>  /*-----------------------------------------------------------*/</p><p><b>  /

101、/指定讀一個字節(jié)</b></p><p>  char read_add(uchar address)</p><p><b>  {</b></p><p>  uchar date;</p><p><b>  start();</b></p><p>  w

102、rite_byte(0xa0);</p><p>  respons();</p><p>  write_byte(address);</p><p>  respons();</p><p><b>  start();</b></p><p>  write_byte(0xa1);</

103、p><p>  respons();</p><p>  date=read_byte();</p><p><b>  stop();</b></p><p>  return date;</p><p><b>  }</b></p><p>  /

104、*-----------------------------------------------------------*/</p><p><b>  //初始化</b></p><p>  void init()</p><p><b>  {</b></p><p>  uchar num;&

105、lt;/p><p><b>  rd=0; </b></p><p><b>  lcden=0;</b></p><p>  bai=0; //初始化液晶顯示變量值</p><p><b>  ge=0;</b></p><p><b>  

106、bai=0;</b></p><p><b>  count=0;</b></p><p><b>  s1num=0;</b></p><p>  init_24c02(); //初始化1602液晶</p><p>  write_com(0x38);</p><p

107、>  write_com(0x0c);</p><p>  write_com(0x06);</p><p>  write_com(0x01);</p><p>  write_com(0x80);//設置初始化坐標 在第一行顯示</p><p>  for(num=0;num<15;num++)</p>

108、<p><b>  {</b></p><p>  write_date(table[num]);</p><p>  delay(5);</p><p><b>  }</b></p><p>  write_com(0x80+0x40+6);//寫時間顯示部分的兩個冒號</p

109、><p>  write_date(':');</p><p><b>  delay(5);</b></p><p>  write_com(0x80+0x40+9);</p><p>  write_date(':');</p><p><b>  d

110、elay(5);</b></p><p>  ge=read_add(1);//首次上電從AT24C02中讀取出存儲的數(shù)據(jù)</p><p>  bai=read_add(2);</p><p>  bai=read_add(3);</p><p>  write_sfm(10,ge);//分別送去液晶顯示</p>&

111、lt;p>  write_sfm(7,bai);</p><p>  write_sfm(4,bai);</p><p>  TMOD=0x01;//設置定時器0工作模式1</p><p>  TH0=(65536-50000)/256; //定時器裝處值</p><p>  TL0=(65536-50000)%256;</p&g

112、t;<p><b>  EA=1;</b></p><p><b>  ET0=1;</b></p><p><b>  TR0=1;</b></p><p><b>  }</b></p><p>  /*----------------

113、-------------------------------------------*/</p><p>  void jishi()</p><p><b>  {</b></p><p>  TH0=(65536-50000)/256;</p><p>  TL0=(65536-50000)%256;</p&

114、gt;<p><b>  count++;</b></p><p>  if(count==20)</p><p><b>  {</b></p><p><b>  count=0;</b></p><p><b>  ge++;</b>&

115、lt;/p><p>  if(ge==60)</p><p><b>  {</b></p><p><b>  ge=0;</b></p><p><b>  bai++;</b></p><p>  if(bai==60)</p><

116、;p><b>  {</b></p><p><b>  bai=0;</b></p><p><b>  bai++;</b></p><p>  if(bai==24)</p><p><b>  {</b></p><p&g

117、t;<b>  bai=0;</b></p><p><b>  }</b></p><p>  write_sfm(4,bai);</p><p>  write_add(3,bai);</p><p><b>  }</b></p><p>  wr

118、ite_sfm(7,bai);</p><p>  write_add(2,bai);</p><p><b>  }</b></p><p>  write_sfm(10,ge);</p><p>  write_add(1,ge);</p><p><b>  }</b&g

119、t;</p><p><b>  }</b></p><p>  /*-----------------------------------------------------------*/</p><p>  void dingshi()</p><p><b>  {</b></p&g

120、t;<p>  ge=0,bai=6;</p><p>  TMOD=0x01;</p><p><b>  TH0=0xD8;</b></p><p><b>  TL0=0xf0;</b></p><p><b>  EA=1;</b></p>

121、<p><b>  ET0=1;</b></p><p><b>  TR0=1;</b></p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  for(k=0;k<2;k++)&

122、lt;/p><p><b>  {</b></p><p><b>  P0=b[k];</b></p><p><b>  P2=k;</b></p><p>  latetime(3);</p><p><b>  i++;</b>

123、</p><p>  b[0]=a[ge];</p><p>  b[1]=a[bai];</p><p>  if(i==100)</p><p><b>  {</b></p><p><b>  i=0;</b></p><p><b>

124、;  ge--;</b></p><p><b>  }</b></p><p>  if(ge==65535)</p><p><b>  {</b></p><p><b>  bai--;</b></p><p><b>  

125、ge=9;</b></p><p><b>  }</b></p><p>  if(bai==65535)</p><p><b>  {bai=6;</b></p><p><b>  ge=0;</b></p><p><b>

126、;  }</b></p><p><b>  }</b></p><p>  write_sfm(4,bai);</p><p>  write_add(3,bai);</p><p><b>  }</b></p><p>  write_sfm(7,bai);

127、</p><p>  write_add(2,bai);</p><p><b>  }</b></p><p>  write_sfm(10,ge);</p><p>  write_add(1,ge);</p><p><b>  }</b></p>&

128、lt;p>  /*-----------------------------------------------------------*/</p><p><b>  //主函數(shù)</b></p><p>  void main()</p><p><b>  {</b></p><p>&l

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論