工程實(shí)踐與科技創(chuàng)新[2A]-第7組設(shè)計(jì)報(bào)告組長(zhǎng)陳曦東(電子版)_第1頁
工程實(shí)踐與科技創(chuàng)新[2A]-第7組設(shè)計(jì)報(bào)告組長(zhǎng)陳曦東(電子版)_第2頁
工程實(shí)踐與科技創(chuàng)新[2A]-第7組設(shè)計(jì)報(bào)告組長(zhǎng)陳曦東(電子版)_第3頁
工程實(shí)踐與科技創(chuàng)新[2A]-第7組設(shè)計(jì)報(bào)告組長(zhǎng)陳曦東(電子版)_第4頁
工程實(shí)踐與科技創(chuàng)新[2A]-第7組設(shè)計(jì)報(bào)告組長(zhǎng)陳曦東(電子版)_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 姓名班級(jí)學(xué)號(hào)具體負(fù)責(zé)的工作聯(lián)系方式陳曦東f0903033509030973813761634505李鴻楠f0903033509030973615216710765戴集f0903034509030976713621663159摘 要:基礎(chǔ)任務(wù)為設(shè)計(jì)制作一個(gè)增益可鍵控的線性放大器電路,并通過單片機(jī)小系統(tǒng)控制直流增益等級(jí)的切換。拓展任務(wù)為函數(shù)信號(hào)發(fā)生暨電子音樂合成和播放器,要求完成后的電路可以輸出正弦、三角、鋸齒、矩形(方波)等數(shù)學(xué)函數(shù)波形和播放音樂。關(guān)鍵詞:鍵控;線性;直流增益;增益等級(jí);蜂鳴器;正弦;三角;鋸齒;矩形abstract basic event is to design and c

2、onstruct a linear amplifier circuit of which the gain can be controlled by pressing buttons. the dc gain level is determined by the scm system. the extension task is to make a function signal generator which can mix and play music as well. the completed circuit is required to output sinusoidal, tria

3、ngle, sawtooth, rectangular signal and play katyusha.keywords keying, linear,dc gain, gain level; buzzer, sinusoidal, triangle,sawtooth,rectangular.上海交通大學(xué) 電子信息與電氣工程學(xué)院地 址:東川路800號(hào)郵 編:200240目錄1. 概述11.1 編寫說明11.2 名詞定義11.3 縮略語32. 系統(tǒng)總體說明42.1 課題任務(wù)規(guī)定的設(shè)計(jì)要求42.2 實(shí)際完成后的功能42.3 系統(tǒng)的設(shè)計(jì)原理與分析62.3.1 系統(tǒng)的設(shè)計(jì)原理和總體結(jié)構(gòu)62.3.2

4、系統(tǒng)的設(shè)計(jì)原理和總體結(jié)構(gòu)62.3.3 系統(tǒng)的功能63. 系統(tǒng)的硬件結(jié)構(gòu)83.1 硬件總體結(jié)構(gòu)83.2 單片機(jī)小系統(tǒng)83.2.1 功能描述83.2.2 接口定義93.2.3 技術(shù)要求93.3 基礎(chǔ)任務(wù)可控增益放大器103.3.1 實(shí)現(xiàn)方式113.4 拓展任務(wù)音樂播放器123.4.1 實(shí)現(xiàn)方式124. 系統(tǒng)的軟件結(jié)構(gòu)144.1 軟件總體結(jié)構(gòu)和功能144.2 重要的全局變量144.3 流程邏輯164.4 拓展任務(wù)定時(shí)器t1的中斷程序描述204.4.1 功能描述214.4.2 輸入輸出項(xiàng)描述214.4.3 相關(guān)算法的描述214.5 基礎(chǔ)任務(wù)main()函數(shù)描述214.5.1 功能描述214.5.2 m

5、ain()函數(shù)中主要涉及的2個(gè)函數(shù)的調(diào)用215. 系統(tǒng)功能及技術(shù)指標(biāo)測(cè)試235.1 測(cè)試項(xiàng)目235.2 測(cè)試的資源235.3 測(cè)試方法235.4 測(cè)試結(jié)果及分析236. 致謝247. 參考資料258. 附錄268.1 課程學(xué)習(xí)心得和建議意見268.2 程序清單26第54頁上海交通大學(xué) 電子信息與電氣工程學(xué)院1. 概述1.1 編寫說明 本文檔從硬件設(shè)計(jì),程序編寫,誤差調(diào)整,調(diào)試等方面詳細(xì)的介紹了本組完成此次科創(chuàng)的全過程。包括自己的心得與體會(huì)。適合大眾閱讀。1.2 名詞定義單片機(jī)小系統(tǒng):指at89s52單片機(jī)at89s52 是一種低功耗、高性能cmos8位微控制器,具有 8k 在系統(tǒng)可編程flas

6、h 存儲(chǔ)器。使用atmel 公司高密度非 易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80c51 產(chǎn)品指令和引腳完 全兼容。 在單芯片上,擁有靈巧的8 位cpu 和在系統(tǒng) 可編程flash,使得at89s52為眾多嵌入式控制應(yīng)用系統(tǒng)提 供高靈活、超有效的解決方案。 at89s52具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)flash,256字節(jié)ram, 32 位i/o 口線,看門狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè)16 位 定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口, 片內(nèi)晶振及時(shí)鐘電路。另外,at89s52 可降至0hz 靜態(tài)邏 輯操作,支持2種軟件可選擇節(jié)電模式。 運(yùn)算放大器:指lm741放大器圖1-2.1 圖1-2

