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

下載本文檔

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

文檔簡介

1、 密級: 摘要信號發(fā)生器是一種應用廣泛的信號源,它經(jīng)常應用在自動控制系統(tǒng)電、子技術實驗等科研領域。目前, 有很多的信號發(fā)生器構(gòu)成方法,例如采用專用的信號發(fā)生芯片max038、采用dds(direct2digital synthesis)型的任意波發(fā)生器、以及傳統(tǒng)的awg等。該可調(diào)低頻信號發(fā)生器的設計以單片機(at89c52)作為核心控制系統(tǒng),由晶體振蕩電路,地址發(fā)生電路,波形產(chǎn)生電路,運算放大電路,數(shù)字模擬轉(zhuǎn)換電路組成。由于輸出波形的頻率較低,所以決定使用at89c52作為控制電路,用中斷查表法形成波形的數(shù)據(jù)輸出,再用d/a轉(zhuǎn)換器輸出需要的波形信號。該信號發(fā)生器可以輸出正弦波,方波,三角波三種

2、波形,可提供輸出頻率從1hz-10khz的方波以及頻率從1hz-5000hz的正弦波(三角波)。該設計適用于初學者將其作為一學習板使用,系統(tǒng)價格低廉,功能實用。關鍵詞:可調(diào)低頻信號發(fā)生器;at89c52; 正弦波;方波;三角波design of adjustable low-frequency signal generator based on the mcuabstractsignal generator is a staple signal source ,which is widely used in automatic control system, the experiment of

3、 electronic technology and other scientific research field .at present, the signal generator has many methods to design, such as the dedicated chip max038, the signal generator based on dds (direct2digital synthesis)as well as the traditional, such as awg.the adjustable low-frequency signal generato

4、r consists of the microcontroller at89c52, the crystal circuit, the address maker circuit, the waveforms maker circuit, the operational amplifiers circuit and the transformation circuit between analog signals and digital signals. for the output signals are low frequency, we choose the microcontrolle

5、r at89c52 which use the interrupt lookup method to output the waveform data. the signal generator can output three waves including sine wave, square wave, triangle wave. the range of frequency is 1hz2khz. the design can be used as a developed target board by beginners, and the cost of the system is

6、inexpensive, nevertheless, the function is applied.key words: signal generator; at89c51;frequency of output; sine wave; square wave; triangle wave.目錄摘要abstractii第一章 緒 論11.1低頻信號發(fā)生器的介紹11.2單片機的發(fā)展及簡要介紹11.3 at89c52芯片的介紹21.4 tlc7528數(shù)模轉(zhuǎn)換器的介紹7第二章 單片機的仿真軟件的應用82.1 proteus isis軟件的應用介紹82.2 keil軟件的應用介紹9第三章 可調(diào)低頻信

7、號發(fā)生器的設計103.1 信號發(fā)生器設計的基本要求103.2 信號發(fā)生器的電路設計與仿真103.2.1硬件設計部分:103.2.2 軟件設計部分:113.2.3電路仿真:153.3 信號發(fā)生器的實物制作213.3.1 protel dxp制版:213.3.3 測試與調(diào)試233.3.4 心得體會24參考文獻25致謝26第一章 緒 論1.1低頻信號發(fā)生器的介紹隨著電子測量以及很多部門對各種信號發(fā)生器的廣泛需要以及電子技術的快速發(fā)展,促使信號發(fā)生器性能提高,種類增多。尤其隨著70年代微處理器的嶄露頭角,更促使信號發(fā)生器向著智能化、自動化方向發(fā)展。現(xiàn)在,微處理器運用在許多信號發(fā)生器上,因而這些信號發(fā)生

8、器具備了自校、自檢、診斷自動故障和形成自動波形和修正等功能,能夠和控制計算機以及其他的測量儀器方便的一起構(gòu)成自動測試系統(tǒng)。當前信號發(fā)生器總的發(fā)展是向著低功耗、高頻率精度、寬頻率覆蓋、多功能、智能化和自動化方向發(fā)展。在工程教育,科學研究及生產(chǎn)實踐中,如教學實驗、工業(yè)過程控制、材料試驗、動態(tài)分析、生物醫(yī)學、機械振動試驗等領域,低頻信號發(fā)生器常常會有用武之地。而在我們一些科學研究中,以及日常生活中,方波和正弦波、矩形波信號是常用的基本測試信號。譬如在電視機、示波器等儀器中,為了利用熒光屏顯示圖像,讓電子能夠按照一定得規(guī)律運動,常用到方波產(chǎn)生器作為時基電路。信號發(fā)生器作為一種通用的電子設備,在科研、測

