低頻信號(hào)發(fā)生器_第1頁(yè)
低頻信號(hào)發(fā)生器_第2頁(yè)
低頻信號(hào)發(fā)生器_第3頁(yè)
低頻信號(hào)發(fā)生器_第4頁(yè)
低頻信號(hào)發(fā)生器_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、基于51單片機(jī)的函數(shù)信號(hào)發(fā)生器設(shè)計(jì)報(bào)告系別:電子通信工程系專(zhuān)業(yè):電子信息工程班級(jí):電信092姓名:學(xué)號(hào):0904072基于51單片機(jī)的函數(shù)信號(hào)發(fā)生器摘 要 本系統(tǒng)利用單片機(jī)F410采用程序設(shè)計(jì)方法產(chǎn)生鋸齒波、三角波、正弦波、方波四種波形,再通過(guò)D/A轉(zhuǎn)換器DAC將數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào),濾波放大,最終由示波器顯示出來(lái),能產(chǎn)生10Hz10kHz的波形。通過(guò)鍵盤(pán)來(lái)控制四種波形的類(lèi)型選擇、撥碼開(kāi)關(guān)控制頻率的變化,顯示其各自的類(lèi)型以及數(shù)值,系統(tǒng)大致包括信號(hào)發(fā)生部分、數(shù)/模轉(zhuǎn)換部分以及顯示部分三部分,其中尤其對(duì)數(shù)/模轉(zhuǎn)換部分和波形產(chǎn)生和變化部分進(jìn)行詳細(xì)論述。單片機(jī)課程設(shè)計(jì)要求1、 設(shè)計(jì)內(nèi)容:用51系列單

2、片機(jī)制作函數(shù)發(fā)生器:a) 輸出驅(qū)動(dòng)電路b) 波形發(fā)生程序2、 技術(shù)要求:a) 輸出鋸齒波、三角波、方波、正弦波b) 頻率范圍:10HZ 1KHZc) 顯示波形編號(hào)及信號(hào)頻率d) 輸出信號(hào)幅度:02V3、 設(shè)計(jì)要求:a) 電路圖b) 設(shè)計(jì)說(shuō)明書(shū)(不少于2000字)c) 程序清單d) 運(yùn)行結(jié)果1、 系統(tǒng)設(shè)計(jì) 經(jīng)過(guò)考慮,我們確定方案如下:利用F410單片機(jī)采用程序設(shè)計(jì)方法產(chǎn)生鋸齒波、三角波、正弦波、方波四種波形,再通過(guò)D/A轉(zhuǎn)換器將數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào),濾波放大,最終由示波器顯示出來(lái),通過(guò)鍵盤(pán)來(lái)控制四種波形的類(lèi)型選擇、頻率變化,最終輸出顯示其各自的類(lèi)型以及數(shù)值。1.1、設(shè)計(jì)要求 1)、利用單片機(jī)采

3、用軟件設(shè)計(jì)方法產(chǎn)生四種波形 2)、四種波形可通過(guò)鍵盤(pán)選擇 3)、波形頻率可調(diào) 4)、需顯示波形的種類(lèi)及其頻率211總體方案:方案一:采用模擬電路搭建函數(shù)信號(hào)發(fā)生器,它可以同時(shí)產(chǎn)生方波、三角波、正弦波。但是這種模塊產(chǎn)生的不能產(chǎn)生任意的波形(例如梯形波),并且頻率調(diào)節(jié)很不方便。方案二:采用鎖相式頻率合成器,利用鎖相環(huán),將壓控振蕩器(VCO)的輸出頻率鎖定在所需頻率上,該方案性能良好,但難以達(dá)到輸出頻率覆蓋系數(shù)的要求,且電路復(fù)雜。方案三:使用集成信號(hào)發(fā)生器發(fā)生芯片,例如AD9854,它可以生成最高幾十MHZ的波形。但是該方案也不能產(chǎn)生任意波形(例如梯形波),并且價(jià)格昂貴。方案四:采用89S51-41

