振動傳感警報裝置_第1頁
振動傳感警報裝置_第2頁
振動傳感警報裝置_第3頁
振動傳感警報裝置_第4頁
振動傳感警報裝置_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、湖 南 大 學(xué)課設(shè)題目: 振動傳感警報裝置 學(xué)生姓名: 鄒 雄 專業(yè)班級: 信 息 安 全 一 班 學(xué)號: 201208060128 學(xué)院: 信息科學(xué)與工程學(xué)院 “振動傳感警報裝置”設(shè)計報告說明(1) :設(shè)計思路和方法“警報器”是利用流水燈、振動傳感器、無源蜂鳴器組成的一種裝置,當(dāng)振動傳感器受到振動時,流水燈和蜂鳴器會同時工作,以此來提醒客戶;而客戶可通過按鈕Key1能夠停止其工作或等待歌曲播放完為止,而按下復(fù)位鍵后再次振動其又會工作。(2) :“警報器”電路原理圖(3) :電路工作原理振動傳感器是一種簡單的器件,管內(nèi)有一跟固定的導(dǎo)線,在這根導(dǎo)線的周圍有另一根較細(xì)的導(dǎo)線以螺旋狀環(huán)繞它??梢韵胂?/p>

2、為一個彈簧中間有一跟導(dǎo)線。在不震動時,兩根導(dǎo)線不會相碰,一旦振動發(fā)生,兩根導(dǎo)線就會短接。所以我們只需判斷導(dǎo)線是否短接了,就可以知道振動是否發(fā)生。P0口的8位輸出分別控制8個發(fā)光二極管L0L7的陽極;而P2.3經(jīng)反相器U4C控制8個發(fā)光管陰極E3;電阻R15R22為限流電阻。當(dāng)振動傳感器短接時,對應(yīng)的二極管將會發(fā)光。只需改變Beep端口的電平,產(chǎn)生一個周期性的方波即可使蜂鳴器發(fā)生聲音,不同的頻率發(fā)出的聲音不同。其中,ULN2003是一個功放,用于放大電流。電阻R14和電容C21是用來保護(hù)電路的。若人為將Beep端口的電平一直置為高電平,在沒有保護(hù)電路的情況下,容易燒毀電路,但即使有保護(hù)電路也應(yīng)該

3、注意不要講Beep端口長時間之余高電平,這對器件也是有一定損害的。每一個音符的發(fā)聲頻率是不同的,我們需要用計時器來精確計時,用以產(chǎn)生方波,這樣才能發(fā)出不用的音符聲音。C調(diào)各音符頻率與計數(shù)值如下圖所示,以下的簡譜碼是在晶振為12MHz的情況下計算的,換算為16進(jìn)制的簡譜碼如程序中quzi數(shù)組所示。本程序中,數(shù)組music即是要播放的音樂,格式為音符,節(jié)拍,音符,節(jié)拍,如此循環(huán)下去。音符為要發(fā)出的音調(diào),而節(jié)拍則是聲音的持續(xù)時間。如圖,在數(shù)組music中,音符表示的格式為:十位代表是低八度,中八度還是高八度,1代表高八度,2代表中八度,3代表高八度,個位代表簡譜的音符,例如,0x15代表低八度的S0

4、,如圖即是低5 S0,0x21代表中八度的DO,如圖即是中1 D0。音符中,0x00代表結(jié)束符,表示整首歌曲演唱完畢,而0xff代表休止符,表示要休止100ms。遇到這兩種情況,都應(yīng)該重新執(zhí)行循環(huán)中的第一步。其余情況則是正常播放。程序燒入單片機(jī)后,需要振動傳感器振動才會進(jìn)行演奏。(4) :程序總框圖設(shè)計流程(5) :相關(guān)寄存器及IO引腳的配置1.P0(8位)和P2.3需要設(shè)置成推挽輸出,以驅(qū)動電路正常發(fā)光。涉及寄存器及配置值如下:P2M1=0x00;P2M0=0xff;P0M1=0x00;P0M0=0xff; 2.蜂鳴器引腳:sbit beep=P34; /蜂鳴器 3.按鍵1引腳:sbit k

