基于單片機(jī)的正弦波信號發(fā)生器的方案設(shè)計書_第1頁
基于單片機(jī)的正弦波信號發(fā)生器的方案設(shè)計書_第2頁
基于單片機(jī)的正弦波信號發(fā)生器的方案設(shè)計書_第3頁
基于單片機(jī)的正弦波信號發(fā)生器的方案設(shè)計書_第4頁
基于單片機(jī)的正弦波信號發(fā)生器的方案設(shè)計書_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 畢 業(yè) 設(shè) 計 論文題目: 基于單片機(jī)的正弦波信號發(fā)生器的設(shè)計 系 部: 電 子 信 息 工 程 系 專業(yè)名稱:電 子 信 息 工 程 技 術(shù) 班 級: 08431 學(xué)號: 33 姓 名: 顧 偉 國 指導(dǎo)教師:鄭 瑩 完成時間:2011 年 5月 12日 基于單片機(jī)的正弦波信號發(fā)生器的設(shè)計 摘要:信號發(fā)生器的應(yīng)用越來越廣,對信號發(fā)生器的頻率穩(wěn)定度、頻譜純度、頻率范圍和輸出信號的頻率微調(diào)分辨率提出越來越高的要求,普通的頻率源已經(jīng)不能滿足現(xiàn)代電子技術(shù)的高標(biāo)準(zhǔn)要求。因而本設(shè)計采用了AT89C51單片機(jī)為控制核心,通過D/A轉(zhuǎn)換器DAC0832將數(shù)字信號轉(zhuǎn)換成模擬信號,濾波放大,最終由示波器顯示出

2、來,能產(chǎn)生1HZ180HZ的正弦波波形。通過鍵盤來控制波形頻率變化,并通過液晶屏1602顯示其波形以及頻率和幅度值的大小。 關(guān)鍵字:信號發(fā)生器;AT89C51;D/A轉(zhuǎn)換器DAC0832 Based on SCM sine wave signal generator design Abstract:Signal generator used more and more widely, to signal generator frequency stability, the spectrum purity, frequency range and output signal frequency

3、fine-tune resolution higher and higher demands are proposed, the average frequency source cannot have satisfied the high standard requirement of modern electronic technology. So this design USES A AT89C51 as control core, through the D/A converter DAC0832 converts digital signals into analog signals

4、, filter and amplification, finally shown by oscilloscope 1HZ - 180HZ, can produce the sine wave. Through the keyboard to control the waveform frequency variation, and through the LCD display of the waveform and 1602 frequency and amplitude values of size. D/A converter DAC0832 AT89C51。: Signal gene

5、ratorKey word 目錄 1、概述1 2、系統(tǒng)設(shè)計1 2.1設(shè)計構(gòu)思1 2.2方案設(shè)計與論證1 2.2.1 信號發(fā)生電路方案論證1 2.2.2 單片機(jī)的選擇論證2 2.2.3、顯示方案論證2 2.2.4、鍵盤方案論證2 3、總體系統(tǒng)設(shè)計2 3.1、硬件實(shí)現(xiàn)及單元電路設(shè)計3 3.1.1 單片機(jī)最小系統(tǒng)的設(shè)計3 3.1.2、波形產(chǎn)生模塊的設(shè)計4 3.1.3、顯示模塊的設(shè)計4 3.2、系統(tǒng)軟件的設(shè)計流程5 3.2.1、keil uvision3開發(fā)環(huán)境簡介6 3.2.2、proteus7.5軟件簡介7 3.2.3、keil uvision3與proteus7.5聯(lián)機(jī)調(diào)試簡介7 4.輸出波形的