4、0單片機(jī)和DAC數(shù)模轉(zhuǎn)換器生成波形,加上一個(gè)低通濾波器,生成的波形比較純凈。它的特點(diǎn)是可產(chǎn)生任意波形,頻率容易調(diào)節(jié),頻率能達(dá)到設(shè)計(jì)的500HZ以上。性能高,在低頻范圍內(nèi)穩(wěn)定性好、操作方便、體積小、耗電少。經(jīng)比較,方案四既可滿(mǎn)足課程設(shè)計(jì)的基本要求又能充分發(fā)揮其優(yōu)勢(shì),電路簡(jiǎn)單,易控制,性?xún)r(jià)比高,所以采用該方案. 2工作原理數(shù)字信號(hào)可以通過(guò)數(shù)/模轉(zhuǎn)換器轉(zhuǎn)換成模擬信號(hào),因此可通過(guò)產(chǎn)生數(shù)字信號(hào)再轉(zhuǎn)換成模擬信號(hào)的方法來(lái)獲得所需要的波形。89S51-410單片機(jī)本身就是一個(gè)完整的微型計(jì)算機(jī),具有組成微型計(jì)算機(jī)的各部分部件:中央處理器CPU、隨機(jī)存取存儲(chǔ)器RAM、只讀存儲(chǔ)器ROM、I/O接口電路、定時(shí)器/計(jì)數(shù)

5、器以及串行通訊接口等,只要將89S51410再配置鍵盤(pán)及、數(shù)模轉(zhuǎn)換及波形輸出、放大電路等部分,即可構(gòu)成所需的波形發(fā)生器,其信號(hào)發(fā)生器構(gòu)成系統(tǒng)框圖如下圖所示。系統(tǒng)框圖89S51-410是整個(gè)波形發(fā)生器的核心部分,通過(guò)程序的編寫(xiě)和執(zhí)行,產(chǎn)生各種各樣的信號(hào),并從鍵盤(pán)接收數(shù)據(jù),進(jìn)行各種功能的轉(zhuǎn)換和信號(hào)幅度的調(diào)節(jié)。當(dāng)數(shù)字信號(hào)電路到達(dá)轉(zhuǎn)換電路,將其轉(zhuǎn)換成模擬信號(hào)也就是所需要的輸出波形。波形ROM表是將信號(hào)一個(gè)周期等間距地分離成64個(gè)點(diǎn),儲(chǔ)存在單片機(jī)得RON內(nèi)。具體ROM表是通過(guò)MATLAB生成的,例如正弦表,MATLAB生成的程序如下:x=0:2*pi/64:2*pi; y= (x)*127)+1283單

6、元電路設(shè)計(jì)與分析3.1.1主控電路設(shè)計(jì)中主要采用89S51-410型單片機(jī),它具有如下優(yōu)點(diǎn):(1)擁有完善的外部擴(kuò)展總線,通過(guò)這些總線可方便地?cái)U(kuò)展外圍單元、外圍接口等。(2)該單片機(jī)內(nèi)部擁有4K字節(jié)的FLASH ROM程序存儲(chǔ)器空間和256字節(jié)的RAM數(shù)據(jù)存儲(chǔ)空間,完全可以滿(mǎn)足程序的要求。由于該芯片可電擦寫(xiě),故可重復(fù)使用。如果更改程序內(nèi)容,可將芯片拿下重新燒寫(xiě)。(3)該單片機(jī)與工業(yè)標(biāo)準(zhǔn)的MCS51型機(jī)的指令集和輸出引腳兼容。中斷系統(tǒng)是使處理器具有對(duì)外界異步事件的處理能力而設(shè)置的。當(dāng)中央處理器CPU正在處理某件事的時(shí)候外界發(fā)生了緊急事件,要求CPU暫停當(dāng)前的工作,轉(zhuǎn)而去處理這個(gè)緊急事件。在波形發(fā)

7、生器中,用兩個(gè)開(kāi)光直接與外部中斷0和外部中斷1的管腳相連,其中S1開(kāi)光用來(lái)改變波形,S2開(kāi)光用來(lái)改變頻率。在程序主函數(shù)中,我們寫(xiě)了個(gè)死循環(huán)一直輸出一個(gè)默認(rèn)的波形,當(dāng)S1或S2按下又抬起時(shí),程序會(huì)暫時(shí)跳出死循環(huán),進(jìn)入中斷處理程序,從而對(duì)波形和頻率進(jìn)行改變。時(shí)鐘電路。由于頻率較大時(shí),三角波、正弦波、方波等波中每一點(diǎn)延時(shí)時(shí)間為幾微秒,故延時(shí)時(shí)間還要加上指令時(shí)間即可得到指定頻率的波形,該電路用11.0592MHz晶振。 主控電路圖3.1.2 數(shù)/模轉(zhuǎn)換電路由于單片機(jī)產(chǎn)生的是數(shù)字信號(hào),要想得到所需要的波形,就要把數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào),所以該文選用價(jià)格低廉、接口簡(jiǎn)單、轉(zhuǎn)換控制容易并具有8位分辨率的數(shù)模轉(zhuǎn)