5、ey1=P32; /定義按鍵1 4.振動傳感器引腳:sbit vibrate=P24; /振動傳感器(六):詳細(xì)設(shè)計參見后續(xù)工程代碼 (七):測試方法 1.用STC ISP默認(rèn)設(shè)置,打開工程中的HEX并下載; 2. 敲動一下振動傳感器,流水燈隨著蜂鳴器的歌曲節(jié)奏從右至左依次閃動; 3. 按下Key1鍵,蜂鳴器及流水燈均都停下工作。源代碼:#include #define uint unsigned int#define uchar unsigned charsbit beep=P34; /蜂鳴器sbit Key1=P32; /Key1對應(yīng)觸發(fā)外部中斷0sbit vibrate=P24; /振動

6、傳感器/*引腳別名定義*/sbit Led_sel=P23;/*變量定義*/uchar G_value;uchar timeh,timel,zanting=0; /定義定時器的重裝值uchar code music = /音樂代碼,歌曲為同一首歌,格式為: 音符, 節(jié)拍, 音符, 節(jié)拍, 0x16,0x05,0x17,0x05,0x21,0x15,0x17,0x05,0x21,0x10,0x23,0x10,0x17,0x30,0x23,0x10,0x16,0x15,0x15,0x05,0x16,0x10,0x21,0x10,0x15,0x30,0x13,0x10,0x14,0x15,0x13,

7、0x05,0x14,0x05,0x21,0x05,0x21,0x10,0x13,0x30,0x21,0x10,0x17,0x10,0x14,0x05,0x14,0x10,0x17,0x10,0x17,0x20,0xff,0x16,0x05,0x17,0x05,0x21,0x15,0x17,0x05,0x21,0x10,0x23,0x10,0x17,0x30,0x13,0x05,0x13,0x05,0x16,0x15,0x15,0x05,0x16,0x10,0x21,0x10,0x15,0x30,0x13,0x10,0x14,0x10,0x21,0x05,0x17,0x05,0x17,0x10,

8、0x21,0x10,0x22,0x10,0x23,0x05,0x21,0x20,0xff,0x21,0x05,0x17,0x05,0x16,0x10,0x17,0x10,0x15,0x10,0x16,0x20,0xff,0x21,0x05,0x22,0x05,0x23,0x15,0x22,0x10,0x23,0x10,0x24,0x10,0x25,0x05,0x22,0x30,0x15,0x10,0x22,0x03,0x21,0x03,0x17,0x03,0x21,0x03,0x21,0x10,0x21,0x05,0x22,0x10,0x23,0x05,0x23,0x40,0x16,0x05,

9、0x17,0x05,0x21,0x10,0x17,0x05,0x21,0x05,0x22,0x10,0x21,0x15,0x15,0x05,0x15,0x20,0x24,0x10,0x23,0x10,0x22,0x10,0x21,0x10,0x23,0x30,0x16,0x05,0x17,0x05,0x21,0x15,0x17,0x05,0x21,0x10,0x23,0x10,0x17,0x30,0x13,0x10,0x16,0x15,0x15,0x05,0x16,0x10,0x21,0x10,0x15,0x30,0x13,0x10,0x14,0x10,0x21,0x05,0x17,0x05,

10、0x17,0x10,0x21,0x10,0x22,0x10,0x23,0x05,0x21,0x05,0x21,0x20,0x21,0x05,0x17,0x05,0x16,0x10,0x17,0x10,0x15,0x10,0x16,0x40,0x00,0x00;uchar code quzi = /此數(shù)組數(shù)據(jù)為各個音符在定時器中的重裝值,第一列是高位,第二列是低位0xf8,0x8c, /低八度,低10xf9,0x5b, 0xfa,0x15, /低30xfa,0x67,0xfb,0x04, /低50xfb,0x90,0xfc,0x0c, /低70xfc,0x44, /中央C調(diào)0xfc,0xac,