6、檢查與頻率的調(diào)試7 4.1 測試儀器及測試說明7 4.2 測試結(jié)果8 5、結(jié)束語9 參考文獻(xiàn)10 致謝11 附錄12 1、概述 波形發(fā)生器作為電子技術(shù)領(lǐng)域中最基本的電子儀器,廣泛應(yīng)用于航空航天測控、通信系統(tǒng)、電子對抗、電子測量、科研等各個領(lǐng)域中。隨著電子信息技術(shù)的發(fā)展,對其性能的要求也越來越高,如要求頻率穩(wěn)定性高、轉(zhuǎn)換速度快,具有調(diào)幅、調(diào)頻、調(diào)相等功能。傳統(tǒng)的LC、RC振蕩電路就不可以滿足上述的要求了,而基于單片機(jī)的信號發(fā)生器就可以有效的解決上述問題了。單片機(jī)的最小系統(tǒng)結(jié)構(gòu)簡單而且又是通過程序控制信號的發(fā)生,這樣就可以通過編程來產(chǎn)生正弦波、方波、三角波等波形?;趩纹瑱C(jī)的信號發(fā)生器的設(shè)計,不僅

7、解決了波形類型的選擇、頻率和幅度的調(diào)節(jié)等,而且還通過lcd顯示屏能夠?qū)⑿盘柊l(fā)生器產(chǎn)生波形的頻率準(zhǔn)確的顯示出來。 2、系統(tǒng)設(shè)計 經(jīng)過研究考慮,確定方案:以AT89C51單片機(jī)為控制核心,再通過D/A轉(zhuǎn)換器DAC0832將數(shù)字信號轉(zhuǎn)換成模擬信號,濾波放大,最終由示波器顯示出來,通過鍵盤來控制波形的選擇和頻率的變化,最終輸出顯示其各自的類型以及數(shù)值。 2.1設(shè)計構(gòu)思 1)利用單片機(jī)采用軟件設(shè)計方法產(chǎn)生正弦波 2)鍵盤選擇波形類型 3)波形頻率可調(diào) 4)顯示波形及其頻率 2.2方案設(shè)計與論證 2.2.1、信號發(fā)生電路方案論證 DAC0832是8位全MOS中速D/A 轉(zhuǎn)換器,采用R2RT 形電阻解碼網(wǎng)+

8、5V。使用單電源1us絡(luò),轉(zhuǎn)換結(jié)果為一對差動電流輸出,轉(zhuǎn)換時間大約為+15V 供電。參考電壓為-10V+10V。在此我們直接選擇+5V 作為參考電壓。DAC0832 有三種工作方式:直通方式,單緩沖方式,雙緩沖方式。 2.2.2、單片機(jī)的選擇論證 AT89C51單片機(jī)是一種高性能8位單片微型計算機(jī)。它把構(gòu)成計算機(jī)的中央處理器CPU、存儲器、寄存器、I/O接口制作在一塊集成電路芯片中,從而構(gòu)成較為完整的計算機(jī)、而且其價格便宜。 2.2.3、顯示方案論證 方案一:采用LED數(shù)碼管。LED數(shù)碼管由8個發(fā)光二極管組成,每只數(shù)碼管輪流顯示各自的字符。由于人眼具有視覺暫留特性,當(dāng)每只數(shù)碼管顯示的時間間隔小

9、于1/16S時人眼感覺不到閃動,看到的是每只數(shù)碼管常亮。使用數(shù)碼管顯示編程較易,但要顯示內(nèi)容過多,而且數(shù)碼管不能顯示字母。 方案二:采用LCD液晶顯示器1602. 其功率小,效果明顯,顯示編程容易控制,可以顯示字母。 以上兩種方案綜合考慮,選擇方案二。 2.2.4、 鍵盤方案論證 采用簡單的撥動開關(guān)。撥動開關(guān)簡單方便,操作簡單,但存在抖動的現(xiàn)象,對芯片會產(chǎn)生一定的影響。 3、 總體系統(tǒng)設(shè)計 該系統(tǒng)采用單片機(jī)作為數(shù)據(jù)處理及控制核心,由單片機(jī)完成人機(jī)界面、系統(tǒng)控制、信號的采集分析以及信號的處理和變換,采用按鍵輸入,利用液晶顯示電路輸出數(shù)字顯示的方案,將設(shè)計任務(wù)分解為按鍵電路、液晶顯示電路等模塊。

