《畢業(yè)設計(論文)-基于單片機的低頻函數(shù)信號發(fā)生器的設計》_第1頁
《畢業(yè)設計(論文)-基于單片機的低頻函數(shù)信號發(fā)生器的設計》_第2頁
《畢業(yè)設計(論文)-基于單片機的低頻函數(shù)信號發(fā)生器的設計》_第3頁
《畢業(yè)設計(論文)-基于單片機的低頻函數(shù)信號發(fā)生器的設計》_第4頁
《畢業(yè)設計(論文)-基于單片機的低頻函數(shù)信號發(fā)生器的設計》_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

成都電子機械高等??茖W校畢業(yè)設計說明書論文設計論文題目低頻函數(shù)信號發(fā)生器的設計專業(yè)應用電子技術班級學號20姓名指導教師摘要信號發(fā)生器是一種常用的信號源,廣泛地應用于電子電路、自動控制系統(tǒng)和教學實驗等領域。目前使用的信號發(fā)生器大部分是函數(shù)信號發(fā)生器,且特殊波形發(fā)生器的價格昂貴。所以本設計使用的是AT89C51單片機構成的發(fā)生器,可產生三角波、方波、正弦波,波形的頻率可用程序控制改變。在單片機的輸出端口接DAC0832進行D/A轉換,再通過運放進行波形調整,最后輸出波形接在示波器上顯示。本設計具有線路簡單、結構緊湊、價格低廉、性能優(yōu)越等優(yōu)點。關鍵詞信號發(fā)生器;單片機;波形調整目錄第1章緒論311課題背景3第2章低頻信號發(fā)生器的方案研究321總體方案論證與設計422模塊結構劃分4第3章硬件電路的設計531基本原理532各模塊具體設計6321AT89C51單片機介紹6322D/A轉換電路的設計8第4章軟件設計1041軟件總體設計1142程序流程圖11421主函數(shù)流程圖11422鍵盤掃描程序1143仿真過程17結論20參考文獻20第1章緒論11課題背景隨著電子測量及其他部門對各類信號發(fā)生器的廣泛需求及電子技術的迅速發(fā)展,促使信號發(fā)生器種類增多,性能提高。尤其隨著70年代微處理器的出現(xiàn),更促使信號發(fā)生器向著自動化、智能化方向發(fā)展?,F(xiàn)在,許多信號發(fā)生器帶有微處理器,因而具備了自校、自檢、自動故障診斷和自動波形形成和修正等功能,可以和控制計算機及其他測量儀器一起方便的構成自動測試系統(tǒng)。當前信號發(fā)生器總的趨勢是向著寬頻率覆蓋、低功耗、高頻率精度、多功能、自動化和智能化方向發(fā)展。在科學研究、工程教育及生產實踐中,如工業(yè)過程控制、教學實驗、機械振動試驗、動態(tài)分析、材料試驗、生物醫(yī)學等領域,常常需要用到低頻信號發(fā)生器。而在我們日常生活中,以及一些科學研究中,鋸齒波和正弦波、矩形波信號是常用的基本測試信號。譬如在示波器、電視機等儀器中,為了使電子按照一定規(guī)律運動,以利用熒光屏顯示圖像,常用到鋸齒波產生器作為時基電路。信號發(fā)生器作為一種通用的電子儀器,在生產、科研、測控、通訊等領域都得到了廣泛的應用。但市面上能看到的儀器在頻率精度、帶寬、波形種類及程控方面都已不能滿足許多方面實際應用的需求。加之各類功能的半導體集成芯片的快速生產,都使我們研制一種低功耗、寬頻帶,能產生多種波形并具有程控等低頻的信號發(fā)生器成為可能。第2章低頻信號發(fā)生器的方案研究21總體方案論證與設計信號發(fā)生器的實現(xiàn)方法通常有以下幾種方案一用分立元件組成的函數(shù)發(fā)生器通常是單函數(shù)發(fā)生器且頻率不高,其工作不很穩(wěn)定,不易調試。方案二可以由晶體管、運放IC等通用器件制作,更多的則是用專門的函數(shù)信號發(fā)生器IC產生。早期的函數(shù)信號發(fā)生器IC,如L8038、BA205、XR2207/2209等,它們的功能較少,精度不高,頻率上限只有300KHZ,無法產生更高頻率的信號,調節(jié)方式也不夠靈活,頻率和占空比不能獨立調節(jié),二者互相影響。方案三利用專用直接數(shù)字合成芯片的函數(shù)發(fā)生器能產生任意波形并達到很高的頻率。但成本較高。方案四采用AT89C51單片機和DAC0832芯片,直接連接鍵盤和顯示。該種方案主要對AT89C51單片機的各個I/O口充分利用P1口是連接鍵盤以及接顯示電路,P2口連接DAC0832輸出波形這樣總體來說,能對單片機各個接口都利用上,而不在多用其它芯片,從而減小了系統(tǒng)的成本也對按照系統(tǒng)便攜式低頻信號發(fā)生器的要求所完成占用空間小,使用芯片少,低功耗。綜合考慮,方案四各項性能和指標都優(yōu)于其他幾種方案,能使輸出頻率有較好的穩(wěn)定性,充分體現(xiàn)了模塊化設計的要求,而且這些芯片及器件均為通用器件,在市場上較常見,價格也低廉,樣品制作成功的可能性比較大,所以本設計采用方案四。22模塊結構劃分本次設計所研究的就是對所需要的某種波形輸出對應的數(shù)字信號,在通過D/A轉換器和單片機部分的轉換輸出一組連續(xù)變化的05V的電壓脈沖值。在設計時分塊來做,按波形設定、D/A轉換、51單片機連接、鍵盤控制四個模塊的設計。最后通過聯(lián)調仿真,完成相應功能。具體設計模塊如圖模塊介紹1波形設定對任意波形的手動設定2D/A轉換主要選用DAC0832來把數(shù)字信號轉換為模擬信號,在送入單片機進行處理。3單片機部分最小系統(tǒng)4鍵盤用按鍵來控制輸出波形的種類和數(shù)值的輸入第3章硬件電路的設計51單片機鍵盤控制DA轉換波形設定31基本原理低頻信號發(fā)生器系統(tǒng)主要由CPU、D/A轉換電路、電流/電壓轉換電路、按鍵和顯示電路、電源等電路組成。其工作原理為當按下第一個按鍵就會分別出現(xiàn)方波、三角波、正弦波。32各模塊具體設計321AT89C51單片機介紹AT89C51是一種帶4K字節(jié)閃存可編程可擦除只讀存儲器(FPEROMFLASHPROGRAMMABLEANDERASABLEREADONLYMEMORY)的低電壓、高性能CMOS8位微處理器,俗稱單片機。AT89C2051是一種帶2K字節(jié)閃存可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復擦除1000次。該器件采用ATMEL高密度非易失存儲器制造技術制造,與工業(yè)標準的MCS51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。AT89C單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。3211主要技術指標和特性AT89C51復位電路按鍵DA轉換電流電壓轉換波形顯示與MCS51兼容4K字節(jié)可編程閃爍存儲器壽命1000寫/擦循環(huán)數(shù)據(jù)保留時間10年全靜態(tài)工作0HZ24MHZ三級程序存儲器鎖定1288位內部RAM32可編程I/O線兩個16位定時器/計數(shù)器5個中斷源可編程串行通道低功耗的閑置和掉電模式片內振蕩器和時鐘電路3212外部引腳VCC供電電壓。GND接地。P0口P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P0口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。P1口P1口是一個內部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。P2口P2口為一個內部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。P3口P3口管腳是8個帶內部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。RST復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。ALE/PROG當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是每當用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時,ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。/PSEN外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。/EA/VPP當/EA保持低電平時,則在此期間外部程序存儲器(0000HFFFFH),不管是否有內部程序存儲器。注意加密方式1時,/EA將內部鎖定為RESET;當/EA端保持高電平時,此間內部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1反向振蕩放大器的輸入及內部時鐘工作電路的輸入。XTAL2來自反向振蕩器的輸出。322D/A轉換電路的設計DAC0832是CMOS工藝制造的8位D/A轉換器,屬于8位電流輸出型D/A轉換器,轉換時間為1US,片內帶輸入數(shù)字鎖存器。DAC0832與單片機接成數(shù)據(jù)直接寫入方式,當單片機把一個數(shù)據(jù)寫入DAC寄存器時,DAC0832的輸出模擬電壓信號隨之對應變化。利用D/A轉換器可以產生各種波形,如方波、三角波、正弦波、鋸齒波等以及它們組合產生的復合波形和不規(guī)則波形。1DAC0832主要性能輸入的數(shù)字量為8位;采用CMOS工藝,所有引腳的邏輯電平與TTL兼容;數(shù)據(jù)輸入可以采用雙緩沖、單緩沖和直通方式;轉換時間1US;精度1LSB;分辨率8位;單一電源515V,功耗20MW;參考電壓1010V;DAC0832內部結構資料芯片內有兩級輸入寄存器,使DAC0832具備雙緩沖、單緩沖和直通三種輸入方式,以便適于各種電路的需要如要求多路D/A異步輸入、同步轉換等。D/A轉換結果采用電流形式輸出。要是需要相應的模擬信號,可通過一個高輸入阻抗的線性運算放大器實現(xiàn)這個供功能。運放的反饋電阻可通過RFB端引用片內固有電阻,還可以外接。該片邏輯輸入滿足TTL電壓電平范圍,可直接與TTL電路或微機電路相接,下面是芯片電路原理圖320圖320DAC0832電路原理圖如圖320所示,待轉換的8位數(shù)字量由芯片的8位數(shù)據(jù)輸入線D0D7輸入,經(jīng)DAC0832轉換后,通過2個電流輸出端IOUT1和IOUT2輸出,IOUT1是邏輯電平為“1“的各位輸出電流之和,IOUT2是邏輯電平為“0“的各位輸出電流之和。另外,ILE、和是控制轉換的控制信號。DAC0832由8位輸入寄存器、8位DAC寄存器和8位D/A轉換電路組成。輸入寄存器和DAC寄存器作為雙緩沖,因為在CPU數(shù)據(jù)線直接接到DAC0832的輸入端時,數(shù)據(jù)在輸入端保持的時間僅僅是在CPU執(zhí)行輸出指令的瞬間內,輸入寄存器可用于保存此瞬間出現(xiàn)的數(shù)據(jù)。有時,微機控制系統(tǒng)要求同時輸出多個模擬量參數(shù),此時對應于每一種參數(shù)需要一片DAC0832,每片DAC0832的轉換時間相同,就可采用DAC寄存器對CPU分時輸入到輸入寄存器的各參數(shù)在同一時刻開始鎖存,進而同時產生各模擬信號??刂菩盘朓LE、用來控制輸入寄存器。當ILE為高電平,為低電平,為負脈沖時,在LE產生正脈沖;其中LE為高電平時,輸入寄存器的狀態(tài)隨數(shù)據(jù)輸入線狀態(tài)變化,LE的負跳變將輸入數(shù)據(jù)線上的信息存入輸入寄存器??刂菩盘柡陀脕砜刂?位A/D轉換器。當為低電平,輸入負脈沖時,則在LE產生正脈沖;其中LE為高電平時,DAC寄存器的輸入與輸出的狀態(tài)一致,LE負跳變,輸入寄存器內容存入DAC寄存器。DAC0832的數(shù)據(jù)輸出方式在微機應用系統(tǒng)中,通常使用的是電壓信號,而DAC0832輸出的是電流信號,這就需要由運算放大器組成的電路實現(xiàn)轉換。其中有輸出電壓各自極性固定的單位性輸出和在隨動系統(tǒng)中輸出電壓有正負極性的雙極性輸出兩種輸出方式。3DAC0832同CPU的連接微處理器與DAC0832之間可以不加鎖存器,而是利用DAC0832內部鎖存器,將CPU通過數(shù)據(jù)總線直接向DAC0832輸出的停留時間很短的數(shù)據(jù)保存,直至轉換結束。DAC0832同CPU的接口如圖321所示DAC0832作為微處理器的一個端口,用地址92H的選通作為和的控制信號,微處理器的寫信號直接來控制和。圖321DAC0832和CPU連接電路第4章軟件設計41軟件總體設計應用系統(tǒng)中的應用軟件是根據(jù)系統(tǒng)功能要求而設計的,能可靠地實現(xiàn)系統(tǒng)的各種功能。本系統(tǒng)的軟件包括以下幾個程序模塊初始化程序;鍵盤掃描程序與處理程序;定時器0服務程序;正弦波發(fā)生程序及其服務程序;三角波發(fā)生程序;方波發(fā)生程序。42程序流程圖421主函數(shù)流程圖422鍵盤掃描程序開始初始化開始無限調用鍵盤掃描程序讀P1口結束軟件延時消除振動有鍵按下中斷子程序YN確認有,就讀取P1口得值按鍵是否松開YN進行鍵值類型判斷423中斷子程序結束開始定時器初始化是正弦波YN向DA轉換器送值并指向下一個地址數(shù)據(jù)地址大于255YN地址置0是三角波YN向DA轉換器送C值如果C400YNC0是方波YN算占空比D比設定值小向DA轉換器送0YN向DA轉換器送1D255YND置0結束其他子程序的相對簡單,流程圖就不一一畫出了。424相應程序INCLUDEINCLUDEDEFINEDA0832XBYTE0X7FFFDEFINEUCHARUNSIGNEDCHARDEFINEUINTUNSIGNEDINTUINTWAVE_CHOICE1,C0,ZK1,K0,D0,F1,B0,T0UCHARCODETOSIN2560X80,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,0XF5,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,0XBC,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,0X16,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,0X2E,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/正弦波碼/VOIDTIME0_INTVOIDINTERRUPT1/中斷服務程序T655361000000/F/256TH0T/256/定時器高八位值TL0T256/定時器低八位值TR00IFWAVE_CHOICE1DA0832TOSINB/正弦波BIFB255B0ELSEIFWAVE_CHOICE2/三角波IFC400C0ELSEIFWAVE_CHOICE3/方波KZK256/100DIFD255D0TR01VOIDKEY1IFWAVE_CHOICE1FVOIDKEY4IFZK1ZKVOIDDELAYUCHARI,JFORI256I0IFORJ256J0JVOIDJUDGEUCHARYP10XFFIFP10XFF/判斷是否有鍵按下DELAY/延時,軟件去干擾IFP10XFF/確認按鍵按下XP1YP1/保存列掃描時有鍵按下時狀態(tài)WHILEP1

溫馨提示

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

評論

0/150

提交評論