8、換器DAC0832。DAC0832主要由8位輸入寄存器、8位DAC寄存器、8位D/A轉(zhuǎn)換器以及輸入控制電路四部分組成。但實(shí)際上,DAC0832輸出的電量也不是真正能連續(xù)可調(diào),而是以其絕對(duì)分辨率為單位增減,是準(zhǔn)模擬量的輸出。DAC0832是電流型輸出,在應(yīng)用時(shí)外接運(yùn)放使之成為電壓型輸出。根據(jù)對(duì)DAC0832的數(shù)據(jù)鎖存器和DAC寄存器的不同的控制方式,DAC0832有三種工作方式:直通方式、單緩沖方式和雙緩沖方式。本設(shè)計(jì)選用直通方式。DAC0832的數(shù)據(jù)口和單片機(jī)的P0口相連。CSDA:片選信號(hào)輸入線(選通數(shù)據(jù)鎖存器),低電平有效;WR:數(shù)據(jù)鎖存器寫(xiě)選通輸入線,負(fù)脈沖(脈寬應(yīng)大于500ns)有效。

9、由ILE、CS、WR1的邏輯組合產(chǎn)生LE1,當(dāng)LE1為高電平時(shí),數(shù)據(jù)鎖存器狀態(tài)隨輸入數(shù)據(jù)線變換,LE1的負(fù)跳變時(shí)將輸入數(shù)據(jù)鎖存;數(shù)模轉(zhuǎn)換電路3.1.3運(yùn)算放大電路和低通濾波電路LM324的5管腳與DAC0832的(IOUT2)12管腳相連,LM324的6管腳與DAC0832的(IOUT1)11管腳相連,LM324的7管腳與DAC0832的REF(9)管腳相連.第一級(jí)運(yùn)算放大器的作用是將DAC0832輸出的電流信號(hào)轉(zhuǎn)化為電壓信號(hào)V1,第二級(jí)運(yùn)算放大器的作用是將V1通過(guò)反向放大電路-(R2/R1)倍。題目要求輸出的電壓在0-5V可調(diào),而V1的電壓大約是5V,所以R1選擇5K的電阻,R2選擇10K的

10、電位器,這樣最大的輸出電壓為5*(10/2)=10,最小電壓為0,通過(guò)改變電阻可以實(shí)現(xiàn)題目要求的0-2V。在第二個(gè)運(yùn)算放大器的輸出端連了一個(gè)低通濾波器。如果不加低通濾波器,也能夠生成波形,但是產(chǎn)生的信號(hào)中毛刺很多,加一個(gè)低通濾波器不僅起到的濾波的作用,還起到了平滑的作用。低通濾波器的截止頻率F=1/(2*pi*R3*C6),這里我們選擇R3 為100歐姆電阻,C6為104電容,截止頻率F=16KHZ。實(shí)驗(yàn)表明,此時(shí)的輸出波形效果不錯(cuò)。3.1.4 串口通信電路通用異步收發(fā)器(UART)是一種串行接口,一般微處理器中都包含這種外設(shè)接口。異步串行接口提供了一種簡(jiǎn)單的途徑,使兩個(gè)器件無(wú)需共享同一個(gè)時(shí)鐘

11、信號(hào)就能進(jìn)行通信。如果再加入一個(gè)合適的電平轉(zhuǎn)換器MAX232,串口就能能用在RS232和RS485等網(wǎng)絡(luò)中實(shí)現(xiàn)通信,或者與計(jì)算機(jī)的COM端口連接。串口只需兩根信號(hào)線(RX和TX)即可實(shí)現(xiàn),而且只要兩端器件都采用同樣的位格式和波特率,那么它們無(wú)需其它任何對(duì)方的信息就可以成功傳輸數(shù)據(jù)。串口通信電路圖4.1鍵盤(pán)顯示模塊的設(shè)計(jì)由于本系統(tǒng)所用按鍵少,所以采用獨(dú)立鍵盤(pán),其連接電路圖如下:圖(6)鍵盤(pán)圖中獨(dú)立鍵盤(pán)引出的四根線分別接單片機(jī)的P1.0、P1.1、P1.2、P1.3,另一端接地。各開(kāi)關(guān)的功能如圖所示。4.2 軟件設(shè)計(jì)流程本系統(tǒng)采用89S51-410單片機(jī),用編程的方法來(lái)產(chǎn)生四種波形,并通過(guò)編程來(lái)切

