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

下載本文檔

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

文檔簡介

畢業(yè)設(shè)計(jì)(論文)中文摘要(題目):基于單片機(jī)的信號發(fā)生器設(shè)計(jì)摘要:此函數(shù)信號發(fā)生器是基于單片機(jī)AT89C51設(shè)計(jì)而成的,能夠產(chǎn)生頻率范圍在0Hz—535Hz的鋸齒波、正弦波、三角波、矩形波四種波形,并且能夠通過液晶屏1602顯示各自的波形類型以及頻率數(shù)值。首先,單片機(jī)AT89C51經(jīng)過程序設(shè)計(jì)的方法生成各種數(shù)字信號,再通過D/A轉(zhuǎn)換器DAC0832將數(shù)字信號轉(zhuǎn)換成模擬信號,濾波放大。接著,通過按鍵來控制四種波形的類型選擇、和頻率數(shù)值選擇,并由液晶屏1602顯示其頻率數(shù)值和波形類型??偟南到y(tǒng)包括信號發(fā)生局部、數(shù)/模轉(zhuǎn)換局部以及液晶顯示局部三大局部,其中尤其對數(shù)/模轉(zhuǎn)換局部和波形產(chǎn)生和變化局部進(jìn)行詳細(xì)論述。關(guān)鍵詞:AT89C51DAC0832液晶屏1602Title:DesignofsignalgeneratorbasedonMCUAbstract:ThisfunctionsignalgeneratorisbasedontheAT89C51microcontrollerdesign,capableofgeneratingfrequencyrange0Hz-535Hzsawtooth,sine,trianglewave,squarewave,fourtypesofwaveforms,andeachtypeofwaveformandfrequencycanbedisplayedbytheLCDscreen1602value.First,AT89C51microcontrollerprogrammingmethodtogenerateavarietyofdigitalsignalthroughtheD/AconverterDAC0832convertsthedigitalsignalintoananalogsignal,filteredandamplified.Then,thekeytocontrolthefourwaveformtypeselection,andfrequencyselectionofvalues??,thevalueofitsfrequencyandwaveformtypeisdisplayedbytheLCDscreen1602.Thetotalsystemincludingasignalgeneratingpartofthedigital/analogconvertingsectionandaliquidcrystaldisplaysectionofthreeparts,whereininparticularforthedigital/analogconversionpartandthewaveformgeneratingandchangingpartdiscussesindetail.keywords:AT89C51DAC0832LCDinscreen1602目錄TOC\o\h\z\u1引言31.1研究背景41.2國內(nèi)外的研究現(xiàn)狀和開展趨勢52設(shè)計(jì)要求53設(shè)計(jì)總體方案54硬件電路實(shí)現(xiàn)74.1單片機(jī)最小系統(tǒng)的設(shè)計(jì)74.1.1時(shí)鐘電路84.1.2復(fù)位電路84.2D/A轉(zhuǎn)換電路94.3放大濾波電路124.4鍵盤模塊的設(shè)計(jì)134.5顯示模塊的設(shè)計(jì)145軟件程序設(shè)計(jì)156測試儀器及測試說明17結(jié)論17致謝17參考文獻(xiàn)18附錄A19附錄B201引言信號發(fā)生器是一種常用信號源。通常能夠產(chǎn)生正弦波、方波、三角波、鋸齒波等多種波形,因其時(shí)間波形可用某種時(shí)間函數(shù)來描述而得名。函數(shù)信號發(fā)生器在電路實(shí)驗(yàn)和設(shè)備檢測中具有十分廣泛的應(yīng)用,密切地聯(lián)系著工業(yè)、農(nóng)業(yè)、生物醫(yī)學(xué)等產(chǎn)業(yè),并對它們的開展起到極大的促進(jìn)作用。單片機(jī)是一種集成電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU、隨機(jī)存儲(chǔ)器RAM、只讀存儲(chǔ)器ROM、多種I/O口和中斷系統(tǒng)、定時(shí)器/計(jì)數(shù)器等功能〔可能還包括顯示驅(qū)動(dòng)電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路〕集成到一塊硅片上構(gòu)成的一個(gè)小而完善的微型計(jì)算機(jī)系統(tǒng),在工業(yè)控制領(lǐng)域廣泛應(yīng)用。從上世紀(jì)80年代,由當(dāng)時(shí)的4位、8位單片機(jī),開展到現(xiàn)在的300M的高速單片機(jī)。隨著單片機(jī)技術(shù)的快速開展與普遍應(yīng)用,函數(shù)信號發(fā)生器的性能和性價(jià)比將會(huì)有更大的提升空間。基于單片機(jī)的函數(shù)信號發(fā)生器將為智能化生活提供實(shí)質(zhì)的幫助。設(shè)計(jì)旨在通過查找文獻(xiàn)資料提高自己獨(dú)立學(xué)習(xí)、思考能力。提高把理論運(yùn)用到實(shí)踐當(dāng)中的能力,提升認(rèn)識(shí)水平。1.1研究背景隨著經(jīng)濟(jì)與科技不斷開展,相應(yīng)的測試儀器與手段也有了許多改善與提高,但是對之要求也不斷提高。波形發(fā)生器的信號,使用者根據(jù)具體的要求,將其作為鼓勵(lì)源,測得感興趣的參數(shù)。信號源仿真各種測試信號,給待測電路,從而滿足實(shí)現(xiàn)需求。信號發(fā)生器在仿真實(shí)驗(yàn)占有重要地位,對于測試儀器來說也同樣不可缺少,因此對相關(guān)信號發(fā)生器的研究開發(fā)有著一定的意義。傳統(tǒng)的信號發(fā)生器電路復(fù)雜,控制靈活度不夠,本錢也相對較高。雖然我國所研制的波形發(fā)生器在一定程度上已有了一些成果,但與國外技術(shù)確實(shí)還存在一定差距,因此很有必要提高相關(guān)方面的研究。利用單片機(jī)的控制靈活性,外設(shè)處理能力強(qiáng)等特點(diǎn),實(shí)現(xiàn)頻率與幅度可調(diào)的多種波形,這就克服了傳統(tǒng)的缺點(diǎn),具有良好的實(shí)用性。同時(shí)根據(jù)程序的易控制性,可以容易實(shí)現(xiàn)各種復(fù)雜的調(diào)頻條幅功能。1.2國內(nèi)外的研究現(xiàn)狀和開展趨勢