11、/中20xfd,0x09,0xfd,0x34, /中40xfd,0x82,0xfd,0xc8, /中60xfe,0x06,0xfe,0x22, /高八度,高10xfe,0x56,0xfe,0x6e, /高30xfe,0x9a,0xfe,0xc1, /高50xfe,0xe4,0xff,0x03 /高7;/*函數(shù)名稱:void delay(unsigned int xms)功能描述:延時入口參數(shù):xms:輸入需要延時的毫秒值出口參數(shù):無備注:*/void delay(unsigned int xms)uint i,j; for(i=xms;i0;i-) for(j=124;j0;j-);/*函數(shù)名

12、稱:uchar quyin(uchar tem)功能描述:在quzi數(shù)組中,找到music數(shù)組定義的簡譜音符的重裝值,并返回其在quzi數(shù)組中的位置入口參數(shù):tem:music數(shù)組中定義的簡譜音符出口參數(shù):返回的是tem音符在quzi數(shù)組中的位置值備注:*/uchar quyin(uchar tem)uchar qudiao,jp,weizhi; /定義曲調(diào),音符和位置qudiao=tem/16; /高4位是曲調(diào)值jp=tem%16; /低4位是音符if(qudiao=1) /當(dāng)曲調(diào)值為1時,即是低八度,低八度在quzi數(shù)組中基址為0qudiao=0;else if(qudiao=2) /當(dāng)曲

13、調(diào)值為2時,即是中八度,中八度在quzi數(shù)組中基址為14qudiao=14;else if(qudiao=3) /當(dāng)曲調(diào)值為3時,即是高八度,高八度在quzi數(shù)組中,基址為28qudiao=28;weizhi=qudiao+(jp-1)*2; /通過基址加上音符作為偏移量,即可定位此音符在quzi數(shù)組中的位置return weizhi; /返回這一個位置值/*函數(shù)名稱:void playmusic()功能描述:播放音樂入口參數(shù):無出口參數(shù):無備注:*/void playmusic()uchar p,m,tem; /m為節(jié)拍 uchar i=0; while(1) while(zanting)

14、beep=0;p=musici; /如果碰到結(jié)束符,延時1秒,回到開始再來一遍 if(p=0x00)i=0;delay(100);break; else if(p=0xff) /若碰到休止符,延時100ms,繼續(xù)取下一音符i=i+1;delay(100);TR0=0; else /正常情況下取音符和節(jié)拍 tem=quyin(musici);/取出當(dāng)前音符在quzi數(shù)組中的位置值timeh=quzitem;/把音符相應(yīng)的計時器重裝載值賦予timeh和timeltimel=quzitem+1;i+;TH0=timeh;/把timeh和timel賦予計時器TL0=timel;m=musici; /取

15、得節(jié)拍i+; TR0=1; /開定時器1 delay(m*180); /等待節(jié)拍完成, 通過P34口輸出音頻 TR0=0; /關(guān)定時器1 P0=G_value;delay(100);G_value=G_value1;if(G_value=0x00)P0=G_value;delay(100);G_value=0x01; if(Key1=0) if(Key1=0) delay(10); /延時消抖 if(Key1=0)zanting=zanting; /zanting=1 暫停播放vibrate=1; /*函數(shù)名稱:void init_sys()功能描述:系統(tǒng)初始化,功能是配置IO口入口參數(shù):無出口參數(shù):無備注:*/void init_sys()P0M0=0xff;P0M1=0x00;P2M0=0x08;P2M1=0x00;P3M0=0x10;P3M1=0x00;P4M0=0x00;P4M1=0x00;P5M0=0x00;P5M1=0x00;/*函數(shù)名稱:void init()功能描述:定時器的初始化入口參數(shù):無出口參數(shù):無備注:*/void init() TMOD=0x01;TH0=0xD8;TL0=0xEF;EA=1;ET0=1;TR0=0;/設(shè)置推挽輸出/P2M1=0x00;P2M0=0xff;P0M1=0x00;P0M0=0xff;Led_se

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論