7、.2控制芯片:指cd4066芯片cd4066 是一種四路電子開關(guān)集成電路,在電視機(jī)、影碟機(jī)、電話機(jī)、各種電子儀器儀表等上應(yīng)用相當(dāng)廣泛。 cd4066功能特點(diǎn)cd4066 集成電路內(nèi)部主要由四路功能完全相同的電子開關(guān)組成,各組開關(guān)分別受其相應(yīng)引腳輸入的電平控制,使電子開關(guān)接通或斷開。它們的控制引腳為13腳(控制與間開關(guān))、腳(控制與間開關(guān))、腳(控制與間開關(guān))、12腳(控制與11間開關(guān))。 cd4066 集成電路采用14 腳雙列直插式封裝. 函數(shù)信號(hào):指波形為正弦,三角,鋸齒和方波正弦: 圖1-2.3圖1-2.4三角:圖1-2.5鋸齒:圖1-2.61.3 縮略語單片機(jī):是一種集成在電路芯片,這里

8、指at89s52運(yùn)放:運(yùn)算放大器,這里指lm741開關(guān):控制芯片,這里指cd4066編程:這里指用c語言編寫的程序,程序通過軟件轉(zhuǎn)換為16進(jìn)制再導(dǎo)入進(jìn)單片機(jī)小系統(tǒng)。調(diào)試:具體指,對(duì)于放大倍率誤差的縮小。對(duì)于輸出波形的形狀修正。波形:本文指的是正弦波,方波,三角波(即鋸齒波)2. 系統(tǒng)總體說明2.1 課題任務(wù)規(guī)定的設(shè)計(jì)要求基礎(chǔ)任務(wù): 設(shè)計(jì)制作一個(gè)增益可鍵控的線性放大器電路,并通過單片機(jī)小系統(tǒng)控制直流增益等級(jí)的切換。其中鍵控是指通過開閉“電鍵”轉(zhuǎn)換電路工作狀態(tài)。線性:vo = a vi; 相對(duì)于“非線性”而言,比如vo = (vi)2直流增益是指基本部分僅工作在直流輸入(注:拓展部分要求輸入交流信

9、號(hào))增益等級(jí)是指放大倍數(shù)可在有限個(gè)離散等級(jí)間切換變化單片機(jī)小系統(tǒng)提供人機(jī)操作界面,用數(shù)碼管顯示增益取值,用戶通過按鍵設(shè)置增益。增益的具體指標(biāo) :最小增益須小于0.15倍(建議取0.1);最大增益須大于1.45倍(建議取1.5) ;至少15個(gè)增益等級(jí):建議按等差排列,0.1,0.2,0.3,1.5;實(shí)測(cè)增益值相對(duì)誤差須小于3% 拓展任務(wù):增加一個(gè)cd4066,再增加幾個(gè)電阻細(xì)化放大倍率。要求完成后的電路可輸出正弦、三角、鋸齒、矩形(方波)等數(shù)學(xué)函數(shù)波形和播放音樂。要求有(25-1)到(28-1)個(gè)有效狀態(tài)且相應(yīng)增加單片機(jī)控制線。另外,拓展任務(wù)軟件設(shè)計(jì)上還有要求:1. 間隔時(shí)間要保持穩(wěn)定,必須利用

10、定時(shí)器中斷,有關(guān)操作須置于中斷服務(wù)程序中2.將sin函數(shù)計(jì)算成表(存入數(shù)組),程序中查表輸出3.音樂信號(hào)的發(fā)生原理:卡秋莎樂曲編程舉例2.2 實(shí)際完成后的功能可以進(jìn)行倍率的放大功能0-1.6v,其中間距為0.02,0.05,0.07,所以一共64組倍率值。按鍵的功能為:第一個(gè)鍵為+0.1倍,第二個(gè)鍵位-0.1,第三個(gè)鍵位到0倍,第四個(gè)鍵為到1.5倍。 可以播放喀秋莎音樂可以輸出正弦波,方波,鋸齒波,三角波信號(hào)可以調(diào)節(jié)三種頻率,以三種波寬輸出正弦波,方波,鋸齒波和三角波信號(hào)圖2.2.1 方波圖2.2.2 三角波圖22.3 正弦波2.3 系統(tǒng)的設(shè)計(jì)原理與分析2.3.1 系統(tǒng)的設(shè)計(jì)原理和總體結(jié)構(gòu)2.

11、3.2 系統(tǒng)的設(shè)計(jì)原理和總體結(jié)構(gòu) 對(duì)于基礎(chǔ)任務(wù) 我們的設(shè)想是,利用cd4066的四個(gè)控制線路控制4個(gè)電阻的接入與接出,產(chǎn)生不同的r值,然后與rf結(jié)合產(chǎn)生16種放大倍率。對(duì)于拓展任務(wù),我們的想法是。增加2個(gè)電阻,與之前四個(gè)電阻配合,產(chǎn)生64中放大倍率,展現(xiàn)出不同波形的信號(hào)。2.3.3 系統(tǒng)的功能倍率增益時(shí),第一個(gè)鍵為+0.1倍,第二個(gè)鍵位-0.1,第三個(gè)鍵位到0倍,第四個(gè)鍵為到1.5倍通過按鍵使得放大器能將輸入為1v的信號(hào)按0.1-1.5的每隔0.1的倍率輸出。輸出函數(shù)信號(hào)時(shí),第二個(gè)鍵為下一個(gè)函數(shù)信號(hào),第三個(gè)鍵位上一個(gè)函數(shù)信號(hào),第四個(gè)鍵為切換頻率。函數(shù)信號(hào)列表為:方波,三角,鋸齒,正弦波。拓展之

