版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 通信工程學(xué)院</b></p><p> 課程設(shè)計(jì)說明書(論文)</p><p> 題 目 信號(hào)發(fā)生器的設(shè)計(jì) </p><p> 課 程 名 稱 單片機(jī)原理及應(yīng)用 </p><p> 專 業(yè) 電子信息工程
2、 </p><p> 班 級(jí) XXXXXXXXX </p><p> 學(xué) 生 姓 名 X X </p><p> 學(xué) 號(hào) XXXXXXXX </p><p> 設(shè) 計(jì) 地 點(diǎn) <
3、;/p><p> 指 導(dǎo) 教 師 </p><p><b> 目 錄</b></p><p><b> 一、課程設(shè)計(jì)目的</b></p><p><b> 二、課程設(shè)計(jì)任務(wù)</b></p><p><b&
4、gt; 三、課程設(shè)計(jì)要求</b></p><p><b> 四、課程設(shè)計(jì)思路</b></p><p> 五、課程設(shè)計(jì)軟件仿真結(jié)果截圖</p><p><b> 六、課程設(shè)計(jì)體會(huì)</b></p><p><b> 七、主要參考文獻(xiàn)</b></p>
5、<p><b> 八、附錄:源程序</b></p><p><b> 課程設(shè)計(jì)目的:</b></p><p> 在學(xué)習(xí)《單片機(jī)原理及應(yīng)用A》課程的基礎(chǔ)上,進(jìn)一步深入理解MCS-51單片機(jī)的結(jié)構(gòu)、工作原理和應(yīng)用技術(shù),提高單片機(jī)控制系統(tǒng)設(shè)計(jì)、研發(fā)的能力;按照教學(xué)計(jì)劃的要求,利用一周時(shí)間,綜合應(yīng)用所學(xué)知識(shí),設(shè)計(jì)具有一定功能的小型單片
6、機(jī)控制系統(tǒng),培養(yǎng)學(xué)生一定的自學(xué)能力和獨(dú)立分析問題、解決問題的能力,要求學(xué)生能通過獨(dú)立思考、查閱工具書、參考文獻(xiàn),提出自己的設(shè)計(jì)方案,找出設(shè)計(jì)中遇到問題的解決途徑。</p><p><b> 課程設(shè)計(jì)要求:</b></p><p> 1、整個(gè)課程設(shè)計(jì)的各個(gè)環(huán)節(jié)都要自己動(dòng)手。</p><p> 2、通過TLC5615串行D/A轉(zhuǎn)換芯片完成信號(hào)
7、發(fā)生器設(shè)計(jì),經(jīng)由示波器觀察信號(hào)波形;</p><p> 3、采用C語言編程實(shí)現(xiàn); </p><p> 4、其他要求參見“nKDE-51單片機(jī)實(shí)驗(yàn)教學(xué)系統(tǒng)實(shí)驗(yàn)指導(dǎo)書;</p><p> 5、基本任務(wù)為必做項(xiàng)目,附加任務(wù)為選做項(xiàng)目;</p><p> 6、對(duì)課程設(shè)計(jì)進(jìn)行總結(jié),撰寫課程設(shè)計(jì)說明書。</p><p>&
8、lt;b> 三、課程設(shè)計(jì)任務(wù):</b></p><p> 1、基本任務(wù):利用nKDE-51單片機(jī)實(shí)驗(yàn)教學(xué)系統(tǒng)上的硬件資源,實(shí)現(xiàn)信號(hào)發(fā)生器的功能。</p><p> 2、附加任務(wù):通過鍵盤(1)選擇輸出信號(hào)的波形;</p><p> ?。?)調(diào)整幅度、頻率等參數(shù)。</p><p> 3、工作量要求:(1)設(shè)計(jì)的硬件電路
9、圖與程序流程圖;</p><p><b> (2)源程序代碼;</b></p><p> ?。?)系統(tǒng)運(yùn)行結(jié)果符合課程設(shè)計(jì)要求。</p><p><b> 四、課程設(shè)計(jì)思路:</b></p><p> 1、TLC5615芯片結(jié)構(gòu):</p><p> 引腳功能:DIN:
10、串行數(shù)據(jù)輸入端 OUT SCLK</p><p> SCLK:串行時(shí)鐘輸入端 REFin CS </p><p> CS:片選端,低電平有效 D
11、IN </p><p> OUT:DAC模擬電壓輸出端 DOUT </p><p> REFin:基準(zhǔn)輸入端</p><p> 2、TLC5615芯片工作原理:</p><p> TLC5615由16位轉(zhuǎn)換寄存器、控制邏輯、10位DAC寄存器、上
12、電復(fù)位、DAC、外部基準(zhǔn)放大器、基準(zhǔn)電壓倍增器等部分組成。</p><p> TLC5615通過固定增益為2 的運(yùn)放緩沖電阻串接網(wǎng)絡(luò),把10位數(shù)字?jǐn)?shù)據(jù)轉(zhuǎn)換成模擬電壓。上電時(shí),內(nèi)部電路吧10DAC寄存器復(fù)位至全0,其輸出具有與基準(zhǔn)輸入相同的極性。</p><p> ?。?)數(shù)據(jù)輸入。由于DAC是12位寄存器,所以在寫入10位數(shù)據(jù)后,最低2位寫入2個(gè)“0”。</p><p
13、> ?。?)輸出緩沖器。輸出緩沖器具有滿電源電壓幅度輸出,它帶有短路保護(hù)并能驅(qū)動(dòng)有100pF負(fù)載電容的2kΩ負(fù)載。</p><p> (3)外部基準(zhǔn)。外部基準(zhǔn)電壓輸入經(jīng)過緩沖,使得DAC輸入電阻與代碼無關(guān)。因此,REFin的輸入電阻為10MΩ,輸入電容典型值為5pF,它們與輸入代碼無關(guān)?;鶞?zhǔn)電壓決定DAC的滿度輸出。</p><p> ?。?)邏輯接口。邏輯輸入端可使用TTL或CM
14、OS邏輯電平。使用滿電源電壓幅度時(shí),CMOS邏輯可得到最小的功耗。使用TTL邏輯電平是,功耗需求增加約2倍。</p><p> ?。?)串行時(shí)鐘和更新速率。TLC5615的最大串行時(shí)鐘頻率近似為14MHz。通常,數(shù)字更新速率受片選周期的限制。對(duì)于滿度輸入階躍跳變,10位DAC的建立時(shí)間約為12.5μs,這把更新頻率限制在80KHz。</p><p> 當(dāng)片選信號(hào)為低電平時(shí),輸入數(shù)據(jù)讀入1
15、6bit移位寄存器。SCLK輸入的上升沿把數(shù)據(jù)移入輸入寄存器,接著,CS的上升沿把數(shù)據(jù)傳送至DAC寄存器,當(dāng)CS為高電平時(shí),輸入的數(shù)據(jù)不能由時(shí)鐘同步送入輸入寄存器。所有CS的跳變應(yīng)發(fā)生在SCLK輸入為低電平時(shí)。</p><p> DIN只需要輸入12位數(shù)據(jù),DIN輸入的12位數(shù)據(jù)中,前10位為TLC5615輸入的D/A轉(zhuǎn)換數(shù)據(jù),并且輸入時(shí),高位在前,低位在后,后2位必須寫入為0的2位數(shù)值,因?yàn)門LC5615的D
16、AC輸入鎖存器為12位寬。</p><p><b> 總流程圖:</b></p><p> 程序編譯及軟件仿真電路原理圖:</p><p> 其中開關(guān)K1控制波形變換,K2控制頻率減小,K3控制頻率增大,K4控制幅度增加,K5控制幅度減小。</p><p><b> 元器件列表:</b>&l
17、t;/p><p> 五、課程設(shè)計(jì)軟件仿真結(jié)果截圖:</p><p><b> 1、輸出正弦波:</b></p><p> 正弦波轉(zhuǎn)換成鋸齒波:</p><p><b> 鋸齒波轉(zhuǎn)換成方波:</b></p><p><b> 正弦波幅度改變:</b>
18、</p><p><b> 正弦波頻率改變:</b></p><p><b> 鋸齒波幅度改變:</b></p><p><b> 鋸齒波頻率改變:</b></p><p><b> 方波幅度改變:</b></p><p>
19、<b> 方波頻率改變:</b></p><p><b> 課程設(shè)計(jì)體會(huì):</b></p><p> 本次課程設(shè)計(jì)對(duì)我來說從原理到編程上都沒有什么大問題,參考相關(guān)書籍及老師給的程序,可以實(shí)現(xiàn)信號(hào)發(fā)生器的一些基本功能,比如改變波形、改變波形頻率、改變波形幅度。這次課程設(shè)計(jì)讓我對(duì)51單片機(jī)和TLC5615這兩個(gè)芯片有了更深的了解,同時(shí),對(duì)C51
20、的編程更為熟悉。課程設(shè)計(jì)中,當(dāng)由軟件仿真轉(zhuǎn)換為硬件連接時(shí),遇到了很多問題,最后在參考書籍以及老師的提醒下,基本解決了。</p><p><b> 主要參考文獻(xiàn):</b></p><p> 1、《nKDE51單片機(jī)實(shí)驗(yàn)教學(xué)系統(tǒng)實(shí)驗(yàn)指導(dǎo)書》南京郵電大學(xué),2011年</p><p> 2、《單片機(jī)原理與應(yīng)用及C51程序設(shè)計(jì)》(第2版),謝維成等
21、編著,清華大學(xué)出版社,2009年</p><p> 3、《單片機(jī)原理及應(yīng)用》(第2版),李建忠,西安電子科技大學(xué)出版社,2008年</p><p> 4、《基于protues的51系列單片機(jī)設(shè)計(jì)與仿真》侯玉寶 陳忠平 李成群等編著,電子工業(yè)出版社</p><p><b> 八、源程序:</b></p><p>
22、#include"reg51.h"</p><p> #include"absacc.h"</p><p> #define uchar unsigned char</p><p> #define uint unsigned int</p><p> unsigned char code ta
23、ble[256]=</p><p><b> {</b></p><p> 0x80,0x83,0x86,0x89,0x8d,0x90,0x93,0x96,0x99,0x9c,0x9f,0xa2,0xa5,0xa8,0xab,0xae,0xb1,0xb4,0xb7,0xba,0xbc,0xbf,0xc2,0xc5,</p><p> 0x
24、c7,0xca,0xcc,0xcf,0xd1,0xd4,0xd6,0xd8,0xda,0xdd,0xdf,0xe1,0xe3,0xe5,0xe7,0xe9,0xea,0xec,0xee,0xef,0xf1,0xf2,0xf4,0xf5,</p><p> 0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff
25、, //電壓從0到最大值(1/4個(gè)正弦波)</p><p> 0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf4,0xf2,0xf1,0xef,0xee,0xec,0xea,</p><p> 0xe9,0xe7,0xe5,0xe3,0xe1,0x
26、de,0xdd,0xda,0xd8,0xd6,0xd4,0xd1,0xcf,0xcc,0xca,0xc7,0xc5,0xc2,0xbf,0xbc,0xba,0xb7,0xb4,0xb1,</p><p> 0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99,0x96,0x93,0x90,0x8d,0x89,0x86,0x83,0x80,//電壓從最大值到0(1/4個(gè)正弦波
27、)</p><p> 0x80,0x7c,0x79,0x76,0x72,0x6f,0x6c,0x69,0x66,0x63,0x60,0x5d,0x5a,0x57,0x55,0x51,0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a,</p><p> 0x38,0x35,0x33,0x30,0x2e,0x2b,0x29,0x27,0x25,0x22,0x2
28、0,0x1e,0x1c,0x1a,0x18,0x16,0x15,0x13,0x11,0x10,0x0e,0x0d,0x0b,0x0a,</p><p> 0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,//電壓從0到最小值(1/4個(gè)正弦波)</p><p> 0x
29、00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0d,0x0e,0x10,0x11,0x13,0x15,</p><p> 0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x25,0x27,0x29,0x2b,0x2e,0x30,0x33,0x35,0x38
30、,0x3a,0x3d,0x40,0x43,0x45,0x48,0x4c,0x4e,</p><p> 0x51,0x55,0x57,0x5a,0x5d,0x60,0x63,0x66,0x69,0x6c,0x6f,0x72,0x76,0x79,0x7c,0x80//電壓從最小值到0(1/4個(gè)正弦波)</p><p> };
31、</p><p> unsigned char a=1,m=0,x=0,y=32;</p><p> sbit DIN=P1^0; //數(shù)據(jù)</p><p> sbit SCK=P1^1; //時(shí)序脈沖</p><p> sbit CS=P1^2; //選通</p>
32、<p> sbit S1=P3^0; //頻率減</p><p> sbit S2=P3^1; //頻率加</p><p> sbit S3=P3^2; //幅度加</p><p> sbit S4=P3^3; //幅度減</p><p> sbit
33、S0=P3^4; //波形選擇</p><p> void delay(uint t)</p><p><b> {</b></p><p><b> uint i;</b></p><p> while(t--)</p><p> {for(i=
34、0;i<100;i++);}</p><p><b> }</b></p><p> void DAConvert(unsigned int da)</p><p><b> {</b></p><p><b> int i;</b></p><
35、;p><b> da <<= 2;</b></p><p> da &= 0xFFC; </p><p><b> SCK = 0;</b></p><p> CS = 0; </p><p> for(i=0;i<12;i++)
36、</p><p><b> {</b></p><p> if(da & 0x800) DIN = 1;</p><p> else DIN = 0;</p><p><b> SCK = 1;</b></p><p><b> SCK = 0;&
37、lt;/b></p><p><b> da <<= 1;</b></p><p><b> } </b></p><p><b> CS = 1;</b></p><p><b> SCK = 1;</b><
38、/p><p><b> DIN = 1;</b></p><p><b> }</b></p><p> void test() //控制</p><p><b> {</b></p><p> if(
39、S0==0) //調(diào)波形</p><p><b> {</b></p><p> delay(10);</p><p><b> if(S0==0)</b></p><p><b> {</b></p><
40、;p><b> m++;</b></p><p> while(S0==0);</p><p><b> } </b></p><p><b> }</b></p><p> if(S1==0) //調(diào)頻率</p>
41、<p><b> {</b></p><p> delay(10);</p><p> if(S1==0)x=x+1;</p><p> while(!S1); </p><p><b> }</b></p><p><b> if(S2=
42、=0)</b></p><p><b> {</b></p><p> delay(10);</p><p> if(S2==0)x=x-1;</p><p> while(!S2);</p><p><b> }</b></p><
43、p> if(S3==0) //調(diào)幅度</p><p><b> {</b></p><p> delay(10);</p><p> if(S3==0)a=a+1;</p><p> while(!S3);</p><p><b> a
44、=a+1;</b></p><p> if(a>5) a=1;</p><p><b> }</b></p><p><b> if(S4==0)</b></p><p><b> {</b></p><p> delay(1
45、0);</p><p> while(!S4);</p><p><b> a=a-1;</b></p><p> if(a==0) a=1;</p><p><b> }</b></p><p><b> x=x%50;</b></p&
46、gt;<p><b> }</b></p><p> void sin() //正弦波</p><p><b> {</b></p><p><b> uchar i;</b></p><p> for(i=0;i<
47、255;i++)</p><p><b> {</b></p><p> DAConvert((a*table[i])/10);</p><p><b> delay(x);</b></p><p> if(S0==0)break;</p><p><b>
48、 }</b></p><p><b> }</b></p><p> void juchibo() //鋸齒波</p><p><b> { </b></p><p><b> uchar i;</b></p><p>
49、; for(i=0;i<80;i+=4)</p><p><b> {</b></p><p> if(S1==0)y++;</p><p> if(S2==0)y--;</p><p> if(S3==0)a++;</p><p> if(S4==0)a--;</p>
50、;<p> DAConvert(a*i);</p><p><b> delay(x);</b></p><p><b> delay(y);</b></p><p> if(S0==0)break;</p><p><b> }</b></p&g
51、t;<p><b> }</b></p><p> void fangbo() //方波</p><p><b> { </b></p><p> DAConvert(10);</p><p><b> delay(x);</b><
52、/p><p> DAConvert(a*50);</p><p> delay(x); </p><p><b> }</b></p><p> void main(void)</p><p><b> {</b></p><p><b&g
53、t; m=0;</b></p><p><b> while(1)</b></p><p><b> {</b></p><p><b> test();</b></p><p> switch(m%3)</p><p><b
54、> {</b></p><p> case 0:sin();</p><p><b> break;</b></p><p> case 1:juchibo();</p><p><b> break;</b></p><p> case 2:f
溫馨提示
- 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. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)課程設(shè)計(jì)報(bào)告(信號(hào)發(fā)生器)
- 簡易信號(hào)發(fā)生器單片機(jī)課程設(shè)計(jì)報(bào)告
- 基于單片機(jī)的函數(shù)信號(hào)發(fā)生器課程設(shè)計(jì)
- 單片機(jī)原理及應(yīng)用課程設(shè)計(jì)--信號(hào)發(fā)生器
- 課程設(shè)計(jì)—基于單片機(jī)的方波信號(hào)發(fā)生器
- 課程設(shè)計(jì)--基于單片機(jī)的函數(shù)信號(hào)發(fā)生器
- 單片機(jī)課程設(shè)計(jì)(波形發(fā)生器)
- 單片機(jī)課程設(shè)計(jì)---波形發(fā)生器
- 基于單片機(jī)的函數(shù)信號(hào)發(fā)生器課程設(shè)計(jì)
- 課程設(shè)計(jì)---基于單片機(jī)的信號(hào)發(fā)生器的設(shè)計(jì)
- 51單片機(jī)課程設(shè)計(jì)---多功能信號(hào)發(fā)生器設(shè)計(jì)
- 課程設(shè)計(jì)-基于單片機(jī)的函數(shù)信號(hào)發(fā)生器設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)—波形發(fā)生器
- 課程設(shè)計(jì)--單片機(jī)波形發(fā)生器
- 單片機(jī)課程設(shè)計(jì)-波形發(fā)生器
- 單片機(jī)課程設(shè)計(jì)-pwm波信號(hào)發(fā)生器的研制
- 單片機(jī)課程設(shè)計(jì)(簡易函數(shù)發(fā)生器)
- 單片機(jī)課程設(shè)計(jì)報(bào)告--波形發(fā)生器
- 單片機(jī)課程設(shè)計(jì)--簡易波形發(fā)生器
- 課程設(shè)計(jì)--基于51單片機(jī)的信號(hào)發(fā)生器的設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論