9、控、通訊生產(chǎn)等領域都得到了非常廣泛的運用。 但市面上能看到的信號發(fā)生器在帶寬、波形種類、頻率精度及程控方面都已經(jīng)不能夠滿足許多方面實際應用的各種要求。加之各類功能的半導體集成芯片的迅速發(fā)展,使我們研制一種寬頻帶、功耗低,能產(chǎn)生多種波形并具有程控等低頻的信號發(fā)生器成為迫切的需求。該設計課題的研究和制作全面說明對低頻信號發(fā)生器要有一個全面的理解掌握、對低頻信號的發(fā)生原理要非常了解,以及對低頻信號發(fā)生器工作流程要有一定的了解:要熟練聯(lián)接調(diào)試波形的設定,單片機(52單片機,顯示電路),d/a轉(zhuǎn)換,連接通信,顯示和各模塊等各個部分,能夠正確的掌握常規(guī)芯片的使用方法、掌握簡單低頻信號發(fā)生器應用系統(tǒng)軟件的設

10、計方案,進一步提高我們在信號處理方面的實際操作能力。1.2單片機的發(fā)展及簡要介紹隨著社會的發(fā)展,家電智能化給大家的生活帶來了革命性的變化。在我們的生活的周圍,單片機的運用可見,如冰箱、洗衣機、電腦外圍芯片、防盜器和工業(yè)控制器等。單片機以其強大的控制能力已經(jīng)被廣泛的運用于諸多領域,配以各種接口傳感器能夠?qū)崿F(xiàn)系統(tǒng)的智能化。無論是在工業(yè)制造領域、醫(yī)療領域,還是在國防軍事領域、航天航空領域,微控制器都起著非常重要的作用。從最初的8位控制器到現(xiàn)在的16位、32位控制器都還有很強勁的發(fā)展和應用空間。那到底什么是單片機呢?所謂“單片機”,單片機就是在半導體硅片上合成了微處理器(cpu)、存儲器(ram,ro

11、m,eprom)和各種輸入輸出接口(定時器/計數(shù)器,并行i/o口,串行口,模擬數(shù)字轉(zhuǎn)換器以及脈寬調(diào)制器pwm等),這樣的一塊集成電路芯片具備了一臺計算機的屬性,因此被稱為單片機。在單片機剛面世的時候,其結(jié)構(gòu)單一,功能較差,但經(jīng)過20多年的迅猛發(fā)展,單片機的結(jié)構(gòu)已經(jīng)變得十分的精妙,集成度也提高了好幾個數(shù)量級,功能更是當年無法相提并論的。在國際上,多把單片機稱為微控制器mcu,由于在使用中,通常是它處于測控系統(tǒng)的中心地位并嵌入其中,所以我們又把單片機稱為嵌入式控制器emcu。在中國,我們習慣于把它稱為“單片機”,在本課程設計中使用的是at89c52。1.3 at89c52芯片的介紹(1)主要性能

12、:與mcs-51單片機產(chǎn)品兼容、8k字節(jié)的在系統(tǒng)可編程flash存儲器、一千次的擦寫周期、全靜態(tài)操作:0hz24mhz、三級加密程序存儲器、三十二個可編程i/o口線、三個16位定時器/計數(shù)器以及八個中斷源、全雙工uart串行通道、低功耗空閑和掉電模式、掉電后中斷可喚醒、看門狗定時器、雙數(shù)據(jù)指針、掉電標識符。(2)功能特性:at89c52是一種低功率消耗、性能較高cmos8位微控制器,具備8k在系統(tǒng)可編程flash 存儲器。使用atmel公司高密度非易失性存儲器高技術制作,可以與工業(yè)80c51產(chǎn)品指令和引腳全部兼容片上。flash能夠允許程序存儲器在系統(tǒng)可編程執(zhí)行,亦適合于常規(guī)編程器。在單芯片上

