基于51單片機的高頻函數信號發(fā)生器_第1頁
基于51單片機的高頻函數信號發(fā)生器_第2頁
基于51單片機的高頻函數信號發(fā)生器_第3頁
基于51單片機的高頻函數信號發(fā)生器_第4頁
基于51單片機的高頻函數信號發(fā)生器_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、函數信號發(fā)生器設計報告參賽人員:朱秋 王嘉文 房開蘭指導教師:漆晶二 0 0 九年七月十四日摘要波形發(fā)生器是一種常用的信號源,廣泛地應用于電子電路、自動控制系統(tǒng)和教學實驗等領域。本函數發(fā)生器采用STC89C52 單片機作為控制核心,外圍采用數字/模擬轉換電路(DAC0832)、運放電路(uA741)、倍頻電路(CD4046)、按鍵和LCD顯示電路等。電路采用STC89C52單片機和一片DAC0832數模轉換器組成數字式低頻信號發(fā)生器。函數信號發(fā)生器,它具有價格低、性能高和在低頻范圍內穩(wěn)定性好、操作方便、體積小、耗電少等特點。由于采用了uA741運算放大器和濾波電路,使其電路更加具有較高的穩(wěn)定性

2、能,性能比高。此電路清晰,出現故障容易查找錯誤,操作簡單、方便。通過按鍵控制可產生方波、三角波、正弦波,同時用LCD1602顯示幅值和頻率。所產生的波形VP-P范圍為05 V,由倍頻電路使頻率范圍為100Hz 1MHz,波形準確并且平滑。本系統(tǒng)設計簡單、性能優(yōu)良,具有一定的實用性。關鍵詞:單片機;倍頻;調頻;調幅;LCD1602Abstract Waveform generator is a common signal source, widely used in electronic circuits, automatic control systems and experiments in

3、 areas such as teaching .Function generator used as a control core STC89C52 single-chip, external digital / analog converter circuit (DAC0832),operational amplifier circuit (uA741), frequency-doubling circuit (CD4046), and buttons and LCD display circuit. STC89C52 circuit and a single-chip digital D

4、AC0832 Digital to Analog component of low-frequency signal generator. Function signal generator, it has a low price, high-performance and low-frequency range of good stability, convenient operation, small size, low power consumption and so on. UA741 As a result of the operational amplifier and filte

5、r circuit to circuit with high stability and more performance, high performance. This circuit clears, easy to find failure error, simple and convenient. Keys can be generated through control of square wave, triangle wave, sine wave, LCD display at the same time with the amplitude and frequency. Wave

6、form generated by VP-P range of 0 5 V, so that by the multiplier circuit for frequency range 92.592593Hz 217.3913Hz, accurate and smooth waveform. The system is designed to be simple, excellent performance, with a certain degree of practicality. Key words: microcomputer; frequency; FM; AM; LCD1602目錄

7、一、系統(tǒng)方案51、1 信號發(fā)生部分51、2顯示部分6二、系統(tǒng)設計62、1 總體設計思路62、2總體框圖6三、硬件電路73、1單片機電路73、1、1 功能與基本原理73、1、2 資源分配83、2波形轉換(D/A)電路83、3顯示接口電路93、4倍頻電路9四、軟件設計及流程10五、調試與測試結果115、1 硬件調試115、2 軟件調試11六、結束語11七、參考文獻12八、附錄128、1 元件清單128、2 電路原理圖138、3 程序清單13一、系統(tǒng)方案題目要求實現的任務是設計并制作一個函數信號發(fā)生器,能產生正弦波,方波,三角波,要求不用DDS和專用的波形產生芯片,頻率范圍100Hz1MHz,幅度0

8、5V,方波占空比可調,實時顯示頻率和幅度。根據要求對下面方案進行論證與比較。1、1 信號發(fā)生部分方案一:采用模擬分立元件或單片壓控函數發(fā)生器,可產生正弦波,方波,三角波,通過調整外部元件可改變輸出頻率,但采用模擬器件由于元件分散性太大,即使使用單片函數發(fā)生器,參數也與外部元件有關,外接的電阻電容對參數影響很大,因而產生的頻率穩(wěn)定性較差,精度低,抗干擾能力低,成本也高,而且靈活性較差,不能實現任意波形以及波形運算輸出等智能化的功能。方案二:采用鎖相式頻率合成方案。鎖相式頻率合成是一個高穩(wěn)定度和精確度的大量離散頻率的技術,它在一定程度上解決了既要頻率穩(wěn)定精確,又要頻率在較大范圍可變的矛盾。但頻率受