12、換四種波形以及波形頻率的改變。具體功能有:(1)各個(gè)波形的切換;(2)各種參數(shù)的設(shè)定;(3)頻率增減等。軟件調(diào)試后,通過(guò)編程器下載到89S51-410芯片中,然后插到系統(tǒng)中即可獨(dú)立完成所有的控制。軟件的流程圖如下:生成波形有無(wú)按鍵按下有無(wú)頻率變化顯示頻率顯示波形鍵盤(pán)掃描是否有按鍵按下 開(kāi)始調(diào)用初始化程序鋸齒波三角波 正弦波 方波是否有其它按鍵按下圖(7)5、輸出波形的種類(lèi)與頻率的測(cè)試5.1、測(cè)量?jī)x器及測(cè)試說(shuō)明測(cè)量說(shuō)明:正弦波、矩形波、三角波和方波信號(hào)的輸出,通過(guò)對(duì)獨(dú)立鍵盤(pán)來(lái)實(shí)現(xiàn)其不同波形的輸出以及用撥碼開(kāi)關(guān)改變其頻率。5.2測(cè)試過(guò)程 當(dāng)程序下進(jìn)去時(shí)經(jīng)過(guò)初始化,液晶屏的上只顯示“wave:”和“

13、f:”,當(dāng)開(kāi)關(guān)1按下是此時(shí)輸出波形為方波,當(dāng)開(kāi)關(guān)2按下是此時(shí)輸出波形為鋸齒波,當(dāng)開(kāi)關(guān)3按下是此時(shí)輸出波形為三角波,當(dāng)開(kāi)關(guān)4按下是此時(shí)輸出波形為正弦波。本系統(tǒng)采用8腳的撥碼開(kāi)關(guān)來(lái)改變頻率。頻率范圍如下:方 波:1010KHZ鋸齒波:三角波:1010KHZ正弦波:1010KHZ四種波形的仿真波形圖如下:圖(8)方波圖(9)鋸齒波圖(10)三角波圖(11)正弦波6軟件應(yīng)用程序程序如下:/ Generated Initialization File /#include "C8051F410.h"void Init_Device(void);/初始化函數(shù)聲明void delayms(

14、unsigned char i);/長(zhǎng)延時(shí)函數(shù)聲明void delayus(void);/短延時(shí)函數(shù)聲明void toch452(unsigned int cmda);/送顯示函數(shù)聲明unsigned char rdch452(void);/讀鍵代碼函數(shù)聲明unsigned char chekey(void);/鍵盤(pán)掃描函數(shù)聲明void display(void);/顯示函數(shù)聲明unsigned char dispbuff8=0,1,0,0,15,3,17,0;/顯示緩沖sbit CH452_SCL = P13;/引腳定義sbit CH452_SDA = P14; sbit CH452_KEY

15、 = P15;unsigned char N,M=0;/全局變量定義unsigned int ADZ=2,f2,f1=10,adp;unsigned int CMD,DAT,DAT1;bit flag;code unsigned char foant32 = 0xFC,0x60,0xDA,0xF2,0x66,0xB6,0xBE,0xE0, /01234567 0xFE,0xF6,0xEE,0x3E,0x9C,0x7A,0x9E,0x8E, /89ABCDEF 0xFD,0x61,0xDB,0xF3,0x67,0xB7,0xBF,0xE1, /0.1.2.3.4.5.6.7. 0xFF,0xF7

16、,0x00,0x62,0x02,0x12,0xCE,0x1C;/8.9.滅 + - = P Lcode unsigned char key16 = 0xC6,0xB6,0x86,0xD6,0x96,0xA6,0xF6,0xE6,0xC4,0xB4,0x84,0xD4,0x94,0xA4,0xF4,0xE4;/鍵盤(pán)位置碼code unsigned int G64=4,8,12,16,20,24,28,32,36,40,44,48,52,56,60,64,68,72,76,80,84,88,92,96,100,104,108,112,116,120,124,128,132,136,140,144,