13、,擁有靈巧的8位cpu和在系統(tǒng)可編程flash,使得at89c52為眾多嵌入式控制應用系統(tǒng)提供高靈活、超有效的解決方案。at89c52具有以下標準功能:8k字節(jié)flash,256字節(jié)ram,32 位i/o口線,看門狗定時器,2個數(shù)據(jù)指針,三個16位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。此外,at89c52 可降低到0hz靜態(tài)邏輯操作,支持2種軟件可抉擇節(jié)電模式。空閑模式時,cpu 不再工作,卻允許ram、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,ram內(nèi)容被保留下來,振蕩器被凍結(jié),單片機所有工作都停止,直到下一個中斷開始或者有硬件復位為止。(3)管

14、腳說明:圖1-1 at89c52管腳分布vcc:供電電壓,gnd:接地。 p0口:p0口作為一個8位漏級開路雙向的i/o口,每腳可以吸納8ttl門電流。當p1口的管腳第一次寫1時,被視為輸入高阻。p0可以用于外部程序或者數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)或者地址的第八位。在fiash編程時,p0 口被視為為原碼輸入口,當fiash開始校驗時,p0輸出原碼,此時p0外部一定被拉高。p1口:p1口是內(nèi)部提供的8位上拉電阻的雙向i/o口,p1口緩沖器能收到輸出4ttl門電流。p1口管腳寫入1后,可作為輸入,其管腳被內(nèi)部上拉為高電平, p1口被外部下拉為低電平的時候,將輸出電流,這是由于內(nèi)部上拉的原因。在

15、flash編程和校驗時,p1口被認為是第八位地址接收。 p2口:p2口是一個8位內(nèi)部上拉電阻的雙向i/o口,p1口緩沖器可收到或者輸出4個ttl門電流,當p2口被寫“1”時,其管腳被內(nèi)部上拉為高電平,且作為輸入。作為輸入,p2口的管腳將被外部拉低的時侯,將輸出電流。這是由于內(nèi)部上拉的原因。p2口在用于外部程序存儲器或者是16位地址外部數(shù)據(jù)存儲器進行操作時,p2口輸出地址作為高八位。在給出地址“1”時,它有內(nèi)部上拉的優(yōu)點,當對外部八位地址數(shù)據(jù)存儲器進行讀寫操作時,p2口輸出它的特殊功能寄存器上的內(nèi)容。p2口在flash編程和校驗的時候,接收信號作為高八位地址信號和控制信號。 p3口:p3口管腳是

16、8個帶內(nèi)部上拉電阻的雙向i/o口,p3口緩沖器可接收輸出4個ttl門電流。當p3口寫入“1”后,被內(nèi)部上拉為高電平,并且作用于輸入。作為輸入,因為外部下拉為低電平,p3口將輸出電流(ill),這是由于上拉的原因。 p3口也可作為at89c51的一些特殊功能口。p3口管腳備選功能: p3.0 rxd(串行輸入口)p3.1 txd(串行輸出口)p3.2 /int0(外部中斷0)p3.3 /int1(外部中斷1)p3.4 t0(記時器0外部輸入)p3.5 t1(記時器1外部輸入)p3.6 /wr(外部數(shù)據(jù)存儲器寫選通)p3.7 /rd(外部數(shù)據(jù)存儲器讀選通)p3口同時為閃爍編程和編程校驗接收一些控制

17、信號。rst:復位輸入。當振蕩器復位器件時,要保持rst腳兩個機器周期的高電平時間。ale/prog:當訪問外部存儲空間時,地址鎖存允許的輸出電平用于鎖存地址的低位字節(jié)。在flash編程期之中,此引腳作用于輸入編程脈沖。在平時,ale端以一定的頻率周期輸出正脈沖函數(shù),此頻率為振蕩器頻率的六分之一。因此它可用于對外部輸出的脈沖或用于定時作用的目的。然而值得注意的是:每當用作外部數(shù)據(jù)存儲的時候,它將跳過一個ale脈沖。如想禁止ale的輸出可在sfr8eh地址上復位。此時, ale只是在執(zhí)行movx,movc指令是ale時才能夠起作用。此外,該引腳被略微拉高。若是微處理器在外部執(zhí)行狀態(tài)ale為禁止,