10、為系統(tǒng)的總體框圖:(1)圖顯D/A0832放AT89C51開輸 圖1:系統(tǒng)總體框圖 3.1、硬件實(shí)現(xiàn)及單元電路設(shè)計 3.1.1、單片機(jī)最小系統(tǒng)的設(shè)計 AT89C51是片內(nèi)有ROM/EPROM的單片機(jī),因此,這種芯片構(gòu)成的最小系統(tǒng)簡單可靠。用AT89C51單片機(jī)構(gòu)成最小應(yīng)用系統(tǒng)時,只要將單片機(jī)接上時鐘電路和復(fù)位電路即可,如圖(2)AT89C51單片機(jī)最小系統(tǒng)所示。由于集成度的限制,最小應(yīng)用系統(tǒng)只能用作一些小型的控制單元。 單片機(jī)最小系統(tǒng)AT89C51:2圖3.1.2、波形產(chǎn)生模塊的設(shè)計 由單片機(jī)為控制中心用編程方法產(chǎn)生波形,通過D/A轉(zhuǎn)換器DAC0832再經(jīng)過濾波放大后輸出。其電路圖如下 圖3:

11、波形產(chǎn)生電路 如上圖所示,單片機(jī)的P0口連接DAC0832的八位數(shù)據(jù)輸入端,DAC0832的輸出端接放大器,經(jīng)過放大后輸出所要的波形。 3.1.3、顯示模塊的設(shè)計 通過液晶1602顯示輸出的波形、頻率,其電路圖如下: 圖4:液晶顯示 如上圖所示,1602的八位數(shù)據(jù)端接單片機(jī)的P1口,其三個使能端RS、。通過軟件控制液晶屏可以顯示波形的種類P3.4P3.2分別接單片機(jī)的E、RW以及波形的頻率。 3.1.4、鍵盤模塊的設(shè)計 本系統(tǒng)采用兩個撥動開關(guān)來調(diào)節(jié)由單片機(jī)產(chǎn)生的正弦波的頻率,其連接電路如下: 圖5:撥動開關(guān) 圖中UP開關(guān),每閉合一次,正弦波的頻率將增加1HZ。與之功能相似的DOWN開關(guān)則是使產(chǎn)

12、生的正弦波的頻率降低1HZ。 3.2、系統(tǒng)軟件的設(shè)計流程 本系統(tǒng)采用AT89C51單片機(jī),用編程的方法來產(chǎn)生正弦波,并通過編程來調(diào)節(jié)正弦波波形的輸出頻率。 軟件設(shè)計的流程圖如下:開初始化定時器、顯示器和預(yù)置處正弦波控制程幅度調(diào)頻率調(diào)液晶萬用示結(jié) 圖6:軟件設(shè)計流程圖 3.2.1、keil uvision3開發(fā)環(huán)境簡介 KeilSoftware公司推出的uVision3是一款可用于多種8051MCU的集成開發(fā)環(huán)境(IDE),該IDE同時也是PK51及其它開發(fā)套件的一個重要組件。除增加了源代碼、功能導(dǎo)航器、模板編輯以及改進(jìn)的搜索功能外,uVision3還提供了一個配置向?qū)Чδ?,加速了啟動代碼和配置

13、文件的生成。此外其內(nèi)置的仿真器可模擬目標(biāo)MCU,包括指令集、片上外圍設(shè)備及外部信號等。uVision3提供邏輯提uVision3引腳和外設(shè)狀態(tài)變化下的程序變量。MCUI/O分析器,可監(jiān)控基于供對多種最新的8051類微處理器的支持,包括AnalogDevices的ADuC83x和ADuC84x,以及Infineon的XC866等。 3.2.2、proteus7.5軟件簡介 Proteus 與其它單片機(jī)仿真軟件不同的是,它不僅能仿真單片機(jī)CPU 的工作情況,也能仿真單片機(jī)外圍電路或沒有單片機(jī)參與的其它電路的工作情況。因此在仿真和程序調(diào)試時,關(guān)心的不再是某些語句執(zhí)行時單片機(jī)寄存器和存儲器內(nèi)容的改變,

