基于單片機的聲光控延時燈_第1頁
基于單片機的聲光控延時燈_第2頁
基于單片機的聲光控延時燈_第3頁
基于單片機的聲光控延時燈_第4頁
基于單片機的聲光控延時燈_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、基于單片機的聲光控燈摘要隨著社會和科技的不斷進步,人們對低碳生活逐步認識和接受,并從很多方面開始關注,尤其是在環(huán)保上做出了很多努力。利用聲音和光線的強弱來控制開關的斷開或者閉合的電子產品來能夠有效的降低能耗,節(jié)約能源。它不僅適用于住宅區(qū)的樓道,而且適用于工廠、辦公室、教學樓等公共場所。因此,聲光控制開關,在我們的低碳生活中,將起到重要作用。該設計主要由STC89C5小片機、±15V和5V的電壓源電路、聲音的接收放大控制電路、光信號的接收放大控制電路組成,以及設計實現(xiàn)光控燈和聲控燈的原理,及制作過程中遇到的問題和相應的解決方案。測試結果證明該系統(tǒng)性能穩(wěn)定、操作方便,具有較高的實用價值。

2、本文對控制系統(tǒng)的組成、硬件和軟件的設計、工作原理進行了詳細的論述。方案比較與論證我們開始在做設計自動照明控制器時,想到了幾個方案,但比較之后最終確定了這個方案,最初拿到題目,我們想到了老師時講過的一個聲光控的原理圖,如下圖:但這個電路圖稍顯復雜,而且不能完全達到題目的要求,我們又在稍微改進的基礎上加上了單片機和時鐘芯片來達到定時燈亮燈滅和燈亮延時的要求,改進后的電路圖如下:AADDIIk1C2Q11口頸1圖2聲光控制電路P2.3/A11P2.4/AI2P2.5/A13P2.6/A14P2.7/A15R31叫FK4T15251R4HEXT)Wu<TEXD33?jC4一<TEKT>

3、;SPEAKERR2iklRV1U1AFZT79BAR5Q3XTALIPD.O/AEOPD.1/AD1PD.2/AD2OAUP0.3/AD3PD.4/AD4P0.5/AD5F。再消比RSTPD,7/D7P2.0/PBP2.1/MP2.2/A1D19XICRiMA.03031PSEMALJE22LDR1LDRWFtFIMTB我<TEKTFP1-C/T2FLIXIIBEFl2Pl.'SPl.4P1.6preF1.7PS.D/RXJDP3.1/TXDP3,砸亙P3,前而P3.4mDP3.5/I1時E恒P37/RD272BISID117290C52TBCTi理論分析與計算本設計的硬件設計

4、的重點在于光信號和聲音信號的接受控制電路、單片機的最小電路以及時鐘芯片的控制電路。光信號控制電路部分采用光敏電阻對光進行接收,并經過放大輸出給單片機;聲音信號控制電路采用駐極體話筒來采集聲音,經過放大輸出給單片機;單片機把處理好的信號發(fā)送給三極管用于驅動LED燈,時鐘芯片用于定時控制燈的亮滅。光控電路由光敏電阻,滑動變阻器,PNP三極管和與非門組成,如下圖3所示:光控電路通過光照改變光敏電阻的阻值大小和聲控電路組合后來控制PNP三極管送到單片機來控制燈的亮滅,當光敏電阻受光照時,電阻小,與非門的一端為低電平;當光照較弱時,電阻增加,與非門的一端為高電平。光控電路和聲控電路的輸出信號將比較微弱的

5、電流信號放大到單片機能夠識別的電流,電路圖中滑動變阻器控制整個光控電路對光信號的靈敏度。然后由三極管的發(fā)射集放大后聲控電路聲控電路通過話駐極體話筒將聲音轉化成電信號,經電容耦合到三極管的基極,通過控制三極管的飽和、截止來控制輸出電平的高低,然后輸送到與非門和光控電路組合輸送到單片機;拾音電路將聲音轉換成微弱的電壓信號。然后,微弱的電壓信號經過三極管放大,聲控電路電R下口所有一定的延時效果,可以去除干擾信號單片機控制電路單片機根據(jù)聲控電路、光控電路輸入的信號來判斷輸出端電平的高低,從而控制燈亮滅;單片機也控制燈亮的的延遲時間。單片機的輸出的電流比較小,不能夠驅動燈的亮滅,燈的驅動由三極管組成給單

6、片機的輸出電流進行補償,來驅動燈的亮滅。P1.0作為聲光控信號的輸入口;(高電平有效);P1.1作為驅動電路的輸出口;(高電平有效);P1.6接數(shù)碼管用于顯示延時時間;P1.7用于接按鍵用于調節(jié)延時時間。圖5單片機控制電路單片機控制程序如下:#include<reg52.h>#defineucharunsignedchar#defineuintunsignedintsbitsm=P1A0;sbitds=P1A1;sbitLE=P1A6;sbitkeyt=P1A7;uinttt,sec,min,aa;ucharcodetiming=0x3f,0x06,0x5b,0x4f,0x66,0