18、那么置位無效。psen:外部程序存儲器的選通信號。在由外部程序存儲空間取指期間,每個機器周期是兩次psen才有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的psen信號都將不能夠?qū)崿F(xiàn)。ea/vpp:當ea保持低電平時,不管是否有內(nèi)部的程序存儲空間,那么在此期間外部程序存儲空間(0000h-ffffh)。注意當加密方式是1時,ea將內(nèi)部定為reset;當ea端保持高電平時,此間內(nèi)部程序存儲空間。在flash編程期間,此引腳也可以用作施加12v編程電源。xtal1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。xtal2:來自反向振蕩器的輸出。(4)復位電路:mcs-52單片機復位電路是指單片機的初始

19、化操作。單片機啟運開始工作時,都需要先經(jīng)過復位,其作用是使cpu和系統(tǒng)中其他配置器件處于一個確定的初始狀態(tài),并從這個狀態(tài)開始執(zhí)行命令。因而,復位是一個非常重要的操作方式。但單片機自己是不能自動執(zhí)行復位的,必須配合恰當?shù)耐獠侩娐凡趴梢詫崿F(xiàn)。復位功能:復位電路的基本功能:系統(tǒng)上電時提供復位功能,一直到系統(tǒng)電源穩(wěn)定后,去除復位信號。為保險起見,電源穩(wěn)定后必須經(jīng)一定的延時才可以撤銷復位的信號,以防電源開關或電源插頭分-合過程中導致的抖動而對復位功能產(chǎn)生影響。單片機的復位是由外部的復位電路來控制的。片內(nèi)復位電路是通過復位引腳rst復位電路與一個斯密特觸發(fā)器相連,斯密特觸發(fā)器用來達到抑制噪聲的目的,在每個

20、機器周期它的輸出由復位電路采樣一次。復位電路通常運用上電自動復位以及按鈕復位兩種方式。單片機復位后的狀態(tài):單片機的復位操作使單片機達到初始化的狀態(tài),其中包括使得程序計數(shù)器pc0000h,這說明程序從0000h地址開始運行。單片機工作后,片內(nèi)ram為任意值,運行中的復位操作不會更改片內(nèi)ram區(qū)中的數(shù)據(jù),21個特殊功能寄存器在復位之后的數(shù)據(jù)為確定值,見表1。 值得注意的是,記住在復位后的一些特殊功能寄存器的主要狀態(tài),對于理解單片機的初態(tài),減少相關的應用程序中的初始化是非常必要的。 說明:表中符號*為隨機狀態(tài);表1-1 寄存器復位后狀態(tài)表特殊功能寄存器初始狀態(tài)特殊功能寄存器初始狀態(tài)abpswspdp

21、ldphp0p3ipie00h00h00h07h00h00hffh*00000b0*00000btmodtconth0tl0th1tl1sbufsconpcon00h00h00h00h00h00h不定00h0*bpsw00h,表示選寄存器0組為工作寄存器組; sp07h,說明堆棧指針指向的是片內(nèi)ram 07h字節(jié)存儲空間,依據(jù)堆棧操作的先加后壓原則,第一個被壓入的數(shù)據(jù)寫入到08h單元中;po-p3ffh,則代表向各端口線都已經(jīng)寫入1,此時,各端口的作用既可用于輸入又可用于輸出 。ip00000b,則表明各個中斷源是等級低的優(yōu)先級; ie000000b,則表明各個中斷均已經(jīng)被關閉;系統(tǒng)復位是任何

22、微機系統(tǒng)執(zhí)行的初始化步驟,使控制芯片整體回到默認的硬件狀態(tài)下。由reset引腳來控制的52單片機復位,此引腳與高電平相連超過24個振蕩周期后,52單片機便可以進入芯片內(nèi)部復位狀態(tài),并且可以在此狀態(tài)下一直等待,一直至reset引腳轉(zhuǎn)為低電平以后,才校驗ea引腳是高電平還是低電平,如果為高電平則運行芯片內(nèi)部程序的代碼,若為低電平則會執(zhí)行外部程序的代碼。在系統(tǒng)復位后52單片機將一些其內(nèi)部的重要寄存器設置為特定的數(shù)值,至于內(nèi)部ram的數(shù)據(jù)則保持不變。(5)晶振電路: 晶振是晶體振蕩器的簡稱,在電路方面它可以等效成一個電容和一個電阻并聯(lián)再串聯(lián)一個電容的二端口網(wǎng)絡,電學上這個電路有兩個諧振點,以頻率的高低