12、后的放大倍率為0,0.2,0.5,0.7;1,1.2,1.5,1.7;2.2,2.5,2.7;.共有64組3. 系統(tǒng)的硬件結(jié)構(gòu)3.1 硬件總體結(jié)構(gòu)圖 31.1硬件模塊主要是由單片機(jī),基礎(chǔ)任務(wù)模塊,和拓展任務(wù)模塊(音樂播放器)3部分組成,圖31.1為我們小組成品的3部分整體圖,3塊模塊的分式圖將在3.2節(jié)中給出。3.2 單片機(jī)小系統(tǒng)圖3-2.1 單片機(jī)小系統(tǒng)3.2.1 功能描述單片機(jī)小系統(tǒng)由老師提供,我們所做的是將單片機(jī)的p1.4p1.7;p3.4,p3.5,接口分別與基礎(chǔ)任務(wù)模塊和拓展任務(wù)模塊用數(shù)據(jù)線相連,使單片機(jī)小系統(tǒng)可以控制下述兩塊模塊。圖3-2.1即為單片機(jī)的照片圖。3.2.2 接口定義

13、我們的基礎(chǔ)模塊與拓展模塊,以及基礎(chǔ)模塊和單片機(jī)之間都有聯(lián)系,他們的聯(lián)系是有各自的借口完成的,基礎(chǔ)任務(wù)的sw1,sw2,sw3,sw4分別于單片機(jī)的p1.4,p1.5,p1.6,p1.7相連,在拓展任務(wù)中我們通過cd4066的管腳3(sw5)和管腳9(sw6)分別連接到拓展版的借口,通過數(shù)據(jù)線與基礎(chǔ)任務(wù)的4通路進(jìn)行并聯(lián),從而使6通路會(huì)接于基準(zhǔn)電阻8k上,通過基礎(chǔ)任務(wù)上的數(shù)據(jù)線,接到p3.4,p3.5,實(shí)現(xiàn)單片機(jī)借口控制拓展任務(wù)的cd4066通與斷。3.2.3 技術(shù)要求在基本任務(wù)中,我們的15個(gè)增益值誤差均小于1%,誤差較小。(見表5-4.1)在拓展任務(wù)中,我們的輸出波形有:正弦波(圖3.2.3(

14、3),方波(圖3.2.3(1),三角波(圖3-2.3(2),并且可以有3種頻率,實(shí)現(xiàn)變頻。圖3.2.3(1) 方波圖3.2.3(2) 三角波圖3.2.3(3) 正弦波其次對(duì)于電路在板上的排布,我也做了考慮,cd4066和運(yùn)算放大器分別是數(shù)字原件和模擬原件,所以在板上,我要把他們排開,同時(shí)又要考慮到電阻的排布情況,考慮到美觀,我們將線拍在了板的反邊。(tu)核心器件有cd4066 lm741 msc51 p-mos 三極管 電阻 3.3 基礎(chǔ)任務(wù)可控增益放大器圖3-3.2 基礎(chǔ)任務(wù)(增益可控放大器電路)這一模塊為基礎(chǔ)任務(wù)增益可控放大器電路,該電路使用4個(gè)電阻并聯(lián),用一片cd4066控制,與運(yùn)算放

15、大器ua741的基準(zhǔn)電阻相連,通過改變其電阻與基準(zhǔn)電阻的比值來實(shí)現(xiàn)輸出電壓的變化,其設(shè)計(jì)思路詳見設(shè)計(jì)思路章,此不綴述,我們實(shí)現(xiàn)了電壓值從0.1-1.5,每隔0.1v,共15個(gè)輸出電壓,誤差均在1%之內(nèi),此詳見誤差分析章,圖3-3.2即為該模塊的照片圖3.3.1 實(shí)現(xiàn)方式在本次設(shè)計(jì)中,我們共實(shí)現(xiàn)了兩塊獨(dú)立模塊?;A(chǔ)模塊實(shí)現(xiàn)電路的增益可控,共設(shè)立了15個(gè)控制點(diǎn),(從輸出電壓0.1v到最大1.5v,間隔0.1v)設(shè)計(jì)思想是通過一片cd4066芯片控制4條電路中電阻的通斷來實(shí)現(xiàn)4*4-1=15種電阻狀態(tài)量,這些量就構(gòu)成了我們所要做的對(duì)應(yīng)15個(gè)電壓狀態(tài),對(duì)于cd4066芯片的控制,我們是通過對(duì)于接口1.

16、11.4的單片機(jī)編程來控制(在軟件部分詳細(xì)分析),對(duì)于4個(gè)電阻的選取時(shí)根據(jù)他們分別對(duì)基準(zhǔn)電阻的比率來設(shè)計(jì)的,在我們的設(shè)計(jì)中,將這4個(gè)電阻定為10k,20k,40k,80k;基準(zhǔn)電阻為8k。這是因?yàn)閷?shí)際運(yùn)放的輸入阻抗為2m,而輸出阻抗為20,所以對(duì)于基準(zhǔn)電阻的數(shù)量級(jí)選取應(yīng)該在k或者,10k,所以我們小組選擇了8k。根據(jù)運(yùn)算放大器的放大公式:i=rf/rs;設(shè)電阻分別為x,y,w,u;8/x=0.1(1)8/y=0.2(2)0.3可以由0.1+0.2確定,以此為例可得所有處在楊輝三角的值全部可有前邊的值得到所以:8/w=0.4(3) 可推出,所有5(1+4=5)和7(1+2+4=7)和9(4+5=

17、9)的倍數(shù)全部不考慮 所以:8/w=0.8; 發(fā)現(xiàn)所有值據(jù)符合; 解方程:x=80;y=40;w=20;u=10即為所求。圖 3-3-1 .1 protel 電路圖(原理圖)此外,再放大器的接法上,我們采用的是反向放大器接法,這樣對(duì)于放大倍率的計(jì)算會(huì)比正向計(jì)算要簡(jiǎn)便一些。3-3-1.2基礎(chǔ)部分電路設(shè)計(jì)圖3.4 拓展任務(wù)音樂播放器這一模塊為拓展任務(wù)音樂播放器,該電路通過增加兩天通路是原來的4通路變成6通路實(shí)現(xiàn)電壓的正弦波,方波,三家波輸出,比較基礎(chǔ)任務(wù)可以實(shí)現(xiàn)15個(gè)可變電壓到63個(gè)電壓的提高,設(shè)計(jì)思路詳見設(shè)計(jì)一章,并可以實(shí)現(xiàn)3種變頻功能,圖3-2.3為該模塊的照片圖。3.4.1 實(shí)現(xiàn)方式在拓展模

18、塊中我們將原來的4通路增加到6通路,這樣可以實(shí)現(xiàn)的增益電壓值可以多4倍,達(dá)到16*4-1=63組,通過再引入接口p3.4,p3.5,修改單片機(jī)程序來實(shí)現(xiàn)電壓值的各種波形的輸出,我們小組做了正弦波,方波和三角波并且利用程序?qū)崿F(xiàn)了對(duì)每一種波形3種可控頻率變化。在cd4066與p控制端當(dāng)中我們使用p-mos三極管來控制拓展版的開和閉,我們查了它的datasheet,發(fā)現(xiàn)他在0時(shí)為閉合工作,在老師的報(bào)告中采用兩個(gè)510的電阻,但是在實(shí)踐中我們發(fā)現(xiàn)經(jīng)過經(jīng)過兩個(gè)510電阻分壓后cd4066的14管腳供電壓不足,所以我們小組采用一個(gè)510電阻分壓,保證cd4066的5 v輸入電壓。這也是我們小組從實(shí)踐中得出