7、x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;voidyanshi();voidkeytt();voiddelay(uint);voidinin()(sm=1;ds=0;tt=0;sec=0;min=0;TMOD=0x01;TH0=(65535-50000)/256;TL0=(65535-50000)%256;EA=1;ET0=1;voidlight()(if(sm=0)ds=1;if(ds=1)TR0=1;voidyanshi()voidkeytt()(if(tt=20)(tt=0;sec+;if(sec=60)(sec=0;mi

8、n+;if(min=aa)(TR0=0;inin();)if(keyt=0)(delay(5);if(keyt=0)aa+;P0=timingaa;if(aa=5)aa=1;delay(5);)voidmain()(keyt=1;LE=0;aa=2;P0=timingaa;inin();while(1)(keytt();light();yanshi();)voiddelay(uintz)uinti,j;for(i=1000;i>0;i-)for(j=z;j>0;j-);)voidtimer0()interrupt1(TH0=(65535-50000)/256;TL0=(65535-

9、50000)%256;tt+;)時鐘芯片控制電路P3.OJFXDF3.4/T0P3.S/T£P3.6JVWP"癥K2gSCLKRSfaVCC2VLC1P3.iaXDP3.2J1NTTDS1302B11W二口HDL4JlZ.ri3“L1匕1J4IIU£0C0915叩UIPD-3A&ZEER5不1SXTAL2FUN*g汨I-B-i.1ELIAF0A&*F口手FUJSUl"后1STFCLTLWITm咻cTEizTi口.4sAFSEMFZAIIALEPZ.AIZrzjmitFZ.TWZ1n二丁日Er,zzI±tjZ31241二3J153

10、12GZ7/2-,1QR01D71PIUTZP3UTIDCQI,i.m。purredIDx:_11.1ZRRn.UP31ITfFiji-F3.*nnF3jrT1rispaamFITFJ.TiRD1394B4>In>畀1£Fl1Z.I);1-lr_LUIIIS17R133D二:SZ)-1-i1=.eT&rTB1QD1圖6定時電路腳,通過DS1302的復位腳RST接單片機的P3.5腳,輸入輸出引腳I/O接單片機的P3.4腳,串行時鐘SCLKg單片機的P3對DS1302輸入程序,將定時時間顯示在數(shù)碼管上,通過單片機來控制燈的特定時間的亮滅。定時程序如下:#include

11、<reg52.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedintsbitSCK=P3八6;時鐘sbitSDA=P3八4;數(shù)據(jù)sbitRST=P3八5;/CE端口控制復位?uintk,num;bitreadrtc_flag;定義標志uchartempdata7=0,0,12,13,7,2,12);uchartempdisplay8;ucharcodetable=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40;ucharcodeW

12、AN=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;/ucharread_ds1302(uchartemp);/*定時器0初始化*/voidinin()TMOD=0x01;TH0=(65536-4000)/256;TL0=(65536-4000)%256;EA=1;ET0=1;TR0=1;num=0;k=0;/*八次寫一個字節(jié)*/voidwrite_ds1302_byte(uchartemp)(uchari;for(i=0;i<8;i+)(SCK=1;SDA=temp&0x01;_nop_();SCK=0;temp>>=1;/*寫入d

13、s1302*/voidwrite_ds1302(ucharaddress,uchardat)(RST=0;/數(shù)據(jù)、地址傳送中止_nop_();SCK=0;_nop_();/一個機器周期RST=1;/邏輯控制有效_nop_()write_ds1302_byte(address);write_ds1302_byte(dat);RST=0;)/*寫時鐘初值*/voidset_rtc()uchari,temp;for(i=0;i<7;i+)temp=tempdatai/10;tempdatai=tempdatai%10;tempdatai=tempdatai+temp*16;)write_ds1

14、302(0x8e,0x00);停止寫保護write_ds1302(0x80,tempdata0);write_ds1302(0x82,tempdata1);write_ds1302(0x84,tempdata2);write_ds1302(0x86,tempdata3);write_ds1302(0x88,tempdata4);write_ds1302(0x8a,tempdata5);write_ds1302(0x8c,tempdata6);write_ds1302(0x8e,0x80);寫保護/*tempdisplay7=tempdata2/16;tempdisplay6=tempdata2

15、&0x0f;tempdisplay5=10;tempdisplay4=tempdata1/16;tempdisplay3=tempdata1&0x0f;tempdisplay2=10;tempdisplay1=tempdata0/16;tempdisplay0=tempdata0&0x0f;*/*讀出時間到tempdata中*/ucharread_ds1302(ucharaddress)uchari;uchartmp=0x00;RST=0;_nop_();SCK=0;_nop_();RST=1;_nop_();write_ds1302_byte(address);for

16、(i=0;i<8;i+)SCK=1;if(SDA)tmp|=0x80;SCK=0;_nop_();)_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();return(tmp);)/*讀時鐘數(shù)據(jù)*/voidread_rct()ucha門,temp;tempdata0=read_ds1302(0x81);tempdata1=read_ds1302(0x83);tempdata2=read_ds1302(0x85);tempdata3=read_ds1302(0x87);tempdata4=read_ds1302(0x89);tempdata5=re

17、ad_ds1302(0x8b);tempdata6=read_ds1302(0x8d);for(i=0;i<7;i+)temp=tempdatai/16;tempdatai=tempdatai%16;tempdatai=tempdatai+temp*10;/*主程序*/voidmain()inin();初始化定時器0set_rtc();寫入時鐘初值while(1)if(readrtc_flag)readrtc_flag=0;/read_rct();tempdisplay7=tempdata2/10;tempdisplay6=tempdata2%10;tempdisplay5=10;tempdisplay4=tempdata1/10;tempdisplay3=tempdata1%10;tempdisplay2=10;tempdisplay1=tempdata0/10;tempdisplay0=tempdata0%10;voidtimer0()interrupt1(TH0=(65536-4000)/256;TL0=(65536-4000)%256;P2=WANk;P0=tabletempdisplayk;k+;if(k=8)k=0;num+;if(num=2)(readrtc_flag=1;num=0;結論本設計是基于

溫馨提示

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

評論

0/150

提交評論