23、分把其中較高的頻率稱為并聯(lián)諧振,較低的頻率稱為串聯(lián)諧振。at89c52單片機內(nèi)部有一個高增益反相放大器,用于構(gòu)成振蕩器。引腳xtal2和xtal1分別是此放大器的輸出端和輸入端。作為反饋器件的片外晶體諧振器與該放大器一起構(gòu)成一個自激振蕩器。電容c2和c1和外接晶體諧振器一起構(gòu)成并聯(lián)諧振電路,接在放大器的反饋回路中。雖然對外接電容的值沒有非常嚴格的要求,但震蕩器頻率的高低、震蕩器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性會由電容的大小影響。所以,此電路系統(tǒng)的晶體振蕩器的值為12mhz,電容的種類應盡量選擇陶瓷電容,電容值大概30f。在電路板焊接時,電容和晶體振蕩器應盡可能安裝得靠近單片機芯片,這樣做是

24、為了減少寄生電容,更好地保證震蕩器可靠穩(wěn)定地工作。負載電容值是晶振的一個重要的參數(shù),為了得到晶振標稱的諧振頻率,我們可以選擇與負載電容值相等的并聯(lián)電容。1.4 tlc7528數(shù)模轉(zhuǎn)換器的介紹tlc7528是8位雙路數(shù)字-模擬轉(zhuǎn)換器,它具有單獨的片內(nèi)數(shù)據(jù)鎖存器,它的特點包括非常嚴密的dac至dac一致性。信號通過公共輸入口傳送到兩個dac數(shù)據(jù)鎖存器中的任意一個。輸入控制端daca/dacb決定哪一個dac被使用。該元件的裝載周期和隨機存取存儲器的寫周期很相似,可以非常方便地與大多數(shù)輸出端口和通用微處理器總線相接口。在最高有效位變化期間內(nèi),分段高階位可以使得閃變最小,該變化期間內(nèi)的閃變脈沖最強大。

25、 tlc7528功耗小于15 mw,工作電源為515 v。2或4象限乘法功能使這種器件成為許多微處理器控制的信號控制應用和增益設置的良好選擇。它可以工作在電壓方式,產(chǎn)生的不是電流輸出而是電壓輸出。第二章 單片機的仿真軟件的應用2.1 proteus isis軟件的應用介紹proteus具有和其他eda工具一樣的原理圖編輯、電路仿真功能及印刷電路板(pcb)設計,最大的特色是它的電路仿真的可視化和交互化,通過proteus軟件的vsm(虛擬仿真模式),用戶可以對單片機及外圍元器件、數(shù)字電路、模擬電路、模數(shù)混合電路等電子線路進行系統(tǒng)仿真。proteus軟件由isis和ares兩部分構(gòu)成,其中are

26、s是一款強大的pcb布線編輯軟件,isis是一款便捷的電子系統(tǒng)原理設計和仿真平臺軟件。proteus isis軟件的特點是:第一,提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中可以觀察各個變量、寄存器等的當前狀態(tài),同時具備單步、全速、設置斷點等調(diào)試功能,因此在該軟件的仿真系統(tǒng)中,可以支持第三方的軟件編譯和調(diào)試環(huán)境,如keil c51 uvision2等軟件,并且也具備這些功能。第二,支持主流單片機系統(tǒng)的仿真。目前單片機 的類型有: 8051系列, pic12系列,68000系列,pic16系列,pic18系列,z80系列,avr系列,hc11系列以及各種外圍芯片。第三,實現(xiàn)了單片機仿真和spice電路仿真

27、相結(jié)合,數(shù)字電路仿真、具有模擬電路仿真、單片機及其外圍電路組成的系統(tǒng)的仿真、12c調(diào)試器、spi調(diào)試器、rs232動態(tài)仿真、鍵盤和lcd系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器,邏輯分析儀、信號發(fā)生器等。第四,具有強大的原理圖繪制功能??傊撥浖且豢罴痵pice和單片機分析于一身的仿真軟件,功能非常強大。在此介紹proteus isis軟件的一些基本操作和工作環(huán)境。基本操作:進入proteus isis 雙擊桌面上的isis 7 professional 圖標或者單擊屏幕下方的 “開始”“程序”“proteus 7 professional”“isis 7 professional”,進入