14、而是從工程的角度直接看程序運(yùn)行和電路工作的過程和結(jié)果。對于這樣的仿真實(shí)驗(yàn),從某種意義上講,是彌補(bǔ)了實(shí)驗(yàn)和工程應(yīng)用間脫節(jié)的矛盾和現(xiàn)象。 3.2.3、keil uvision3與proteus7.5聯(lián)機(jī)調(diào)試簡介 KeilC 與Proteus 聯(lián)機(jī)調(diào)試準(zhǔn)備工作在一臺電腦上聯(lián)機(jī)兩個軟件為例。首先進(jìn)行Keil uVision3 軟件和Proteus Version 7.1 軟件,分別進(jìn)行安裝。 a.到官方網(wǎng)站下載一個vdmadi.exe,安裝路徑選擇Keil uVision3 的安裝目錄(E:Program FilesKeil)。安裝完成。 b.Proteus 里DEBUG->(選擇)use re

15、mote debug monitor。進(jìn)入 KEIL 的project 菜單option for target ' 工程名'。在DEBUG 選項中右欄上部的選擇Use 并在下拉菜選中Proteus VSMSimulator。在進(jìn)入seting,如果同一臺機(jī)IP 名為,如不是同一臺機(jī)則填另一臺的IP 地址。端口號一定為8000 。注意:可以在一臺機(jī)器上運(yùn)行keil,另一臺中運(yùn)行proteus 進(jìn)行遠(yuǎn)程仿真。 c.KEIL 的編譯程序和Proteus 的文件一定要放在同一個文件夾中。 d.單擊仿真運(yùn)行開始按鈕,KeilC 與Proteus 連接仿真調(diào)試 4.輸出波

16、形的檢查與頻率的調(diào)試 4.1 測試儀器及測試說明 測試儀器:示波器、數(shù)字萬用表 測試說明:正弦波的輸出,通過UP開關(guān)及DOWN開關(guān)來實(shí)現(xiàn)正弦波波形頻率的改變,調(diào)節(jié)滑動變阻器RV1來實(shí)現(xiàn)幅度的調(diào)控。 測試過程;打開keil uvision3 和 proteus 軟件后,導(dǎo)入寫好的程序以及模擬仿真電路后,通過兩個軟件的聯(lián)調(diào),進(jìn)行正弦波的模擬仿真測試。程序經(jīng)過初始化,液晶屏上只顯示“wave:”和“f:“,然后便顯示出波形類型以及頻率的大小。正弦波的頻率可調(diào)范圍在1180HZ之間。 正弦波波形仿真圖如下: 4.2 測試結(jié)果 各項指標(biāo)均能達(dá)到要求 1)、能很好的產(chǎn)生正弦波 2)、波形的頻率可以調(diào)節(jié),頻

17、率范圍在1180HZ之間 3)、顯示部分基本實(shí)現(xiàn) 開關(guān)基本能實(shí)現(xiàn)其功能DOWN)、4UP及 5、結(jié)束語 通過這次畢業(yè)設(shè)計,使我深刻地認(rèn)識到學(xué)好專業(yè)知識的重要性,也理解了理論聯(lián)系實(shí)際的現(xiàn)實(shí)意義。本次的設(shè)計是對大學(xué)三年所學(xué)知識的一次系統(tǒng)的檢驗(yàn),進(jìn)一步加深了我們對專業(yè)知識的理解和提高我們的動手能力。雖然本次的畢業(yè)設(shè)計基本上可以達(dá)到要求,但其中也存在著很多的問題,例如液晶屏顯示頻率,頻率增大時,液晶屏顯示的頻率卻變小,這主要是程序的編寫有點(diǎn)問題,改正之后應(yīng)該能夠解決這樣的問題。此次的畢業(yè)設(shè)計作品還有很多不完善的地方,我相信在以后的工作和學(xué)習(xí)中能夠徹底的解決這樣不完善。 參考文獻(xiàn) 【1】 周國運(yùn)主編.單

18、片機(jī)原理及應(yīng)用(C語言版) (21世紀(jì)高等院校規(guī)劃教材) 中國水利水電出版社,2009 【2】 張毅剛、 彭喜元主編.單片機(jī)原理及接口技術(shù).人民郵電出版社,2008 【3】 孫俊喜主編.LCD驅(qū)動電路、驅(qū)動程序設(shè)計及典型應(yīng)用.人民郵電出版社,2009 【4】 殷瑞祥主編.電路與模擬電子技術(shù).高等教育出版社,2003 致謝 在此論文撰寫過程中,要特別感謝我的老師鄭老師的指導(dǎo)與督促,同時感謝她的諒解與包容。沒有鄭老師的幫助也就沒有今天的這篇論文。求學(xué)歷程是艱苦的,但又是快樂的。感謝我的班主任鄭老師,謝謝她在這三年中為我們?nèi)嗨龅囊磺?,她不求回報,無私奉獻(xiàn)的精神很讓我感動,再次向她表示由衷的感謝。

