欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      基于51單片機(jī)函數(shù)信號發(fā)生器設(shè)計(jì).

      時(shí)間:2019-05-14 04:29:56下載本文作者:會(huì)員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《基于51單片機(jī)函數(shù)信號發(fā)生器設(shè)計(jì).》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《基于51單片機(jī)函數(shù)信號發(fā)生器設(shè)計(jì).》。

      第一篇:基于51單片機(jī)函數(shù)信號發(fā)生器設(shè)計(jì).

      摘 要: 本系統(tǒng)利用單片機(jī)AT89S52采用程序設(shè)計(jì)方法產(chǎn)生鋸齒波、正弦波、矩形波三種波形,再通過D/A轉(zhuǎn)換器DAC0832將數(shù)字信號轉(zhuǎn)換成模擬信號,濾波放大,最終由示波器顯示出來,能產(chǎn)1Hz—3kHz的波形。通過鍵盤來控制三種波形的類型選擇、頻率變化,并通過液晶屏1602顯示其各自的類型以及數(shù)值,系統(tǒng)大致包括信號發(fā)生部分、數(shù)/模轉(zhuǎn)換部分以及液晶顯示部分三部分,其中尤其對數(shù)/模轉(zhuǎn)換部分和波形產(chǎn)生和變化部分進(jìn)行詳細(xì)論述。

      關(guān)鍵詞:單片機(jī)AT89S52、DAC0832、液晶1602 Abstract: this system capitalize on AT89s52,it makes use of central processor to generate three kinds of waves, they are triangle wave, and use D/A conversion module, wave generate module and liquid crystal display of 1602, it can have the 1Hz-3KHz profile.In this system it can control wave form choosing, frequency, range,can have the sine wave, the square-wave, the triangular wave.Simultaneously may also take the frequency measurement frequency,and displays them through liquid crystal display of 1602.this design includes three modules.They are D/A conversion module, wave generate module and liquid crystal display of LED module.In this design, the wave generator into wave form module and D/A conversion module are discussed in detail.key word: AT89S52, DAC0832, liquid crystal 1602.目錄

      1.系統(tǒng)設(shè)計(jì)

      1.1 設(shè)計(jì)要求

      1.2方案設(shè)計(jì)與論證

      1.2.1 信號發(fā)生電路方案論證 1.2.2 單片機(jī)的選擇論證 1.2.3 顯示方案論證 1.2.4 鍵盤方案論證 1.3 總體系統(tǒng)設(shè)計(jì) 1.4 硬件實(shí)現(xiàn)及單元電路設(shè)計(jì) 1.4.1 單片機(jī)最小系統(tǒng)的設(shè)計(jì)

      1.4.2 波形產(chǎn)生模塊設(shè)計(jì) 1.4.3 顯示模塊的設(shè)計(jì) 1.4.4 鍵盤模塊的設(shè)計(jì)

      1.5 軟件設(shè)計(jì)流程 1.6 源程序

      2.輸出波形的種類與頻率的測試

      2.1 測試儀器及測試說明

      2.2 測試結(jié)果 3.設(shè)計(jì)心的及體會(huì) 4.附錄 4.1 參考文獻(xiàn) 4.2 附圖

      1、系統(tǒng)設(shè)計(jì)

      經(jīng)過考慮,我們確定方案如下:利用AT89S52單片機(jī)采用程序設(shè)計(jì)方法產(chǎn)生鋸齒波、正弦波、矩形波三種波形,再通過D/A轉(zhuǎn)換器DAC0832將數(shù)字信號轉(zhuǎn)換成模擬信號,濾波放大,最終由示波器顯示出來,通過鍵盤來控制三種波形的類型選擇、頻率變化,最終輸出顯示其各自的類型以及數(shù)值。

      1.1、設(shè)計(jì)要求

      1、利用單片機(jī)采用軟件設(shè)計(jì)方法產(chǎn)生三種波形 2)、三種波形可通過鍵盤選擇 3)、波形頻率可調(diào)

      4)、需顯示波形的種類及其平率

      1.2方案設(shè)計(jì)與論證

      1.2.1 信號發(fā)生電路方案論證

      方案一:通過單片機(jī)控制D/A,輸出三種波形。此方案輸出的波形不夠穩(wěn)定,抗干擾能力弱,不易調(diào)節(jié)。但此方案電路簡單、成本低。

      方案二:使用傳統(tǒng)的鎖相頻率合成方法。通過芯片IC145152,壓控振蕩器搭接的鎖相環(huán)電路輸出穩(wěn)定性極好的正弦波,再利用過零比較器轉(zhuǎn)換成方波,積分電路轉(zhuǎn)換成三角波。此方案,電路復(fù)雜,干擾因素多,不易實(shí)現(xiàn)。

      方案三:利用MAX038芯片組成的電路輸出波形。MAX038是精密高頻波形產(chǎn)生電路,能夠產(chǎn)生準(zhǔn)確的三角波、方波和正弦波三種周期性波形。但此方案成本高,程序復(fù)雜度高。

      以上三種方案綜合考慮,選擇方案一。

      1.2.2 單片機(jī)的選擇論證

      方案一:AT89S52單片機(jī)是一種高性能8位單片微型計(jì)算機(jī)。它把構(gòu)成計(jì)算機(jī)的中央處理器CPU、存儲器、寄存器、I/O接口制作在一塊集成電路芯片中,從而構(gòu)成較為完整的計(jì)算機(jī)、而且其價(jià)格便宜。

      方案二:C8051F005單片機(jī)是完全集成的混合信號系統(tǒng)級芯片,具有與8051兼容的微控制器內(nèi)核,與MCS-51指令集完全兼容。除了具有標(biāo)準(zhǔn)8052的數(shù)字外設(shè)部件,片內(nèi)還集成了數(shù)據(jù)采集和控制系統(tǒng)中常用的模擬部件和其他數(shù)字外設(shè)及功能部件,而且執(zhí)行速度快。但其價(jià)格較貴

      以上兩種方案綜合考慮,選擇方案一

      1.2.3 顯示方案論證

      方案一:采用LED數(shù)碼管。LED數(shù)碼管由8個(gè)發(fā)光二極管組成,每只數(shù)碼管輪流顯示各自的字符。由于人眼具有視覺暫留特性,當(dāng)每只數(shù)碼管顯示的時(shí)間間隔小于1/16s時(shí)人眼感覺不到閃動(dòng),看到的是每只數(shù)碼管常亮。使用數(shù)碼管顯示編程較易,但要顯示內(nèi)容多,而且數(shù)碼管不能顯示字母。

      方案二:采用LCD液晶顯示器1602。其功率小,效果明顯,顯示編程容易控制,可以顯示字母。

      以上兩種方案綜合考慮,選擇方案二。

      1.2.4 鍵盤方案論證

      方案一:矩陣式鍵盤。矩陣式鍵盤的按鍵觸點(diǎn)接于由行、列母線構(gòu)成的矩陣電路的交叉處。當(dāng)鍵盤上沒有鍵閉合時(shí),所有的行和列線都斷開,行線都呈高電平。當(dāng)某一個(gè)鍵閉合時(shí),該鍵所對應(yīng)的行線和列線被短路。

      方案二:編碼式鍵盤。編碼式鍵盤的按鍵觸點(diǎn)接于74LS148芯片。當(dāng)鍵盤上沒有閉合時(shí),所有鍵都斷開,當(dāng)某一鍵閉合時(shí),該鍵對應(yīng)的編碼由74LS148輸出。

      以上兩種方案綜合考慮,選擇方案一。

      1.3總體系統(tǒng)設(shè)計(jì)

      該系統(tǒng)采用單片機(jī)作為數(shù)據(jù)處理及控制核心,由單片機(jī)完成人機(jī)界面、系統(tǒng)控制、信號的采集分析以及信號的處理和變換,采用按鍵輸入,利用液晶顯示電路輸出數(shù)字顯示的方案。將設(shè)計(jì)任務(wù)分解為按鍵電路、液晶顯示電路等模塊。圖(1)為系統(tǒng)的總體框圖

      圖(1)總體方框圖

      1.4硬件實(shí)現(xiàn)及單元電路設(shè)計(jì)

      1.4.1單片機(jī)最小系統(tǒng)的設(shè)計(jì)

      89C51是片內(nèi)有ROM/EPROM的單片機(jī),因此,這種芯片構(gòu)成的最小系統(tǒng)簡單﹑可靠。用80C51單片機(jī)構(gòu)成最小應(yīng)用系統(tǒng)時(shí),只要將單片機(jī)接上時(shí)鐘電路和復(fù)位電路即可,如圖(2)89C51單片機(jī)最小系統(tǒng)所示。由于集成度的限制,最小應(yīng)用系統(tǒng)只能用作一些小型的控制單元。其應(yīng)用特點(diǎn):

      (1 有可供用戶使用的大量I/O口線。(2 內(nèi)部存儲器容量有限。(3 應(yīng)用系統(tǒng)開發(fā)具有特殊性。

      圖(2)89C51單片機(jī)最小系統(tǒng)

      1.4.2 波形產(chǎn)生模塊設(shè)計(jì)

      由單片機(jī)采用編程方法產(chǎn)生三種波形、通過DA轉(zhuǎn)換模塊DAC0832在進(jìn)過濾波放大之后輸出。其電路圖如下:

      圖(3)波形產(chǎn)生電路

      如上圖所示,單片機(jī)的P0口連接DAC0832的八位數(shù)據(jù)輸入端,DAC0832的輸出端接放大器,經(jīng)過放大后輸出所要的波形。DAC0832的為八位數(shù)據(jù)并行輸入的,其結(jié)構(gòu)圖如下:

      圖(4)DAC0832的內(nèi)部結(jié)構(gòu)

      1.4.3 顯示模塊的設(shè)計(jì)

      通過液晶1602顯示輸出的波形、頻率,其電路圖如下:

      圖(5)液晶顯示

      如上圖所示,1602的八位數(shù)據(jù)端接單片機(jī)的P1口,其三個(gè)使能端RS、RW、E分別接單片機(jī)的P3.2—P3.4。通過軟件控制液晶屏可以顯示波形的種類以及波形的頻率。

      1.4.4 鍵盤顯示模塊的設(shè)計(jì)

      本系統(tǒng)采用獨(dú)立鍵盤,其連接電路圖如下:

      圖(6)鍵盤

      圖中鍵盤獨(dú)立鍵盤引出的八跟線分別接單片機(jī)的P2口,只用其第四列,因此在程序初始化時(shí)P2.7腳給低電平。如圖開關(guān)3用來切換輸出波形、開關(guān)7和8用

      來調(diào)節(jié)頻率的加減。當(dāng)按開關(guān)7時(shí)輸出波形的頻率增加,按開關(guān)8時(shí)輸出波形的頻率減小。

      1.5 軟件設(shè)計(jì)流程

      本系統(tǒng)采用AT89S52單片機(jī),用編程的方法來產(chǎn)生三種波形,并通過編程 來切換三種波形以及波形頻率的改變。

      具體功能有:(1)各個(gè)波形的切換;(2)各種參數(shù)的設(shè)定;(3)頻率增減等。

      軟件調(diào)通后,通過編程器下載到AT89S52芯片中,然后插到系統(tǒng)中即可獨(dú)立完成所有的控制。

      軟件的流程圖如下:

      圖(7)程序流程圖

      1.6源程序

      #include #define uchar unsigned char #define uint unsigned int

      sbit lcdrw=P3^3;sbit lcdrs=P3^2;sbit lcde=P3^4;sbit d=P2^7;sbit s1=P2^0;sbit s2=P2^1;sbit s3=P2^2;sbit cs=P3^5;sbit wr=P3^6;uchar s1num,a,ys,j;uint fre;uchar code tosin[256]={ 0x80,0x83,0x86,0x89,0x8d,0x90,0x93,0x96,0x99,0x9c,0x9f,0xa2, 0xa5,0xa8,0xab,0xae,0xb1,0xb4,0xb7,0xba,0xbc,0xbf,0xc2,0xc5, 0xc7,0xca,0xcc,0xcf,0xd1,0xd4,0xd6,0xd8,0xda,0xdd,0xdf,0xe1, 0xe3,0xe5,0xe7,0xe9,0xea,0xec,0xee,0xef,0xf1,0xf2,0xf4,0xf5, 0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfd,0xfe,0xff,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd, 0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf4,0xf2,0xf1, 0xef,0xee,0xec,0xea,0xe9,0xe7,0xe5,0xe3,0xe1,0xde,0xdd,0xda, 0xd8,0xd6,0xd4,0xd1,0xcf,0xcc,0xca,0xc7,0xc5,0xc2,0xbf,0xbc, 0xba,0xb7,0xb4,0xb1,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99, 0x96,0x93,0x90,0x8d,0x89,0x86,0x83,0x80,0x80,0x7c,0x79,0x76,0x72,0x6f,0x6c,0x69,0x66,0x63,0x60,0x5d,0x5a,0x57,0x55,0x51, 0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a,0x38,0x35,0x33,0x30, 0x2e,0x2b,0x29,0x27,0x25,0x22,0x20,0x1e,0x1c,0x1a,0x18,0x16, 0x15,0x13,0x11,0x10,0x0e,0x0d,0x0b,0x0a,0x09,0x08,0x07,0x06, 0x05,0x04,0x03,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x02,0x03,0x04,0x05, 0x06,0x07,0x08,0x09,0x0a,0x0b,0x0d,0x0e,0x10,0x11,0x13,0x15, 0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x25,0x27,0x29,0x2b,0x2e, 0x30,0x33,0x35,0x38,0x3a,0x3d,0x40,0x43,0x45,0x48,0x4c,0x4e, 0x51,0x55,0x57,0x5a,0x5d,0x60,0x63,0x66 ,0x69,0x6c,0x6f,0x72, 0x76,0x79,0x7c,0x80 };/*正弦波碼 */ void delay(uint z //延時(shí)子程序 { uchar i,j;for(i=z;i>0;i--for(j=110;j>0;j--;} void delay1(uint y { uint i;for(i=y;i>0;i--;} void write_com(uchar com //1602寫指令

      { lcdrs=0;P1=com;delay(5;lcde=1;delay(5;lcde=0;} void write_data(uchar date //1602數(shù)據(jù) { lcdrs=1;P1=date;delay(5;lcde=1;delay(5;lcde=0;} void init(//初始化 { lcdrw=0;lcde=0;wr=0;cs=0;

      write_com(0x38;write_com(0x0c;write_com(0x06;write_com(0x01;write_com(0x80+0x00;write_data(0x77;//寫wave: write_data(0x61;write_data(0x76;write_data(0x65;write_data(0x3a;write_com(0x80+0x40;//寫 f: write_data(0x66;write_data(0x3a;} void write_f(uint date //寫頻率 { uchar qian,bai,shi,ge;qian=date/1000;bai=date/100%10;shi=date/10%10;ge=date%10;write_com(0x80+0x42;write_data(0x30+qian;

      write_data(0x30+bai;write_data(0x30+shi;write_data(0x30+ge;write_data(0x48;write_data(0x5a;} void xsf(//顯示頻率 { if(s1num==1 { fre=(1000/(9+3*ys;write_f(fre;} if(s1num==2 { fre=(100000/(3*ys;write_f(fre;} if(s1num==3 { fre=(1000/(15+3*ys;write_f(fre;}

      } void keyscanf({ d=0;if(s1==0 { delay(5;if(s1==0 { while(!s1;s1num++;if(s1num==1 { ys=0;write_com(0x80+0x05;write_data(0x73;//寫sine: write_data(0x69;write_data(0x6e;write_data(0x65;write_data(0x20;write_data(0x20;} if(s1num==2

      { ys=10;write_com(0x80+0x05;write_data(0x73;//寫squrae write_data(0x71;write_data(0x75;write_data(0x61;write_data(0x72;write_data(0x65;} if(s1num==3 { ys=0;write_com(0x80+0x05;//train write_data(0x74;write_data(0x72;write_data(0x61;write_data(0x69;write_data(0x6e;write_data(0x20;} if(s1num==4 {

      s1num=0;P1=0;write_com(0x80+0x05;write_data(0x20;write_data(0x20;write_data(0x20;write_data(0x20;write_data(0x20;write_data(0x20;write_com(0x80+0x42;write_data(0x20;write_data(0x20;write_data(0x20;write_data(0x20;write_data(0x20;write_data(0x20;} } } if(s2==0 { delay(5;if(s2==0

      { while(!s2;ys++;} } if(s3==0 { delay(5;if(s3==0 { while(!s3;ys--;} } } void main({ init(;while(1 { keyscanf(;if(s1num==1 //正弦波// {

      for(j=0;j<255;j++ { P0=tosin[j];delay1(ys;} } if(s1num==2 //方波// { P0=0xff;delay1(ys;P0=0;delay1(ys;} if(s1num==3 //三角波// { if(a<128 { P0=a;delay1(ys;} else { P0=255-a;

      delay1(ys;} a++;}

      if(!(s1&s2&s3 { xsf(;} } }

      2、輸出波形的種類與頻率的測試

      2.1、測量儀器及測試說明

      測量儀器:穩(wěn)壓電源、示波器、數(shù)字萬用表。

      測量說明:正弦波、矩形波、三角波信號的輸出,通過對獨(dú)立鍵盤來實(shí)現(xiàn)其的不同波形的輸出以及其頻率的改變。

      2.2測試過程

      當(dāng)程序下進(jìn)去時(shí)經(jīng)過初始化,液晶屏的上只顯示“wave:”和“f:“,當(dāng)開關(guān)三按一下是此時(shí)輸出波形為正弦波,按兩下時(shí)輸出為方波,按三下時(shí)輸出為三角波。另外兩個(gè)開關(guān)可以調(diào)節(jié)頻率,三種波形的頻率可調(diào)范圍不同,分別如下: 正弦波:1—180HZ 方 波:1——3.3KHZ 三角波:1——180HZ

      根據(jù)示波器的波形頻率的顯示計(jì)算出三種波形的頻率計(jì)算公式如下: 正弦波:f=(1000/(9+3*ys 方 波:f=(100000/(3*ys 三角波:f=(1000/(15+3*ys 其中ys為延時(shí)的變量。三種波形的仿真波形圖如下:

      圖(8)正弦波圖形

      圖(9)方波圖形

      圖(10)三角波圖行

      2.3、測試結(jié)果

      各項(xiàng)指標(biāo)均達(dá)到要求。

      測試數(shù)據(jù)如下:

      1)、產(chǎn)生正弦波、方波、三角波基本實(shí)現(xiàn)

      2)、三種波形的頻率都可調(diào),但不能步進(jìn)的調(diào)節(jié),其中方波的可調(diào)范圍最廣為1—3.3KHZ,其他兩種波形的頻率范圍不大1—180HZ 3)、顯示部分基本實(shí)現(xiàn) 4)、鍵盤功能實(shí)現(xiàn)

      3、設(shè)計(jì)心的及體會(huì)

      通過這次畢業(yè)設(shè)計(jì),使我深刻地認(rèn)識到學(xué)好專業(yè)知識的重要性,也理解了理論聯(lián)系實(shí)際的含義,并且檢驗(yàn)了大學(xué)三年的學(xué)習(xí)成果,進(jìn)一步加深了我對專業(yè)知識的了解和認(rèn)識以及動(dòng)手的能力。雖然在這次設(shè)計(jì)中對于所學(xué)知識的運(yùn)用和銜接還不夠熟練,作品完成的還不是很出色。但是我將在以后的工作和學(xué)習(xí)中繼續(xù)努力、不斷完善。這個(gè)設(shè)計(jì)是對我們過去所學(xué)知識的系統(tǒng)提高和擴(kuò)充的過程,為今后的發(fā)展打下了良好的基礎(chǔ)。

      4、附錄

      4.1 參考文獻(xiàn)

      [1] 戴仙金主編 51單片機(jī)及其C語言匯編程序開發(fā)實(shí)例 清華大學(xué)出版社,2008 [2] 高吉祥主編 全國大學(xué)生電子設(shè)計(jì)競賽培訓(xùn)系列教程 電子工業(yè)出版社,2007 [3] 楊素行主編 模擬電子技術(shù)基礎(chǔ)簡明教程 高等教育出版社,2007 [4] 蔣輝平主編 單片機(jī)原理與應(yīng)用設(shè)計(jì) 北京航空航天大學(xué)出版社 2007 4.2 附圖

      圖(11)總體原理設(shè)計(jì)圖

      第二篇:基于51單片機(jī)函數(shù)信號發(fā)生器設(shè)計(jì)

      湘南學(xué)院

      電子工程設(shè)計(jì)

      題 目: 基于51單片機(jī)的函數(shù)信號發(fā)生器設(shè)計(jì)

      學(xué)院(系): 電子信息與電氣工程學(xué)院 年級專業(yè): 2013級電子信息科學(xué)與技術(shù) 學(xué) 號: 201314110144,201314110106 學(xué)生姓名: 周 慧 程迅 指導(dǎo)教師: 王 龍

      2016年 4 月 1 日

      課程設(shè)計(jì)任務(wù)書

      學(xué)生姓名:程迅 周慧

      專業(yè)班級:電子信息科學(xué)與技術(shù)

      (一)班 指導(dǎo)教師:王 龍 工作單位:電子信息與電氣工程學(xué)院

      題 目:

      基于51單片機(jī)的函數(shù)信號發(fā)生器的設(shè)計(jì) 初始條件:

      1.運(yùn)用所學(xué)的單片機(jī)原理與接口技術(shù)知識和數(shù)字電路知識; 2.51單片機(jī)最小系統(tǒng); 3.PC機(jī)及相關(guān)應(yīng)用軟件。

      要求完成的主要任務(wù): 系統(tǒng)大致包括信號發(fā)生部分、數(shù)/模轉(zhuǎn)換部分以及液晶顯示部分三部分,通過程序設(shè)計(jì)方法產(chǎn)生鋸齒波、正弦波、三角波、矩形波四種波形,通過按鍵來控制四種波形的類型選擇、頻率變化,并通過液晶屏1602顯示其各自的類型以及頻率值。

      1.完成函數(shù)信號發(fā)生器的設(shè)計(jì)和調(diào)試。

      2.撰寫課程設(shè)計(jì)說明書,說明書使用A4打印紙計(jì)算機(jī)打印,用proteus等仿真軟件繪制電子線路圖紙。

      基于51單片機(jī)的函數(shù)信號發(fā)生器的設(shè)計(jì)

      摘 要

      本系統(tǒng)利用單片機(jī)STC89C52采用程序設(shè)計(jì)方法產(chǎn)生鋸齒波、正弦波、三角波、矩形波四種波形,再通過D/A轉(zhuǎn)換器DAC0832將數(shù)字信號轉(zhuǎn)換成模擬信號,濾波放大,最終由示波器顯示出來,能產(chǎn)0Hz—535Hz的波形。通過按鍵來控制三種波形的類型選擇、頻率變化,并通過液晶屏1602顯示其各自的類型以及數(shù)值,系統(tǒng)大致包括信號發(fā)生部分、數(shù)/模轉(zhuǎn)換部分以及液晶顯示部分三部分,其中尤其對數(shù)/模轉(zhuǎn)換部分和波形產(chǎn)生和變化部分進(jìn)行詳細(xì)論述。

      關(guān)鍵詞:單片機(jī)STC89C52、DAC0832、液晶1602

      目錄

      前言..........................................................................1 第一章 系統(tǒng)設(shè)計(jì)要求及設(shè)計(jì)方案..................................................2

      1.1 設(shè)計(jì)要求.................................................................2 1.2 方案設(shè)計(jì)與論證...........................................................2 1.2.1 信號發(fā)生電路方案論證...............................................2 1.2.2 單片機(jī)的選擇論證..................................................2 1.2.3 顯示方案論證.....................................................3 1.2.4 鍵盤方案論證......................................................3 1.3 系統(tǒng)主要功能.............................................................3 第二章 系統(tǒng)的硬件設(shè)計(jì)..........................................................4 2.1 總體系統(tǒng)設(shè)計(jì).............................................................4 2.2 硬件實(shí)現(xiàn)及單元電路設(shè)計(jì)...................................................4 2.2.1 振蕩電路..........................................................4 2.2.2 復(fù)位電路設(shè)計(jì).....................................................5 2.2.3 波形產(chǎn)生模塊設(shè)計(jì)..................................................6 2.2.4顯示模塊的設(shè)計(jì).....................................................7 2.2.5 鍵盤顯示模塊的設(shè)計(jì).................................................7 2.3 軟件設(shè)計(jì)流程.............................................................8 第三章 proteus的簡介..........................................................9 3.1 proteus介紹.............................................................9 3.1.1 keil調(diào)試.........................................................10 3.1.2 proteus仿真調(diào)試..................................................10 3.2 測試過程................................................................11 附錄一:總電路圖..............................................................12 附錄二:部分程序..............................................................12

      前言

      信號發(fā)生器是一種常用的信號源,廣泛應(yīng)用于電子電路、自動(dòng)控制系統(tǒng)和教學(xué)實(shí)驗(yàn)等領(lǐng)域。信號的產(chǎn)生有模擬電路、專用硬件和軟件產(chǎn)生等方法。采用模擬電路搭建函數(shù)信號發(fā)生器,可產(chǎn)生方波、三角波、正弦波、鋸齒波,但不能產(chǎn)生任意波形,存在波形質(zhì)量差、控制難、可調(diào)范圍小,電路復(fù)雜和體積大等缺點(diǎn),且頻率調(diào)節(jié)不方便。專用硬件方法產(chǎn)生的信號頻率分辨率高、穩(wěn)定性好、在線調(diào)整方便,如目前在通訊系統(tǒng)中應(yīng) 用廣泛的直接數(shù)字頻率合成(DDS)技術(shù),例如 AD9854是一種典型的信號產(chǎn)生方法,但是價(jià)格昂貴。

      利用單片機(jī)通過程序設(shè)計(jì)方法產(chǎn)生低頻信號,其頻率底線較低,具有線路簡單、結(jié)構(gòu)緊湊、體積小、價(jià)格低廉、頻率穩(wěn)定度高、抗干擾能力強(qiáng)、用途廣泛等優(yōu)點(diǎn),且如需要產(chǎn)生新的波形時(shí),只需對程序進(jìn)行修改即可。該系統(tǒng)利用單片機(jī)STC89C52和D /A 轉(zhuǎn)換器DAC0832 轉(zhuǎn)換數(shù)字信號為 0 ~ 5 V 模擬電壓信號,并在 LCD1602 顯示,通過示波器就能得知產(chǎn)生的信號波形。

      第一章 系統(tǒng)設(shè)計(jì)要求及設(shè)計(jì)方案

      1.1 設(shè)計(jì)要求

      1)、利用單片機(jī)采用軟件設(shè)計(jì)方法產(chǎn)生四種波形 2)、四種波形可通過按鍵選擇輸出 3)、波形頻率可調(diào) 4)、需顯示波形的頻率

      1.2 方案設(shè)計(jì)與論證 1.2.1 信號發(fā)生電路方案論證

      方案一:通過單片機(jī)控制D/A,輸出三種波形。此方案輸出的波形不夠穩(wěn)定,抗干擾能力弱,不易調(diào)節(jié)。但此方案電路簡單、成本低。

      方案二:使用傳統(tǒng)的鎖相頻率合成方法。通過芯片IC145152,壓控振蕩器搭接的鎖相環(huán)電路輸出穩(wěn)定性極好的正弦波,再利用過零比較器轉(zhuǎn)換成方波,積分電路轉(zhuǎn)換成三角波。此方案,電路復(fù)雜,干擾因素多,不易實(shí)現(xiàn)。

      方案三:利用MAX038芯片組成的電路輸出波形。MAX038是精密高頻波形產(chǎn)生電路,能夠產(chǎn)生準(zhǔn)確的三角波、方波和正弦波三種周期性波形。但此方案成本高,程序復(fù)雜度高。

      以上三種方案綜合考慮,選擇方案一。

      1.2.2 單片機(jī)的選擇論證

      方案一:STC89C52單片機(jī)是一種高性能8位單片微型計(jì)算機(jī)。它把構(gòu)成計(jì)算機(jī)的中央處理器CPU、存儲器、寄存器、I/O接口制作在一塊集成電路芯片中,從而構(gòu)成較為完整的計(jì)算機(jī)、而且其價(jià)格便宜。

      方案二:C8051F005單片機(jī)是完全集成的混合信號系統(tǒng)級芯片,具有與8051兼容的微控制器內(nèi)核,與MCS-51指令集完全兼容。除了具有標(biāo)準(zhǔn)8052的數(shù)字外設(shè)部件,片內(nèi)還集成了數(shù)據(jù)采集和控制系統(tǒng)中常用的模擬部件和其他數(shù)字外設(shè)及功能部件,而且執(zhí)行速度快。但其價(jià)格較貴。

      以上兩種方案綜合考慮,選擇方案一

      1.2.3 顯示方案論證

      方案一:采用LED數(shù)碼管。LED數(shù)碼管由8個(gè)發(fā)光二極管組成,每只數(shù)碼管輪流顯示各自的字符。由于人眼具有視覺暫留特性,當(dāng)每只數(shù)碼管顯示的時(shí)間間隔小于1/16s時(shí)人眼感覺不到閃動(dòng),看到的是每只數(shù)碼管常亮。使用數(shù)碼管顯示編程較易,但要顯示內(nèi)容多,而且數(shù)碼管不能顯示字母。

      方案二:采用LCD液晶顯示器1602。其功率小,效果明顯,顯示編程容易控制,可以顯示字母。

      以上兩種方案綜合考慮,選擇方案二。

      1.2.4 鍵盤方案論證

      方案一:矩陣式鍵盤。矩陣式鍵盤的按鍵觸點(diǎn)接于由行、列母線構(gòu)成的矩陣電路的交叉處。當(dāng)鍵盤上沒有鍵閉合時(shí),所有的行和列線都斷開,行線都呈高電平。當(dāng)某一個(gè)鍵閉合時(shí),該鍵所對應(yīng)的行線和列線被短路。

      方案二:獨(dú)立點(diǎn)觸按鍵。點(diǎn)觸按鍵體積小,安裝方便,成本低。以上兩種方案綜合考慮,選擇方案二。

      1.3 系統(tǒng)主要功能

      經(jīng)過考慮,我們確定方案如下:利用STC89C52單片機(jī)采用程序設(shè)計(jì)方法產(chǎn)生鋸齒波、正弦波、矩形波鋸齒波四種波形,再通過D/A轉(zhuǎn)換器DAC0832將數(shù)字信號轉(zhuǎn)換成模擬信號,濾波放大,最終由示波器顯示出來,通過按鍵來控制四種波形的類型選擇、頻率變化,最終輸出顯示其各自的類型以及數(shù)值。

      第二章 系統(tǒng)的硬件設(shè)計(jì)

      2.1 總體系統(tǒng)設(shè)計(jì)

      該系統(tǒng)采用單片機(jī)作為數(shù)據(jù)處理及控制核心,由單片機(jī)完成人機(jī)界面、系統(tǒng)控制、信號的采集分析以及信號的處理和變換,采用按鍵輸入,利用液晶顯示電路輸出數(shù)字顯示的方案。將設(shè)計(jì)任務(wù)分解為按鍵電路、液晶顯示電路等模塊。下

      圖2.1為系統(tǒng)的總體框圖

      圖2.1 總體方框圖

      2.2 硬件實(shí)現(xiàn)及單元電路設(shè)計(jì)

      2.2.1 振蕩電路

      單片機(jī)內(nèi)部有一個(gè)高增益、反相放大器,其輸入端為芯片引腳XTAL1,其輸出端為引腳XTAL2。通過這兩個(gè)引腳在芯片外并接石英晶體振蕩器和兩只電容振蕩電路脈沖經(jīng)過二分頻后作為系統(tǒng)的時(shí)鐘信號,再在二分頻的基礎(chǔ)上三分頻產(chǎn)

      4(電容和一般取30pF)。這樣就構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。

      生ALE信號,此時(shí)得到的信號時(shí)機(jī)器周期信號。

      振蕩電路如圖2.2.1所示:

      圖2.2.1 振蕩電路

      2.2.2 復(fù)位電路設(shè)計(jì)

      復(fù)位操作有兩種基本形式:一種是上電復(fù)位,另一種是按鍵復(fù)位。按鍵復(fù)位具有上電復(fù)位功能外,若要復(fù)位,只要按圖中的RESET鍵,電源VCC經(jīng)電阻R1、R2分壓,在RESET端產(chǎn)生一個(gè)復(fù)位高電平。上電復(fù)位電路要求接通電源后,通過外部電容充電來實(shí)現(xiàn)單片機(jī)自動(dòng)復(fù)位操作。上電瞬間RESET引腳獲得高電平,隨著電容的充電,RERST引腳的高電平將逐漸下降。RERST引腳的高電平只要能保持足夠的時(shí)間(2個(gè)機(jī)器周期),單片機(jī)就可以進(jìn)行復(fù)位操作。按鍵復(fù)位電路圖如圖2.2.2所示。

      圖2.2.2 復(fù)位電路

      2.2.3 波形產(chǎn)生模塊設(shè)計(jì)

      由單片機(jī)采用編程方法產(chǎn)生四種波形、通過DA轉(zhuǎn)換模塊DAC0832在進(jìn)過濾波放大之后輸出。

      其電路圖如下圖2.2.3(1):

      圖2.2.3(1)波形產(chǎn)生電路

      如上圖2.2.3(1)所示,單片機(jī)的P0口連接DAC0832的八位數(shù)據(jù)輸入端,DAC0832的輸出端接放大器,經(jīng)過放大后輸出所要的波形。DAC0832的為八位數(shù)據(jù)并行輸入的,其結(jié)構(gòu)圖如下圖2.2.3(2):

      圖2.2.3(2)DAC0832的內(nèi)部結(jié)構(gòu)

      2.2.4顯示模塊的設(shè)計(jì)

      通過液晶1602顯示輸出的波形、頻率。1602的八位數(shù)據(jù)端接單片機(jī)的P0口,其使能端RS、E分別接單片機(jī)的P3.5、P3.4。通過軟件控制液晶屏可以顯示波形的種類以及波形的頻率。

      其電路圖如下圖2.2.4:

      圖2.2.4 液晶顯示

      2.2.5 鍵盤顯示模塊的設(shè)計(jì)

      其連接電路圖如下圖2.2.5:

      圖2.2.5 鍵盤

      圖中鍵盤引出的5跟線分別接單片機(jī)的P1口,其中P1.0連接按鍵1用于切換波形,P1.1、P1.2連接按鍵2、3用于調(diào)節(jié)波形的頻率的增減,P1.3連接的按鍵用于占空比的升高。

      2.3 軟件設(shè)計(jì)流程

      本系統(tǒng)采用STC89C52單片機(jī),用編程的方法來產(chǎn)生四種波形,并通過編程 來切換四種波形以及波形頻率的改變。

      具體功能有:(1)各個(gè)波形的切換;(2)各種參數(shù)的設(shè)定;(3)頻率增減等。

      軟件調(diào)通后,通過編程器下載到STC89C52芯片中,然后插到系統(tǒng)中即可獨(dú)立完成所有的控制。

      軟件的流程圖如下圖2.3:

      圖2.3 程序流程圖

      第三章 proteus的簡介

      3.1 proteus介紹

      Proteus軟件是來自英國Labcenter electronics公司的EDA工具軟件,它組合了高級原理布圖、混合模式SPICE仿真,PCB設(shè)計(jì)以及自動(dòng)布線來實(shí)現(xiàn)一個(gè)完整的電子設(shè)計(jì)系統(tǒng)。此系統(tǒng)受益于15年來的持續(xù)開發(fā),被《電子世界》在其對PCB設(shè)計(jì)系統(tǒng)的比較文章中評為最好產(chǎn)品—“The Route to PCB CAD”。Proteus 產(chǎn)品系列也包含了我們革命性的VSM技術(shù),用戶可以對基于微控制器的設(shè)計(jì)連同所有的周圍電子器件一起仿真。用戶甚至可以實(shí)時(shí)采用諸如LED/LCD、鍵盤、RS232終端等動(dòng)態(tài)外設(shè)模型來對設(shè)計(jì)進(jìn)行交互仿真。

      其功能模塊:—個(gè)易用而又功能強(qiáng)大的ISIS原理布圖工具;PROSPICE混合模型SPICE仿真;ARES PCB設(shè)計(jì)。PROSPICE 仿真器的一個(gè)擴(kuò)展PROTEUS VSM:便于包括所有相關(guān)的器件的基于微處理器設(shè)計(jì)的協(xié)同仿真。此外,還可以結(jié)合微控制器軟件使用動(dòng)態(tài)的鍵盤,開關(guān),按鈕,LEDs甚至LCD顯示CPU模型。支持許多通用的微控制器,如PIC,AVR,HC11以及8051。最新支持ARM。交互的裝置模型包括:LED和LCD顯示,RS232終端,通用鍵盤,I2C,SPI器件。強(qiáng)大的調(diào)試工具,包括寄存器和存儲器,斷點(diǎn)和單步模式。IAR C-SPY 和Keil uVision2等開發(fā)工具的源層調(diào)試。應(yīng)用特殊模型的DLL界面-提供有關(guān)元件庫的全部文件。

      在完成了函數(shù)信號發(fā)生器的硬件設(shè)計(jì)和軟件設(shè)計(jì)以后,便進(jìn)入系統(tǒng)的調(diào)試階段。系統(tǒng)的調(diào)試步驟和方法基本上是相同的,但具體細(xì)節(jié)和所采用的開發(fā)系統(tǒng)以及用戶系統(tǒng)選用的單片機(jī)型號有關(guān),我們選用的是Keil軟件進(jìn)行軟件調(diào)試,用Proteus軟件完成硬件調(diào)試。

      3.1.1 keil調(diào)試

      3.1.2 proteus仿真調(diào)試

      3.2 測試過程

      1)、當(dāng)程序下進(jìn)去時(shí)經(jīng)過初始化,液晶屏的上只顯示“Frequency:”和“0050Hz”,默認(rèn)狀態(tài)輸出波形為正弦波,按一下按鍵1時(shí)輸出為方波,按按鍵1兩下時(shí)輸出為鋸齒波,按按鍵1三下時(shí)輸出三角波。按鍵2、3可以調(diào)節(jié)頻率,三種波形的頻率可調(diào)范圍,分別如下: 正弦波:0—535Hz 方 波:0——535Hz 三角波:0——535Hz 鋸齒波:0——535Hz 根據(jù)示波器的波形頻率的顯示計(jì)算出三種波形的頻率計(jì)算公式如下:

      正弦波:f= 65536-10^6//(512*FREQ)方 波:f= 65336-10^6/(256*FREQ)三角波:f= 65336-10^6/(256*FREQ)鋸齒波:f= 100(+-)n*2Hz.2)、四種種波形的仿真波形圖如下:

      圖3.2(1)方波圖形

      圖3.2(2)正弦波圖形

      圖3.2(3)三角波圖形 圖3.2(4)鋸齒波圖形

      附錄一:總電路圖

      附錄二:部分程序

      //調(diào)節(jié)部分——頻率 void freq_ud(void){ unsigned int temp;if(freq_d==0){ FREQ--;

      } else if(freq_u==0){ FREQ++;} if(cho==1|cho==3)//鋸齒波256次中斷一周期,否則他的頻率是100(+-)n*2Hz.{temp=0xffff-3906/FREQ;//默認(rèn)為100hz,切換后頻率為50HZ65336-10^6/(256*FREQ)TIME0_H=temp/256;TIME0_L=temp%256;} else if(cho==0|cho==3)//正弦波 三角波默認(rèn)周期50hz 65536-10^6//(512*FREQ){temp=0xffff-1953/FREQ;TIME0_H=temp/256;TIME0_L=temp%256;}}

      //調(diào)節(jié)部分——方波的占空比

      void duty_ud(void)//方波也采用512次中斷構(gòu)成一個(gè)周期。{ if(duty_d==0&sqar_num>0)sqar_num--;else if(duty_u==0&sqar_num<255)} //波形發(fā)生函數(shù) void sint(void){ if(!flag){ cs=0;P2=sin_num[num++];cs=1;if(num==0){num=255;flag=1;} sqar_num++;} else if(flag){

      } void square(void){ if(i++

      cs=0;P2=num++;cs=1;} void stw(void){ if(~flag){ cs=0;P2=num++;cs=1;if(num==0){num=255;flag=1;} } else if(flag){

      } void main(){ TMOD=0X01;TH0=0xff;TL0=0xd9;IT0=1;//設(shè)置中斷觸發(fā)方式,下降沿 EA=1;EX0=1;ET0=1;IP=0X01;//鍵盤中斷級別高 init_1602();//初始化lcd

      write_command(0x80);//液晶顯示位置 delay(5);

      for(i=0;i

      {

      } write_data(value1[i]);delay(5);TR0=1;while(1){ show_frequency();} } //按鍵中斷處理程序。void it0()interrupt 0 { if(chg==0){FREQ=50;if(++cho==4){cho=0;num=0;}}//num=0;所有數(shù)據(jù)從新開始,保證波形的完整性

      else if(freq_u==0|freq_d==0){freq_ud();} else if(cho==1&(duty_d==0|duty_u==0)){duty_ud();} else;}

      第三篇:函數(shù)信號發(fā)生器設(shè)計(jì)

      函數(shù)信號發(fā)生器設(shè)計(jì)設(shè)計(jì)任務(wù)與要求

      ⑴ 設(shè)計(jì)并制作能產(chǎn)生正弦波、矩形波(方波)和三角波(鋸齒波)的函數(shù)發(fā)生器,本信號發(fā)生器可以考慮用專用集成芯片(如5G8038等)為核心實(shí)現(xiàn)。⑵ 信號頻率范圍: 1Hz∽100kHz;

      ⑶ 頻率控制方式:

      ① 手控通過改變RC參數(shù)實(shí)現(xiàn);

      ② 鍵控通過改變控制電壓實(shí)現(xiàn);

      ③ 為能方便地實(shí)現(xiàn)頻率調(diào)節(jié),建議將頻率分檔;

      ⑷ 輸出波形要求

      ① 方波上升沿和下降沿時(shí)間不得超過200nS,占空比在48%∽50%之間;② 非線性誤差≤2%;

      ③ 正弦波諧波失真度≤2%;

      ⑸ 輸出信號幅度范圍:0∽20V;

      ⑹ 信號源輸出阻抗:≤1Ω;

      ⑺ 應(yīng)具有輸出過載保護(hù)功能;

      ⑻ 具有數(shù)字顯示輸出信號頻率和電壓幅值功能。

      第四篇:51單片機(jī)設(shè)計(jì)多功能低頻函數(shù)信號發(fā)生器

      【轉(zhuǎn)】 51單片機(jī)設(shè)計(jì)多功能低頻函數(shù)信號發(fā)生器 2010-06-05 17:37 轉(zhuǎn)載自 yeyongan1987 最終編輯 yeyongan1987

      51單片機(jī)設(shè)計(jì)多功能低頻函數(shù)信號發(fā)生器

      應(yīng)用89S52單片機(jī)和DAC0832進(jìn)行低頻函數(shù)信號發(fā)生器的設(shè)計(jì)。本設(shè)計(jì)能產(chǎn)生正弦波、鋸齒波、三角波和方波。這里著重介紹正弦波和鋸齒波的生成原理。

      ADC0832的介紹:DAC0832是8分辨率的D/A轉(zhuǎn)換集成芯片。與微處理器完全兼容。這個(gè)DA芯片以其價(jià)格低廉、接口簡單、轉(zhuǎn)換控制容易等優(yōu)點(diǎn),在單片機(jī)應(yīng)用系統(tǒng)中得到廣泛的應(yīng)用。D/A轉(zhuǎn)換器由8位輸入鎖存器、8位DAC寄存器、8位D/A轉(zhuǎn)換電路及轉(zhuǎn)換控制電路構(gòu)成。

      D0~D7:八位數(shù)據(jù)輸入端 ILE: 數(shù)據(jù)允許鎖存信號 /CS: 輸入寄存器選擇信號 /WR1: 輸入寄存器選擇信號 /XFER:數(shù)據(jù)傳送信號

      /WR2: DAC寄存器的寫通選擇信號 Vref: 基準(zhǔn)電源輸入端 Rfb: 反饋信號輸入端 Iout1: 電流輸出1 Iout2: 電流輸出2 Vcc: 電源輸入端 AGND: 模擬地 DGND: 數(shù)字地 DAC0832結(jié)構(gòu):

      D0~D7:8位數(shù)據(jù)輸入線,TTL電平,有效時(shí)間應(yīng)大于90ns(否則鎖存器的數(shù)據(jù)會(huì)出錯(cuò));

      ILE:數(shù)據(jù)鎖存允許控制信號輸入線,高電平有效;

      CS:片選信號輸入線(選通數(shù)據(jù)鎖存器),低電平有效;

      WR1:數(shù)據(jù)鎖存器寫選通輸入線,負(fù)脈沖(脈寬應(yīng)大于500ns)有效。由ILE、CS、WR1的邏輯組合產(chǎn)生LE1,當(dāng)LE1為高電平時(shí),數(shù)據(jù)鎖存器狀態(tài)隨輸入數(shù)據(jù)線變換,LE1的負(fù)跳變時(shí)將輸入數(shù)據(jù)鎖存;

      XFER:數(shù)據(jù)傳輸控制信號輸入線,低電平有效,負(fù)脈沖(脈寬應(yīng)大于500ns)有效;

      WR2:DAC寄存器選通輸入線,負(fù)脈沖(脈寬應(yīng)大于500ns)有效。由WR1、XFER的邏輯組合產(chǎn)生LE2,當(dāng)LE2為高電平時(shí),DAC寄存器的輸出隨寄存器的輸入而變化,LE2的負(fù)跳變時(shí)將數(shù)據(jù)鎖存器的內(nèi)容打入DAC寄存器并開始D/A轉(zhuǎn)換。

      IOUT1:電流輸出端1,其值隨DAC寄存器的內(nèi)容線性變化;

      IOUT2:電流輸出端2,其值與IOUT1值之和為一常數(shù);

      Rfb:反饋信號輸入線,改變Rfb端外接電阻值可調(diào)整轉(zhuǎn)換滿量程精度;

      Vcc:電源輸入端,Vcc的范圍為+5V~+15V;

      VREF:基準(zhǔn)電壓輸入線,VREF的范圍為-10V~+10V; AGND:模擬信號地 DGND:數(shù)字信號地 DAC0832的工作方式:

      根據(jù)對DAC0832的數(shù)據(jù)鎖存器和DAC寄存器的不同的控制方式,DAC0832有三種工作方式:直通方式、單緩沖方式和雙緩沖方式。本設(shè)計(jì)選用直通方式。

      DAC0832工作時(shí)序:

      DAC0832內(nèi)部結(jié)構(gòu)圖:

      當(dāng)ILE為1時(shí),只有當(dāng)/CS、/WR1都為0時(shí)輸入寄存器才允許輸入;當(dāng)/WR2、/XFER也都為0時(shí),輸入寄存器里的信息才能寫入DAC寄存器。根據(jù)實(shí)際電路圖我們就可以得到DAC0832工作的時(shí)序的程序。如下:

      P37=0;//P37=CS _nop_();//P36=WR P36=0;

      P0=value;(數(shù)據(jù)端口信號數(shù)值0~255)P36=1;_nop_();P37=1;硬件電路:

      P0口是數(shù)據(jù)端口,接上拉電阻(其他端口則不用)。電源質(zhì)量要好,質(zhì)量越好的電源,芯片工作就越穩(wěn)定。

      從LM358運(yùn)放輸出的電壓最大峰峰值就是12V所以在二級運(yùn)放的放大倍數(shù)要注意跟基準(zhǔn)電壓想匹配,否則輸出信號會(huì)很容易失真。

      正弦波的生成:

      DAC0832產(chǎn)生信號的原理可以說是ADC0809AD轉(zhuǎn)換的逆過程,但DAC0832生成的信號是離散的。假設(shè)要生成一個(gè)Y=Asin(2*pi*f*t)的正弦波。adc0832數(shù)據(jù)端口給的數(shù)據(jù)的范圍是0~255一共256個(gè)。前0~127表示是X軸上方的電壓值(也可能是下方)。那么128~255是X軸下方的電壓值。那么我們可以得到數(shù)據(jù)端口的數(shù)值的具體量,即value=127sin(2*pi*f*t)+127;假設(shè)我在X軸上抽樣100個(gè)點(diǎn)(0~99),那么value=127sin(pi/50*t)+127;t:0~99.(這個(gè)100位的數(shù)組可以用MATALB生成)。也可以抽樣更多的點(diǎn),抽樣的點(diǎn)越多,得到的信號越保真,但信號的頻率會(huì)有所下降。抽樣的點(diǎn)越少,失真越大,但頻率能成大幅度遞增。怎么選擇,具體情況具體分析。其他的波形也跟正弦波一樣。

      程序如下:

      #include sbit dac_WR=P3^6;//dac0832的wr端 sbit dac_cs=P3^7;sbit KEY1=P2^0;sbit KEY2=P2^1;bit keyflag;unsigned char i;unsigned char code tab[100]={127,135,143,151,159,166,174,181,188,195,202, 208,214,220,225,230,234,238,242,245,248,250, 251,252,253,254,253,252,251,250,248,245,242, 238,234,230,225,220,214,208,202,195,188,181, 174,166,159,151,143,135,127,119,111,103,95, 88,80,73,66,59,52,46,40,34,29,24, 20,16,12,9,6,4,3,2,1,0,1, 2,3,4,6,9,12,16,20,24,29,34, 40,46,52,59,66,73,80,88,95,103,111,119};

      void getkey(void){ if(KEY1==0){ //按鍵按下后為電電平 RCAP2L+=10;//調(diào)節(jié)頻率 if(CY==1){ RCAP2H+=1;} } if(KEY2==0){ RCAP2L-=10;if(CY==1){ RCAP2H-=1;} } } void Timer2_Init(){ T2CON=0x00;TH2=(65536-300)/256;TL2=(65536-300)%256;RCAP2H=0XFE;RCAP2L=0XDA;//穩(wěn)定在50Hz左右 EA=1;ET2=1;TR2=1;} void T0_service()interrupt 1 { TH0=0XEC;TL0=0X77;keyflag=1;}

      void Timer2_service()interrupt 5 { TF2=0;//清除中斷標(biāo)志位 dac_cs=0;dac_WR=0;P1=tab[i];dac_WR=1;i++;dac_cs=1;if(i==100)i=0;} void main(){ Timer2_Init();TMOD=0x01;TH0=0XEC;TL0=0X77;EA=1;ET0=1;TR0=1;while(1){ if(keyflag){ keyflag=0;getkey();} } } 本程序需注意:按鍵是低電平有效。定時(shí)器2中斷發(fā)送數(shù)據(jù)給DAC0832,0832在得到一個(gè)數(shù)據(jù)后生成相應(yīng)的電壓值。所以他的中斷時(shí)間決定信號的頻率,調(diào)節(jié)它的中斷時(shí)間就能調(diào)節(jié)信號的頻率。

      其他波形的生成,其他的波形也跟正弦波一樣,但鋸齒波和三角波可以不用查表法,應(yīng)用加減計(jì)算得到就可以得到。下面介紹的是鋸齒波: #include #include sbit DACWR=P3^6;sbit DACCS=P3^7;unsigned int i;void DAC_0832(void){ DACCS=0;DACWR=0;P0=i;i+=1;//加以操作得到上升的鋸齒波 DACWR=1;_nop_();DACCS=0;if(i==0xff)i=0x7f;//為什么初值是0x7f,其他的行不行。大家自己動(dòng)手試試。} void main(void){ i=0x7f;

      while(1){ DAC_0832();} } DAC0832有著致命的一個(gè)缺點(diǎn)就是輸出的波形里的含有的頻率比較雜亂,常常出現(xiàn)過激的現(xiàn)象。如果你需要精確的信號的話,那么你必須在信號輸出端就如濾波器。得到干凈的低頻函數(shù)信號。如果要作為信號源的話最好是能就上一級攻放。效果會(huì)好很多。雖然DAC0832不是非常專業(yè)的函數(shù)信號發(fā)生芯片,但是它的輸出波形的范圍比較廣,常常能輸出一些,你意想不到得很有意思的信號曲線。

      下面發(fā)幾張示波器觀察到得曲線:實(shí)驗(yàn)室里手機(jī)照的,不是太清晰但還能看。

      第五篇:低頻函數(shù)信號發(fā)生器設(shè)計(jì)

      實(shí)驗(yàn)報(bào)告

      課程名稱:

      電子系統(tǒng)綜合設(shè)計(jì)

      指導(dǎo)老師:

      周箭

      成績:

      實(shí)驗(yàn)名稱:低頻函數(shù)信號發(fā)生器(預(yù)習(xí)報(bào)告)實(shí)驗(yàn)類型:

      同組學(xué)生姓名:

      一、課題名稱

      低頻函數(shù)信號發(fā)生器設(shè)計(jì)

      二、性能指標(biāo)

      (1)同時(shí)輸出三種波形:方波,三角波,正弦波;(2)頻率范圍:10Hz~10KHz;

      (3)頻率穩(wěn)定性:(4)頻率控制方式:

      ① 改變RC時(shí)間常數(shù);

      ; ② 改變控制電壓V1實(shí)現(xiàn)壓控頻率,常用于自控方式,即F=f(V1),(V1=1~10V); ③ 分為10Hz~100Hz,100Hz~1KHz,1KHz~10KHz三段控制。

      (5)波形精度:方波上升下降沿均小于2μs,三角波線性度δ/Vom<1%,正弦波失真度

      ;

      (6)輸出方式:

      a)做電壓源輸出時(shí)

      輸出電壓幅度連續(xù)可調(diào),最大輸出電壓不小于20V 負(fù)載RL=100Ω~1KΩ時(shí),輸出電壓相對變化率ΔVO/VO<1% b)做電流源輸出時(shí)

      輸出電流幅度連續(xù)可調(diào),最大輸出電流不小于200mA 負(fù)載RL=0Ω~90Ω時(shí),輸出電流相對變化率ΔIO/IO<1% c)做功率源輸出時(shí)

      最大輸出功率大于1W(RL=50Ω,VO>7V有效值)具有輸出過載保護(hù)功能

      三、方案設(shè)計(jì)

      根據(jù)實(shí)驗(yàn)任務(wù)的要求,對信號產(chǎn)生部分,一般可采用多種實(shí)現(xiàn)方案:如模擬電路實(shí)現(xiàn)方案、數(shù)字電路實(shí)現(xiàn)方案、模數(shù)結(jié)合的實(shí)現(xiàn)方案等。

      數(shù)字電路的實(shí)現(xiàn)方案

      一般可事先在存儲器里存儲好函數(shù)信號波形,再用D/A轉(zhuǎn)換器進(jìn)行逐點(diǎn)恢復(fù)。這種方案的波形精度主要取決于函數(shù)信號波形的存儲點(diǎn)數(shù)、D/A轉(zhuǎn)換器的轉(zhuǎn)換速度、以及整個(gè)電路的時(shí)序處理等。其信號頻率的高低,是通過改變D/A轉(zhuǎn)換器輸入數(shù)字量的速率來實(shí)現(xiàn)的。

      數(shù)字電路的實(shí)現(xiàn)方案在信號頻率較低時(shí),具有較好的波形質(zhì)量。隨著信號頻率的提高,需要提高數(shù)字量輸入的速率,或減少波形點(diǎn)數(shù)。波形點(diǎn)數(shù)的減少,將直接影響函數(shù)信號波形的質(zhì)量,而數(shù)字量輸入速率的提高也是有限的。因此,該方案比較適合低頻信號,而較難產(chǎn)生高頻(如>1MHz)信號。

      模數(shù)結(jié)合的實(shí)現(xiàn)方案

      一般是用模擬電路產(chǎn)生函數(shù)信號波形,而用數(shù)字方式改變信號的頻率和幅度。如采用D/A轉(zhuǎn)換器與壓控電路改變信號的頻率,用數(shù)控放大器或數(shù)控衰減器改變信號的幅度等,是一種常見的電路方式。

      模擬電路的實(shí)現(xiàn)方案

      是指全部采用模擬電路的方式,以實(shí)現(xiàn)信號產(chǎn)生電路的所有功能。由于教學(xué)安排及課程進(jìn)度的限制,本實(shí)驗(yàn)的信號產(chǎn)生電路,推薦采用全模擬電路的實(shí)現(xiàn)方案。

      模擬電路的實(shí)現(xiàn)方案有幾種:

      ①用正弦波發(fā)生器產(chǎn)生正弦波信號,然后用過零比較器產(chǎn)生方波,再經(jīng)過積分電路產(chǎn)生三角波。但要通過積分器電路產(chǎn)生同步的三角波信號,存在較大的難度。原因是積分電路的積分時(shí)間常數(shù)通常是不變的,而隨著方波信號頻率的改變,積分電路輸出的三角波幅度將同時(shí)改變。若要保持三角波輸出幅度不變,則必須同時(shí)改變積分時(shí)間常數(shù)的大小,要實(shí)現(xiàn)這種同時(shí)改變電路參數(shù)的要求,實(shí)際上是非常困難的。

      ② 由三角波、方波發(fā)生器產(chǎn)生三角波和方波信號,然后通過函數(shù)轉(zhuǎn)換電路,將三角波信號轉(zhuǎn)換成正弦波信號,該電路方式也是本實(shí)驗(yàn)信號產(chǎn)生部分的推薦方案。這種電路在一定的頻率范圍內(nèi),具有良好的三角波和方波信號。而正弦波信號的波形質(zhì)量,與函數(shù)轉(zhuǎn)換電路的形式有關(guān),這將在后面的單元電路分析中詳細(xì)介紹。

      四、單元電路分析

      1、三角波,方波發(fā)生器

      由于比較器+RC電路的輸出會(huì)導(dǎo)致VC線性度變差,故采用另一種比較器+積分器的方式

      積分器

      同相滯回比較器

      由積分器A1與滯回比較器A2等組成的三角波、方波發(fā)生器電路如圖所示。在一般使用情況下,V+1和V-2都接地。只有在方波的占空比不為50%,或三角波的正負(fù)幅度不對稱時(shí),可通過改變V+1和V-2的大小和方向加以調(diào)整。

      合上電源瞬間,假定比較器輸出為低電平,vO2=VOL=-VZ。積分器作正方向積分,vO1線性上升,vp隨著上升,當(dāng)vp>0時(shí),即vo1≥R2/R3*,比較器翻轉(zhuǎn)為高電平,vO2=VOH=+VZ。積分器又開始作負(fù)方向積分,vO1線性下降,vp隨著下降,當(dāng)vp<0時(shí),即vo1≥R2/R3*,比較器翻轉(zhuǎn)為低電平,vO2=VOH=-VZ。

      取C三種值:0.1uF 對應(yīng)10-100Hz; 0.01uF 對應(yīng)100-1kHz; 0.001uF 對應(yīng)1k-10kHz。調(diào)節(jié)R23的比值可調(diào)節(jié)幅度,再調(diào)節(jié)R,可調(diào)節(jié)頻率大小。

      2、正弦波轉(zhuǎn)換電路 常用方法有使用傅里葉展開的濾波法,使用冪級數(shù)展開的運(yùn)算法,和轉(zhuǎn)變傳輸比例的折線法。但前二者由于其固有的缺陷:使用頻率小,難以用電子電路實(shí)現(xiàn)的原因,在本實(shí)驗(yàn)中舍棄,而采取最普遍的折線法。

      折線法是一種使用最為普遍、實(shí)現(xiàn)也較簡單的正弦函數(shù)轉(zhuǎn)換方法。折線法的轉(zhuǎn)換原理是,根據(jù)輸入三角波的電壓幅度,不斷改變函數(shù)轉(zhuǎn)換電路的傳輸比率,也就是用多段折線組成的電壓傳輸特性,實(shí)現(xiàn)三角函數(shù)到正弦函數(shù)的逼近,輸出近似的正弦電壓波形。由于電子器件(如半導(dǎo)體二極管等)特性的理想性,使各段折線的交界處產(chǎn)生了鈍化效果。因此,用折線法實(shí)現(xiàn)的正弦函數(shù)轉(zhuǎn)換電路,實(shí)際效果往往要優(yōu)于理論分析結(jié)果。

      用折線法實(shí)現(xiàn)正弦函數(shù)的轉(zhuǎn)換,可采用無源和有源轉(zhuǎn)換電路形式。無源正弦函數(shù)轉(zhuǎn)換電路,是指僅使用二極管和電阻等組成的轉(zhuǎn)換電路。根據(jù)輸入三角波電壓的幅度,不斷增加(或減少)二極管通路以改變轉(zhuǎn)換網(wǎng)絡(luò)的衰減比,輸出近似的正弦電壓波形。

      有源正弦函數(shù)轉(zhuǎn)換電路除二極管、電阻網(wǎng)絡(luò)外,還包括放大環(huán)節(jié)。也是根據(jù)輸入三角波電壓的幅度,不斷增加(或減少)網(wǎng)絡(luò)通路以改變轉(zhuǎn)換電路的放大倍數(shù),輸出近似的正弦電壓波形。

      數(shù)

      若設(shè)正弦波在過零點(diǎn)處的斜率與三角波斜率相同,即

      則有,由此,可推斷出各斷點(diǎn)上應(yīng)校正到的電平值:

      方案一,使用二極管控制形成比例放大器,使得運(yùn)放在不同時(shí)間段有不同的比例系數(shù)

      方案二,用二極管網(wǎng)絡(luò),實(shí)現(xiàn)逐段校正,運(yùn)放A組成跟隨器,作為函數(shù)轉(zhuǎn)換器與輸出負(fù)載之間的隔離(或稱為緩沖級)。

      當(dāng)輸入三角波在T/2 內(nèi)設(shè)置六個(gè)斷點(diǎn)以進(jìn)行七段校正后,可得到正弦波的非線性失真度大致在1.8 % 以內(nèi),若將斷點(diǎn)數(shù)增加到12 個(gè)時(shí),正弦波的非線性失真度可在0.8 %以內(nèi)。3 輸出級電路 根據(jù)不同負(fù)載的要求,輸出級電路可能有三種不同的方式。

      (1)電壓源輸出方式

      電壓源輸出方式下,負(fù)載電阻RL通常較大,即負(fù)載對輸出電流往往不提出什么要求,僅要求有一定的輸出電壓。同時(shí),當(dāng)負(fù)載變動(dòng)時(shí),還要求輸出電壓的變化要小,即要求輸出級電路的輸出電阻RO足夠小。為此,必須引入電壓負(fù)反饋

      圖(a)電路的最大輸出電壓受到運(yùn)放供電電壓值的限制,如運(yùn)放的VCC 和VEE 分別為±15V時(shí),則VOPP =±(12 ~ 14)V。若要求有更大的輸出電壓幅度,必須采用電壓擴(kuò)展電路,如圖12(b)所示。

      (2)電流源輸出方式

      在電流源輸出方式下,負(fù)載希望得到一定的信號電流,而往往并不提出對輸出信號電壓的要求。同時(shí),當(dāng)負(fù)載變動(dòng)時(shí),還要求輸出電流基本恒定,即要求有足夠大的輸出電阻Ro。為此,需引入電流負(fù)反饋。

      圖(a)電路的最大輸出電壓受到運(yùn)放供電電壓值的限制,如運(yùn)放的VCC 和VEE 分別為±15V時(shí),則VOPP =±(12 ~ 14)V。若要求有更大的輸出電壓幅度,必須采用電壓擴(kuò)展電路,如圖(b)所示。

      a)為一次擴(kuò)流電路,T1 和T2 組成互補(bǔ)對稱輸出。運(yùn)放的輸出電流IA中的大部分將

      圖(作為T1、T2 的基極電流,所以IO = βIA。圖(b)為二次擴(kuò)流電路,用于要求負(fù)載電流IO 較大的場合。復(fù)合管T1、T2和T3、T4 組成準(zhǔn)互補(bǔ)對稱輸出電路。

      (3)功率輸出方式

      在功率輸出方式下,負(fù)載要求得到一定的信號功率。由于晶體管放大電路電源電壓較低,為得到一定的信號功率,通常需配接阻值較小的負(fù)載。電路通常接成電壓負(fù)反饋形式。如用運(yùn)放作為前置放大級,還必須進(jìn)行擴(kuò)流。當(dāng)RL較大時(shí),為滿足所要求的輸出功率,有時(shí)還必須進(jìn)行輸出電壓擴(kuò)展。

      靜態(tài)時(shí),運(yùn)放輸出為零,– 20V電源通過下列回路:運(yùn)放輸出端→R1 →DZ →b1 →e1 → –20V 向T1 提供一定的偏置電流 R6 ,C3 和R7 ,C4 組成去耦濾波電路。需要注意的是幾個(gè)晶體管的耐壓限流以及最大功率值。

      其中調(diào)節(jié)W可改變晶體管的靜態(tài)工作電流,從而克服交越失真。

      4)輸出級的限流保護(hù) 由于功率放大器的輸出電阻很小,因而容易因過載而燒壞功率管。因此需要進(jìn)行限流保護(hù)。

      圖(a)是一種簡單的二極管限流保護(hù)電路,當(dāng)發(fā)生過流(I o過大)時(shí),R3、R4 上的壓降增大到足以使D3、D4 導(dǎo)通,從而使流向T1、T2 基極的電流信號I1、I2 分流,以限制I o 的增大。

      圖(b)是另一種限流保護(hù)電路,T3、T4 是限流管。當(dāng)I o 過大,R5、R6 上的壓降超過0.6V時(shí),T3、T4 導(dǎo)通防止了T1、T2 基極信號電流的進(jìn)一步增大。I o 的最大值為 0.6/R5,R3、R4 用來保護(hù)限流管T3、T4。

      五、仿真分析

      以1KHz為例即C=1nF

      三角波方波發(fā)生電路

      方波下降沿時(shí)間4.3μs

      三角波峰值

      改變RP2

      改變RP1

      調(diào)節(jié)占空比

      調(diào)節(jié)偏移量

      正弦波轉(zhuǎn)換器

      三角波轉(zhuǎn)換正弦波,三角波放大后輸出峰峰值10V

      靜態(tài)工作點(diǎn)

      改變靜態(tài)工作點(diǎn)(調(diào)節(jié)RP45)發(fā)生失真

      功率放大電路

      功率放大波形,輸入為之前的正弦波,變阻器衰減后最大不失真輸出電壓

      總電路圖,模塊形式

      衰減前的輸入信號與輸出信號

      由仿真結(jié)果來看,基本滿足設(shè)計(jì)要求,準(zhǔn)備按仿真電路設(shè)計(jì)實(shí)際電路。

      六、仿真心得

      在仿真的過程中出現(xiàn)了一下幾個(gè)問題,但后來都分別排查掉了,希望實(shí)際連接時(shí)不再犯。

      1、運(yùn)放未接電源導(dǎo)致沒有波形

      2、變阻器接入阻止過小或過大導(dǎo)致沒有信號或失真(尤其需要注意)

      3、Lm324故障無法解決導(dǎo)致用了LM353代替

      下載基于51單片機(jī)函數(shù)信號發(fā)生器設(shè)計(jì).word格式文檔
      下載基于51單片機(jī)函數(shù)信號發(fā)生器設(shè)計(jì)..doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        函數(shù)信號發(fā)生器設(shè)計(jì)論文.

        四川師范大學(xué)成都學(xué)院通信原理課程設(shè)計(jì) 目 錄 前言 ..................................................................... 1 1 函數(shù)信號發(fā)生器設(shè)計(jì)任務(wù) .....................

        函數(shù)信號發(fā)生器設(shè)計(jì)實(shí)驗(yàn)報(bào)告

        函數(shù)信號發(fā)生器的設(shè)計(jì) 實(shí)驗(yàn)報(bào)告 院 系:電子工程學(xué)院 班 級:2012211209 姓 名:陳炳文 班內(nèi)序號:學(xué) 號: 0 實(shí)驗(yàn)?zāi)康模? 設(shè)計(jì)一個(gè)設(shè)計(jì)制作一個(gè)可輸出方波、三角波、正弦波信號的函數(shù)......

        函數(shù)信號發(fā)生器的設(shè)計(jì)參考

        函數(shù)信號發(fā)生器的設(shè)計(jì)與制作 函數(shù)信號發(fā)生器一般是指能自動(dòng)產(chǎn)生正弦波、三角波、方波及鋸齒波、階梯波等電壓波形的電子儀器。根據(jù)用途不同,有產(chǎn)生三種或多種波形的函數(shù)發(fā)生......

        函數(shù)信號發(fā)生器論文

        函數(shù)信號發(fā)生器的設(shè)計(jì)與制作 系別:電子工程系 專業(yè):應(yīng)用電子技術(shù) 屆:XX屆 姓名:XXX 摘 要 本系統(tǒng)以ICL8038集成塊為核心器件,制作一種函數(shù)信號發(fā)生器,制作成本較低。適合學(xué)生學(xué)......

        函數(shù)信號發(fā)生器設(shè)計(jì)任務(wù)書

        目錄 一、設(shè)計(jì)的任務(wù)和要求............................................................................ 二、已知條件...................................................

        函數(shù)信號發(fā)生器課程設(shè)計(jì)

        一 緒論 1.1 函數(shù)信號發(fā)生器的應(yīng)用意義 函數(shù)發(fā)生器一般是指能自動(dòng)產(chǎn)生正弦波、三角波、方波及鋸齒波、階梯波等電壓波形的電路或儀器。根據(jù)用途不同,有產(chǎn)生三種或多種波形的......

        DDS函數(shù)信號發(fā)生器的設(shè)計(jì)

        DDS函數(shù)信號發(fā)生器的設(shè)計(jì)、仿真及下載 一、實(shí)驗(yàn)設(shè)計(jì) ① 利用DDS(Direct DIgital Frequency Synthesis,即直接數(shù)字頻率合成)技術(shù)產(chǎn)生穩(wěn)定的正弦波,三角波和方波輸出,輸出頻率為10~......

        單片機(jī)課程設(shè)計(jì)——中低頻信號發(fā)生器設(shè)計(jì)(范文模版)

        中低頻信號發(fā)生器設(shè)計(jì) 一、 方案設(shè)計(jì): 使用單片機(jī)控制DA芯片產(chǎn)生模擬波形是一種產(chǎn)生所需信號的簡單方式,但由于受到普通DA芯片的設(shè)置時(shí)間以及單片機(jī)自身晶振頻率的限制,產(chǎn)生的......