19、的。從4通路變到6通路,另兩路的電阻,我們小組選取的是160k和400k,分別實(shí)現(xiàn)0.05和0.02的倍率。這是我在電路設(shè)計(jì)前考慮的問題。(算法如基礎(chǔ)任務(wù))正弦電壓的計(jì)算過程:角度(a)正弦值我所要的電壓(v)0010100.92760210814.638010200.69304810513.4652405330-0.4097985447.95100727840-0.9992247545.00387622950-0.3367616648.31619168600.74761683813.73808419700.89533567914.4766783980-0.0786762549.6066187

20、390-0.954117815.229410951左后一行的計(jì)算公式:u=sin(a)*5+10;amp=10v;設(shè)計(jì)時(shí)以避開低電平為目的,保證輸出音質(zhì)的相對(duì)完好。圖3-4.1 拓展部分電路圖4. 系統(tǒng)的軟件結(jié)構(gòu)4.1 軟件總體結(jié)構(gòu)和功能本次完成作品的軟件部分共分為兩部分,分別對(duì)應(yīng)著作為信號(hào)放大增益的基礎(chǔ)部分及音樂播放器和函數(shù)發(fā)生器的拓展部分。其中基礎(chǔ)部分程序的任務(wù)為通過對(duì)端口p1.4、p1.5、p1.6、p1.7輸出的控制來控制cd4066各開關(guān)的斷開或閉合的工作狀態(tài),以達(dá)到放大信號(hào)的作用?;A(chǔ)程序的重要分塊為 : main()函數(shù),用于對(duì)個(gè)全局變量初始化并接收p1.0、p1.1、p1.2、

21、p1.3四個(gè)按鍵的輸入并改變四個(gè)七段數(shù)碼管的輸出值,在單片機(jī)運(yùn)行過程中,main()將處于一個(gè)while的無限循環(huán)中。timer0() interrupt 1 using 0 ,為定時(shí)器t0的中斷程序,每5ms運(yùn)行一次,主要完成數(shù)碼管的輸出工作。而拓展任務(wù)的目的為通過不斷調(diào)整p1.4、p1.5、p1.6、p1.7、p3.3、p3.4六個(gè)輸出的電壓大小來控制務(wù)的主要分塊為 main()函數(shù),用于對(duì)個(gè)全局變量初始化并接收p1.0、p1.1兩個(gè)按鍵的輸入并改變form 和fre兩個(gè)全局變量的值并不斷重置p1和p3的值,在單片機(jī)運(yùn)行過程中,main()將處于一個(gè)while的無限循環(huán)中。timer0()

22、 interrupt 1 using 0 ,為定時(shí)器t0的中斷程序,每5ms運(yùn)行一次,完成數(shù)碼管的輸出工作,對(duì)喀秋莎各個(gè)音符的處理工作。timer1() interrupt 3 using 0 ,為定時(shí)器t1的中斷程序,其執(zhí)行的頻率再在中斷程序中進(jìn)行設(shè)置,該程序的執(zhí)行頻率直接影響函數(shù)信號(hào)的輸出頻率。中斷程序?qū)⑼瓿煽η锷案鱾€(gè)發(fā)生函數(shù)信號(hào)的輸出工作。4.2 重要的全局變量1. 基礎(chǔ)部分1. test_counter,變量類型 unsigned int 儲(chǔ)存類型 xdata 該變量用于儲(chǔ)存及顯示該時(shí)刻電壓增益的大小,即當(dāng)p1的四個(gè)按鍵p1.0、p1.1、p1.2、p1.3有輸入時(shí),test_cou

23、nter能夠相應(yīng)的增大或減少,它的取值范圍是從0到15十六個(gè)整數(shù),代表增益從0到1.5 16個(gè)增益大小。同時(shí),四個(gè)七段數(shù)碼管的輸出值也由該變量控制,通過test_counter的大小來對(duì)digit數(shù)組的四個(gè)值進(jìn)行賦值,其中digit1和digit2始終為零,而digi2 =(test_counter)/10+20 digi3 = (test_counter%10),再通過函數(shù)unsigned char numtoseg7(unsigned char data) 來確定輸出。2 digi_scaner,變量類型 unsigned char 儲(chǔ)存類型 xdata 該變量為數(shù)碼管掃描驅(qū)動(dòng)指針,變量的