19、在這三年的學(xué)期中結(jié)識的各位生活和學(xué)習(xí)上的摯友讓我得到了人生最大的一筆財富。在此,也對他們表示衷心感謝。謝謝我的父母,沒有他們辛勤的付出也就沒有我的今天,在這一刻,將最崇高的敬意獻(xiàn)給你們!本文參考了大量的文獻(xiàn)資料,在此,向各學(xué)術(shù)界的前輩們致敬! 附錄 1、附圖 總體原理設(shè)計圖 2、源程序 #include<reg51.h> #include<absacc.h> #define uchar unsigned char #define uint unsigned int sbit lcdrw=P33。 sbit lcdrs=P32。 sbit lcde=P34。 sbit c

20、s=P35。 sbit wr=P36。 uchar a,n。 #define dac1 XBYTE0xdfff / X 軸0832一級瑣存地址 unsigned char code type256= 0x80,0x83,0x86,0x89,0x8c,0x8f,0x92,0x95,0x98,0x9c,0x9f,0xa2,0xa5,0xa8,0xab,0xae,0xb0,0xb3,0xb6,0xb9, 0xbc,0xbf,0xc1,0xc4,0xc7,0xc9,0xcc,0xce,0xd1,0xd3,0xd5,0xd8,0xda,0xdc,0xde,0xe0,0xe2,0xe4,0xe6,0xe8

21、, 0xea,0xec,0xed,0xef,0xf0,0xf2,0xf3,0xf4,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfc,0xfd,0xfe,0xfe,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xfd,0xfc,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7, 0xf6,0xf5,0xf3,0xf2,0xf0,0xef,0xed,0xec,0xea,0xe8,0xe6,0xe4,0xe3,0xe1,0xde,0xdc,0xda,0xd8,0xd6,0

22、xd3, 0xd1,0xce,0xcc,0xc9,0xc7,0xc4,0xc1,0xbf,0xbc,0xb9,0xb6,0xb4,0xb1,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c, 0x99,0x96,0x92,0x8f,0x8c,0x89,0x86,0x83,0x80,0x7d,0x79,0x76,0x73,0x70,0x6d,0x6a,0x67,0x64,0x61,0x5e, 0x5b,0x58,0x55,0x52,0x4f,0x4c,0x49,0x46,0x43,0x41,0x3e,0x3b,0x39,0x36,0x33,0x31,0x2e,0x2c,0x2

23、a,0x27, 0x25,0x23,0x21,0x1f,0x1d,0x1b,0x19,0x17,0x15,0x14,0x12,0x10,0xf,0xd,0xc,0xb,0x9,0x8,0x7,0x6,0x5,0x4, 0x3,0x3,0x2,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x1,0x2,0x3,0x3,0x4,0x5,0x6,0x7, 0x8,0x9,0xa,0xc,0xd,0xe,0x10,0x12,0x13,0x15,0x17,0x18,0x1a,0x1c,0x1e,0x20,0x23,0x25,0x27,0

24、x29,0x2c, 0x2e,0x30,0x33,0x35,0x38,0x3b,0x3d,0x40,0x43,0x46,0x48,0x4b,0x4e,0x51,0x54,0x57,0x5a,0x5d,0x60,0x63, 0x66,0x69,0x6c,0x6f,0x73,0x76,0x79,0x7c。 unsigned char i,j。 unsigned int counter,step。 sbit key_up = P20。 sbit key_dw = P21。 /定時器0初始化 延時子程序/ void delay(uint z) uchar a,b。 for(a=z。a>0。a-)

25、 for(b=110。b>0。b-)。 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 。 /1602void write_data(uchar date) 數(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(

溫馨提示

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

最新文檔

評論

0/150

提交評論