9、VCO可變頻率范圍的影響,高低頻率比不可能做的很高,而且只能產生方波或正弦波,不能滿足任意波形的要求。方案三:采用單片機和數模/轉換DAC0832實現波形的產生。波形的產生是通過STC89C52執(zhí)行方波波形發(fā)生程序,向D/A轉換器的輸入端按一定的規(guī)律發(fā)生數據,從而在D/A轉換電路的輸出端得到相應的電壓波形。通過CD4046與CD4518分頻實現倍頻,已達到最高1MHz的頻率。在89C52的P2口接5個按扭,通過軟件編程來選擇各種波形、幅值電壓和頻率,每種波形對應一個按鈕。此方案的有點是電路原理比較簡單,實現起來比較容易。經比較,方案三能更好地實現題目要求,三種波形的產生可由程序控制,并通過按鍵

10、選擇波形輸出,在示波器上顯示波形。波形的周期與頻率步進也可以用程序改變,方波占空比通過按鍵加減,具有線路簡單、結構緊湊等優(yōu)點。在本設計的基礎上,加上LCD顯示器,則可通過按鈕設定所需要的波形頻率,并在LCD上顯示頻率、幅值電壓。輸出波形穩(wěn)定,精度高,濾波好,抗干擾效果好,連接簡單,性價比高。因此我們設計中采用方案三。1、2顯示部分方案一:數碼管顯示,由于本題要求實時顯示輸出信號的幅度,頻率,而數碼管不能顯示字符。方案二:LED點陣顯示,LED點陣顯示雖然能顯示字符和數字,但顯示效果不好,且不易編程。方案三:LCD液晶顯示,LCD液晶不但能顯示字符和數字,而且顯示效果較好,容易編程實現。二、系統(tǒng)

11、設計2、1 總體設計思路根據題目要求,經過仔細考慮,充分考慮各種因素,制定了整體設計方案:以STC89C52單片機為控制核心,P0口接DAC0832信號輸入并數模轉換,程序控制產生三種波形,通過P1口接8個按鍵,控制頻率、幅值和占空比,由按鍵選擇三種波形的輸出。由uA741運放實現DAC0832輸出電流到電壓的轉換,通過CD4046與CD4060組成的100倍頻電路,盡量達到題目頻率要求。在LCD1602上實時顯示頻率與幅值,波形在示波器上顯示。2、2總體框圖本系統(tǒng)總體框圖如圖2、1所示。單片機鍵盤輸入LCD1602DAC0832uA741運放倍頻電路輸出圖 2.1 系統(tǒng)框圖三、硬件電路本系統(tǒng)

12、由單片機、波形轉換(D/A)電路、顯示接口電路、倍頻電路等四部分構成。電路圖附在后面。3、1單片機電路3、1、1 功能與基本原理功能:形成掃描碼,鍵值識別、鍵處理、參數設置;形成顯示段碼;產生定時中斷;形成波形的數字編碼,并輸出到D/A接口電路和顯示驅動電路。 AT89S51外接12M晶振作為時鐘頻率,并采用電源復位設計。復位電路采用上電復位,它的工作原理是,通電時,電容兩端相當于短路,于是RST引腳上為高電平,然后電源通過對電容充電。RST端電壓慢慢下降,降到一定程序,即為低電平,單片機開始工作。產生方波程序思路:根據定時器溢出的時間,將頻率值換算為定時器溢出的次數(T1_over_num)

13、。使用變量(T1_cnt)暫存定時器T1的溢出次數,當達到規(guī)定的次數(T1_over_num)時,將輸出管腳的狀態(tài)取反達到方波的產生。另外,采用查詢的方式實現按鍵的掃描和LCD液晶的顯示,中斷服務程序實現方波的產生和連續(xù)按鍵的計時功能。 3、1、2 資源分配 軟、硬件設計是設計中不可缺少的,為了滿足功能和指標的要求,資源分配為:單片機用12M晶振,P0口與DAC0832相連;P1口接八個按鍵,實現頻率、幅度、占空比的調節(jié),以及波形選擇;P2口接LCD1602液晶顯示器,實時顯示頻率與幅值。3、2波形轉換(D/A)電路功能:將波形樣值的編碼轉換成模擬值,完成的波形輸出。 由一片0832和uA74

14、1運放組成。DAC0832是一個具有兩個輸入數據寄存器的8位DAC。目前生產的DAC芯片分為兩類,一類芯片內部設置有數據寄存器,不需要外加電路就可以直接與微型計算機接口。另一類芯片內部沒有數據寄存器,輸出信號隨數據輸入線的狀態(tài)變化而變化,因此不能直接與微型計算機接口,必須通過并行接口與微型計算機接口。DAC0832是具有20條引線的雙列直插式CMOS器件,它內部具有兩級數據寄存器,完成8位電流D/A轉換,故不需要外加電路。0832是電流輸出型,示波器上顯示波形,通常需要電壓信號,電流信號到電壓信號的轉換可以由運算放大器uA741實現。 單片機向0832發(fā)送數字編碼,產生不同的輸出。先利用采樣定

