單片機(jī)信號(hào)發(fā)生器課程設(shè)計(jì)論文_第1頁
已閱讀1頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論