24、四個(gè)取值(1,2,3,4)分別代表這四個(gè)數(shù)碼管,通過digi_scaner變量來輪流驅(qū)動(dòng)四個(gè)數(shù)碼管顯示增益。2. 擴(kuò)展任務(wù) 3. form , 變量類型 unsigned char 儲(chǔ)存類型 xdata 該變量作為拓展任務(wù)中單片機(jī)四種工作模式的狀態(tài)的儲(chǔ)存變量,即當(dāng)form=1時(shí),單片機(jī)作為音樂播放器,播放喀秋莎,當(dāng)form=2時(shí),單片機(jī)作為函數(shù)發(fā)生器,在輸出端產(chǎn)生方波,當(dāng)form=3時(shí),單片機(jī)在輸出端產(chǎn)生鋸齒波,當(dāng)form=4時(shí),單片機(jī)在輸出端產(chǎn)生正弦波。form接收來自p1.0的信號(hào)。4fre ,變量類型 unsigned char 儲(chǔ)存類型 xdata 該變量用于控制函數(shù)發(fā)生器產(chǎn)生波形的頻

25、率,即當(dāng)form=2或3或4時(shí),當(dāng)fre分別等于1,2,3時(shí),函數(shù)發(fā)生器將分別產(chǎn)生3個(gè)不同頻率的信號(hào)。fre接收來自p1.1的信號(hào)。5/* 播放樂曲功能變量 */audio_frequency 變量類型 unsigned int / 播放中,當(dāng)前的音頻頻率audio_ptr 變量類型 unsigned int audio_ptr,audio_dura; audio_dura 變量類型 unsigned int / 輔助讀譜指針、持續(xù)時(shí)間計(jì)數(shù)變量bit buzzer_flag; / 輔助狀態(tài)標(biāo)志 這四個(gè)變量用于音樂播放器播放喀秋莎,用于根據(jù)音樂中的各個(gè)音符的參數(shù)來確定p3.5處輸出方波的頻率和方

26、波的持續(xù)時(shí)間,以在蜂鳴器處得到喀秋莎音樂。4.3 流程邏輯基礎(chǔ)部分圖4-3.1為基礎(chǔ)部分main()函數(shù)程序流程圖對(duì)p1的四個(gè)按鍵的信號(hào)的接收及對(duì)test_counter的賦值在主函數(shù)中進(jìn)行,而具體的顯示工作將在t0的中斷程序中進(jìn)行。 圖4-3.1圖4-3.2 為基礎(chǔ)部分t0計(jì)時(shí)器中斷服務(wù)程序流程圖圖4-3.2下面將給出驅(qū)動(dòng)數(shù)碼管顯示的具體過程t0計(jì)時(shí)器中斷程序每各5ms運(yùn)行一次。四個(gè)數(shù)碼管無法同時(shí)顯示,只能按照順序在t0終端服務(wù)程序每運(yùn)行一次時(shí)驅(qū)動(dòng)一個(gè)七段管,由于每秒鐘t0中斷程序運(yùn)行200次,每個(gè)七段管被驅(qū)動(dòng)50次,由于視覺暫留效果,人腦將認(rèn)為四個(gè)七段管同時(shí)亮。t0驅(qū)動(dòng)程序每運(yùn)行到需要驅(qū)動(dòng)

27、數(shù)碼管時(shí),首先判斷digi_scaner的值,digi_scaner=1、2、3、4分別對(duì)應(yīng)著四個(gè)七段管,即該次執(zhí)行驅(qū)動(dòng)的那個(gè)七段管。然后對(duì)output_sel的四個(gè)位賦值選定指定七段管并執(zhí)行addr_8seg = numtoseg7(digi)和addr_sel = output_sel語句,驅(qū)動(dòng)數(shù)碼管并顯示相應(yīng)的數(shù)字。拓展部分圖4-3.3 為拓展任務(wù)main()函數(shù)程序流程圖 圖4-3.3圖4-3.4 為拓展任務(wù)t0計(jì)時(shí)器中斷服務(wù)程序流程圖圖4-3.4其中喀秋莎音樂播放關(guān)于音符參數(shù)問題較為復(fù)雜,下面將給出詳細(xì)解釋。程序中,整個(gè)喀秋莎的音樂是由一個(gè)二維數(shù)組儲(chǔ)存,即由一個(gè)2*n的矩陣儲(chǔ)存(n為

28、音符的總數(shù)目),這個(gè)數(shù)組的每一行的兩個(gè)數(shù)據(jù),反別代表著一個(gè)音符的頻率和音符持續(xù)長(zhǎng)度。例如music_data1= 440,600,440代表頻率值,600代表持續(xù)時(shí)間即節(jié)拍值。當(dāng)程序運(yùn)行到該音符時(shí),首先對(duì)其頻率值進(jìn)行計(jì)算,利用audio_frequency=0xffff-460800/music_dataaudio_ptr0+15來確定定時(shí)器t1的初值,而以后每次執(zhí)行t1的中斷程序時(shí)時(shí),p3.5的輸出都會(huì)發(fā)生改變,由1變?yōu)?或由0變?yōu)?。由于不同的音符,t1計(jì)時(shí)器所對(duì)應(yīng)的初值不同,即工作頻率不同,就使得1、0間的變換頻率不同,產(chǎn)生不同頻率的交流電,通過蜂鳴器即能發(fā)出相應(yīng)的音符。而600需用來保

