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

下載本文檔

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

文檔簡介

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

2、實用價值。 本文對控制系統(tǒng)的組成、硬件和軟件的設計、工作原理進行了詳細的論述。 方案比較與論證圖1 聲光控電路我們開始在做設計自動照明控制器時,想到了幾個方案,但比較之后最終確定了這個方案,最初拿到題目,我們想到了老師時講過的一個聲光控的原理圖,如下圖:但這個電路圖稍顯復雜,而且不能完全達到題目的要求,我們又在稍微改進的基礎上加上了單片機和時鐘芯片來達到定時燈亮燈滅和燈亮延時的要求,改進后的電路圖如下: 圖2聲光控制電路理論分析與計算本設計的硬件設計的重點在于光信號和聲音信號的接受控制電路、單片機的最小電路以及時鐘芯片的控制電路。光信號控制電路部分采用光敏電阻對光進行接收,并經(jīng)過放大輸出給單片

3、機;聲音信號控制電路采用駐極體話筒來采集聲音,經(jīng)過放大輸出給單片機;單片機把處理好的信號發(fā)送給三極管用于驅動LED燈,時鐘芯片用于定時控制燈的亮滅。光控電路由光敏電阻,滑動變阻器,PNP三極管和與非門組成,如下圖3所示: 光控電路通過光照改變光敏電阻的阻值大小和聲控電路組合后來控制PNP三極管送到單片機來控制燈的亮滅,當光敏電阻受光照時,電阻小,與非門的一端為低電平;當光照較弱時,電阻增加,與非門的一端為高電平。光控電路和聲控電路的輸出信號經(jīng)與非門后經(jīng)三極管放大,將比較微弱的電流信號放大到單片機能夠識別的電流,然后由三極管的發(fā)射集放大后的信號傳給單片機的I/O口。 電路圖中滑動變阻器控制整個光

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

5、電流進行補償,來驅動燈的亮滅。 P1.0作為聲光控信號的輸入口;(高電平有效); P1.1 作為驅動電路的輸出口;(高電平有效); P1.接數(shù)碼管用于顯示延時時間;P1.用于接按鍵用于調(diào)節(jié)延時時間。圖5 單片機控制電路單片機控制程序如下:#include<reg52.h>#define uchar unsigned char#define uint unsigned intsbit sm=P10;sbit ds=P11;sbit LE=P16;sbit keyt=P17;uint tt,sec,min,aa;uchar code timing=0x3f,0x06,0x5b,0x4f

6、,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;void yanshi();void keytt();void delay(uint);void inin()sm=1;ds=0;tt=0;sec=0;min=0;TMOD=0x01;TH0=(65535-50000)/256;TL0=(65535-50000)%256;EA=1;ET0=1;void light()if(sm=0)ds=1;if(ds=1)TR0=1; void yanshi()if(tt=20)tt=0;sec+;if(sec=60)sec=0;min+

7、;if(min=aa)TR0=0;inin();void keytt()if(keyt=0)delay(5);if(keyt=0)aa+;P0=timingaa;if(aa=5)aa=1;delay(5);void main()keyt=1;LE=0;aa=2;P0=timingaa; inin();while(1)keytt();light();yanshi();void delay(uint z)uint i,j;for(i=1000;i>0;i-)for(j=z;j>0;j-);void timer0() interrupt 1TH0=(65535-50000)/256;TL

8、0=(65535-50000)%256;tt+;時鐘芯片控制電路圖6定時電路DS1302的復位腳RST接單片機的P3.5腳,輸入輸出引腳I/O 接單片機的.腳, 串行時鐘SCLK接單片機的.腳,通過對DS1302輸入程序,將定時時間顯示在數(shù)碼管上,通過單片機來控制燈的特定時間的亮滅。定時程序如下:#include<reg52.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intsbit SCK=P36; /時鐘sbit SDA=P34; /數(shù)據(jù)sbit RST=P35; /CE

9、端口 控制復位?uint k,num;bit readrtc_flag; /定義標志uchar tempdata7=0,0,12,13,7,2,12;uchar tempdisplay8;uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40;uchar code WAN=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;/ uchar read_ds1302(uchar temp);/*定時器0初始化*/void inin()TMOD=0x01;TH0=(65536-4000

10、)/256;TL0=(65536-4000)%256;EA=1;ET0=1;TR0=1;num=0;k=0; /*八次寫一個字節(jié)*/void write_ds1302_byte(uchar temp)uchar i;for(i=0;i<8;i+) SCK=1;SDA=temp&0x01;_nop_(); SCK=0; temp>>=1; /*寫入ds1302*/void write_ds1302(uchar address,uchar dat)RST=0;/數(shù)據(jù)、地址傳送中止_nop_(); SCK=0;_nop_();/一個機器周期 RST=1; /邏輯控制有效 _

11、nop_();write_ds1302_byte(address);write_ds1302_byte(dat);RST=0;/*寫時鐘初值*/void set_rtc()uchar i,temp;for(i=0;i<7;i+)temp=tempdatai/10;tempdatai=tempdatai%10;tempdatai=tempdatai+temp*16;write_ds1302(0x8e,0x00); /停止寫保護write_ds1302(0x80,tempdata0);write_ds1302(0x82,tempdata1);write_ds1302(0x84,tempdat

12、a2);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&0x0f;tempdisplay5=10;tempdisplay4=tempdata1/16;tempdisplay3=tempdata1&0x0f;tempdisplay2=10;t

13、empdisplay1=tempdata0/16;tempdisplay0=tempdata0&0x0f; */ /*讀出時間到tempdata中*/uchar read_ds1302(uchar address)uchar i;uchar tmp=0x00;RST=0;_nop_();SCK=0;_nop_();RST=1;_nop_();write_ds1302_byte(address);for(i=0;i<8;i+)tmp>>=1;SCK=1;if(SDA)tmp|=0x80;SCK=0;_nop_();_nop_(); _nop_();_nop_();_no

14、p_();_nop_();_nop_();return (tmp);/*讀時鐘數(shù)據(jù)*/void read_rct() uchar i,temp;tempdata0=read_ds1302(0x81);tempdata1=read_ds1302(0x83); tempdata2=read_ds1302(0x85);tempdata3=read_ds1302(0x87);tempdata4=read_ds1302(0x89);tempdata5=read_ds1302(0x8b);tempdata6=read_ds1302(0x8d);for(i=0;i<7;i+)temp=tempdata

15、i/16;tempdatai=tempdatai%16;tempdatai=tempdatai+temp*10; /*主程序*/void main()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;void timer0() interrupt 1TH0=(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)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論