17、148,152,156,160,164,168,172,176,180,184,188,192,196,200,204,208,212,216,220,224,228,232,236,240,244,248,255,;/鋸齒波碼code unsigned int S64=0,8,16,24,32,40,48,56,64,72,80,88,96,104,112,120,128,136,144,152,160,168,176,184,192,200,208,216,224,232,240,248,255,240,232,224,216,208,200,192,184,176,168,160,152

18、,144,136,128,120,112,104,96,88,80,72,64,56,48,40,32,24,16,8,0,;/三角波碼code unsigned char Z64=128,140,152,165,176,188,199,209,218,226,234,240,246,250,253,255,255,255,253,250,246,240,234,227,218,209,199,188,177,165,153,140,102,115,103,91,79,67,57,46,37,29,21,15,9,5,2,0,0,0,2,5,9,14,21,28,37,46,56,67,78,

19、90,102,115,;/正玄波碼code unsigned char F64=255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,;/方波碼main()/主函數(shù)Init_Device(); /初始化delayms(100);CMD = 0x9103;/設(shè)置CH452系統(tǒng)參數(shù)toch452(CMD);CMD = 0x9500; /設(shè)置CH452顯示參數(shù) toch452(CMD);display

20、(); while(1)if(CH452_KEY =0)/按鍵控制 ADZ=chekey();/讀取鍵值 switch (ADZ)/波形轉(zhuǎn)換及頻率變換 case 0: N=ADZ;break;/波形轉(zhuǎn)換 case 1: N=ADZ;break; case 2: N=ADZ;break; case 3: N=ADZ;break;case4:f1+;adp=65535-2450000/f1/64;if(f1>1000)f1=10;TMR3RLL=adp%256;TMR3RLH=adp/256;break;case5:f1-;adp=65535-2450000/f1/64;if(f1<1

21、0)f1=10;TMR3RLL=adp%256;TMR3RLH=adp/256;break;case6:f1=f1+100;adp=65535-2450000/f1/64;if(f1>1000)f1=10;TMR3RLL=adp%256;TMR3RLH=adp/256;break;case7:f1=f1-100;adp=65535-2450000/f1/64;if(f1<1000)f1=10TMR3RLL=adp%256;TMR3RLH=adp/256;break;dispbuff 7=N;/存放波形代碼 dispbuff 3=f1/1000;/頻率處理并送顯示緩沖區(qū) dispbu

22、ff 2=f1%1000/100; dispbuff 1=f1%100/10; dispbuff 0=f1%10; display();/顯示函數(shù)調(diào)用 /* 命令、數(shù)據(jù)送CH452 */void toch452(unsigned int cmda) unsigned char j; CH452_SDA = 0;delayus();CH452_SCL = 0;delayus();CH452_SCL = 1;delayus();CH452_SCL = 0;for (j=0;j<16;j+)if(cmda>=0x8000 ) CH452_SDA = 1;elseCH452_SDA = 0

23、;CH452_SCL = 1;delayus();CH452_SCL = 0;cmda = cmda << 1 ;CH452_SDA = 1;delayus();CH452_SCL = 1;/* 讀鍵盤(pán) */unsigned char rdch452(void)unsigned char j,key; CH452_SDA = 0;delayus();CH452_SCL = 0;delayus();CH452_SCL = 1;delayus();CH452_SCL = 0;key = 0x9F;for (j=0;j<8;j+)if(key>=0x80 ) CH452_SD

24、A = 1;elseCH452_SDA = 0;CH452_SCL = 1;delayus();CH452_SCL = 0;key = key << 1 ; delayus();key = 0; for (j=0;j<8;j+) CH452_SCL = 1;if (CH452_SDA = 1)key +;key = key << 1;CH452_SCL = 0;delayus(); CH452_SDA = 1;delayus();CH452_SCL = 1;return key;/* mS延時(shí) */void delayms(unsigned char i)unsigned intj;dofor(j=0;j!=1000;j+);while(-i);/* uS延時(shí) */void delayus(void) unsigned k; for (k=0;k<10;k+); /*初始化*/void Init_Device(void)PCA0MD &= 0x40;/關(guān)閉電子狗復(fù)位 PCA0MD = 0x00; TCON = 0x01;/初始化定時(shí)器3 TMOD = 0x02; CKCO

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論