15、理對各波形進行抽樣,然后把各采樣值進行編碼,收到的數字量存入各個波形表,執(zhí)行程序時通過查表方法依次取出,經過D/A轉換后輸出就可以得到波形。假如N個點構成波形的一個周期,則0832輸出N個樣值點后,樣值點形成運動軌跡,即一個周期。重復輸出N個點,成為第二個周期。利用單片機的晶振控制輸出周期的速度,也就是控制了輸出的波形的頻率。這樣就控制了輸出的波形及其幅值和頻率。具體連接如圖3、1所示。 圖3、1 D/A轉換電路3、3顯示接口電路功能:驅動LCD1602液晶顯示,掃描按鈕。 由LCD1602液晶顯示器和7個按鈕組成。當某一按鈕按下時,掃描程序掃描到之后,通過P2口將數字信號發(fā)送到LCD1602

16、。LCD1602種專門用于顯示字母、數字、符號等點陣式LCD,它的外接電壓也是+5V。掃描利用軟件程序實現,當某一按鍵按下時,掃描程序立即檢測到,隨后調用子程序,執(zhí)行相應的功能。其與單片機的連接如圖3、2所示。 圖3、2 顯示接口電路3、4倍頻電路功能:實現100倍頻,使輸出頻率達到題目要求。CD4046是通用的CMOS鎖相環(huán)集成電路,其特點是電源電壓范圍寬(為3V18V),輸入阻抗高(約100M),動態(tài)功耗小,在中心頻率f0為10kHz下功耗僅為600W,屬微功耗器件。CD4518是一個同步加計數器,在一個封裝中含有兩個可互換二/十進制計數器,其功能引腳分別為17和915.該CD4518計數

17、器是單路系列脈沖輸入(1腳或2腳;9腳或10腳),4路BCD碼信號輸出(3腳6腳;11腳14腳)。由鎖相環(huán)CD4046與計數器CD4518實現100倍倍頻。當從14腳輸入頻率f1的信號時,在3腳(相位比較信號輸入信號)、4腳(壓控振蕩器輸出信號)之間接計數器4518,輸出端4腳頻率f2=100f1。具體電路連接如圖3、3所示。圖3、3 倍頻電路四、軟件設計及流程主程序和子程序都放在89S52單片機中。主程序的功能是:開機以后負責查鍵,即做鍵盤掃描及顯示工作,然后根據用戶所按的鍵轉到相應的子程序進行處理。子程序的功能有:延時子程序程序、中斷子程序、調幅子程序、調頻子程序、顯示等。主程序流程圖為:

18、設定頻率、幅度鍵盤掃描初始化程序顯示函數LCD是否達到設定值?輸出五、調試與測試結果采用分別調試各個單元模塊,調通后再進行各單元電路聯(lián)機統(tǒng)調的方法,提高調試效率。5、1 硬件調試整個硬件調試過程基本順利,由于采用了分單元模塊制作,各單元電路工作穩(wěn)定,給調試工作帶來很大的方便。1) 放大模塊部分在實物模擬時,出現發(fā)送信號不穩(wěn)定、跳變的問題。經過仔細檢查電路線路路徑和線路連接問題,最終發(fā)現電路在連接時出現未連接牢固的問題,從而得以解決。2) 調試過程中,鎖相環(huán)倍頻電路未能實現100倍頻,沒有達到預期效果,頻率未能達到1MHz。各單元調試通過以后,進行整機調試,調試結果顯示,整個系統(tǒng)能夠正常工作。5

19、、2 軟件調試由于對51系列單片機編程比較熟悉,在軟件的仿真調試過程中沒有遇到太大的問題。各軟件功能均正常實現。六、結束語經過近幾個月的鍛煉和學習,我們學到了許多書本上沒有的知識,從方案的論證、課題的選擇、電路原理,到電路上元器件的焊接、電路的調試,程序的編寫,調試下載,一步步,我們收獲很大。在設計中,我們力求硬件電路簡單,充分發(fā)揮軟件靈活方面的特點,滿足系統(tǒng)設計要求。這中間,我們也遇到了許多困難,在老師的幫助下,一個個也都戰(zhàn)勝了。由于我們這個團隊接觸單片機時間還不長,有很多東西我們還沒有學好,學精,所以,設計的方案可能不是最好的,但我們已經盡到我們最大努力來完成此次作品,希望取得好的結果,能