29、證該音符持續(xù)的時(shí)間。在執(zhí)行該音符時(shí),利用語句audio_dura=music_dataaudio_ptr1/5,之后每次執(zhí)行t0計(jì)時(shí)器中斷程序時(shí),若audio_dura不為零,則程序?qū)⑦\(yùn)行audio_dura-,而跳過復(fù)雜的對(duì)音符的處理部分,在這段時(shí)間內(nèi),定時(shí)器t1將一直以根據(jù)這個(gè)音符已確定的初值進(jìn)行工作,直到audio_dura=0,程序?qū)⑦M(jìn)入下一個(gè)音符。也就是這個(gè)頻率在audio_dura不為零的時(shí)間內(nèi)被保持,而t0計(jì)時(shí)器工作頻率不變,又保證了audio_dura改變相同值時(shí)的時(shí)間間隔相同,最終實(shí)現(xiàn),該音符被執(zhí)行的時(shí)間和audio_dura的初值成正比關(guān)系。圖4-3.5 為拓展任務(wù)t1計(jì)時(shí)

30、器中斷服務(wù)程序流程圖由圖易知,該終端服務(wù)的任務(wù)為根據(jù)fre 和 form兩個(gè)變量對(duì)p1和p3進(jìn)行賦值,已達(dá)到所需輸出。 圖4-3.54.4 拓展任務(wù)定時(shí)器t1的中斷程序描述4.4.1 功能描述當(dāng)作為函數(shù)發(fā)生器時(shí),根據(jù)form 以及fre的值來確定定時(shí)器t1的初值及相應(yīng)輸出p1和p3的值,已完成方波、正弦波、鋸齒波的輸出。 4.4.2 輸入輸出項(xiàng)描述中斷函數(shù)并不需要輸入,其輸出為相應(yīng)的p1和p3的值,p1和p3分別為兩個(gè)8位的二進(jìn)制數(shù),每個(gè)位都對(duì)應(yīng)著單片機(jī)的一個(gè)輸出端口,例如 當(dāng)p3.5=1時(shí),p3.5端口輸出+5v電壓,反之,若p3.5=0,p3.5端口輸出電壓為0伏。4.4.3 相關(guān)算法的描

31、述本作品拓展任務(wù)所涉及的函數(shù)發(fā)生均采用逐點(diǎn)賦值法,未使用位運(yùn)算,所以并未能歸納出算法。采用逐點(diǎn)賦值的原因1. 若采用位運(yùn)算,必然會(huì)產(chǎn)生關(guān)于四舍五入的誤差,這樣輸出正弦波時(shí),波形的偏差可能會(huì)比較大,比如正弦波的波峰和波谷處會(huì)出現(xiàn)直線而非平滑曲線。2. 本小組電路中只連入了6個(gè)cd4066的開關(guān),能夠?qū)崿F(xiàn)的最小倍率為0.02,相比之下精度仍顯不足,所以為避免誤差,人為為點(diǎn)賦值。4.5 基礎(chǔ)任務(wù)main()函數(shù)描述4.5.1 功能描述main函數(shù)主要功能為初始化單片機(jī),接收4個(gè)按鍵的輸入信號(hào),并改變電壓增益 相關(guān)調(diào)用函數(shù)4.5.2 main()函數(shù)中主要涉及的2個(gè)函數(shù)的調(diào)用void delay(vo

32、id) 該函數(shù)用于按鍵的去抖。具體實(shí)現(xiàn)過程為使程序?qū)δ硞€(gè)變量進(jìn)行空加操作,例如從1加到10000,此過程中按鍵的一切輸入信號(hào)都將被忽略,因此可以達(dá)到去抖效果。使用此函數(shù)后,若長(zhǎng)時(shí)間按住按鍵,則會(huì)發(fā)現(xiàn),晶體管上的顯示數(shù)字將在一定時(shí)間后改變,間隔相同時(shí)間后,數(shù)字會(huì)發(fā)生下一次改變。關(guān)于delay函數(shù)在主函數(shù)中調(diào)用而非在中斷函數(shù)中調(diào)用的解釋:中斷函數(shù)直接關(guān)系數(shù)碼管的顯示,若中斷函數(shù)的工作頻率改變,則會(huì)使四個(gè)七段數(shù)碼管顯示處于不穩(wěn)定的狀態(tài),即如果在中斷函數(shù)中調(diào)用delay函數(shù),在delay函數(shù)執(zhí)行的較長(zhǎng)時(shí)間中,中斷函數(shù)不執(zhí)行,七段管將會(huì)產(chǎn)生閃爍效果,直到delay函數(shù)執(zhí)行過后,七段管才恢復(fù)正常。void

33、 foutput(void) 該函數(shù)用于根據(jù)test_counter的值來確定p1和p3的輸出值,以達(dá)到電壓產(chǎn)生增益的效果。5. 系統(tǒng)功能及技術(shù)指標(biāo)測(cè)試5.1 測(cè)試項(xiàng)目基礎(chǔ)任務(wù):當(dāng)按下p1的四個(gè)按鍵時(shí)改變運(yùn)放輸出端的放大增益,并在七段管上顯示當(dāng)前增益大小。拓展任務(wù):播放喀秋莎,并以三種頻率輸出正弦波、鋸齒波、和方波。同時(shí)七段管上顯示相對(duì)應(yīng)的數(shù)字。5.2 測(cè)試的資源測(cè)試所需電源三個(gè),分別為+5v和+1v和-5v。需萬用表一個(gè) 電源引線三雙 示波器探頭一個(gè)測(cè)試時(shí)在實(shí)驗(yàn)室中,并在電腦上進(jìn)行少量的工作,例如,向單片機(jī)中拷入程序5.3 測(cè)試方法基礎(chǔ)任務(wù)的調(diào)試圖使用的電路大板上的接線方法為:從左到右 +5

