基于單片機(jī)的簡(jiǎn)易低頻信號(hào)發(fā)生器的設(shè)計(jì)_第1頁(yè)
基于單片機(jī)的簡(jiǎn)易低頻信號(hào)發(fā)生器的設(shè)計(jì)_第2頁(yè)
基于單片機(jī)的簡(jiǎn)易低頻信號(hào)發(fā)生器的設(shè)計(jì)_第3頁(yè)
基于單片機(jī)的簡(jiǎn)易低頻信號(hào)發(fā)生器的設(shè)計(jì)_第4頁(yè)
基于單片機(jī)的簡(jiǎn)易低頻信號(hào)發(fā)生器的設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

緒論1.1信號(hào)發(fā)生器的現(xiàn)狀與發(fā)展信號(hào)發(fā)生器是一種常用的信號(hào)源,廣泛的應(yīng)用于電子電路、自動(dòng)控制和科學(xué)實(shí)驗(yàn)等領(lǐng)域。它是一種為電子測(cè)量和計(jì)量工作提供符合嚴(yán)格技術(shù)要求的電信號(hào)設(shè)備。因此,信號(hào)發(fā)生器和示波器、電壓表、頻率計(jì)等儀器一樣是最普通、最基本的,也是應(yīng)用最廣泛的電子儀器之一,幾乎所有的電參量的測(cè)量都需要用到信號(hào)發(fā)生器。自六十年代以來(lái),信號(hào)發(fā)生器就有了迅速的發(fā)展,出現(xiàn)了函數(shù)發(fā)生器、掃描信號(hào)發(fā)生器、合成信號(hào)發(fā)生器、控制信號(hào)發(fā)生器等種類。各種信號(hào)發(fā)生器的主要性能指標(biāo)也都有了大幅度的提高,同時(shí)在簡(jiǎn)化機(jī)械結(jié)構(gòu)、小型化、多功能等各方面也有了顯著的發(fā)展。1.2設(shè)計(jì)內(nèi)容及方案的確定本課題要求以MCS-51系列單片機(jī)為核心,設(shè)計(jì)一個(gè)簡(jiǎn)易低頻信號(hào)發(fā)生器。要求能輸出0.1~50HZ的正弦波、三角波和方波信號(hào),能方便的用鍵盤選擇不同的輸出并在LED顯示器上顯示。單片機(jī)通過(guò)查表的方法完成波形數(shù)據(jù)要求,輸出的正弦波、三角波和方波信號(hào)頻率在0.1~50HZ可調(diào),系統(tǒng)有啟動(dòng)、調(diào)頻和不同波形選擇按鍵,轉(zhuǎn)速顯示要求至少4位。根據(jù)要求我們組討論如下:直接采用8位DA轉(zhuǎn)換芯片,讓單片機(jī)對(duì)8位DA芯片進(jìn)行控制,從而輸出波形。第2章基于單片機(jī)的簡(jiǎn)易低頻信號(hào)發(fā)生器的設(shè)計(jì)2.1總體設(shè)計(jì)框圖5151單片機(jī)DAC0832DAC0832數(shù)碼管示波器示波器按鍵圖2.1.1總體設(shè)計(jì)框圖如方框圖所示根據(jù)要求我們組討論如下:通過(guò)C程序的編譯,頻率檔位選擇按鍵UP、DOWN以及波形選擇按鍵SWITCH,通過(guò)數(shù)碼管顯示頻率檔位和波形。并且通過(guò)DAC0832實(shí)現(xiàn)數(shù)模轉(zhuǎn)換,最后用示波器觀察輸出的結(jié)果。2.2單片機(jī)結(jié)構(gòu)及系統(tǒng)工作原理數(shù)模轉(zhuǎn)換器器工作原理就是模擬信號(hào)數(shù)字化的逆過(guò)程,模擬信號(hào)數(shù)字化通過(guò)采樣、量化、編碼完成,那么數(shù)字信號(hào)模擬化的過(guò)程讀取二進(jìn)制碼、二進(jìn)制碼權(quán)值相加、輸出一個(gè)總的電流或電壓。這其實(shí)就是一個(gè)模擬電子計(jì)數(shù)中的加法器。量化電平個(gè)數(shù)相對(duì)于數(shù)模轉(zhuǎn)換的分辨率,對(duì)于低頻低成本的信號(hào)發(fā)生器,為了簡(jiǎn)化程序設(shè)計(jì),所以直接采用8位DA轉(zhuǎn)換芯片DAC0832,讓單片機(jī)AT89C51對(duì)8位DA芯片進(jìn)行控制,從而輸出波形。單片機(jī)又稱單片微控制器,它不是完成某一個(gè)邏輯功能的芯片,而是把一個(gè)計(jì)算機(jī)系統(tǒng)集成到一個(gè)芯片上。概括的講:一塊芯片就成了一臺(tái)計(jì)算機(jī)。它的體積小、質(zhì)量輕、價(jià)格便宜、為學(xué)習(xí)、應(yīng)用和開(kāi)發(fā)提供了便利條件。單盡管他的大部分功能集成在一塊小芯片上,但是它具有一個(gè)完整計(jì)算機(jī)所需要的大部分部件:CPU、內(nèi)存、內(nèi)部和外部總線系統(tǒng),大部分還會(huì)具有外存。同時(shí)集成諸如通訊接口、定時(shí)器,實(shí)時(shí)時(shí)鐘等外圍設(shè)備。我們所設(shè)計(jì)的程序是總結(jié)了目前各個(gè)智能化設(shè)計(jì)程序的水位監(jiān)測(cè)系統(tǒng),采用51控制單片機(jī),集水位采集、存儲(chǔ)、顯示及遠(yuǎn)程聯(lián)網(wǎng)于一體的設(shè)計(jì),使得儀器儀表數(shù)字化、智能化、微型化。同時(shí)采用AT89系列單片機(jī),AT89系列單片機(jī)是ATEML公司的8位Flash單片機(jī)。AT89系列單片的核心是8031,在軟件和硬件方面與MCS-51系列完全兼容,AT89系列的指令與有關(guān)定義和MCS一51完全相同,MCS—51系列單片機(jī)應(yīng)用系統(tǒng)編寫(xiě)的程序可以直接使用。AT89系列的引腳排列、定義與MCS-51完全一致,可以直接替換。由于內(nèi)部有FlashROM,所以編寫(xiě)的程序燒錄很方便,易于電擦除,可以反復(fù)使用,非常方便用戶對(duì)程序進(jìn)行修改,縮短研制周期,降低了研制成本。在單片機(jī)部有Flash存貯器,功耗特別低,F(xiàn)lashROM的容量從TA89C1051的1K到AT89S55的20K,有許多品種,選擇余地大。2.3系統(tǒng)工作流程圖開(kāi)始中斷初始化鍵盤掃描子程序數(shù)碼管顯示圖2.3.1系統(tǒng)工作流程圖在C編譯時(shí),通過(guò)在主程序內(nèi)設(shè)置中斷初始化、調(diào)用按鍵子程序、檔位頻率鍵、波形種類選擇鍵的設(shè)置,在輔助程序中編譯好各個(gè)子程序使得程序可以通順流程的進(jìn)行2.4獨(dú)立按鍵流程圖編譯按鍵子程序時(shí),要求開(kāi)始后系統(tǒng)默認(rèn)設(shè)置波形種類選擇檔位為1,設(shè)置頻率檔位為5,通過(guò)標(biāo)志位來(lái)判斷走向,如果標(biāo)志位不為0則直接結(jié)束,如果標(biāo)志位為0,則按鍵松開(kāi)后看a的取值來(lái)選擇波形種類,如果a>3,則認(rèn)為a=1,如果不大于則結(jié)束。鍵松開(kāi)?鍵松開(kāi)?SWITCH標(biāo)志位=0?YNa+1開(kāi)始SWITCH按下?消抖延時(shí)20msNYa=1a>3?結(jié)束YN圖2.4.1獨(dú)立按鍵流程圖2.5中斷服務(wù)程序流程圖開(kāi)開(kāi)始a=1?a=2?Case語(yǔ)句給定時(shí)器賦初值輸出正弦波輸出三角波輸出方波YYa=3?YNN結(jié)束i++;if(i>255)i=0;圖2.5.1中斷服務(wù)程序流程圖程序開(kāi)始后根據(jù)Case語(yǔ)句給定時(shí)器賦初值,判定a的取值,如果a=1則輸出正弦波形,如果a=2則輸出三角波形,如果a=3則輸出方波波形,待波形輸出后看中斷服務(wù)計(jì)數(shù)i的取值如果i++;if(i>255)i=0,則程序結(jié)束。第3章各硬件單元電路的設(shè)計(jì)3.1AT89C51單元電路的設(shè)計(jì)單片機(jī)的設(shè)計(jì)利用P1、P2口共同控制數(shù)碼管的一系列顯示,P1口為段碼輸出,P2.0、P2.3作為位碼輸出,P0口作為輸出,輸出到D/A轉(zhuǎn)換器的輸入,P3.2、P3.3、P3.4分別作為波形種類選擇按鍵的輸入,波形頻率檔位加的輸入,波形頻率檔位減的輸入,P3.6口連接到D/A轉(zhuǎn)換器的WR口。圖3.1.1A3.2按鍵的單元電路設(shè)計(jì)三個(gè)不同的按鍵一端連在單片機(jī)P3口,另一端接地使得電路連通,在按鍵與單片機(jī)間還需增加三個(gè)上拉電阻來(lái)避免出現(xiàn)懸空的可能性。圖3.2.1AT89C51單元設(shè)計(jì)電路圖3.3DAC0832芯片的單元電路設(shè)計(jì)本單元的設(shè)計(jì)主要是把單片機(jī)的數(shù)字輸出轉(zhuǎn)換成模擬輸出,把單片機(jī)的八位輸出送到D/A轉(zhuǎn)換器的D10到D17作為轉(zhuǎn)換器的輸入,從單片機(jī)P3.6口輸出的信號(hào)送到D\A寄存器選通輸入WR。因?yàn)镈\A轉(zhuǎn)換器的輸出是電流,所以要加一個(gè)運(yùn)算放大器把電流轉(zhuǎn)換成電壓。圖3.3.1DAC0832單元設(shè)計(jì)電路第4章系統(tǒng)仿真由于本次課程設(shè)計(jì)條件的限制,只做了軟件(protues)仿真。按照設(shè)計(jì)的電路連接好,電路接好后,按照預(yù)先設(shè)定好的調(diào)試步驟,逐步對(duì)電路進(jìn)行系統(tǒng)調(diào)試,調(diào)試結(jié)果做如下:4.1方波當(dāng)數(shù)碼管上第四位及波形種類顯示位顯示為3時(shí),示波器中顯示為方波,此時(shí)頻率的大小受頻率檔位選擇鍵的控制。圖4.1.1方波仿真圖4.2正弦波當(dāng)數(shù)碼管上第四位及波形種類顯示位顯示為1時(shí),示波器中顯示為正弦波,此時(shí)頻率的大小受頻率檔位選擇鍵的控制。圖4.2.2正弦波仿真圖4.3三角波當(dāng)數(shù)碼管上第四位及波形種類顯示位顯示為2時(shí),示波器中顯示為三角波,此時(shí)頻率的大小受頻率檔位選擇鍵的控制。4.3.1三角波仿真圖結(jié)束語(yǔ)這次單片機(jī)課程設(shè)計(jì)我們歷時(shí)兩個(gè)星期,但經(jīng)過(guò)這兩個(gè)星期的實(shí)踐和體驗(yàn)下來(lái),我對(duì)單片機(jī)越來(lái)越感興趣了,之前對(duì)我來(lái)說(shuō)學(xué)到的僅是那些理論知識(shí),通過(guò)這次設(shè)計(jì)的具體應(yīng)用,我發(fā)現(xiàn)了它的強(qiáng)大之處。這次課程設(shè)計(jì)感觸最深的是團(tuán)隊(duì)和合作。在這我要謝過(guò)那些幫我的老師和同學(xué)。現(xiàn)在想來(lái),學(xué)校安排的課程設(shè)計(jì)確實(shí)有著它深層的意義,它不僅僅讓我們綜合那些理論知識(shí)來(lái)運(yùn)用到設(shè)計(jì)和創(chuàng)新,還讓我們知道了一個(gè)團(tuán)隊(duì)凝聚在一起時(shí)所能發(fā)揮出的巨大潛能。通過(guò)這次課程設(shè)計(jì)我也發(fā)現(xiàn)了自身存在的不足之處,雖然感覺(jué)理論上已經(jīng)掌握,但在運(yùn)用到實(shí)踐的過(guò)程中仍有意想不到的困惑,經(jīng)過(guò)一番努力才得以解決。這也激發(fā)了我今后努力學(xué)習(xí)的興趣,我想這將對(duì)我以后的學(xué)習(xí)產(chǎn)生積極的影響。通過(guò)這次設(shè)計(jì),我懂得了學(xué)習(xí)的重要性,了解到理論知識(shí)與實(shí)踐相結(jié)合的重要意義,學(xué)會(huì)了堅(jiān)持、耐心和努力,這將為自己今后的學(xué)習(xí)和工作做出了最好的榜樣。單片機(jī)課程設(shè)計(jì)結(jié)束了,但通過(guò)設(shè)計(jì)我所學(xué)到的東西卻將長(zhǎng)久的存在。相信這次設(shè)計(jì)帶給我們的嚴(yán)謹(jǐn)?shù)膶W(xué)習(xí)態(tài)度和一絲不茍的科學(xué)作風(fēng)將會(huì)給我們未來(lái)的工作和學(xué)習(xí)打下一個(gè)更堅(jiān)實(shí)的基礎(chǔ)。最后真誠(chéng)的感謝李曉秀的老師的教育與指導(dǎo),感謝周定雙與陳順舟同學(xué)在整個(gè)過(guò)程中對(duì)我的幫助!參考文獻(xiàn)【1】教材《單片微型計(jì)算機(jī)技術(shù)》劉國(guó)榮編機(jī)械工業(yè)出版社【2】《單片微型計(jì)算機(jī)原理、應(yīng)用及接口技術(shù)》張迎新編國(guó)防工業(yè)出版社【3】單片機(jī)實(shí)用系統(tǒng)設(shè)計(jì)技術(shù)》房小翠編國(guó)防工業(yè)出版社【4】《單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)》何立民編北航出版社【5】《單片機(jī)原理及接口技術(shù)曹琳琳編國(guó)防科技大學(xué)出版社附錄A建議信號(hào)發(fā)生器設(shè)計(jì)控制電路及仿真附錄B源程序清單#include<reg51.h>#include<absacc.h>#defineP0XBYTE[0xdf00] //P0瑣存地址unsignedcharcodeseg[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};//顯示數(shù)組unsignedcharcodesig_sin[256]={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,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,0xd3,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,0x2a,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,0x29,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};unsignedchara;//全局信號(hào)信號(hào)選擇變量unsignedintb;//全局信號(hào)檔位變量送顯示unsignedintpinlv;// 檔位變量送定時(shí)器賦初值unsignedinti=0;//中斷服務(wù)計(jì)數(shù)sbitbutten_swtich=P3^2; //按鍵1波形選擇sbitbutten_up=P3^3; //按鍵2頻率+sbitbutten_down=P3^4; //按鍵3頻率-voiddelay1ms(unsignedcharii)//延時(shí)基時(shí)1毫秒子程序{unsignedcharjj;for(;ii>0;ii--)for(jj=0;jj<125;jj++);}voidInit_Timer1(void) //定時(shí)器0初始化{EA=1;//開(kāi)總中斷 ET1=1;//定時(shí)器T1中斷允許 TMOD=0x10;//TMOD=0001000B,使用定時(shí)器T1的模式1 TH1=(65536-500)/256;//定時(shí)器T1的高8位賦初值TL1=(65536-500)%256;//定時(shí)器T1的高8位賦初值 TR1=1;//啟動(dòng)定時(shí)器T1}voidbutten_scan1()//按鍵處理子程序{ if(butten_swtich==0)//信號(hào)按鍵選擇 { delay1ms(20);//消抖延時(shí) if(butten_swtich==0) { while(!butten_swtich); //等待按鍵松開(kāi) a++; if(a>3)a=1;//循環(huán)選擇 } }}voidbutten_scan2(){ if(butten_up==0)//信號(hào)按鍵選擇 { delay1ms(20);//消抖延時(shí) if(butten_up==0) { while(!butten_up);//等待按鍵松開(kāi) b=b+1; if(b>9)b=9;//再按加就不再加了 } } elseif(butten_down==0)//信號(hào)按鍵選擇 { delay1ms(10);//消抖延時(shí) if(butten_down==0) { while(!butten_down);//等待按鍵松開(kāi) b=b-1; if(b<1)b=1;//再按減就不再減了 }}}main(){ a=1;b=5;Init_Timer1(); while(1) { butten_scan1();//調(diào)用按鍵處理子程序 butten_scan2(); P2=0x1;P1=seg[a];//信號(hào)輸出送顯示1三角波2正弦波3方波 delay1ms(10);P2=0x8;P1=seg[b];//檔位顯示0~9默認(rèn)第5檔 delay1ms(10); }}voidOS_Timer1(void)interrupt3 //系統(tǒng)OS定時(shí)中斷服務(wù){(diào) switch(b) //根據(jù)不同的檔位給定時(shí)器賦不同的初值 { case1:pinlv=0xf2;break; case2:pinlv=0xf3;break; case3:pinlv=0xf4;break; case4:pinlv=0xf5;break; case5:pinlv=0xf6;break; case6:pinlv=0xf7;break; case7:pinlv=0xf8;break; case8:pinlv=0xf9;break; case9:pinlv=0xfa;break; }TH1=pinlv; //定時(shí)器賦初值TL1=0xff; //定時(shí)器賦初值if(a==1)P0=sig_sin[i];//P0口給正弦波信號(hào)數(shù)組elseif(a==2){if(i<128)P0=2*i;elseP0=254-2*i;}//P0口給三角波信號(hào)數(shù)組elseif(a==3){if(i>128)P0=0xff;elseP0=0;}//方波i++;if(i>255)i=0;}目錄第1章 緒論 11.1信號(hào)發(fā)生器的現(xiàn)狀與發(fā)展 11.2設(shè)計(jì)內(nèi)容及方案的確定 1第2章基于單片機(jī)的簡(jiǎn)易低頻信號(hào)發(fā)生器的設(shè)計(jì) 22.1總體設(shè)計(jì)框圖 22.2單片機(jī)結(jié)構(gòu)及系統(tǒng)工作原理 32.3系統(tǒng)工作流程圖 42.4獨(dú)立按鍵流程圖 42.5中斷服務(wù)程序流

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(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)論