我國的單片機(jī)應(yīng)用始于80年代,雖然開展迅速,但相對于世界市場我國的占有率還很低。到目前為止,由于我國的微電子技術(shù)和制造工藝都比擬落后及國外單片機(jī)的競爭等原因,我國還沒有設(shè)計(jì)生產(chǎn)出自己的單片機(jī)。國內(nèi)的單片機(jī)目前注重的還只是低中檔的應(yīng)用,普遍采用的是8或16位的單片機(jī),對宏單片機(jī)和DSP等高檔的應(yīng)用還處于初始階段。在1980年以前,信號發(fā)生器全部屬于模擬方式,借助電阻電容,電感電容、諧振腔、同軸線作為振蕩回路產(chǎn)生正弦或其它函數(shù)波形。頻率的變動(dòng)由機(jī)械驅(qū)動(dòng)可變元件,如電容器或諧振腔來完成,往往調(diào)節(jié)范圍受到限制。1980年以后,數(shù)字技術(shù)日益成熟,信號發(fā)生器絕大局部不再使用機(jī)械驅(qū)動(dòng)而采用數(shù)字電路。數(shù)字合成技術(shù)使信號發(fā)生器變?yōu)榉浅]p便、覆蓋頻率范圍寬、輸出動(dòng)態(tài)范圍大、容易編程、適用性強(qiáng)和使用方便。單片機(jī)的開展趨勢為:低功耗與高性能、低電壓、低噪聲與高可靠性、采用CMOS技術(shù)、外圍電路內(nèi)裝、串行擴(kuò)展技術(shù)等。同時(shí),單片機(jī)的快速開展也帶動(dòng)著基于單片機(jī)的信號發(fā)生器的快速開展,如:任意波形發(fā)生器、矢量波形發(fā)生器。使得信號發(fā)生器的應(yīng)用更加廣泛。2設(shè)計(jì)要求1、利用AT89C51單片機(jī)設(shè)計(jì)的函數(shù)信號發(fā)生器產(chǎn)生正弦波、方波、三角波、鋸齒波四種波形。2、四種波形輸出類型可通過按鍵選擇。3、波形頻率可調(diào)〔頻率:0~535Hz〕。4、需顯示波形的頻率。3設(shè)計(jì)總體方案該函數(shù)信號發(fā)生器采用單片機(jī)AT89C51作為數(shù)據(jù)處理及控制核心,由單片機(jī)完成人機(jī)界面、系統(tǒng)控制、信號的采集分析以及信號的處理和變換。AT89C51單片機(jī)本身就是一個(gè)完整的微型計(jì)算機(jī),具有組成微型計(jì)算機(jī)的各局部部件:中央處理器CPU、隨機(jī)存取存儲(chǔ)器RAM、只讀存儲(chǔ)器ROM、I/O接口電路、定時(shí)器/計(jì)數(shù)器以及串行通訊接口等,只要將AT89C51再配置鍵盤、數(shù)模轉(zhuǎn)換及波形輸出、放大電路等局部,即可構(gòu)成所需的函數(shù)信號發(fā)生器。首先,單片機(jī)AT89C51經(jīng)過程序設(shè)計(jì)的方法生成各種數(shù)字信號,再通過D/A轉(zhuǎn)換器DAC0832將數(shù)字信號轉(zhuǎn)換成模擬信號,濾波放大。接著,通過按鍵來控制四種波形的類型選擇、和頻率數(shù)值選擇,并由液晶屏1602顯示其頻率數(shù)值。其信號發(fā)生器總體設(shè)計(jì)如圖3.1所示。圖3.1函數(shù)信號發(fā)生器總體設(shè)計(jì)4硬件電路實(shí)現(xiàn)4.1單片機(jī)最小系統(tǒng)的設(shè)計(jì)本次設(shè)計(jì)選用的單片機(jī)芯片是AT89C51單片機(jī)。AT89C51是美國ATMEL公司生產(chǎn)的低電壓,高性能CMOS8位單片機(jī),片內(nèi)含4kbytes的可反復(fù)擦寫的只讀程序存儲(chǔ)器(PEROM)和128bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM)。器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器(CPU)和Flash存儲(chǔ)單元。用AT80C51單片機(jī)構(gòu)成最小應(yīng)用系統(tǒng)時(shí),只要將單片機(jī)接上時(shí)鐘電路和復(fù)位電路即可。如圖4.1所示。圖4.1單片機(jī)最小系統(tǒng)4.1.1時(shí)鐘電路AT89C51中有一個(gè)用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是該放大器的輸入端和輸出端。這個(gè)放大器與作為反應(yīng)元件的片外石英晶休或陶瓷諧振器一起構(gòu)成自激振蕩器。外接石英晶體(或陶瓷諾振器)及電容C1,C2接在放大器的反應(yīng)回路中構(gòu)成并聯(lián)振蕩電路。如圖4.2所示。圖4.2時(shí)鐘電路4.1.2復(fù)位電路當(dāng)MCS-5l系列單片機(jī)的復(fù)位引腳RST(全稱RESET)出現(xiàn)2個(gè)機(jī)器周期以上的高電平時(shí),單片機(jī)開始復(fù)位。單片機(jī)復(fù)位電路是指單片機(jī)的初始化操作。圖4.3復(fù)位電路單片機(jī)啟運(yùn)運(yùn)行時(shí),都需要先復(fù)位,其作用是使CPU和系統(tǒng)中其他部件處于一個(gè)確定的初始狀態(tài),并使這個(gè)狀態(tài)開始工作。如圖4所示。上電后,由于電容C1的充電和反相門的作用,使RST持續(xù)一段時(shí)間的高電平。當(dāng)單片機(jī)已在運(yùn)行當(dāng)中時(shí),按下復(fù)位鍵sj1后松開,也能使RST為一段時(shí)間的高電平,從而實(shí)現(xiàn)上電或開關(guān)復(fù)位的操作。如圖4所示。4.2D/A轉(zhuǎn)換電路D/AC0832是雙列直插式8位D/A轉(zhuǎn)換器。能完成數(shù)字量輸入到模擬量(電流)輸出的轉(zhuǎn)換。DAC0832主要由8位輸入存放器、8位DAC存放器、8位D/A轉(zhuǎn)換器以及輸入控制電路四局部組成。如圖4.4所示。圖4.4DAC0832內(nèi)部結(jié)構(gòu)圖D/ACA0832各引腳的功能如下: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〕有效;R2:DAC存放器選通輸入線,負(fù)脈沖〔脈寬應(yīng)大于500ns〕有效。由WR1、WXFER的邏輯組合產(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ù);圖4.5D/ACA0832引腳圖Rfb:反應(yīng)信號輸入線,改變Rfb端外接電阻值可調(diào)整轉(zhuǎn)換滿量程精度;Vcc:電源輸入端,Vcc的范圍為+5V~+15V;VREF:基準(zhǔn)電壓輸入線,VREF的范圍為-10V~+10V;AGND:模擬信號地DGND:數(shù)字信號地通常DAC0832有三種不同的工作方式,主要依據(jù)對數(shù)據(jù)鎖存器和DAC鎖存器的控制方式劃分:直通方式,單緩沖方式和雙緩沖方式。圖4.6單片機(jī)與D/AC0832直通連接方式本設(shè)計(jì)采用直通方式,當(dāng)ILE接高電平,CS、WR1、WR2和XFER都接數(shù)字地時(shí),DAC處于直通方式,8位數(shù)字量一旦到達(dá)DI7~DI0輸入端,就立即加到8位D/A轉(zhuǎn)換器,被轉(zhuǎn)換成模擬量。如圖7所示。4.3放大濾波電路如圖4.7所示,LM324的5管腳與DAC0832的〔IOUT2〕12管腳相連,LM324的6管腳與DAC0832的〔IOUT1〕11管腳相連,LM324的7管腳與DAC0832的REF〔9〕管腳相連.第一級運(yùn)算放大器的作用是將DAC0832輸出的電流信號轉(zhuǎn)化為電壓信號V1,第二級運(yùn)算放大器的作用是將V1通過反向放大電路-〔R2/R1〕倍。圖4.7放大濾波電路圖在第二個(gè)運(yùn)算放大器的輸出端連了一個(gè)低通濾波器。如果不加低通濾波器,也能夠生成波形,但是產(chǎn)生的信號中毛刺很多,加一個(gè)低通濾波器不僅起到的濾波的作用,還起到了平滑的作用。低通濾波器的截止頻率F=1/(2*pi*R3*C6),這里我們選擇R3為100歐姆電阻,C6為104電容,截止頻率F=16KHZ。4.4鍵盤模塊的設(shè)計(jì)通常單片機(jī)外部擴(kuò)展鍵盤的方式有獨(dú)立式鍵盤,矩陣鍵盤以及專門的鍵盤電路。獨(dú)立式鍵盤就是一個(gè)I/O口擴(kuò)展一個(gè)開關(guān),這種方式程序編寫比擬容易,只需要檢測單片機(jī)I/O某一時(shí)刻是否為低電平就能檢測出其的按鍵輸入情況,而且按鍵和I/O口一一對應(yīng),所以能夠輕松識(shí)別按鍵的值,缺點(diǎn)是由于一個(gè)I/O口能連接一個(gè)按鍵,當(dāng)按鍵數(shù)量比擬多的時(shí)候,勢必占用了大量的I/O口,對系統(tǒng)的擴(kuò)展造成巨大的困難。圖4.8獨(dú)立鍵盤輸入由于本設(shè)計(jì)使用的按鍵數(shù)量并不多。所以采用獨(dú)立鍵盤能夠減少系統(tǒng)電路的復(fù)雜程度,也大大簡化了對編程的要求。如圖9所示。4.5顯示模塊的設(shè)計(jì)LCD1602液晶顯示模塊,它可以顯示兩行,每行16個(gè)字符,采用單+5V電源供電,外圍電路配置簡單。LCD1602管腳功能如表4.1所示。表4.1LCD1602管腳功能引腳號符號狀態(tài)功能1Vss電源地2Vdd電源+5V3V0比照度控制端4RS輸入存放器選擇5R/W輸入讀、寫操作6E輸入使能信號7DB三態(tài)數(shù)據(jù)總線8DB三態(tài)數(shù)據(jù)總線9DB三態(tài)數(shù)據(jù)總線10DB三態(tài)數(shù)據(jù)總線11DB三態(tài)數(shù)據(jù)總線12DB三態(tài)數(shù)據(jù)總線13DB三態(tài)數(shù)據(jù)總線14DB三態(tài)數(shù)據(jù)總線15LEDA輸入背光+5V16LEDK輸入背地光LCD1602主要管腳介紹:V0:液晶顯示器比照度調(diào)整端,接地電源時(shí)比照度最高,比照度過高時(shí)會(huì)產(chǎn)生‘鬼影’,使用時(shí)可以通過一個(gè)10K的電位器調(diào)整比照度。RS:存放器選擇,高電平時(shí)選擇數(shù)據(jù)存放器;低電平時(shí)選擇指令存放器。R/W:讀寫信號線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。當(dāng)RS和R/W共同為低電平時(shí)可以寫入指令或者顯示地址;當(dāng)RS為高電平R/W為高電平R/W為低電平時(shí)可以寫入數(shù)據(jù)。E:使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行指令。LCD1602的八位數(shù)據(jù)端接單片機(jī)的P0口,其使能端RS、E分別接單片機(jī)的P3.5、P3.0。通過軟件控制液晶屏可以顯示波形的種類以及波形的頻率。如圖4.9所示。圖4.9LCD1602與單片機(jī)連接電路圖5軟件程序設(shè)計(jì)軟件設(shè)計(jì)上,根據(jù)功能分了幾個(gè)模塊編程。模塊主要有:主程序模塊、外部中斷0模塊,外部中斷1模塊。主程序模塊:先是進(jìn)行初始化的工作,然后根據(jù)波形標(biāo)志a,b,c,d的值進(jìn)入相應(yīng)的while循環(huán)。在while循環(huán)中,單片機(jī)根據(jù)地址標(biāo)志位不停低查表,然后把查得的值賦給DAC0832的數(shù)據(jù)口,然后地址標(biāo)志位加一,并判斷地址標(biāo)志位是否等于64,如果是就置0再往下執(zhí)行,如果不是直接往下執(zhí)行。然后根據(jù)頻率標(biāo)志位進(jìn)行相應(yīng)的延時(shí)。如圖5.1所示。圖5.1主程序流程圖外部中斷0起到了控制波形,外部中斷1一起到控制頻率的作用。如圖5.2所示。圖5.2中斷程序6測試儀器及測試說明測量儀器:穩(wěn)壓電源、示波器、數(shù)字萬用表。測試說明:將編譯好的程序通過編程器下載到AT89C51芯片中,然后插到系統(tǒng)中即可獨(dú)立完成所有的控制。當(dāng)程序初始化后,液晶屏的上只顯示“Frequency:〞和“0050Hz〞,默認(rèn)狀態(tài)輸出波形為正弦波,按鍵1控制波形類型的選擇。按鍵2、3控制頻率變化。四種波形的頻率可調(diào)范圍,分別如下:正弦波:0—535Hz方波:0—535Hz三角波:0—535Hz鋸齒波:0—535Hz結(jié)論基于單片機(jī)AT89C51的函數(shù)信號發(fā)生器能夠產(chǎn)生正弦波、方波、鋸齒波、三角波四種波形。四種波形的類型和頻率都可以通過按鍵調(diào)節(jié),頻率調(diào)節(jié)的范圍是0到535HZ。波形的類型和頻率大小能夠通過液晶屏1602顯示。致謝本文是在老師的悉心指導(dǎo)下完成的,衷心感謝她在論文的寫作期間給與我的熱情幫助和指導(dǎo)。李老師淵博的知識(shí),認(rèn)真負(fù)責(zé)的工作作風(fēng),平易近人的態(tài)度讓我獲益匪淺。在此,向李老師表示最衷心的感謝和最誠摯的敬意。同時(shí),我還要感謝我的同學(xué),在我的畢業(yè)設(shè)計(jì)過程中,我屢次請教他們有關(guān)硬件、軟件方面的問題,他們都耐心地為我講解;在我的畢業(yè)論文寫作過程中,他們提出了很多建設(shè)性的意見,并給了我很多啟發(fā)。參考文獻(xiàn)1程全.基于AT89C52實(shí)現(xiàn)的多種波形發(fā)生器的設(shè)計(jì)[J].周口師范學(xué)院學(xué)報(bào),2005.22(5):57~58.2周明德.微型計(jì)算機(jī)系統(tǒng)原理及應(yīng)用[M].北京:清華大學(xué)出版社,2002.341~364.3劉樂善.微型計(jì)算機(jī)接口技術(shù)及應(yīng)用[M].北京:航空航天大學(xué)出版社,2001.258~264.4童詩白.模擬電路技術(shù)根底[M].北京:高等教育出版社,2000.171~202.5Intel,MicrocontrollerHandbook,1988[M].附錄A附錄B源程序#include<reg51.h>unsignedchari,sqar_num=128;//最大值100,默認(rèn)值50unsignedcharcho=0;//0:正弦波。1:方波。2:三角波。3:鋸齒波。unsignedcharnum=0;unsignedcharTIME0_H=0xff,TIME0_L=0xd9;//定時(shí)器0的初值設(shè)置;全局變量.對應(yīng)正弦波,鋸齒波50HZsbitchg=P1^0; //三角波100Hz.sbitfreq_u=P1^1;sbitfreq_d=P1^2;sbitduty_u=P1^3;sbitduty_d=P1^4;sbitcs=P3^7;bitflag=0;unsignedintFREQ=50;//初始化頻率,50HZsbitrs=P2^4;sbitlcdcs=P2^6;unsignedcharTempBuffer[7];unsignedcharvalue1[]={"Frequency:"};voiddelay(unsignedintms){ unsignedinti,j; for(j=0;j<ms;j++) for(i=0;i<120;i++);}unsignedcharcodesin_num[]={0,0,0, 0, 0, 0, 0, 0, 1, 1,1,1, 1,2,2,2,2, 3, 3, 4, 4, 4,5, 5, 6, 6, 7, 7, 8,8, 9, 9,10, 10, 11, 12, 12,13,14, 15, 15, 16, 17, 18,18, 19, 20, 21,22, 23, 24, 25, 25, 26, 27, 28, 29, 30, 31, 32,34, 35, 36, 37,38, 39, 40, 41, 42, 44, 45, 46, 47, 49, 50, 51,52, 54,55, 56,57, 59, 60, 61, 63, 64, 66, 67,68,70, 71,73,74, 75, 77, 78,80,81,83, 84, 86,87, 89, 90, 92, 93, 95, 96, 98, 99, 101,102,104,106, 107,109,110,112,113,115,116,118,120,121,123, 124,126,128,129, 131,132, 134, 135,137,139, 140, 142, 143, 145, 146, 148,149,151, 153,154, 156, 157, 159, 160, 162, 163, 165,166, 168, 169, 171, 172, 174, 175, 177,178, 180, 181,182, 184, 185, 187, 188, 189, 191, 192, 194, 195, 196, 198, 199,200, 201, 203, 204, 205, 206, 208, 209, 210, 211, 213, 214, 215, 216, 217, 218, 219, 220, 221, 223, 224, 225, 226, 227, 228, 229, 230, 230, 231, 232, 233, 234, 235, 236, 237, 237, 238, 239, 240, 240, 241, 242, 243, 243, 244, 245, 245, 246, 246, 247, 247, 248, 248, 249, 249, 250, 250, 251, 251,251,252, 252, 253, 253, 253,253, 254,254, 254, 254, 254, 255, 255, 255, 255,255,255, 255, 255,255};//調(diào)節(jié)局部——頻率voidfreq_ud(void){unsignedinttemp;if(freq_d==0) {FREQ--; }elseif(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; }elseif(cho==0|cho==3)//正弦波三角波默認(rèn)周期50hz65536-10^6//(512*FREQ){ temp=0xffff-1953/FREQ;TIME0_H=temp/256;TIME0_L=temp%256;}}//調(diào)節(jié)局部——方波的占空比voidduty_ud(void)//方波也采用512次中斷構(gòu)成一個(gè)周期。{if(duty_d==0&sqar_num>0) sqar_num--;elseif(duty_u==0&sqar_num<255) sqar_num++;}//波形發(fā)生函數(shù)voidsint(void){if(!flag){cs=0;P2=sin_num[num++];cs=1; if(num==0){num=255;flag=1;} }elseif(flag){ cs=0;P2=sin_num[num--];cs=1; if(num==255){num=0;flag=0;} }}voidsquare(void){if(i++<sqar_num){cs=0;P2=0XFF;cs=1;} else{cs=0;P2=0X00;cs=1;}}voidtriangle(void){cs=0;P2=num++;cs=1;}voidstw(void){if(~flag){cs=0;P2=num++;cs=1; if(num==0){num=255;flag=1;} }elseif(flag){ cs=0;P2=num--;cs=1; if(num==255){num=1;flag=0;} }}//1602顯示開始voidwrite_command(unsignedcharcommand){ rs=0; P0=command; lcdcs=1; lcdcs=0;}voidwrite_data(unsignedchardata0){ rs=1; P0=data0; lcdcs=1; lcdcs=0; }voidinit_1602(){ delay(15); write_command(0x38); delay(5); write_command(0x0c); delay(5); write_command(0x06); delay(5);}//1602顯示結(jié)束/*******************頻率值轉(zhuǎn)換為字符串**********************/voidtemp_to_str(){TempBuffer[0]=FREQ/1000+'0';//千位TempBuffer[1]=FREQ%1000/100+'0';//百位TempBuffer[2]=FREQ%1000%100/10+'0';//十位TempBuffer[3]=FREQ%1000%100%10+'0';//個(gè)位TempBuffer[4]='H';TempBuffer[5]='Z';TempBuffer[6]='\0';}/*******************頻率顯示*****************/voidshow_frequency()

溫馨提示

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

評論

0/150

提交評論