28、proteus isis集成環(huán)境。在進入之后開始依照自己的設計將元器件找到,完成原理圖。其工作界面如下圖所示: 圖2-1 proteus isis的工作界面2.2 keil軟件的應用介紹 keil c51是美國keil software公司出品的51系列兼容單片機c語言軟件開發(fā)系統(tǒng),與匯編相比,c語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。keil c51軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全windows界面,下面僅介紹該軟件的簡單的應用。使用步驟:1.創(chuàng)建工程(作用是管理文件進行編譯),工程的后綴名為.uv2。2.選擇芯片的型號(本設計中用at89c5

29、2)。3.創(chuàng)建源文件,即用c語言編寫程序,文件的后綴名為.c。4.將原文件添加到工程中。5.最后將生成的16進制文件(.hex文件)加載到原理圖中,即可檢測仿真結(jié)果第三章 可調(diào)低頻信號發(fā)生器的設計3.1 信號發(fā)生器設計的基本要求設計并制作一臺函數(shù)信號發(fā)生器,能實現(xiàn)以下基本要求:第一,能產(chǎn)生方波、正弦波、三角波三種波形,其具體的波形有按鍵選擇。第二,波形無明顯失真;第三, 頻率范圍為1hz1000hz。3.2 信號發(fā)生器的電路設計與仿真3.2.1硬件設計部分: 圖3-1信號發(fā)生器設計的系統(tǒng)結(jié)構(gòu)框圖如圖所示,p3.0-p3.2接三個控制鍵,其中t1為頻率增加鍵,t2為頻率減小鍵,t3為正弦波和三角

30、波的轉(zhuǎn)化鍵。p1口輸出波形數(shù)據(jù),經(jīng)過dac0832進 行數(shù)模轉(zhuǎn)化得到波形。 圖3-2初始化子程序流程圖該程序的主要功能是設置定時器的初始值,工作模式,開中斷和開定時器。當定時器計到極限時就要產(chǎn)生中斷,即輸出一波形數(shù)據(jù)。 圖3-3鍵掃描子程序流程圖 圖3-4波形數(shù)據(jù)產(chǎn)生子程序流程圖在鍵掃描子程序中,其任務是檢查三個鍵是否按下來執(zhí)行其功能。三個鍵分別用于頻率增加、減小和選擇正弦波或三角波;在波形數(shù)據(jù)產(chǎn)生子程序是定時器t1的中斷程序,即當定時器計數(shù)溢出時就要產(chǎn)生中斷,此時單片機按次序?qū)⒉ㄐ螖?shù)據(jù)表中的波形數(shù)據(jù)一一送至dac0832進行數(shù)模轉(zhuǎn)化。3.2.2 軟件設計部分:#include reg51.h

31、 #define uchar unsigned char#define uint unsigned int#define key p3#define dataout p1uchar code sin_tab256= / 正弦波數(shù)據(jù)表(256個數(shù)字); 0x80,0x83,0x85,0x88,0x8a,0x8d,0x8f,0x92,0x94,0x97,0x99,0x9b,0x9e,0xa0,0xa3,0xa5,0xa7,0xaa,0xac,0xae,0xb1,0xb3,0xb5,0xb7,0xb9,0xbb,0xbd,0xbf,0xc1,0xc3,0xc5,0xc7 0xc9,0xcb,0xcc

32、,0xce,0xd0,0xd1,0xd3,0xd4,0xd6,0xd7,0xd8,0xda,0xdb,0xdc,0xdd,0xde,0xdf,0xe0,0xe1,0xe2,0xe3,0xe3,0xe4,0xe4,0xe5,0xe5,0xe6,0xe6,0xe7,0xe7,0xe7,0xe7,0xe7,0xe7,0xe7,0xe7,0xe6,0xe6,0xe5,0xe5,0xe4,0xe4,0xe3,0xe3,0xe2,0xe1,0xe0,0xdf,0xde,0xdd,0xdc,0xdb,0xda,0xd8,0xd7,0xd6,0xd4,0xd3,0xd1,0xd0,0xce,0xcc,0xcb