34、v,-5v,+1v萬用表一端接地,一端接我們的測(cè)量引腳,并調(diào)至直流電壓檔。通過調(diào)節(jié)單片機(jī)上的四個(gè)按鈕,實(shí)現(xiàn)控制功能。第一個(gè)鍵為+0.1倍,第二個(gè)鍵位-0.1,第三個(gè)鍵位到0倍,第四個(gè)鍵為到1.5倍。拓展部分圖使用的電路大板上的接線方法為:從左到右 +5v,-5v,+1v示波器一端接地,一端接我們的測(cè)量引腳。調(diào)節(jié)第二個(gè)鍵為下一個(gè)函數(shù)信號(hào),第三個(gè)鍵位上一個(gè)函數(shù)信號(hào),第四個(gè)鍵為切換頻率。函數(shù)信號(hào)列表為:方波,三角,鋸齒,正弦波。5.4 測(cè)試結(jié)果及分析基礎(chǔ)部分,測(cè)試數(shù)據(jù)及結(jié)果如表 ,由表可知,單片機(jī)基礎(chǔ)任務(wù)完成較好,各電壓增益誤差都小于1%,且測(cè)試數(shù)據(jù)都大于理論值。根據(jù)上文中已給出的計(jì)算增益的公式,可

35、知,基礎(chǔ)電阻rf=8kohm,選取稍大,若在其兩端并聯(lián)一較大電阻,則能夠更小的減小誤差。表5-4.1 基礎(chǔ)部分測(cè)試結(jié)果序列號(hào)輸入電壓(v)輸出電壓(v)顯示增益實(shí)測(cè)增益誤差(%)11.1040 0.1113 0.1 0.1008 0.8152%21.1040 0.2220 0.2 0.2011 0.5435%31.1040 0.3329 0.3 0.3015 0.5133%41.1040 0.4450 0.4 0.4031 0.7699%51.1040 0.5550 0.5 0.5027 0.5435%61.1040 0.6660 0.6 0.6033 0.5435%71.1040 0.776

36、0 0.7 0.7029 0.4141%81.1040 0.8880 0.8 0.8043 0.5435%91.1040 0.9980 0.9 0.9040 0.4428%101.1040 1.1080 1.0 1.0036 0.3623%111.1040 1.2220 1.1 1.1069 0.6258%121.1040 1.3320 1.2 1.2065 0.5435%131.1040 1.4420 1.3 1.3062 0.4738%141.1040 1.5520 1.4 1.4058 0.4141%151.1040 1.6640 1.5 1.5072 0.4831%拓展任務(wù)的測(cè)試結(jié)果見

37、圖3.2.3(1),3.2.3(2),3.2.3(3)(方波,三角波,正弦波的三種換頻輸出)。6. 致謝首先感謝指導(dǎo)老師袁焱對(duì)我們的指導(dǎo)。由于我們是完全的新手,之前也沒有使用單片機(jī)的經(jīng)驗(yàn),所以一開始全要靠老師帶領(lǐng)我們?nèi)腴T。老師給的ppt與上課的講解大大簡(jiǎn)化了我們自己探索的步驟,讓我們少走了很多彎路。我記得一開始時(shí)我們完全不知怎么辦,但是看到老師的電路設(shè)計(jì)圖紙后,我們對(duì)我們的任務(wù)有了感性上的認(rèn)識(shí)。于是我們慢慢的解出了電阻值,考慮了去除內(nèi)阻的干擾等等問題。老師告訴我們理解放大器時(shí)要把它想成那種理想中的物理模型,于是我們更好的理解了虛短,虛斷,虛地的概念。在我們困惑的時(shí)候,老師的課程常常讓我們有靈感

38、。感謝檢測(cè)的老師,感謝你耐心的等待我們完成檢測(cè),并給出指導(dǎo)意見。我們的檢測(cè)并不是一帆風(fēng)順的。猶豫我們組的萬用表有些問題,檢測(cè)的過程中出現(xiàn)了故障,老師在一旁等待我們排除故障,很有耐心。另外,我們的示波器在檢測(cè)中也出了問題,后來不得不換一個(gè)工作臺(tái)進(jìn)行測(cè)試。在整個(gè)過程中,老師都很和藹,是我們放松了原來緊張的心情。最后測(cè)試比較圓滿的完成了。我們認(rèn)為,如果不是檢測(cè)老師的耐心,我們可能會(huì)因?yàn)榧痹甓鲥e(cuò)事情。我們組都十分感謝老師!最后是器材室的負(fù)責(zé)人。在整個(gè)課程中,我們更換了不少器件,每次去更換時(shí),器材室的老師都能準(zhǔn)確地找到我們的部件。雖然說起來慚愧,但是我們幾次零件換下來,也和那邊的老師混熟了,想想這件事

39、也豐富了我們的實(shí)驗(yàn)過程。總之,一個(gè)項(xiàng)目的完成,有很多人的幫助。包括哪些管理實(shí)驗(yàn)室的老師們,那些我們沒有提到的人。沒有你們,我們的項(xiàng)目不會(huì)如此順利的做出來。在這里,我們?cè)僖淮蜗窀魑焕蠋煴磉_(dá)衷心的感謝!7. 參考資料 1趙建領(lǐng) 薛圓圓等. 零基礎(chǔ)學(xué)習(xí)單片機(jī)c語言程序設(shè)計(jì)機(jī)械工業(yè)出版社,2009-4.2 胡漢才 單片機(jī)原理及其接口技術(shù)清華大學(xué)出版社 19963 intersil cd4066 datasheet4 intel lm741 datasheet5 ti ua741 datasheet 6 上海交大電子工程系. 工程實(shí)踐與科技創(chuàng)新2a講義eb/ol.48.

