基于單片機(jī)的音樂噴泉控制系統(tǒng)設(shè)計(jì)
基于單片機(jī)的音樂噴泉控制系統(tǒng)設(shè)計(jì),基于,單片機(jī),音樂噴泉,控制系統(tǒng),設(shè)計(jì)
計(jì)算機(jī)控制技術(shù)課程答辯論文
基于單片機(jī)的小型音樂噴泉控制系統(tǒng)設(shè)計(jì)
28
摘 要
隨著人們生活水平的提高和建立綠色城市的向往,音樂噴泉以其獨(dú)特的魅力和特殊的功能,愈來愈成為休閑娛樂產(chǎn)業(yè)中的一項(xiàng)重要產(chǎn)品,音樂噴泉的興建也越來越多。
根據(jù)目前音樂噴泉的發(fā)展現(xiàn)狀,介紹了一個(gè)以AT89C51單片機(jī)為核心的小型音樂噴泉控制系統(tǒng)。給出了一個(gè)簡潔的單片機(jī)控制電路,分析了輸出地址,描述了不同類型的輸出電路和輸入電路;介紹了從特定構(gòu)造的噴池中獲得決定噴池動(dòng)作的噴池?cái)?shù)據(jù)的原理;給出了主程序框圖和看門狗子程序。采用程序控制來控制花型。音頻信號(hào)還影響燈光色彩和燈光光線明暗的變化。從而使燈光色彩、燈光的閃爍和噴泉水姿隨音樂節(jié)奏而變化。
關(guān)鍵詞:音樂噴泉;單片機(jī);單片機(jī)控制;噴池?cái)?shù)據(jù)
目錄
摘 要 I
目錄 II
第1章 緒 論 1
1.1課題背景 1
1.2 音樂噴泉的發(fā)展和現(xiàn)狀 1
第2章 音樂噴泉控制系統(tǒng)硬件設(shè)計(jì) 3
2.1 控制系統(tǒng)硬件總體設(shè)計(jì)方案 3
2.2音樂信號(hào)的采集 3
2.2.1 音頻放大電路的設(shè)計(jì) 3
2.2.2 采樣定理 5
2.3 單片機(jī)電路 6
2.3.1 單片機(jī)的概述 6
2.3.2 時(shí)鐘電路的設(shè)計(jì) 7
2.4 AD轉(zhuǎn)換電路 7
2.4.1 ADC0809與單片機(jī)89C51的連接 8
2.4.2輸入電路 9
2.5潛水泵調(diào)速硬件方案設(shè)計(jì) 10
2.6燈光硬件方案設(shè)計(jì) 11
2.7解決系統(tǒng)時(shí)間滯后硬件電路設(shè)計(jì) 11
第3章 噴泉控制系統(tǒng)軟件設(shè)計(jì) 13
3.1噴池?cái)?shù)據(jù) 13
3.2主程序框圖 14
3.3 控制潛水泵軟件設(shè)計(jì)模塊 14
3.3.1 潛水泵開關(guān)調(diào)速的原理 15
3.3.2潛水泵開關(guān)調(diào)速的軟件設(shè)計(jì) 16
3.4控制電磁閥軟件設(shè)計(jì)模塊 17
3.5 歌曲存儲(chǔ)模塊 17
3.5.1音頻脈沖的產(chǎn)生 17
3.5.2音樂程序 19
3.6燈光控制模塊 22
3.7看門狗子程序 23
3.8實(shí)驗(yàn)仿真 23
結(jié) 論 25
參考文獻(xiàn) 26
附 錄 27
附錄1 27
附錄2 28
第1章 緒 論
1.1課題背景
隨著人們生活水平的提高,人們對環(huán)境的要求越來越高,城市環(huán)境建設(shè)日益為人們所重視。噴泉作為一種觀賞性較高的藝術(shù)水景,不斷的出現(xiàn)在城市的廣場、公園及其它公共場所,早些的噴泉都是固定不可調(diào)的,顯得有些單調(diào),隨著科技的發(fā)展音樂噴泉也進(jìn)入了我們的城市。音樂噴泉是現(xiàn)代科技與藝術(shù)的綜合,音樂噴泉將噴水圖形、彩色燈光及音樂旋律構(gòu)成一個(gè)有機(jī)的整體,隨著樂曲旋律和節(jié)奏的變化,各種不同的噴水花形相應(yīng)的配合變換,在五彩絢麗的變幻燈光照耀下,構(gòu)成一幅幅奇妙無比的景觀、令人賞心悅目,嘆為觀止,在視聽上獲得極大的享受。音樂噴泉的起源于1930年,德國人首先帶出噴泉的概念,此后經(jīng)過多年的發(fā)展,其音樂噴泉的設(shè)計(jì)及構(gòu)造已變得更大型及復(fù)雜。隨著我國改革開放政策的不斷實(shí)施,80年代中,我國也相繼引進(jìn)和自行設(shè)計(jì)建造了多座音樂噴泉,為美化環(huán)境,活躍人民的文化生活起了良好的作用。通過學(xué)習(xí)和引進(jìn)國外先進(jìn)技術(shù),加上自行研究和開發(fā),噴泉的面貌不斷更新,各種新水型層出不窮,音樂噴泉還可以同水幕電影、激光表演和舞臺(tái)表演相結(jié)合,產(chǎn)生令人難忘的藝術(shù)效果。我國現(xiàn)有上百家噴泉水景設(shè)備制造廠,經(jīng)過市場競爭、優(yōu)勝劣汰,我國已經(jīng)出現(xiàn)了幾家綜合實(shí)力較強(qiáng)的大型噴泉水景工程公司,能夠獨(dú)立建設(shè)投資上千萬元的特大型噴泉水景工程,并創(chuàng)造了一些世界之最的新記錄??傮w上說,我國的噴泉水景技術(shù)已經(jīng)達(dá)到了國際先進(jìn)水平,其建設(shè)規(guī)模和市場需求更是其他國家所難以相比的。
1.2 音樂噴泉的發(fā)展和現(xiàn)狀
北京石景山古城公園的音樂噴泉,在悠揚(yáng)動(dòng)聽的音樂聲中,噴水可產(chǎn)生五六種變化,時(shí)而轉(zhuǎn)動(dòng)如銀傘,時(shí)而飄忽如玉帶,時(shí)而如金蛇狂舞,時(shí)而旋轉(zhuǎn)飛濺···噴出的花形有曇花、菊花、扶?;?、百合花和曼陀羅花,這是在80年代初期中國較早建設(shè)的一個(gè)音樂噴泉。
南昌的秋水廣場是由“落霞與孤鶩齊飛,秋水共長天一色”的意境得名,秋水廣場就是以噴泉為主題,集旅游、觀光、購物的大型休閑廣場。他的音樂噴泉最吸引人注目,是國內(nèi)最大的音樂噴泉群,泉水面積1.2萬平方米,主噴高達(dá)128米,是南昌的一俏麗景觀,人們可以一邊欣賞音樂,一邊觀看滕王閣的美景。
新加坡圣淘沙旅游區(qū)的音樂的設(shè)計(jì)與效果也是值得參考的,它布置在一個(gè)空曠而略有坡度的空間,面積很大,與圣淘沙車站前的長形噴水池共同組成為一個(gè)長達(dá)數(shù)百米的綜合系列噴泉,音樂噴泉位于系列噴泉的頂端。舞臺(tái)為一假山堆疊的西洋式半圓柱廊組成,共分3層。白天,假山瀑布及兩側(cè)的噴泉群與3層水池形成一處動(dòng)靜結(jié)合的較為文雅悠揚(yáng)的水景園,入夜則有五光十色,優(yōu)美動(dòng)聽的噴泉景觀,整個(gè)舞臺(tái)區(qū)域東西面闊近百米,南北深度約40m,成為目前亞洲最大的音樂噴泉之一。表現(xiàn)出壯闊、絢麗的水景之美。
以上幾處音樂噴泉從建筑形勢、音樂曲調(diào)及水舞表演的角度展現(xiàn)了音樂噴泉的美麗姿態(tài),但是都屬于大型的音樂噴泉,其控制系統(tǒng)也多采用PLC邏輯編程控制,造價(jià)高,流量需求大,一般為專門的定量設(shè)計(jì)。即使這樣,國內(nèi)外的音樂噴泉控制系統(tǒng)設(shè)計(jì)均以達(dá)到成熟的水平,而且還有專門的生產(chǎn)設(shè)計(jì)廠家,提供設(shè)計(jì)、噴泉設(shè)備及安裝等服務(wù)。目前,國內(nèi)的音樂噴泉逐漸向智能化、分散化、綜合化、多樣化的方向發(fā)展,于是對噴泉控制系統(tǒng)的設(shè)計(jì)也提出了更高的要求。
第2章 音樂噴泉控制系統(tǒng)硬件設(shè)計(jì)
2.1 控制系統(tǒng)硬件總體設(shè)計(jì)方案
該音樂噴泉控制系統(tǒng)的總體結(jié)構(gòu)如圖2.1所示,由音樂輸入系統(tǒng)、數(shù)模轉(zhuǎn)換系統(tǒng)、單片機(jī)控制系統(tǒng)和輸出控制系統(tǒng)等組成。
圖2.1 系統(tǒng)總體結(jié)構(gòu)框圖
2.2音樂信號(hào)的采集
前面已經(jīng)介紹過,本文的研究針對的是采用外部音源的噴泉系統(tǒng),因此在對
音樂信號(hào)進(jìn)行特征識(shí)別前首先要完成對模擬音樂信號(hào)的采集。音樂信號(hào)的采集主
要包括音頻放大和 A/D 轉(zhuǎn)換兩個(gè)過程,下面分別進(jìn)行分析。
2.2.1 音頻放大電路的設(shè)計(jì)
外部音源信號(hào)的幅度一般較弱,因此必須要對原信號(hào)進(jìn)行放大處理后才能送入A/D 轉(zhuǎn)換器。本文選擇了 LM386 芯片設(shè)計(jì)音頻放大電路。LM386 是美國國家半導(dǎo)體公司(NS)推出的系列功率放大集成電路的一種,LM386 具有功耗低、工作電壓范圍寬、所需外圍元件少等特點(diǎn),在電子設(shè)備的音頻放大電路設(shè)計(jì)中應(yīng)用非常廣泛,它使用了 10 只晶體管構(gòu)成了輸入級(jí)、電壓增益和電流驅(qū)動(dòng)級(jí)。其中 T1~T6 組成 PNP 型復(fù)合差分放大器,T5、T6 為鏡像恒流源,作為 T3、T4 的有源負(fù)載,使輸入級(jí)有穩(wěn)定的增益。電壓增益級(jí)由接成共發(fā)射極狀態(tài)的 T7 承擔(dān),其負(fù)載也使用了恒流源,整個(gè)集成功放的開環(huán)增益主要由該級(jí)決定。T8、T9 復(fù)合為一個(gè) PNP 管,和 T10 共同組成互補(bǔ)對稱射極輸出電路,以供給負(fù)載以足夠的電流。D1、D2 提供了 T8、T9、T10 所需的偏置,使末級(jí)偏置在甲乙類狀態(tài)。R5~R7 構(gòu)成內(nèi)部反饋環(huán)路。從圖 3.2.1 可以看出,LM386 采用雙列 8 腳封裝結(jié)構(gòu),它的工作電壓范圍為 4~12V,靜態(tài)電流 4mA,最大輸出功率 660mW,最大電壓增益 46dB,增益帶寬 300kHz,諧波失真 0.2%。
圖2.2.1 LM386 封裝形式及引腳定義
在 LM386 的 DataSheet 上,提供了兩種典型放大電路的設(shè)計(jì)方案。一種是在
LM386 的 1 腳和 8 腳之間不接其他元件,此時(shí)放大電路的增益僅由內(nèi)部電阻 R5~R7決定,為 20 倍數(shù)(26dB),這種方式外部電路元件最少,也最為經(jīng)濟(jì)。另一種通
過在 1 腳和 8 腳之間串接不同的阻容元件,改變放大電路的交流反饋量,從而改變放大電路的閉環(huán)增益。音樂信號(hào)的放大采集如圖 2.2.2 所示。外部音源(聲卡、CD 機(jī)等)的模擬音樂信號(hào)分左、右聲道分別進(jìn)入放大電路,經(jīng)過信號(hào)放大后,得到幅值放大后的音頻信號(hào)。從圖 3.2.2 可以看出放大電路的具體設(shè)計(jì)。在 LM386 的 1 腳和 8 腳之間串接一個(gè) 10 微法的電容 C4,使內(nèi)部電阻 R6 被交流旁路,放大電路的增益能達(dá)到最大值,200 倍數(shù)(46dB)。再對音頻放大電路的外圍電路進(jìn)行設(shè)計(jì),電路中電容 C1、C6 作為隔直電容,電位器 P1 用于調(diào)節(jié)音量的大小,元件 R2、C5 有助于旁路高頻噪音和改善輸出的音質(zhì)。電容 C3 作為去耦電容,一方面是本集成電路的蓄能電容,另一方面旁路掉該器件的高頻噪聲。電容 C2 則是作為旁路電容,將信號(hào)的中高頻噪音旁路到地。經(jīng)過放大電路的音頻信號(hào)就送入 A/D 轉(zhuǎn)換器進(jìn)行采樣,這里 A/D轉(zhuǎn)換器要設(shè)置為雙極性,即能接收負(fù)信號(hào)。
圖 2.2.2 音樂信號(hào)放大采集
2.2.2 采樣定理
采樣是指用一較高頻率的開關(guān)脈沖對模擬信號(hào)進(jìn)行取樣,取出脈沖到來時(shí)刻
所對應(yīng)的模擬信號(hào)的幅度,這樣就可以得到一連串幅度變化的離散脈沖。用這些
離散脈沖序列代替原來時(shí)間上連續(xù)的信號(hào),也就是在時(shí)間上將模擬信號(hào)離散化。
如圖 3.2.2 所示,在對音樂信號(hào)進(jìn)行放大處理后,就要通過 A/D 轉(zhuǎn)換將模擬信號(hào)采集進(jìn)計(jì)算機(jī),這就是音樂信號(hào)的采樣。我們在對一個(gè)連續(xù)的音樂信號(hào)進(jìn)行采樣時(shí),為了使采樣后的樣本序列能夠包含足夠的信息以使其能夠較正確地重現(xiàn)原來的模擬信號(hào),在采樣時(shí)應(yīng)當(dāng)使采樣頻率滿足采樣定理的要求。采樣定理的描述為“對一個(gè)模擬信號(hào)進(jìn)行離散化時(shí),只要滿足采樣頻率fs 大于或等于被采樣信號(hào)的最高頻率fm的2 倍,就可以通過理想的低通濾波器,從樣本值序列信號(hào)中無失真地恢復(fù)出原始模擬信號(hào)”,這里的fm稱為香農(nóng)頻率,這個(gè)采樣定理又稱為香農(nóng)采樣定理。實(shí)際應(yīng)用中為了較好的防止頻譜混疊失真,采樣頻率一般要稍大于信號(hào)最高頻率的 2 倍。比如樂曲的音域頻段如果在 50Hz~4000Hz 內(nèi),就要將 A/D 轉(zhuǎn)換器的采樣頻率選定為 10kHz,才能滿足香農(nóng)采樣定理的要求。
2.3 單片機(jī)電路
單片機(jī)要采集音樂信號(hào),并據(jù)此調(diào)節(jié)I/O口的輸出來控制水泵和彩燈。主芯片選用AT89C51單片機(jī)。AT89C51單片機(jī)是一個(gè)低功耗,高性能的51內(nèi)核的CMOS 8位單片機(jī),片內(nèi)含8K空間的可反復(fù)擦寫1000次的Flash只讀存儲(chǔ)器,具有256bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),32個(gè)I/O口,1個(gè)看門狗定時(shí)器,3個(gè)16位可編程定時(shí)器,具有ISP功能,能夠滿足設(shè)計(jì)要求。使用簡單且價(jià)格非常低廉。故系統(tǒng)的主控制器采用此方案。
圖2.3 89C51芯片
2.3.1 單片機(jī)的概述
AT89C51是美國ATMEL公司生產(chǎn)的低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含4K bytes的可反復(fù)擦寫的只讀程序存儲(chǔ)器(PEROM)和128 bytes的隨機(jī)存取數(shù)據(jù)存取器(RAM),器件采用ATMEL公司的ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器(CPU)和Flash存儲(chǔ)單元。AT89C51提供一下標(biāo)準(zhǔn)功能:4K字節(jié)Flash閃速存儲(chǔ)器,128字節(jié)內(nèi)部RAM,32個(gè)I/O口線,兩個(gè)16位定時(shí)/計(jì)數(shù)器,一個(gè)5向量兩級(jí)中斷結(jié)構(gòu),一個(gè)雙全工串行通信口,片內(nèi)震蕩器及時(shí)鐘電路。同時(shí),AT89C51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時(shí)/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個(gè)硬件復(fù)位。
單片機(jī)有四個(gè)數(shù)據(jù)輸出端口,P0口、P1口、P2口、P3口。由于P3口還有許多特殊功能,如讀寫控制、串行通信、外部中斷等功能,所以P3口不用作數(shù)據(jù)輸入輸出端口。P0口具有很強(qiáng)的帶負(fù)載的能力,除了用作地址總線低八位以外,還兼作訪問外接擴(kuò)展程序內(nèi)存時(shí)數(shù)據(jù)總線以及與A/D轉(zhuǎn)換器ADC0809L連接的資料線。P1口、P2口帶負(fù)載能力相對比教弱,而P2口需要用作訪問外接內(nèi)存的高八位地址線,因此P2口也不作為數(shù)據(jù)輸入輸出口,剩下的P1口作為資料輸出口。
2.3.2 時(shí)鐘電路的設(shè)計(jì)
AT89C51芯片內(nèi)部有一個(gè)高增益反相放大器,用于構(gòu)成振蕩器。反相放大器的輸入端為XTAL1,輸出端為XTAL2兩端跨接石英晶體及兩個(gè)電容就可以構(gòu)成穩(wěn)定的自激振蕩器,如圖2—13所示:
圖2-13自激振蕩器
2.4 AD轉(zhuǎn)換電路
輸入的電壓為交流模擬量,不能直接送入單片機(jī)進(jìn)行處理。因此首先采用全橋整流,濾波。使其成為直流信號(hào),再采用全橋整流,濾波。使其成為直流信號(hào),再采用了ADC電路。其中AD芯片為ADC0832。ADC0832為8位分辨率A/D轉(zhuǎn)換芯片,其最高分辨可達(dá)256級(jí),可以適應(yīng)一般的模擬量轉(zhuǎn)換要求。其內(nèi)部電源輸入與參考電壓的復(fù)用,使得芯片的模擬電壓輸入在0~5V之間。芯片轉(zhuǎn)換時(shí)間僅為32s,據(jù)有雙數(shù)據(jù)輸出可作為數(shù)據(jù)校驗(yàn),以減少數(shù)據(jù)誤差,轉(zhuǎn)換速度快且穩(wěn)定性強(qiáng)。獨(dú)立的芯片使能輸入,使多器件掛接和處理器控制變得更加方便。通過DI數(shù)據(jù)輸入端,可以輕易的實(shí)現(xiàn)通道功能的選擇。串行通信節(jié)約單片機(jī)I/O資源。
ADC0809各引腳功能:ADC0809采用雙列直插式封裝,共有28條引腳。
(1)IN0—IN7(8條) IN0—IN7為8路模擬電壓輸入線,用于輸入被轉(zhuǎn)換的模擬電壓;
(2)地址輸入和控制(4條) ALE為地址鎖存允許輸入線,高電平有效。當(dāng)ALE線為高電平時(shí),ADDA、ADDB和ADDC三條地址線上的地址信號(hào)得以鎖存,經(jīng)譯碼后控制8路模擬開關(guān)工作,ADDA、ADDB和ADDC 為地址輸入線,用于選擇IN0—IN7上的哪一路模擬電壓送給比較器進(jìn)行A/D轉(zhuǎn)換。
(3)數(shù)字量輸出及控制線(11條)“START”為“啟動(dòng)脈沖”輸入線,該線上的正脈沖由CPU送來,寬度應(yīng)大于100ns,上升沿清零SAR,下降沿啟動(dòng)ADC工作。EOC為轉(zhuǎn)換結(jié)束輸出線,該線上的高電平表示A/D轉(zhuǎn)換已結(jié)束,數(shù)字量已鎖入“三態(tài)輸出鎖存器”。OE為“輸出允許”線。
(4)電源線及其他(5條) CLOCK為時(shí)鐘輸入線,用于為ADC0809提供逐次比較所需的時(shí)鐘脈沖序列。VCC為+5電源輸入線,GND為地線。VREF(+)和VREF(-)為參考電壓輸入線,用于給電阻階梯網(wǎng)絡(luò)供給標(biāo)準(zhǔn)電壓。VREF(+)常與 VCC 相連VREF(-)常接地或負(fù)電源電壓。
2.4.1 ADC0809與單片機(jī)89C51的連接
ADC0809的時(shí)鐘信號(hào)來自單片機(jī)89C51的ALE信號(hào),89C51采用12MHz時(shí)鐘頻率,ALE為2MHz,經(jīng)四分頻后為500KHz作為ADC0809的時(shí)鐘頻率。用P2.7控制A/D轉(zhuǎn)換的啟動(dòng)與轉(zhuǎn)換結(jié)束后數(shù)字量的讀取。ADC0809的地址鎖存允許管腳(ALE)H和啟動(dòng)管腳(START)相連。由P2.7和WR信號(hào)經(jīng)或非門提供的信號(hào)使P0.2—P0.0提供的3位通道地址送入ADC0809進(jìn)行鎖存,用以選取通道號(hào)。轉(zhuǎn)換結(jié)束信號(hào)EOC作為查詢信號(hào)。具體接口電路如圖2-4所示
圖2-4ADC0809
2.4.2輸入電路
在這里,輸入電路是指能對樂曲啟停、樂曲節(jié)奏和聲音強(qiáng)弱等進(jìn)行檢測并將檢到的信號(hào)以電平、脈沖或數(shù)字形式送至單片機(jī)的電路。為說明簡單計(jì),這里僅介紹能反映樂曲啟停的奏曲信號(hào)電路。因?yàn)橛辛怂?,音樂已不再僅是背景音樂,音樂已用來控制整個(gè)噴池的動(dòng)作與否,因而已達(dá)到了音樂噴泉的最基本要求。
奏曲信號(hào)電路的框圖如圖2.4.2所示。左右兩路立體聲信號(hào)經(jīng)混合后送限幅放大電路放大,這樣即使是極弱的樂曲信號(hào)也能有足夠強(qiáng)度媳信號(hào)輸出。整流濾波電路用以將信號(hào)轉(zhuǎn)為單向信號(hào)。電壓比較器用以將大于基準(zhǔn)電壓的單向信號(hào)變換成低電平有效的奏曲信號(hào)由之端輸出。通過調(diào)整基準(zhǔn)電壓,可使電路既不受干擾的影響又靈敏度最大。奏曲信號(hào)電路的輸出經(jīng)R3送至光耦4N35在單片機(jī)P1.5引腳產(chǎn)生一低電平信號(hào)。
圖2.4.2奏曲信號(hào)電路框圖
2.5潛水泵調(diào)速硬件方案設(shè)計(jì)
方案一:采用變頻器,調(diào)速方便、容易,只要控制口電流范圍為4到20毫安就可以,精度高,缺點(diǎn)價(jià)格偏貴。
方案二:采用步進(jìn)電機(jī)調(diào)速電路,這樣會(huì)增加電路復(fù)雜性,控制精度偏低,優(yōu)點(diǎn)是價(jià)格偏低。本系統(tǒng)成本問題必須考慮,控制精度要求不是很高,步進(jìn)電機(jī)調(diào)速電路就可以滿足要求。
本系統(tǒng)采用可控硅調(diào)相的方法控制噴泉水泵的轉(zhuǎn)速。電路如圖2.5所示,由單片機(jī)的I/O口輸出矩形波,通過光耦控制可控硅的導(dǎo)通角,進(jìn)而控制水泵電機(jī)的轉(zhuǎn)速,調(diào)整噴泉的輸出高度。選用單相可控硅BT169控制220V的雙向交流電。交流通過二極管1N4007(耐壓值1000V)組成的整流橋后變?yōu)?00Hz脈動(dòng)的直流,由單片機(jī)P0.4依據(jù)音樂采樣結(jié)果輸出矩形波,通過光耦控制可控硅的通斷,以達(dá)到調(diào)相的目的。
圖2.5電機(jī)電路圖
采用這種方法關(guān)鍵要保證矩形波與100Hz脈動(dòng)直流保持同相,由AD采樣的結(jié)果決定100Hz脈動(dòng)直流的每一個(gè)周期有多長時(shí)間是導(dǎo)通的。所以將100Hz脈動(dòng)直流分壓后作為單片機(jī)內(nèi)部比較器的一個(gè)輸入端,另一個(gè)輸入端接一個(gè)由5V分來的固定電壓。當(dāng)比較器的輸出結(jié)果發(fā)生變化時(shí),由定時(shí)器定一段時(shí)間,這樣就找到了每個(gè)周期的起點(diǎn),然后再根據(jù)AD采樣決定不等的延時(shí)來輸出矩形波導(dǎo)通可控硅。AD采樣結(jié)果大,每個(gè)周期的延時(shí)短,可控硅導(dǎo)通的時(shí)間長,水泵電機(jī)轉(zhuǎn)速快,反之亦然。
2.6燈光硬件方案設(shè)計(jì)
方案一:使用大功率,不同顏色的發(fā)光二極管。
方案二:使用LED水下低壓彩燈。LED-水下彩燈系列除廣泛使用于噴泉,瀑布水下照明外,還可用于假山,橋梁等投光照明。 水下彩燈均采用著名荷蘭菲利蒲公司產(chǎn)品,產(chǎn)品結(jié)構(gòu)合理,色彩鮮艷,并進(jìn)一步改進(jìn)了其密封、防護(hù)和接線方式,廣泛適合于各種噴泉。
本次設(shè)計(jì)采用水下照明和閃光彩燈,水下照明采用LED水下低壓彩燈兩個(gè),閃光彩燈采用不同顏色的發(fā)光二極管。
圖2.6 彩燈的連接
2.7解決系統(tǒng)時(shí)間滯后硬件電路設(shè)計(jì)
由于單片機(jī)采集數(shù)據(jù)并處理需要一定的時(shí)間,加上電機(jī)響應(yīng)和水柱顯示也需要一定的時(shí)間。電機(jī)由一種轉(zhuǎn)速到另一種轉(zhuǎn)速的響應(yīng)時(shí)間可以查電機(jī)參數(shù)得到,電動(dòng)機(jī)的響應(yīng)時(shí)間為0.04S,單片機(jī)采集處理數(shù)據(jù)程序約為100句,約為0.6ms,水柱的顯示延時(shí)可以通過水閘效應(yīng)計(jì)算出來,經(jīng)計(jì)算總延時(shí)約為0.2S。提出兩種解決方案。
方案一:采用預(yù)處理,即把要控制的音樂元素提前編輯好,提前控制。
方案二:采用把音樂延時(shí)播放,即在音樂源與音響間加延時(shí)電路,調(diào)節(jié)參數(shù),使音樂與水柱的變化同步。
音樂元素提前預(yù)處理一般使用在工控機(jī)等數(shù)字處理能力非常強(qiáng)的控制系統(tǒng)中,使用單片機(jī)一般實(shí)現(xiàn)不了這個(gè)預(yù)處理目標(biāo)。因此采用延時(shí)電路[6]把音樂延時(shí)播放,選擇方案二。
第3章 噴泉控制系統(tǒng)軟件設(shè)計(jì)
程序采用模塊化結(jié)構(gòu),所有用到的常數(shù)或數(shù)組都用EQU或DATA或DB偽指令定義與命名,以使程序易于修改、調(diào)試和升級(jí)。本系統(tǒng)將TO溢出中斷用于軟件看門狗。
3.1噴池?cái)?shù)據(jù)
噴池?cái)?shù)據(jù)是用以對噴池內(nèi)的水泵、電磁閥和彩燈等進(jìn)行開與關(guān)控制的數(shù)據(jù)。一組可循環(huán)使用的這種數(shù)據(jù),就決定了噴泉和彩燈的一個(gè)特定的變化形態(tài)。這組噴池?cái)?shù)據(jù)可稱為花樣數(shù)據(jù)。對一個(gè)特定構(gòu)造的噴池,這種花樣數(shù)據(jù)可編寫出很多。
下面以圖3.1為例說明花樣數(shù)據(jù)的編排方法。假設(shè)希望外圈噴頭每隔一定時(shí)間順次增噴2個(gè)噴頭,且從2個(gè)經(jīng)4步順時(shí)針增至8個(gè)后,再順次以同樣的方向同樣的速度每次減噴2個(gè)噴頭,即從8個(gè)噴頭經(jīng)4步減至0。以后不斷按上述規(guī)律循環(huán)變化。在這期間,里圈和中心噴頭一直不噴。在不考慮其它控制的情況下,圖4.1噴池只需2個(gè)輸出寄存器,其各位控制噴頭定義如下:
8
7
6
5
4
3
2
1
X
X
X
13
12
11
10
9
圖3.1噴頭布局例
以上各位若為1時(shí)相應(yīng)的噴頭噴水,為0時(shí)不噴水,則外圈噴頭數(shù)據(jù)應(yīng)為:
0000 0011B
0000 1111B
0011 1111B
1111 1111B
1111 1100B
1111 0000B
1100 0000B
0000 0000B
若該花樣數(shù)據(jù)定義為HYSJ01則數(shù)據(jù)定義如下:
HYSJ01:
DB 03H,0FH,3FH,0FFH,0FCH,0FOH,0COH,00H;外圈噴頭數(shù)據(jù)
DB 0,0,0,0,0,0,0,0 ; 里圈和中心噴頭數(shù)據(jù)
每次將花樣數(shù)據(jù)輸出時(shí)都是順次取一列輸出的,且可循環(huán)取用。顯然這樣的花樣數(shù)據(jù)可以編不少,還可將兩個(gè)以上的數(shù)據(jù)搭配起來,組成新的更復(fù)雜一些的花樣數(shù)據(jù)。
3.2主程序框圖
程序重新設(shè)置后,進(jìn)入0000H開始的主程序,其流程圖如圖3.2所示??梢钥闯觯篜1.4上的開關(guān)K決定是否測試輸出通道;樂曲是否演奏決定了噴池是否有動(dòng)作,即P1.5的電平;拔碼開關(guān)的設(shè)定值決定了延時(shí)多少倍的0.1秒時(shí)間,即噴池動(dòng)作改變的時(shí)間間隔:奏曲每停一次(大多數(shù)樂曲奏曲中間不會(huì)停),下次再奏曲就換一組花樣數(shù)據(jù),若用完了最后一組,以后就從頭再取。也就是多個(gè)樂曲依次輪流循環(huán)使用編制好的噴池花樣數(shù)據(jù)。
3.3 控制潛水泵軟件設(shè)計(jì)模塊
目前,潛水泵結(jié)構(gòu)簡單,成本較低,控制方便,只有一種轉(zhuǎn)速。要控制潛水泵的流量變化,就必須使?jié)撍玫霓D(zhuǎn)速發(fā)生變化。
我們使用無觸點(diǎn)開關(guān)分時(shí)接通的方法提高潛水泵的轉(zhuǎn)速檔次,在硬件電路基本不變的條件下,使?jié)撍镁哂惺藱n轉(zhuǎn)速的調(diào)速能力和更好的節(jié)能效果,這種方法無需增加較多的硬件,僅在控制器中采用新的調(diào)速程序,即可達(dá)到提高潛水泵轉(zhuǎn)速檔次和節(jié)能的目的。
圖3.2 主程序流程圖
3.3.1 潛水泵開關(guān)調(diào)速的原理
潛水泵調(diào)速電路中, L、M、H分別為單相潛水泵的低速抽頭、中速抽頭和高速抽頭,單相潛水泵采用電容運(yùn)行方式,三個(gè)抽頭與電源的連接由三個(gè)雙向晶閘管TL、TM、TH來控制,當(dāng)TL導(dǎo)通時(shí)潛水泵的低速抽頭與電源連接,潛水泵低速運(yùn)轉(zhuǎn),同樣,TM導(dǎo)通時(shí)潛水泵中速運(yùn)轉(zhuǎn),TH導(dǎo)通時(shí)潛水泵高速運(yùn)轉(zhuǎn)。我們采用分時(shí)接通L、M、H的方法,可以調(diào)節(jié)潛水泵的轉(zhuǎn)速,使?jié)撍毛@得十八檔轉(zhuǎn)速的變速能力。設(shè)電源頻率為50HZ,其周期為0.02S,取調(diào)速周期TS=6T(T為電源周期),低速調(diào)速時(shí),調(diào)速周期內(nèi)不接通任何一個(gè)晶閘管,則潛水泵的轉(zhuǎn)速0,調(diào)速周期內(nèi)全接通晶閘管TL,則潛水泵低速運(yùn)轉(zhuǎn),但如果在6個(gè)電源周期內(nèi),N個(gè)周期接通晶閘管TL(0≤N≤6),其他時(shí)間不接通,那么,在潛水泵的低速下可獲得6檔更低的轉(zhuǎn)速。同樣,中速調(diào)速時(shí),調(diào)速周期內(nèi)全接通晶閘管TL,則潛水泵低速運(yùn)轉(zhuǎn),全接通晶閘管TM,則潛水泵中速運(yùn)轉(zhuǎn),如果在6個(gè)電源周期內(nèi)N個(gè)周期接通晶閘管TM,(6-N)個(gè)周期接通TL,那么在潛水泵的低速和中速之間可獲得6檔轉(zhuǎn)速。同樣道理,在中速和高速間又可獲得6檔轉(zhuǎn)速。由此可見采用分時(shí)接通的方法,可以使?jié)撍镁哂惺藱n轉(zhuǎn)速的調(diào)速能力。
3.3.2潛水泵開關(guān)調(diào)速的軟件設(shè)計(jì)
單相潛水泵采用單片機(jī)AT89C51控制,單片機(jī)的輸出端口P2.0、P2.1、P2.2經(jīng)反相器與晶閘管TL、TM、TH的控制極連接,當(dāng)P2.0=“0”時(shí),晶閘管導(dǎo)通,潛水泵可低速運(yùn)轉(zhuǎn),反之,P2.0=“1”時(shí),晶閘管截止,潛水泵停轉(zhuǎn),即由P2.0輸出電位控制潛水泵的低速檔;同樣,由P2.1輸出電位控制潛水泵的中速檔,P2.2控制潛水泵的高速檔。采集的音樂信號(hào)經(jīng)過傅立葉變換再去查幅值對應(yīng)的分貝轉(zhuǎn)速表直接得到轉(zhuǎn)速代碼,這樣就可以控制潛水泵的轉(zhuǎn)速,再此只以生日快樂音樂程序?yàn)槔?,控制潛水泵轉(zhuǎn)速的方法如下:
每個(gè)音符對應(yīng)一種轉(zhuǎn)速代碼,潛水泵的轉(zhuǎn)速隨音符改變而改變。調(diào)速程序必須經(jīng)過一個(gè)最小時(shí)間1/4拍才能輸出一個(gè)轉(zhuǎn)速代碼的轉(zhuǎn)速,在調(diào)速程序中,采用一個(gè)存儲(chǔ)單元(90H)作為轉(zhuǎn)速輸入單元,另一個(gè)存儲(chǔ)單元(95H)記錄晶閘管導(dǎo)通時(shí)間,并通過延時(shí)程序來實(shí)現(xiàn)。
在調(diào)速程序中,我們采用8位數(shù)據(jù)記錄電機(jī)的轉(zhuǎn)速代碼,其中低3位(b2b1b0)表示接通比例N,第4、5位(b4b3)表示接通檔次,高3位(b7b6b5)不用。接通檔次表示調(diào)速為低速調(diào)速、中速調(diào)速還是高速調(diào)速,其值為b4b3={00B,01B,10B,11B},當(dāng)接通檔次為00B時(shí),在轉(zhuǎn)速代碼設(shè)定的接通比例內(nèi)接通晶閘管TL,接通比例外不接通晶閘管;當(dāng)接通檔次為01B時(shí),在轉(zhuǎn)速代碼設(shè)定的接通比例內(nèi)接通晶閘管TM,接通比例外接通晶閘管TL,當(dāng)接通檔次為10B時(shí),在轉(zhuǎn)速代碼設(shè)定的接通比例內(nèi)接通晶閘管TH,接通比例外接通晶閘管TM;當(dāng)接通檔次為11B時(shí),接通比例只有00H一種,這時(shí)在整個(gè)調(diào)速周期內(nèi)接通晶閘管TH,潛水泵高速運(yùn)轉(zhuǎn)。接通比例的取值范圍000B-110B,由此可知,轉(zhuǎn)速代碼的取值范圍為00H-06H,09H-0EH,11H-16H總共十八個(gè)代碼,其中00H-06H為低速檔代碼,09H-0EH為中速檔代碼,11H-16H為高速檔代碼。所以潛水泵除零速外共有十八檔轉(zhuǎn)速。
上述方法可以使?jié)撍镁邆涫藱n轉(zhuǎn)速的調(diào)速能力,但這個(gè)方法也有一些缺點(diǎn),主要是:
① 潛水泵的轉(zhuǎn)矩是脈動(dòng)的,使?jié)撍玫臋C(jī)械噪聲增大,在此我采取防止轉(zhuǎn)子軸向運(yùn)動(dòng)的措施減少噪聲,把潛水泵和水管固定。
② 低速檔接通比例較低時(shí),潛水泵主軸出現(xiàn)蠕行,不能正常工作,必須限制最小轉(zhuǎn)速代碼??扇サ舻退贆n轉(zhuǎn)速代碼中最低接通比例的三個(gè)代碼,保留轉(zhuǎn)速較高的十五檔轉(zhuǎn)速。采用改進(jìn)的控制位波形和限制最小轉(zhuǎn)速代碼之后,潛水泵在應(yīng)用中取得較好的調(diào)速和調(diào)節(jié)流量的效果。
3.4控制電磁閥軟件設(shè)計(jì)模塊
控制閥主要是控制噴池花型,由于采用PA0到PA7,PB0到PB4口控制電磁閥,除去相同的花型噴頭,所以噴池花型只有1到256種。可以人工按鍵選擇,其噴池花型值通過LED數(shù)碼管顯示出來,即第幾號(hào)花型,選擇了噴池花型值就使相應(yīng)的電磁閥通電,高電平口使電磁閥有電。高電平口使電磁閥有電,電磁閥編號(hào)與PA、PB口的編號(hào)對應(yīng),則PA、PB口的噴頭數(shù)據(jù)一樣。
控制電磁閥子程序模塊
DIAN: MOV A,31H; 求出花型數(shù)據(jù)
ADD A,32H
ADDC A,33H
MOV 34H,A; 保存起來
MOV DPTR, #0F700H;指向1#8155命令口
MOV A, #3H; 設(shè)置命令字
MOVX @DPTR, A
INC DPTR; 指向1#PA口
MOV A,34H
MOVX @DPTR,A; 高電平口使電磁閥有電
INC DPTR; 指向1#PB口
MOV A,R7
MOVX @DPTR, A
RET
3.5 歌曲存儲(chǔ)模塊
3.5.1音頻脈沖的產(chǎn)生
若要產(chǎn)生音頻脈沖,只要算出某一音頻的周期(1/頻率),再將此周期除以2,即為半周期的時(shí)間。利用定時(shí)器計(jì)時(shí)半周期時(shí)間,每當(dāng)計(jì)時(shí)終止后就將I/O反相,然后重復(fù)計(jì)時(shí)再反相。就可在I/O引腳上得到此頻率的脈沖。利用單片機(jī)的內(nèi)部定時(shí)器使其工作計(jì)數(shù)器模式(MODE1)下,改變計(jì)數(shù)值TH0及TL0以產(chǎn)生不同頻率的方法產(chǎn)生不同音階,例如,頻率為523Hz,其周期T=1/523=1912μs,因此只要令計(jì)數(shù)器計(jì)時(shí)956μs/1μs=956,每計(jì)數(shù)956次時(shí)將I/O反相,就可得到中音DO(523Hz)。
表3.1 C調(diào)各音符頻率與計(jì)數(shù)值T的對照表
音符
頻率Hz
簡譜碼(T值)
音符
頻率Hz
簡譜碼(T值)
低1DO
262
63628
#4FA#
740
64860
#DO#
277
63731
中5SO
784
64898
低2RE
294
63835
#5SO#
831
64934
#2RE#
311
63928
中6LA
880
64968
低3M
330
64021
#6
932
64994
低4FA
349
64103
中7SI
988
65030
#4FA#
370
64185
高1DO
1046
65058
低5SO
392
64260
#1DO#
1109
65085
#5SO#
415
64331
高2RE
1175
65110
低6LA
440
64400
#2RE#
1245
65134
#6
466
64463
高3M
1318
65157
低7SI
494
64524
高4FA
1397
65178
中1DO
523
64580
#4FA#
1480
65198
#1DO#
554
64633
高5SO
1568
65217
中2RE
587
64684
#5SO#
1661
65235
#2RE#
622
64732
高6LA
1760
65252
中3M
659
64777
#6
1865
65268
中4FA
698
64820
高7SI
1967
65283
每個(gè)音符使用一個(gè)字節(jié),字節(jié)的高4位代表音符的高低,低4位代表音符的節(jié)拍,表3.2節(jié)拍與節(jié)拍碼的對照。如果1拍為0.4秒,1/4拍是0.1秒,只要設(shè)定延遲時(shí)間就可求得節(jié)拍的時(shí)間。假設(shè)1/4拍的節(jié)拍時(shí)間為DELAY,則1拍應(yīng)為4DELAY,以此類推。所以只要求得1/4拍的DELAY時(shí)間,其余的節(jié)拍就是它的倍數(shù),如表3.3為1/4和1/8節(jié)拍的時(shí)間設(shè)定。
表3.2 節(jié)拍與節(jié)拍碼的對照
節(jié)拍碼
節(jié)拍數(shù)
節(jié)拍碼
節(jié)拍數(shù)
1
1/4拍
1
1/8拍
2
2/4拍
2
1/4拍
3
3/4拍
3
3/8拍
4
1拍
4
1/2拍
5
1又1/4拍
5
5/8拍
6
1又1/2拍
6
3/4拍
8
2拍
8
1拍
A
2又1/2拍
A
1又1/4拍
C
3拍
C
1又1/2拍
F
3又3/4拍
表3.3 各調(diào)1/4節(jié)拍的時(shí)間設(shè)定
曲調(diào)值
DELAY
曲調(diào)值
DELAY
調(diào)4/4
125毫秒
調(diào)4/4
62毫秒
調(diào)3/4
187毫秒
調(diào)3/4
94毫秒
調(diào)2/4
250毫秒
調(diào)2/4
125毫秒
表3.4簡譜對應(yīng)的簡譜碼、T值
簡譜
發(fā)音
T值
簡譜碼
簡譜
發(fā)音
簡譜碼
T值
5
低音
64260
1
6
中音
9
64968
6
低音
64400
2
7
中音
A
65030
7
低音
64524
3
1
高音
B
65058
1
中音
64580
4
2
高音
C
65110
2
中音
64684
5
3
高音
D
65157
3
中音
64777
6
4
高音
E
65178
4
中音
64820
7
5
高音
F
65217
5
中音
64898
8
高音
0
3.5.2音樂程序
先根據(jù)樂譜的音符按表3.1建立T值表的順序,把T值表建立在TABLE1,構(gòu)成發(fā)音符的計(jì)數(shù)值放在TABLE中;簡譜碼(音符,參照表3.4)為高4位,節(jié)拍(節(jié)拍數(shù),參照表3.2)為低4位,音符節(jié)拍碼放在程序的“TABLE”處。音樂程序模塊
START-MU:
ORG 00H ; 主程序起始地址
JMP START; 跳至主程序
ORG 0BH ; TIMER0中斷起始地址
JMP TIM0; 跳至TIMER0中斷子程
START: MOV TMOD,#01H ; 設(shè)TIMER0在MODE1
MOV IE, #82H; 中斷使能
START0: MOV 30H, #00H; 取簡譜碼指針
NEXT: MOV A, 30H ; 簡譜碼指針載入A
MOV DPTR,#TABLE; 至TABLE取簡譜碼
MOVC A, @A+DPTR
MOV R2, A; 取到的簡譜碼暫存于R2
JZ END0; 是否取到00(結(jié)束碼)?
ANL A, #0FH; 不是,則取低4位(節(jié)拍碼)
MOV 90H, A; 為調(diào)速保存數(shù)據(jù)
MOV R5, A; 將節(jié)拍碼存入R5
MOV A, R2; 將取到的簡譜碼再載入A
SWAP A; 高低4位交換
ANL A, #0FH; 取低4位(音符碼)
MOV 90H, A; 保存音符碼,為調(diào)速做準(zhǔn)備
JNZ SING; 取到的音符碼是否為0?
CLR TR0; 是,則不發(fā)音
JMP D1; 跳至D1
SING: DEC A; 取到的音符碼減1(不含0)
MOV 22H, A ; 存入(22H)
RL A; 乘2
MOV DPTR, #TABLE1; 至TABLE1取相對的高位字節(jié)計(jì)數(shù)值
MOVC A, @A+DPRT
MOV TH0, A; 取到的高位字節(jié)存入TH0
MOV 21H, A; 取到的高位字節(jié)存入(21H)
MOV A, 22H ; 再載入取到的音符碼
RL A; 乘2
INC A; 加1
MOVC A, @A+DPRT; 至TABLE1取相對的低位字節(jié)計(jì)數(shù)值
MOV TL0, A; 取到的低位字節(jié)存入TL0
MOV 20H, A; 取到的低位字節(jié)存入(20H)
SETB TB0; 啟動(dòng)TIMER0
D1: CALL CHULIKOU; 調(diào)用以1/4拍為基本單位時(shí)間的調(diào)速子程序
INC 30H; 取簡譜碼指針加1
JMP NEXT; 取下一個(gè)碼
END0: CLR TR0; 停止TIMER0
JMP START0; 重復(fù)循環(huán)
TIM0: PUSH ACC; 將A的值暫存于堆棧
PUSH PSW; 將PSW的值暫存于堆棧
MOV TL0, 20H; 重設(shè)計(jì)數(shù)值
MOV TH0, 21H
CPL P1.0; 將P1.0位反相
POP PSW; 至堆棧取回PSW的值
POP ACC; 至堆棧取回A的值
RETI; 返回主程序
TABLE1:
DW 64260, 64400, 65524, 64580
DW 64684, 64777, 64820, 64898
DW 64968, 65030, 65058, 65110
DW 65157, 65178, 65217
TABLE:
DB 82H,01H,81H,94H,84H ;1
DB 0B4H,0A4H,04H
DB 82H,01H,81H,94H,84H
DB 0C4H,0B4H,04H;2
DB 82H,01H,81H,0F4H,0D4H
DB 0B4H,0A4H,94H
DB 0E2H,01H,0E1H,0D4H,0B4H
DB 0C4H,0B4H,04H;3
DB 82H,01H,81H,94H,84H
DB 0B4H,0A4H,04H
DB 82H,01H,81H,94H,84H
DB 0C4H,0B4H,04H;4
DB 82H,01H,81H,0F4H,0D4H
DB 0B4H,0A4H,94H
DB 0E2H,01H,0E1H,0D4H,0B4H
DB C4H,0B4H,04H
DB 00
TABLE2: DB 04H,05H,06H
DB 09H,0AH,0BH,0CH,0DH,0EH
DB 11H,12H,13H,14H,15H, 16H
END
3.6燈光控制模塊
LC182是音頻調(diào)制彩燈控制專用芯片,其內(nèi)部分配器頻率的高低受音頻信號(hào)大小的調(diào)制,特別適用于聲光音響控制場合,可直接驅(qū)動(dòng)驅(qū)動(dòng)眾多發(fā)光二極管閃光,也可驅(qū)動(dòng)交流彩色電燈作循環(huán)閃光。LC182為四路驅(qū)動(dòng)輸出。他們的內(nèi)部均有信號(hào)整流電路。壓控振蕩器,脈沖分配器。在本系統(tǒng)中,單片機(jī)便開啟LC182時(shí),LC182四路輸出依次變?yōu)楦唠娖?,其循環(huán)頻率約為0.5~1HZ,一有音樂信號(hào)的輸入,彩燈的循環(huán)頻率隨音頻信號(hào)的大小而變化,其最高循環(huán)頻率為15HZ。
燈光控制子程序
LUMP:
MOV DPTR, #0EF00H ; 初始化2#8155,PA口為基本輸出口
PB口為基本輸出口,PC口輸入口
MOV A, #1H
MOVX @DPTR, A
INC DPTR
INC DPTR; 指向2#8155PC口
MOV A, #01H
MOVX @DPTR, A
RET
3.7看門狗子程序
軟件看門狗由“喂狗”子程序和(看門狗定時(shí)器)TO溢出子程序組成。“喂狗”子程序如下:
DOG:
MOV TH0,#02H;模式1定時(shí)器,在6MHZ晶振時(shí),定時(shí)約130ms
MOV TL0, #18H
RET
此子程序應(yīng)在系統(tǒng)程序的若干處調(diào)用,保證在程序正常執(zhí)行時(shí)TO總不溢出。當(dāng)受到某種干擾程序跑飛時(shí),“喂狗”子程序得不到執(zhí)行,經(jīng)130ms后TO溢出中斷,就會(huì)執(zhí)行如下的(看門狗定時(shí)器)To溢出子程序:
TOINT:
POP YR1 ;舍去無用棧頂內(nèi)容
POP YR1 ;YRD和 YR1是兩個(gè)RAM單元名
MOV YR0,#49H ;0049H是本程序設(shè)定起始噴池花樣序號(hào)指令的存放地址
MOV YR1.#O
PUSH YR0 ;使棧頂內(nèi)容為0049H
PUSH YR1
RETI ;執(zhí)行RETI時(shí)PC值=0049H,即從0號(hào)噴池花樣開始演出
當(dāng)執(zhí)行從中斷返回指令RETI時(shí),棧頂內(nèi)容0049H就會(huì)彈出至程序計(jì)數(shù)器PC,從而重新設(shè)定起始噴池花樣序號(hào)后,再進(jìn)行樂曲控制初始化,噴池繼續(xù)正常動(dòng)作。
3.8實(shí)驗(yàn)仿真
仿真是利用計(jì)算機(jī)對實(shí)際額屋里模型或數(shù)學(xué)模型進(jìn)行試驗(yàn)(虛擬儀器的虛擬實(shí)驗(yàn)),通過這樣的模型試驗(yàn)來隨一個(gè)實(shí)際系統(tǒng)的性能和工作狀態(tài)進(jìn)行分析和研究。
近年來計(jì)算機(jī)仿真技術(shù)取得了快速的發(fā)展,同時(shí)推動(dòng)了單片機(jī)仿真技術(shù)的進(jìn)步。目前,用于單片機(jī)仿真的工具很多,有些主要用于軟件仿真,側(cè)重于算法的驗(yàn)證;有些用于硬件仿真的工具對CPU的仿真能力有限,至于對CPU外圍的硬件仿真更是無能為力。Proteus在單片機(jī)CPU和外圍器件方面表現(xiàn)出卓越的仿真能力使其成為目前最好的仿真工具之一。
Proteus的顯著特點(diǎn)如下:
(1)全部滿足單片機(jī)軟件仿真系統(tǒng)的標(biāo)準(zhǔn),并在同類產(chǎn)品中有明顯優(yōu)勢;
(2)具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)及外圍電路組成的系統(tǒng)仿真的功能;
(3)目前支持的單片機(jī)類型有:68000系列、51系列、AAVR系列等;
(4)支持大量的存儲(chǔ)器和外圍設(shè)備。
由于實(shí)驗(yàn)室條件原因本設(shè)計(jì)仿真部分不能在實(shí)驗(yàn)室完成,因此僅在此將使用Proteus來實(shí)現(xiàn)本設(shè)計(jì)仿真的步驟進(jìn)行描述如下:
第一步:打開Proteus 6 Professional繪圖界面。
第二步:添加所需元件并連接電路圖。本設(shè)計(jì)所需元件有:AT89C51、LED燈、水泵、電磁閥、揚(yáng)聲器等。
第三步:添加仿真文件。
第四步:單擊開始圖標(biāo),開始仿真。此時(shí)噴泉開始運(yùn)行,根據(jù)運(yùn)行狀態(tài)進(jìn)行源代碼的調(diào)試。
結(jié) 論
噴泉不但是園林、城市街道廣場和公共建筑等的裝飾品之一,而且它的出現(xiàn)給人們帶來了無限的歡樂,并且單一的噴泉逐步發(fā)展成種類繁多、造型優(yōu)美、花型變化靈活的音樂噴泉,同時(shí)加上燈光藝術(shù),使噴泉更加華麗、更加引人注目,因此成為現(xiàn)代社會(huì)較為流行的一種觀賞景觀。音樂噴泉的開發(fā)研究具有很大的發(fā)展前景,目前國內(nèi)外同行業(yè)的技術(shù)無不體現(xiàn)著高科技技術(shù)在娛樂業(yè)的廣泛應(yīng)用。本文闡述的只是一些初步的研究與開發(fā),如何提高音樂節(jié)拍與噴泉的同步,全面考慮音樂的要素的識(shí)別和提取、實(shí)現(xiàn)音樂與噴泉的完美結(jié)合應(yīng)該是一個(gè)艱巨的挑戰(zhàn)。
本文設(shè)計(jì)的音樂噴泉控制系統(tǒng)是旅游景點(diǎn)內(nèi)用的小型音樂噴泉,具有造型優(yōu)美、營業(yè)性強(qiáng)、控制簡單可靠的特點(diǎn),充分體現(xiàn)了經(jīng)濟(jì)型和實(shí)用性的原則,并且噴泉的安裝方便、維護(hù)簡單,能夠滿足用戶的需求。
在系統(tǒng)設(shè)計(jì)中,運(yùn)用流體力學(xué)理論設(shè)計(jì)了噴泉的管路系統(tǒng);運(yùn)用單片機(jī)實(shí)現(xiàn)了樂曲播放和流量及花型控制;運(yùn)用Protel軟件設(shè)計(jì)出了控制系統(tǒng)的控制電路。
不足之處在于:系統(tǒng)利用的是單片機(jī)產(chǎn)生方波信號(hào)控制揚(yáng)聲器發(fā)音,所以播放的只能是音樂的曲調(diào),而不是真人真唱的歌曲。
參考文獻(xiàn)
【1】肖玲琍. 音樂噴泉與現(xiàn)場總線技術(shù)[J]北京建筑工程學(xué)院學(xué)報(bào), 2003,(03)
【2】陳一民,劉云超,陳琳,李元. 音樂噴泉系統(tǒng)的可視化設(shè)計(jì)及實(shí)時(shí)仿真[J]計(jì)算機(jī)工程, 1999,(08)
【3】李華,胡漢才.噴泉設(shè)計(jì)設(shè)備手冊[P].北京:高等教育出版社,2006 :56-70
【4】孫育才.供水系統(tǒng)設(shè)計(jì)[M].湖北:水利電力出版社,1979:40-45
【5】任致程.實(shí)用電動(dòng)機(jī)控制電路350例[M].北京:人民郵電出版社,2002.132—134
【6】吳仁華,祁大勇.燈光控制系統(tǒng)的設(shè)計(jì).北京:北京航空航天大學(xué)學(xué)報(bào),2003:35-35
【7】崔玉周,楊吉,劉文斌.接口技術(shù).水利與建筑工程學(xué)報(bào),2007,5(1):73-75
【8】黃振國.應(yīng)用電路技術(shù).四川:電子科技大學(xué)出版社,2003:62-65
【9】李漢.基于單片機(jī)的單相電動(dòng)機(jī)調(diào)速方法及其實(shí)現(xiàn).廣州航海高等??茖W(xué)校學(xué)報(bào),2004,12(1):38-40
【10】張均,廖建波.小型音樂噴泉控制系統(tǒng)設(shè)計(jì).江西農(nóng)業(yè)大學(xué)學(xué)報(bào),1999,21(4):619-621
【11】吳金戌,沈慶陽.8051單片機(jī)實(shí)踐與應(yīng)用[T].北京:清華大學(xué)出版社,2002:124-130
附 錄
附錄1
附錄2
收藏