33、,0xc9,0xc7,0xc5,0xc3,0xc1,0xbf,0xbd,0xbb,0xb9,0xb7,0xb5,0xb3,0xb1,0xae,0xac,0xaa,0xa7,0xa5,0xa3,0xa0,0x9e,0x9b,0x99,0x97,0x94,0x92,0x8f,0x8d,0x8a,0x88,0x85,0x83,0x80,0x7d,0x7b,0x78,0x76,0x73,0x71,0x6e,0x6c,0x69,0x67,0x65,0x62,0x60,0x5d,0x5b,0x59,0x56,0x54,0x52,0x4f,0x4d,0x4b,0x49,0x47,0x45,0x43,0x41

34、,0x3f,0x3d,0x3b,0x39,0x37,0x35,0x34,0x32,0x30,0x2f,0x2d,0x2c,0x2a,0x29,0x28,0x26,0x25,0x24,0x23,0x22,0x21,0x20,0x1f,0x1e,0x1d,0x1d,0x1c,0x1c,0x1b,0x1b,0x1a,0x1a,0x1a,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x1a,0x1a,0x1a,0x1b,0x1b,0x1c,0x1c,0x1d,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x28

35、,0x29,0x2a,0x2c,0x2d,0x2f,0x30,0x32,0x34,0x35,0x37,0x39,0x3b,0x3d,0x3f,0x41,0x43,0x45,0x47,0x49,0x4b,0x4d,0x4f,0x52,0x54,0x56,0x59,0x5b,0x5d,0x60,0x62,0x65,0x67,0x69, 0x6c,0x6e,0x71,0x73,0x76,0x78,0x7b,0x7d,;uchar code thr_tab256= / 三角波數(shù)據(jù)表(256個數(shù)字); 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0

36、x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f,0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xbe,0xbf,0xbf,0xbe,0xbd,0xbc,0xbb,0xba,0

37、xb9,0xb8,0xb7,0xb6,0xb5,0xb4,0xb3,0xb2,0xb1,0xb0,0xaf,0xae,0xad,0xac,0xab,0xaa,0xa9,0xa8,0xa7,0xa6,0xa5,0xa4,0xa3,0xa2,0xa1,0xa0,0x9f,0x9e,0x9d,0x9c,0x9b,0x9a,0x99,0x98,0x97,0x96,0x95,0x94,0x93,0x92,0x91,0x90,0x8f,0x8e,0x8d,0x8c,0x8b,0x8a,0x89,0x88,0x87,0x86,0x85,0x84,0x83,0x82,0x81,0x80,0x7f,0x7e,0

38、x7d,0x7c,0x7b,0x7a,0x79,0x78,0x77,0x76,0x75,0x74,0x73,0x72,0x71,0x70,0x6f,0x6e,0x6d,0x6c,0x6b,0x6a,0x69,0x68,0x67,0x66,0x65,0x64,0x63,0x62,0x61,0x60,0x5f,0x5e,0x5d,0x5c,0x5b,0x5a,0x59,0x58,0x57,0x56,0x55,0x54,0x53,0x52,0x51,0x50,0x4f,0x4e,0x4d,0x4c,0x4b,0x4a,0x49,0x48,0x47,0x46,0x45,0x44,0x43,0x42,0

39、x41,0x40,0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f,0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77, 0x78,0x79,

40、0x7a,0x7b,0x7c,0x7d,0x7e,0x7f,;/*/uint data thhl=65535; /t1的16位定時器初值;uchar data keyword,n=0; /鍵值存放,查表指針;bdata sinthr;sbit sin_thr=sinthr0; /正弦波或三角波標志(1為正弦波,0為三角波);sbit ww=key7; /方波輸出口;/*鍵掃描子函數(shù)*/keyscan()keyword=key&0x07;if (keyword!=0x07)while(key&0x07)!=0x07); /等待釋放 switch(keyword) case 6:if(thhl=6

41、5235)thhl=65535;elsethhl=thhl+255;break;case 5:if(thhl=255)n=0;elsen+;ww=ww;ea=1;/*程序結(jié)束*/3.2.3電路仿真:圖3-5電路原理圖(2)仿真結(jié)果:在仿真的過程中,軟件清晰的顯示了調(diào)頻的各個過程,如截圖所示。圖3-6至圖3-11均是本信號源可得到的部分頻率(全部的頻率可通過調(diào)節(jié)得到),圖3-6是本設計可得的最大的頻率,下面以圖3-6為例,計算一下其誤差:該信號源所用的芯片的機器周期為1us(系統(tǒng)時鐘為12mhz),定時器的初值是65279,當定時器計到65535時會溢出,即中斷產(chǎn)生。由于方波是由p3.7產(chǎn)生,所