40、8. 附錄如果有需要,另可附上如電原理圖、實(shí)物照片等其他資料8.1 課程學(xué)習(xí)心得和建議意見組員一:通過科創(chuàng)二中對(duì)單片機(jī)的學(xué)習(xí),我基本了解了一些單片機(jī)基礎(chǔ)的知識(shí),認(rèn)識(shí)到單片機(jī)編程與c+不同的地方,并且了解到了一些簡(jiǎn)單運(yùn)用的方法。在電路的設(shè)計(jì)過程中,也對(duì)一些電子元件的特性有了進(jìn)一步的認(rèn)識(shí)。其中曾經(jīng)有一周的時(shí)間但偏見輸出電壓完全不對(duì),自己在尋找其中問題的過程中獲益良多,在通過改變老師所給的基準(zhǔn)電路而使一切恢復(fù)正常,也讓自己對(duì)電路板和單片機(jī)的的興趣大增。 組員二:首先在知識(shí)上,首先我對(duì)單片機(jī)有了大致的了解。之前并未接觸過單片機(jī),所以可以說是從零開始。經(jīng)過了這學(xué)期的摸索,逐漸知道了單片機(jī)的主要構(gòu)成。對(duì)單

41、片機(jī)能實(shí)現(xiàn)的功能有了一定的認(rèn)識(shí)。另外一個(gè)重點(diǎn)是單片機(jī)的編程。單片機(jī)的編程與一般的c語言編程有一定的區(qū)別。他所面對(duì)的是機(jī)器而不是對(duì)象。所以常常要一些16進(jìn)制地址和位操作。所以對(duì)我們而言是全新的一種編程思想。我們用了一段時(shí)間來熟悉,而如今,我們應(yīng)該說對(duì)于這個(gè)難度級(jí)別的編程已經(jīng)比較得心應(yīng)手了。對(duì)于電路設(shè)計(jì)也是一個(gè)全新的考驗(yàn),上學(xué)期的科創(chuàng)電路都是已經(jīng)確定下來的,今年的科創(chuàng)開放性比較強(qiáng),設(shè)計(jì)時(shí)不僅要考慮到界面的美觀,更要考慮到數(shù)字信號(hào)與模擬信號(hào)之間的干擾。此外,這學(xué)期我們的焊接技能也有所提升。8.2 程序清單#include #include /*/*/*/常量定義 /*/*/*/* 定時(shí)器初值*/#d

42、efine v_t1 0xfd /*scom 9600 baud, ! notice: crystal 11.0592mhz */#define v_th0 0xee /* 5ms , ! notice: crystal 11.0592mhz */#define v_tl0 0x00/* 數(shù)碼管段驅(qū)動(dòng)寄存器地址*/#define addr_8segxbyte0x2000/* 數(shù)碼管位驅(qū)動(dòng)和指示燈驅(qū)動(dòng)寄存器地址*/#define addr_selxbyte0x4000/* 按鍵*/sbit key1=p10;sbit key2=p11;sbit key3=p12;sbit key4=p13;/*

43、/*/*/變量定義 /*/*/*/* 數(shù)碼管位驅(qū)動(dòng)和指示燈驅(qū)動(dòng)信號(hào)輸出緩存,定義了一個(gè)可位尋址的變量*/unsigned char bdata output_sel;sbit led_1 = output_sel5;sbit led_2 = output_sel6;sbit led_3 = output_sel7;sbit led_4 = output_sel4;/* 數(shù)碼管掃描驅(qū)動(dòng)指針,為測(cè)試外部存儲(chǔ)器(u3 6264),特使用xdata類型*/unsigned char xdata digi_scaner;/* 測(cè)試用計(jì)數(shù)器,為測(cè)試外部存儲(chǔ)器(u3 6264),特使用xdata類型*/un

44、signed int xdata test_counter;/* 測(cè)試用計(jì)數(shù)值十進(jìn)制表示,為測(cè)試外部存儲(chǔ)器(u3 6264),特使用xdata類型*/unsigned char xdata digi4;/void delay(void)int xdata i;for(i=0;i=5) digi_scaner = 1;switch (digi_scaner)case 1: /* 驅(qū)動(dòng)第一個(gè)數(shù)碼管*/output_sel |= 0x01;addr_8seg = numtoseg7(digi0); /*輸出到鎖存器u5(在電路圖中找)*/break;case 2: /* 驅(qū)動(dòng)第二個(gè)數(shù)碼管*/outp

45、ut_sel |= 0x02;addr_8seg = numtoseg7(digi1); /*輸出到鎖存器u5*/break;case 3: /* 驅(qū)動(dòng)第三個(gè)數(shù)碼管*/output_sel |= 0x04;addr_8seg = numtoseg7(digi2); /*輸出到鎖存器u5*/break;case 4: /* 驅(qū)動(dòng)第四個(gè)數(shù)碼管*/output_sel |= 0x08;addr_8seg = numtoseg7(digi3); /*輸出到鎖存器u5*/break;addr_sel = output_sel; /*輸出到鎖存器u6(在電路圖中找)*/ea=1; /*開中斷*/* 主程序*/main()/* 單片機(jī)系統(tǒng)初始化*/ p1=0xff; p3=0xc7; /* 中斷工作寄存器初始化*/ ie=0x80; ip=0; it0=0; it1=0; /* 定時(shí)器工作寄存器初始化*/tmod=0x21;th1=v_t1; tl1=v_t1; th0=v_th0; tl0=v_t

溫馨提示

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

評(píng)論

0/150

提交評(píng)論