20、學到更加多得知識。所以,在以后的學習中,我們要更加努力,才能處于不敗之地。在此,要感謝我們的指導老師,給我們進行了很多的輔導,不僅在技術上給了我很大幫助,也在系統(tǒng)需求和設計方面給予了我很大幫助。老師的諄諄教導,使我們受益匪淺。七、參考文獻1 李勛,劉源.單片機實用教程.北京:北京航空航天大學出版社,20002 李珍付,植桐.單片機原理與應用技術.北京:清華大學出版社,20033 李朝清.單片機原理及接口技術.北京:北京航空航天大學出版社,19994 胡漢才.單片機原理及系統(tǒng)設計.北京:清華大學出版社,20025 萬福君,潘松峰.單片機微機原理系統(tǒng)設計與應用.合肥:中國科學技術大學出版社,200

21、16 陳明英.8051單片機課程設計實訓教材.北京:清華大學出版社, 20027 張洪潤,易濤.單片機應用技術教程(第二版).北京:清華大學出版社,20038 張淑清,片微型計算機接口技術及應用.北京:國防工業(yè)出版社,2001 9 王松武,常用電路模塊分析與設計指導.清華大學出版社,2007八、附錄8、1 元件清單Part Type Designator1MR22.2uC56.8KR310KR110kRP110uFC112MS1220pS1020pS1189S52U1100KR41000pC24046U5CAPC3CAPACITOR POLC4CD4518U6CON5J1DAC0832U4SW

22、-PBS5SW-PBS2SW-PBS7SW-PBS3SW-PBS9SW-PBS4SW-PBS1SW-PBS8SW-PBS6uA741U28、2 電路原理圖8、3 程序清單#include <reg52.h>#define uchar unsigned charsbit rs=P30;sbit rw=P31;sbit eg=P32;uchar code table="Volt"uchar code table2='0','1','2','3','4','5','

23、6','7','8','9'uchar code tosin256=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,0xf

24、5,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,0xb

25、c,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,0x1

26、6,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,0x

27、2e,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 ;/正弦波數據 uchar b=0,c=0,d=0,e=0,i,k,tl,th;int ww=0,qw=0,bw=9,sw=3,gw=3,n=20,chh=50;/ww為萬位數字,qw為千位數字,bw為百位數字, /sw為十位數字,gw為個位數字.int t,f,m,choice=1,zk=50; /t為時間

28、變量,f為頻率變量,choice為波形類型選擇變量,zk為占空比變量,默認占空比為50%/延時程序,延時Xms*void delay(unsigned int x)int i,j;for(i=0;i<x;i+)for(j=0;j<120;j+);/寫指令函數*void writezl(unsigned char zl)rs=0;rw=0;/滿足寫指令的條件;P2=zl;delay(5);eg=1;delay(5);eg=0;/寫數據函數*void writesj(unsigned char sj)rs=1;rw=0;/滿足寫數據的條件;P2=sj;delay(5);eg=1;del

29、ay(5);eg=0;/初始化程序*void initial()eg=0;writezl(0x38);/顯示模式設置;writezl(0x0c);/開顯示,不開光標,光標不閃爍;writezl(0x06);/寫數據時,每寫一個數據,指針后移動一位,但是整屏不動;writezl(0x80+0x00);/在顯示器的第一行第一位開始寫數據;/顯示函數*void display()int i;for(i=0;i<3;i+)writesj(tablei);writezl(0x80+0x04) ;writesj(table2chh/10);writezl(0x80+0x05);writesj(

30、9;.');writezl(0x80+0x06);writesj(table2chh%10);writezl(0x80+0x07);writesj('V');writezl(0x02);/清除指針,但是不清楚顯示內容;writezl(0x80+0x40);/跳轉到下行的第一位開始置顯示;writesj('F');writezl(0x80+0x41);writesj('r');writezl(0x80+0x42);writesj('e');writezl(0x80+0x43);writesj(table2ww);writez

31、l(0x80+0x44);writesj(table2qw);writezl(0x80+0x45);writesj(table2bw);writezl(0x80+0x46);writesj(table2sw);writezl(0x80+0x47);writesj(table2gw);writezl(0x80+0x48);writesj('H');writezl(0x80+0x49);writesj('z');writezl(0x80+0x50);writesj(' ');/*鍵選擇發(fā)波類型,1為正弦波,2為三角波,3為方波*/void key1(

32、void) if(choice<4)choice=choice+1; elsechoice=1;/幅度加*/void key2(void)if(chh!=50)chh+;else chh=chh;/幅度減*/void key3(void)if(chh!=0)chh-;void key4(void)/*頻率加*/void key5(void)if(n<=3000)n=n+100;void key6(void)if(n!=20)n=n-100;/*方波占空比加大*/void key7(void) if(zk<100)zk=zk+1;elsezk=0;/*方波占空比減小 */void

溫馨提示

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

評論

0/150

提交評論