42、以其周期是1us*256*2=512 us。而三角波(正弦波)是由數(shù)據(jù)表得到,每個數(shù)據(jù)表中含256個數(shù)據(jù),一次中斷取出一個,所以其周期是1us*256*256=65.536ms。觀察圖3-6得到方波的周期是550us左右,頻率約為1800hz,三角波(正弦波)的周期是70 ms左右,頻率約為14hz.比較二者的數(shù)值可知結(jié)果幾乎相等,所以證實了該設計較為精確。按鍵1和2分別對應于頻率增加和減小,按鍵3用于轉(zhuǎn)化波形。圖3-6至圖3-11顯示了頻率的逐漸變化,圖3-12顯示了在按鍵3按下,三角波和正弦波相互轉(zhuǎn)化的一個瞬間,具體的調(diào)節(jié)過程可在測試中顯示。圖3-6三角波和正弦波圖3-7頻率增大 圖3-8

43、頻率再增大圖3-9頻率進一步增大圖3-10方波和正弦波圖3-11方波和正弦波頻率增大圖3-12波形的轉(zhuǎn)換 隨著頻率要求進一步的增大,以上的頻率已經(jīng)達不到要求。只有通過吧正弦表及三角表中的數(shù)字個數(shù)減少,并且把初始化函數(shù)中的初值變大為65534,這樣周期變短,使得波形頻率變大。變大后的方波頻率可達10khz,正弦波和三角波頻率可達5000hz左右。改動的正弦表(16個數(shù)字):sin_tab16= 0x80,0xae,0xce,0xe2,0xe7,0xdb,0xc1,0x9e,0x76,0x4f,0x30,0x1d,0x19,0x24,0x3d,0x60,;改動的三角表(16個數(shù)字):thr_tab

44、64= 0x80,0x90,0xa0,0xb0,0xbf, 0xaf,0x9f,0x8f,0x7f,0x6f,0x5f,0x4f,0x40,0x50,0x60,0x70,;改動后的仿真波形如下圖所示: 圖3-13修改后的方波和三角波圖3-14修改后的方波和正弦波3.3 信號發(fā)生器的實物制作表3-1 元件清單名稱規(guī)格型號數(shù)量名稱規(guī)格型號數(shù)量單片機at89c521電阻1k1晶振12mhz110k1排阻1數(shù)模轉(zhuǎn)換器tlc7528cn1電容22uf1按鍵430pf2復位鍵1 1042isp口1 100uf1電源1led-red13.3.1 protel dxp制版:protel dxp是目前最受歡迎的

45、電子線路設計軟件,利用它可以方便地設計各種電路原理圖和pcb圖,并可以對電路板進行簡單的仿真與分析。同時,該軟件還附帶了豐富的元件集成庫,其中保存了每個元件的原理圖符號、封裝模型和其他模型等。protel dxp通過把工程管理、原理圖設計、pcb設計、信號完整性分析等技術進行完美融合,為用戶提供了全面的設計解決方案,使用戶可以輕松進行各種復雜的電路板設計。以下是信號發(fā)生器的protel dxp制版過程的簡要介紹:第一,創(chuàng)建設計工程:新建一個文件夾命名為signal,選擇filenewpcb project菜單,創(chuàng)建一個pcb project1.prjpcb的工程文件,選擇file save project菜單,打開save as對話框,將所創(chuàng)建的工程名為signal. prjpcb。第二,繪制原理圖:選擇filenewschematic菜單,創(chuàng)建新原理圖文件,并啟動原理圖編輯

溫馨提示

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

評論

0/150

提交評論