超低頻波形發生器的設計論文(C語言編程_第1頁
超低頻波形發生器的設計論文(C語言編程_第2頁
超低頻波形發生器的設計論文(C語言編程_第3頁
超低頻波形發生器的設計論文(C語言編程_第4頁
超低頻波形發生器的設計論文(C語言編程_第5頁
已閱讀5頁,還剩42頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、摘 要在科學研究、工程教育及生產實踐中,常常需要用到低頻信號發生器。本文主要介紹一種以單片機為核心的超低頻任意函信號發生器。該信號發生器由存儲模塊、按鍵模塊、LED顯示模塊、D/A轉換模塊組成,它采用數字波形合成技術,通過硬件電路和軟件程序相結合,可輸出自定義波形,如正弦波、三角波、方波和鋸齒波及其他任意波形。文中詳細介紹了硬件電路設計的原理和軟件編程的上設計思想以及實驗調試過程。實驗結果表明,該信號發生器輸出的波形的頻率和幅值在一定范圍內可任意改變,與傳統信號發生器只有固定的幾種輸出波形相比,具有輸出波形的任意化和低頻精度高的特點。它還具有的特點是價格低、性能高,在低頻范圍穩定性好、操作方便

2、、體積小、耗電少等。關鍵詞:單片機AT89C51; DAC0832; 低頻信號; 發生器ABSTRACTIn scientific research, engineering education and practice of production, often need to use low-frequency signal generator. In this paper, introduces a ultra-low frequency arbitrary function signal generator to SCM as the core. The signal generator

3、 is made of the memory modules, the key modules, LED display modules, D/A converter modules,it uses date waveform synthesis technology,through hardware Circuit and software Procedures is combined,custom Waveform can be customized, such as sine wave, triangle wave, square wave and sawtooth wave and o

4、ther arbitrary waveform. In this paper ,detail introduces the principle of the design of hardware circuit and the mind of the design of software programming and the process of experiment debug.The results of experiment show that,the output waveforms frequency and amplitude of the signal generator ca

5、n be arbitrarily changed in a certain range,compared With the traditional signal generator Only have a few fixe output waveform,with the characteristics of output waveforms arbitrary and high precision of the low-frequency. It also has the characteristics of a low price, high-performance, good Stabi

6、lity in low-frequency range, easy to operate, small size, less consumpte of power Etc.Key words:AT89C51 microcontroller; DAC0832;Low frequency signal; Generator 前言信號發生器是使用很廣的儀器, 在科學研究、工程教育及生產實踐中,常常需要用到低頻信號發生器。如工業過程控制、教學實驗、機械振動、生物醫學等領域。對它的要求也隨著技術的發展越來越高,以往的信號源只可輸出單一正弦或幾種如三角、正弦、脈沖、方波等波形,且一臺儀器的輸出頻率范圍也較

7、窄,一般只是在超低或低頻范圍, 特別是在超低頻范圍, 波形的精度和穩定度等重要指標都不高,目前,長期使用的信號發生器絕大部分都是由模擬電路構成的,這類儀器作為信號源,頻率達百兆赫茲,在高頻范圍內其頻率穩定性與可調性好。而用于低頻信號輸出時,其需要RC 值很大,參數準確度難以保證,而且體積大,損耗也大。目前,有人研究制造了由數字電路構成的低頻信號發生器,其低頻性能好,但是體積較大,價格較貴。這里介紹一種以單片機為核心,設計了一個超低頻任意函數信號發生器。單片機控制超低頻任意信號波形發生器與現有采用微處理器和數模轉換器組成的數字式低頻信號發生器相比,由于采用直接數字波形合成技術,頻率準確度和穩定度

8、較高。與現有采用計數器、只讀存儲器、D/ A轉換器和濾波器等組成的信號發生器相比,由于采用單片機控制和隨機存儲器RAM,通過一定算法除可產生方波、三角波、鋸齒波、正弦波外還可方便地產生其他周期任意信號波形,解決了輸出波形種類單一的問題,具有廣泛的應用前景。本課題設計中,函數發生器采用ATM89C51 單片機作為控制核心,外圍采用模擬/數字轉換電路、數據存儲器,按鍵和LED顯示燈電路等。通過按鍵控制可產生方波、鋸齒波、三角波、正弦波等低頻任意波形,同時用LED顯示燈指示對應的波形的頻率。本系統設計簡單、性能優良,具有一定的實用性。硬件電路簡單,軟件功能完善,控制系統可靠,性價比較高等特點,具有一

9、定的使用和參考價值。另一方面,它具有價格低、性能高和在低頻范圍內穩定性好、操作方便、體積小、耗電少等特點。此電路清晰,出現故障容易查找錯誤,操作簡單、方便。具體的設計內容講在本論文中詳細論述。目 錄摘 要1ABSTRACT1前言1緒論11. 方案論證31.1 方案論述31.2 方案比較41.3 結論42.超低頻波形發生器硬件設計52.1 主控電路及主控芯片的選擇52.1.1 時鐘電路設計92.1.2 復位電路設計92.1.3 利用AT89C51計數102.2 D/A轉換電路的設計112.2.1 D/A芯片選擇112.2.2 DAC0832芯片介紹132.2.3 DAC0832芯片與單片機硬件接

10、口設計152.2.4 放大整形162.3 顯示電路及顯示接口芯片選擇172.3.1 顯示器的選擇172.3.2 顯示器工作方式的選擇192.3.3 LED與單片機的接口電路設計202.4 按鍵電路的設計202.5 電源電路213. 軟件設計233.2 D/A轉換243.3 鍵掃描程序設計243.4 顯示程序設計254. 系統的調試274.1 硬件的調試274.2 軟硬件調試285. 仿真實驗結果與結論296. 社會經濟效益31結束語32附錄135附錄236附錄341附錄442緒論課題背景波形發生器亦稱函數發生器,作為實驗用信號源,是現今各種電子電路實驗設計應用中必不可少的儀器設備之一。目前,市

11、場上常見的波形發生器多為純硬件的搭接而成,且波形種類有限,多為鋸齒、正弦、方波、三角等波形。在科學研究和生產實踐中,如工業過程控制,生物醫學,地震模擬機械振動等領域常常要用到低頻信號源。而由硬件電路構成的低頻信號其性能難以令人滿意,而且由于低頻信號源所需的RC很大;大電阻,大電容在制作上有困難,參數的精度亦難以保證;體積大,漏電,損耗顯著更是其致命的弱點。一旦工作需求功能有增加,則電路復雜程度會大大增加。單片機控制超低頻任意信號波形發生器, 由于采用單片機控制和隨機存儲器RAM,通過一定算法除可產生方波、三角波、鋸齒波、正弦波外還可方便地產生其他周期任意信號波形,解決了輸出波形種類單一的問題,

12、具有廣泛的應用前景。利用單片機采用程序設計方法來產生低頻信號,其下限頻率很低。具有線路相對簡單,結構緊湊,價格低廉,頻率穩定度高,抗干擾能力強,用途廣泛等優點,并且能夠對波形進行細微調整,改良波形,使其滿足系統的要求。只要對電路稍加修改,調整程序,即可完成功能升級。這里介紹一種采用AT89C51單片機和一片DAC0832數模轉換器做成的數字式低頻信號發生器,它的特點是價格低、性能高,在低頻范圍穩定性好、操作方便、體積小、耗電少等。信號發生器與其它相比還具有如下優點:較分立元件信號發生器而言,具有頻率高,工作穩定,容易調試等特性;較專用DDS芯片的信號發生器而言,具有結構簡單,成本低等特性。系統

13、整體目標此課題的具體要求如下所述。1. 以單片機為控制核心,采用直接數字波形合成技術產生方波、三角波、正弦波和其他任意模擬周期信號波形。2.將波形數據存儲在數據存儲器中。3.通過單片機控制,將波形數據讀出,送入D/A轉換電路和放大處理后得到所需的任意模擬周期信號波形。4.輸出信號的頻率范圍在0.01Hz100Hz之間,幅度為+5V,波形失真度小于1。5.以單片機為核心器件,形成相應的硬件電路。自行編制單片機控制程序,并進行硬件調試、軟件調試,最后進行軟硬件聯調,達到性能要求。1. 方案論證1.1 方案論述從學科所涉及的不同范圍以及器件的不同選擇來構思,可以實現的方案有很多,現提出二個可行的方案

14、并分別論述其工作原理及可行性。方案一:方案一方框圖如圖1.1.1所示。 采用AT89C51芯片,數模芯片采用DAC0832芯片,構成基本的波形發生電路,設置多個按鍵用來控制波形輸出以及調整信號頻率的大小。此電路設計輸出波形穩定,精度高。-圖1.1.1 方案一原理框圖方案二:方案2方框圖如下圖1.1.2所示。本方案的是基本原理在PC 機上按下鼠標左鍵創建一個周期的波形,再將各點值傳送給單片機系統,產生實際的模擬信號。模擬信號通過D/A轉換器的轉換,得到所需要的波形信號。PC機 MAX23289C51存儲器圖1.1.2 方案二原理框圖1.2 方案比較單片機控制超低頻任意信號波形發生器(方案一)與現

15、有采用微處理器和數模轉換器組成的數字式低頻信號發生器(方案二)相比,由于采用直接數字波形合成技術,頻率準確度和穩定度較高。但是方案2中微處理器對信號的顯示和處理非常方便,只是需要同時編輯單片機語言和微處理器所需要的高級語言,工作量大而且較為復雜。因此我還是選擇了方案一,微處理器的優點具有廣泛的應用前景。1.3 結論通過上述方案的比較最終確定選擇方案一。2.超低頻波形發生器硬件設計2.1 主控電路及主控芯片的選擇單片機即單片微型計算機(Single CHip Microcomputer)是把組成微型計算機的各種功能部件,包括中央處理單元(CPU)、隨機存儲器(RAM)、程序存儲器(ROM)、定時

16、器/計數器及輸入輸出接口等部件都集成在一塊芯片上。是一種集成度高、性價比優越、質量小、體積小的微型計算機。單片機按其使用目的可以分為通用和專用兩種類型。通用單片機是一種基本芯片,內部功能及資源豐富,性能全面,適應性強,可覆蓋多種用途。用戶可以根據需要設計成各種不同的單片機控制系統,即有一個再設計的過程。專用型單片機在設計時已對系統結構進行了簡化,對軟、硬件進行了優化,可靠性高,成本低,但是這類單片機功能單一,通常是針對某一特定的產品。本設計應采用通用型單片機。隨著半導體集成工藝的不斷發展,單片機也正朝著CMOS化、低功耗、體積小、大容量、高性能低價格和外圍電路內裝化等幾個方向發展。在單片機家族

17、中,Intel公司推出的MCS-51系列中的80C51是其中的佼佼者。MCS-51系列單片機是8位單片機中應用范圍最廣的一類單片機。近幾年來,許多單片機開發廠商也推出了許多基于80C51單片機內核的擴展型單片機,產品在保持與51單片機兼容的基礎上改善了很多特性,性能各異。常用的單片機有很多種:Intel8051和8751系列、Motorola的MC6801系列、Atmel的AT89系列、臺灣Winbond(華邦)W7和W78系列、荷蘭PHilips的51LPC和LPC900系列、ZILOG的Z8系列等。本設計中最終選用了ATMEL公司的AT89C51單片機。AT89C51單片機是美國ATMEL

18、公司推出的低功耗/低電壓、高性能的8位單片機,片內含4KBFlasH程序存儲器,它采用了CMOS工藝和ATMEL公司的高密度非易失性存儲器(NURAM)技術,該存儲器的全稱為閃速可編程可擦除只讀存儲器(FPEROM,FlasH Programmable and Erasable Read Only Memory),其輸出引腳和指令系統與標準MCS-51系統兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,是一種高效微控制器,為很多嵌入式控制系統提供了一種靈活性高且價廉的方案。AT89C51是一種帶4K字節閃爍可編程可擦除只讀存儲器(FPEROMFalsh Programmable an

19、d Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機。AT89C2051是一種帶2K字節閃爍可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復擦除100次。該器件采用ATMEL高密度非易失存儲器制造技術制造,與工業標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。AT89C51單片機為很多嵌入式控制系統提供了一種靈活性高且價廉的方案。引腳圖如圖2.1所示。圖2.1 AT89C51引腳圖管腳說明如下描述:

20、VCC:供電電壓。GND:接地。P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數據存儲器,它可以被定義為數據/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。P1口:P1口是一個內部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。 P2口:P2口為一

21、個內部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數據存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內部上拉優勢,當對外部八位地址數據存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。P3口:P3口管腳是8個帶內部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內部上拉為高電平

22、,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,如下表所示:口管腳 備選功能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(外部數據存儲器寫選通)P3.7 /RD(外部數據存儲器讀選通)P3口同時為閃爍編程和編程校驗接收一些控制信號。RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。ALE/PROG:當訪問外部存儲

23、器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數據存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執行狀態ALE禁止,置位無效。/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數據存儲器時,這兩次有效

24、的/PSEN信號將不出現。/EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內部程序存儲器。注意加密方式1時,/EA將內部鎖定為RESET;當/EA端保持高電平時,此間內部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。 XTAL1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。 XTAL2:來自反向振蕩器的輸出。振蕩器特性:XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅動器件,XTAL2應不接。有余輸入至內部時鐘信號要通過一個二分

25、頻觸發器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。AT89C51的主要性能特性:(1) 工作電壓為45.5 V,工作頻率為022 MHz;(2)片內振蕩器和時鐘(CLOCK)電路;(3) 128*8位供存儲數據的片內RAM;(4) 32根可編程I/O線;(5) 2個16位定時器/計數器;(6) 具有6個中斷源;(7) 可編程全雙工串行口;(8) 具有多種封裝方式;(9) 程序存儲器可擴展至64KB(ROM), 數據存儲器可擴展至64KB(RAM)。AT89C51單片機功能強大、編程靈活、可靠性與性價比高,易于采購,便于使用與實驗,可以達到設計要求,并且為系統再拓

26、展留有空間,適用于許多較為復雜的控制應用場合。2.1.1 時鐘電路設計時鐘電路是單片機系統的心臟,它控制著單片機的工作節奏。單片機雖然內部有振蕩電路,但要形成時鐘,必須外部附加電路。時鐘電路是單片機工作的時間基準,決定單片機工作的速度。MCS-51系列的時鐘有兩種產生方式:內部時鐘方式,利用芯片內部的振蕩電路和外部方式。本設計中選用內部時鐘方式。電路如圖3.2所示,MCS-51系列單片機內部有一個用于構成振蕩器的高增益反相放大器。引腳XTAL1為反相器的輸入端,引腳XTAL2為輸出端。放大器與作為反饋元件的片外石英晶體振蕩器一起構成了一個自激振蕩器。本設計使用的石英晶體振蕩器的頻率為11.05

27、92MHz,電容的主要作用是幫助振蕩器起振和穩定電路,其值的大小對振蕩頻率有少許影響,本設計中選擇C1和C2電容值為30pf。圖2.1.1 AT89C51內部時鐘方式電路2.1.2 復位電路設計單片機的復位是使CPU和系統的其他功能部件處在一個確定的初始狀態,并從這個狀態開始工作。復位后,PC=0000H,單片機從0000H地址單元開始執行程序。復位的條件:必須在RST/VPD引腳上給出持續兩個機器周期(24個振蕩周期)的高電平可以完成復位。復位電路產生復位信號,使單片機從固定的起始狀態開始工作,完成單片機的“啟機”過程。復位電路由單片機的復位引腳RST接入,只要RST端保持至少2個機器周期的

28、高電平方可實現。只要RST保持高電平,單片機就會循環復位,直至RST端變低,單片機完成復位。本設計所采用的AT89C51單片機的晶體振蕩器的頻率約為=12MHz,則機器周期=1us,因此需要2us以上的高電平才能完成復位。常用的復位電路由兩種:上電復位和按鍵電平復位電路。本設計采用前者。 上電復位電路:電路圖如圖2.1.2所示,在通電瞬間,由于電容通過電阻充電,故在RST端的電位與Vcc相同。隨著充電電流的減少,RST端的電位逐漸下降,只要保證RST端的電壓為高電平的時間大于兩個機器周期,便能正常復位。圖2.1.2 上電復位電路2.1.3 利用AT89C51計數AT89C51單片機共有兩個16

29、位的定時器/計數器,本頻率計就是利用它的定時器與計數器同時工作,外部輸入的脈沖在下降沿跳變時有效,進行計數器加1,定時器定時一秒內計數器所計的數就是外部輸入信號的頻率。圖2.1.3 頻率范圍選擇2.2 D/A轉換電路的設計2.2.1 D/A芯片選擇經數字系統處理后的數字量,有時又要求再轉換成模擬量以便實際使用,這種轉換稱為“數模轉換”。完成數模轉換的電路稱為數模轉換器,簡稱DAC(Digital to Analog Converter)。 在本系統中,需要把數字量進行測量與轉換成模擬量,輸出模擬波形。數模轉換器就是可以實現這種轉換過程的一種元器件。數模轉換器將輸入的每一位二進制代碼按其權的大小

30、轉換成相應的模擬量,然后將代表各位的模擬量相加,所得的總模擬量就與數字量成正比,這樣便實現了從數字量到模擬量的轉換。其中 為二進制數按位權展開轉換成的十進制數值。DAC主要由數字寄存器、模擬電子開關、位權網絡、求和運算放大器和基準電壓源(或恒流源)組成。用存于數字寄存器的數字量的各位數碼,分別控制對應位的模擬電子開關,使數碼為1 的位在位權網絡上產生與其位權成正比的電流值,再由運算放大器對各電流值求和,并轉換成電壓值。根據位權網絡的不同,可以構成不同類型的DAC,如權電阻網絡DAC、R2R倒T形電阻網絡DAC和單值電流型網絡DAC等。權電阻網絡DAC 的轉換精度取決于基準電壓VREF,以及模擬

31、電子開關、運算放大器和各權電阻值的精度。它的缺點是各權電阻的阻值都不相同,位數多時,其阻值相差甚遠,這給保證精度帶來很大困難,特別是對于集成電路的制作很不利,因此在集成的 DAC 中很少單獨使用該電路。R2R倒T形電阻網絡DAC由若干個相同的R、2R網絡節組成, 每節對應于一個輸入位。節與節之間串接成倒T形網絡。R2R倒T形電阻網絡DAC是工作速度較快、 應用較多的一種。和權電阻網絡比較,由于它只有R、2R兩種阻值,從而克服了權電阻阻值多,且阻值差別大的缺點。電流型DAC則是將恒流源切換到電阻網絡中,恒流源內阻極大,相當于開路,所以連同電子開關在內,對它的轉換精度影響都比較小,又因電子開關大多

32、采用非飽和型的ECL開關電路,使這種DAC可以實現高速轉換,轉換精度較高。在DAC中一般用分辨率和轉換誤差來描述轉換精度。一般用 DAC 的位數來衡量分辨率的高低,也可以用DAC能分辨出來的最小輸出電壓1 LSB與最大輸出電壓FSR之比定義分辨率。即:轉換誤差是指實際輸出的模擬電壓與理想值之間的最大偏差。常用這個最大偏差與FSR之比的百分數或 若干個LSB表示。實際上它是三種誤差的綜合指標。轉換速度一般由建立時間決定。從輸入由全0突變為全1時開始,到輸出電壓穩定在FSR LSB范圍(或以FSRxFSR指明范圍)內為止,這段時間稱為建立時間,它是DAC的最大響應時間,所以用它衡量轉換速度的快慢。

33、函數信號發生器的實現方法通常有以下幾種:(1)用分立元件組成的函數發生器:通常是單函數發生器且頻率不高,其工作不很穩定,不易調試。(2)可以由晶體管、運放IC等通用器件制作,更多的則是用專門的函數信號發生器IC產生。早期的函數信號發生器IC,如L8038、BA205、XR2207/2209等,它們的功能較少,精度不高,頻率上限只有300kHz,無法產生更高頻率的信號,調節方式也不夠靈活,頻率和占空比不能獨立調節,二者互相影響。(3)利用單片集成芯片的函數發生器:能產生多種波形,達到較高的頻率,且易于調試。鑒于此,美國馬克西姆公司開發了新一代函數信號發生器DAC0832它克服了(2)中芯片的缺點

34、,可以達到更高的技術指標,是上述芯片望塵莫及的。DAC0832頻率高、精度好,因此它被稱為高頻精密函數信號發生器IC。在鎖相環、壓控振蕩器、頻率合成器、脈寬調制器等電路的設計上,DAC0832都是優選的器件。(4)利用專用直接數字合成芯片的函數發生器:能產生任意波形并達到很高的頻率。但成本較高。綜合分析以上四種實現方法的性價比,我們決定采用單片集成芯片DAC0832來設計函數發生器。頻率越高、產生波形種類越多的發生器性能越好,但器件成本和技術要求也大大提高,因此在滿足工作要求的前提下,性價比高的發生器是我們的首選。2.2.2 DAC0832芯片介紹DAC0832是8分辨率的D/A轉換集成芯片。

35、與微處理器完全兼容。這個DA芯片以其價格低廉、接口簡單、轉換控制容易等優點,在單片機應用系統中得到廣泛的應用。D/A轉換器由8位輸入鎖存器、8位DAC寄存器、8位D/A轉換電路及轉換控制電路構成。芯片內有兩級輸入寄存器,使DAC0832具備雙緩沖、單緩沖和直通三種輸入方式,以便適于各種電路的需要(如要求多路D/A異步輸入、同步轉換等)。D/A轉換結果采用電流形式輸出。要是需要相應的模擬信號,可通過一個高輸入阻抗的線性運算放大器實現這個供功能。運放的反饋電阻可通過RFB端引用片內固有電阻,還可以外接。該片邏輯輸入滿足TTL電壓電平范圍,可直接與TTL電路或微機電路相接,其管腳圖以及內部結構圖如圖

36、2.2.2所示。圖2.2.2 DAC0832管腳圖以及內部結構圖DAC0832的主要特性參數如下:* 分辨率為8位;* 輸出為電流信號,電流的建立時間為1us;* 可單緩沖、雙緩沖或直接數字輸入;* 只需在滿量程下調整其線性度;* 單一電源供電(+5V+15V),低功耗,20mW;* 參考電壓可以達到10V;* 直接的數字接口可以與任何一款單片機相連。DAC0832的引腳功能: * D0D7:8位數據輸入線,TTL電平,通常與單片機的數據總線相連,用于輸入CUP送來的待轉換數字量。有效時間應大于90ns(否則鎖存器的數據會出錯);* ILE:數據鎖存允許控制信號輸入線,高電平有效;* :片選信

37、號輸入線(選通數據鎖存器),低電平有效;* :數據鎖存器寫選通輸入線,負脈沖(脈寬應大于500ns)有效。由ILE、的邏輯組合產生LE1,當LE1為高電平時,數據鎖存器狀態隨輸入數據線變換,LE1的負跳變時將輸入數據鎖存;* :數據傳輸控制信號輸入線,低電平有效,負脈沖(脈寬應大于500ns)有效;* :DAC寄存器選通輸入線,負脈沖(脈寬應大于500ns)有效。由、的邏輯組合產生LE2,當LE2為高電平時,DAC寄存器的輸出隨寄存器的輸入而變化,LE2的負跳變時將數據鎖存器的內容打入DAC寄存器并開始D/A轉換。* IOUT1:電流輸出端1,其值隨DAC寄存器的內容線性變化;* IOUT2:

38、電流輸出端2,其值與IOUT1值之和為一常數; 當DAC寄存器內容全為1時,IOUT1為最大,IOUT2=0; 當DAC寄存器內容全為0時,IOUT1=0,IOUT2為最大;為了保證輸出電流的線性,應將IOUT1 及IOUT2接到外部運算放大器的輸入端上。* Rfb:反饋信號輸入線,改變Rfb端外接電阻值可調整轉換滿量程精度;* Vcc:芯片工作電源,范圍為+5V+15V;* VREF:基準電壓輸入線,VREF的范圍為-10V+10V;* AGND:模擬信號地,為模擬信號和基準電源的參考地;* DGND:數字信號地,為工作電源地和數字邏輯地;2.2.3 DAC0832芯片與單片機硬件接口設計D

39、AC0832與MCS-51單片機的連接方式:根據對DAC0832的數據鎖存器和DAC寄存器的不同的控制方式,DAC0832有三種連接方式:直通方式、單緩沖方式和雙緩沖方式。l 雙緩沖方式:進行兩級緩沖;l 單緩沖方式:只進行一級緩沖;l 直通方式:不進行緩沖,適用于比較簡單的場合。本設計采用的是直通連接方式。具體電路設計如圖2.2.3所示:圖2.2.3 DAC0832與單片機硬件接口設計2.2.4 放大整形為了輸入的是小信號時也能對精確的測出它的頻率,所以在信號的輸入口加電壓放大。有時輸入的信號波形不是很好時,放大后也是失真的信號,這就會影響到所測信號的頻率,因此要經過整形。其電路如圖2.2.

40、4所示:圖2.2.4 放大整形電路2.3 顯示電路及顯示接口芯片選擇顯示電路的作用就是把單片機的運算結果,狀態等代碼轉換成為人們能識別的符號顯示出來。在本系統中,顯示電路用來實時顯示波形的頻率,并通過按鍵實現實時可調。2.3.1 顯示器的選擇在單片機系統中,通常用LED數碼顯示器來顯示各種數字、字母或其他符號。由于它具有顯示清晰、亮度高、使用電壓低、壽命長并且價格低廉等特點,因此使用非常廣泛。本設計利用其顯示系統的工作狀態和數據處理的結果等,根據需要選擇七段四位數碼管作為顯示部分。圖2.3.1.1 四位數碼管實物圖LED( Light Emitting Diode )是發光二極管的簡稱,是一種

41、電流發光器件,它可以工作在恒定電流狀態,又可以在脈沖電流狀態。在平均電流相同的情況下,脈沖工作狀態可產生比直流工作狀態較強的亮度,一般每秒鐘可導通 100 500 次,每次為幾個毫秒。 LED 有單個發光二極管,七段(或八段)LED顯示器和LED點陣顯示器等類型。發光顏色有紅,綠,黃等光的顏色,LED顯示器每段正常發光所需直流電流(1020mA)毫安。發光二極管發光時,其正向導通壓降為 1.7V 左右。根據本設計的要求選擇了七段LED顯示器作為系統的顯示設備。七段LED顯示器由7個長條形的發光二極管排列成“8”字形,另外顯示器中還有一個圓點型發光二極管,用于顯示小數點。LED顯示器中的發光二極

42、管共有兩種接法:共陰極七段 LED 顯示器和共陽極七段 LED 顯示器。共陰極七段 LED 顯示器工作時,將所有二極管的陰極接在一起構成公共陰極,公共陰極接低電平,這樣陽極端輸入高電平的段發光二極管就導通點亮,而輸入低電平的段則不亮。共陽極七段 LED 顯示器工作時,其公共陽極接到高電平, LED 的陰極接到低電平的段導通發光,而輸入高電平的則不點亮。本設計中使用的是共陰極數碼管。圖2.3.1.2 四位數碼管內部電路圖2.3.2 顯示器工作方式的選擇七段LED顯示器顯示有兩種工作方式:靜態顯示和動態顯示。所謂靜態顯示,就是每一位顯示器都要占用單獨的具有鎖存功能的I/O接口用于鎖存筆畫段字形代碼

43、。當顯示器顯示某一字符時,相應的發光二極管恒定地導通或截止,單片機只要把要顯示的字形代碼發送到接口電路就可以了。靜態顯示的方法軟件編程相對簡單一些,但其占用的輸出口較多,硬件資源需要較多。所以為使硬件結構簡單和減少硬件的開支,本設計使用動態掃描顯示的方法。動態掃描顯示接口是單片機中應用最為廣泛的一種顯示方式之一。其接口電路是把所有顯示器的8個筆劃段a-H同名端連在一起,而每一個顯示器的公共極COM是各自獨立地受I/O線控制。CPU向字段輸出口送出字形碼時(即段控),所有顯示器接收到相同的字形碼,但究竟是那個顯示器亮,則取決于COM端,而這一端是由I/O控制的,即位控,所以可以自行決定何時顯示哪

44、一位。而所謂動態掃描就是指我們采用分時的方法,輪流控制各個顯示器的COM端,使各個顯示器輪流點亮。在輪流點亮掃描過程中,每位顯示器的點亮時間是極為短暫的(約1ms),但由于人的視覺暫留現象及發光二極管的余輝效應,盡管實際上各位顯示器并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩定的顯示數據,不會有閃爍感。在本設計中,為了減少硬件開銷,提高系統可靠性和降低成本,采用電阻來連接各 LED 顯示器,在軟件上用掃描辦法來實現數碼顯示。2.3.3 LED與單片機的接口電路設計在本課題設計中,LED數碼管顯示采用常用的硬件電路連接方式,其中P0口用來控制選擇輸出數據,P2口的高四位用來控制LE

45、D片選顯示。硬件上采用上拉電阻來連接各LED顯示器,具體的電路設計如圖2.3.3所示:圖2.3.3 LED電路設計2.4 按鍵電路的設計在本系統中設置有四個按鍵,其中兩個按鍵用來設計輸出波形頻率,一個是加法鍵,一個減法鍵。另一組按鍵由其余四個按鍵組成,在本系統中,這四個獨立的按鍵,用來輸入控制命令,各鍵單獨完成對波形的選擇輸出工作。按鍵與AT89C51接口電路如圖2.4所示:圖2.4 按鍵與AT89C51接口電路圖接口及功能說明:4個按鍵分別接到單片機的P1.0P1.3口,每個鍵對應 I/O 端口的一位,在沒有任何鍵按下(即斷開)時,各 I/O 端口均處于高電平。當有一個鍵按下(閉合)時,就使

46、對應位接地而變成低電平。而其它位仍為高電平。單片機系統只要讀到P1.0P1.3口任意某一位為“ 0 ” ,就可以判別出對應鍵已按下。進而進行相應的處理和操作。通過按鍵可以以任意循環方式輸出不同波形。按鍵S1:函數發生器波形選擇按鍵;按鍵S2:函數發生器頻率加按鍵;按鍵S3:函數發生器頻率減按鍵;按鍵S4:函數發生器擴展功能按鍵;2.5 電源電路電源電路是為整個電路提供穩定的5V電源的供電電路,電路圖如下圖2.5所示:圖2.5 電源電路圖電源電路由橋式整流、濾波電容、7805穩壓芯片組成。交流電經過橋式整流變成直流電,再經過電容濾波,7805穩壓芯片穩壓成為穩定的5V電源。為了保證穩壓集成電路的

47、正常工作,有交好的穩壓效果,穩壓集成電路的輸入端電壓應至少比輸出端電壓高幾伏。通常,選擇電源變壓器時,可以根據下面的經驗數據:穩壓集成電路的穩壓值在12V以下時,選擇變壓器次級線圈的有效值電壓至少比集成電路輸出端電壓高2V;再12V以上時,選擇變壓器次級線圈的有效值電壓等于集成電路輸出端電壓。這是因為正弦波有效值電壓經整流濾波后得到的直流電壓有所升高之故。3. 軟件設計3.1 主程序框圖本軟件設計過程中主要實現利用按鍵來控制不同波形的輸出,當按鍵1按下時,函數發生器就輸出鋸齒波;當按鍵2按下時,函數發生器就輸出三角波;當按鍵3按下時,函數發生器就輸出正弦波;當按鍵4按下時,函數發生器就輸出方波

48、。還有兩個頻率設置按鍵,可以輸出任意頻率的波形。3.2 D/A轉換在此系統設計中,D/A轉換是最關鍵的一個內容,能夠實現各種波形的輸出,是利用D/A數模轉換器通過對數組的處理,將其轉化為連續的模擬量,然后輸出。得到我們所需要的各種波形輸出。其程序設計流程圖如圖3.2所示。圖3.2 D/A轉換程序流程圖3.3 鍵掃描程序設計鍵掃描程序的任務是檢查3個按鍵是否有鍵按下,若有鍵按下,則執行相應的功能。在這里,3個按鍵分別用于頻率增加、頻率減小和波形選擇功能。其程序流程圖設計如圖3.3所示。圖3.3 鍵掃描程序流程圖3.4 顯示程序設計此軟件設計功能實現,4個LED數碼管實時顯示波形頻率值。其程序流程

49、圖如圖3.4所示。圖NY開始初始化參數查表輸出段碼輸出位碼循環結束?位碼移位結束3.4 顯示程序流程圖4. 系統的調試完成了整個系統的硬件、軟件設計及硬件組裝后,還要進行系統硬件和軟件的調試,通過調試查出系統中硬件設計與軟件設計中存在的錯誤及可能出現的不協調問題,以便修改設計,最終使系統正確可靠。4.1 硬件的調試本課題軟件和硬件相結合,有相當大的難度,同時也有很大的實用性。在做畢業設計的過程中,我的理論和實踐水平都有了較大的提高。在本課題的設計中,我熟練了掌握了單片機硬件設計和接口技術,掌握了各種報警電路及其相關元器件的使用。通過了這次畢業設計,我不僅學到許多的實用知識,還學會如何克服未知的

50、困難,解決難題的方法。由于自己基礎不太扎實,所學不夠深入,平時實踐的不夠,很多知識和技能都只停留在理論的基礎上。而且沒有經過實踐過的理論遺忘的也很多。剛開始拿到這個畢業設計題目,確實有點摸不到方向的感覺,經過搜索大量資料,并進行研究和學習后,對自己的設計題目用單片機實現超低頻波形發生器的設計有了一個大致的設計思路。這次的畢業設計給了我一個極大的挑戰,進行每一階段的任務對我老說都是在接觸新鮮的東西。對于搞研究來說,光有熱情是不夠的,更重要的是根基的深厚和實戰經驗的積累。初出茅廬的我在硬件設計的整個過程中確實遇到了很多問題:1在設計電路方面,由于基礎薄弱,很難在很短的學習設計時間內掌握很好的硬件設

51、計技巧,于是我參考了另外一塊板,先開始自己也在一塊實驗板上焊了基本的電路,并進行了幾個程序的調試,覺得可行了,在原理圖上就那樣進行設計。很多原理知識,在課堂上也學到過,但是沒有實踐過,就感覺很生疏。但是通過這次畢業設計的訓練,本人在硬件電路設計上有了很大的提高與進步。2這次是自己真正意義上第一次正式的使用Proteus軟件畫自己設計的東西,剛開始遇到很多困難,很多元器件的封裝都不知道。但經過這次畢業設計的煅練,很多基本的東西都已熟記于心。一些畫圖技巧也很好的掌握了,自我感覺進步很大。4.2 軟硬件調試軟件調試的這一階段,我陷入困境,由于自己在軟件編程方面很弱,面對那些字符,我一開始有些不知所措

52、,再加上那幾天,整個人的狀態不好,心情也比較浮躁,導致了畢業設計停滯不前的狀態,狀態調整好以后,我就開始認真學習編程。進步也不少。1剛開始編程我是先從網上下載一些現成的程序,進行仿真與譯讀,遇到不懂的就看書解決,或者像研究生學長討教。我最困頓的是在時序方面,自己研究了很久,還是理不出頭緒來,不過經學長講解了一下以后,開竅了許多。2由于我是個粗心大意之人,難免在編程中打錯字母。因此,編譯通不過很可能是字母打錯,這樣根據提示,就很容易找到錯誤,所以說,進行編程細心是很重要的,再就是態度問題。這是我編程的過程中積累的經驗。3在調試程序時,也遇到了困難,程序通過編譯了,但是仿真的時候總是有問題。仿真器

53、的熟悉也花去了一段時間。但是熟練以后,就能獨立的解決基本的問題,經過這段時間的學習,我才得以順利的完成畢業設計。5. 仿真實驗結果與結論在此次課題中,根據設計要求和目的綜合設計了整個系統的硬件電路連接和軟件程序。最后整套系統又進行仿真。通過頻率按鍵設置波形頻率大小,再通過按鍵選擇不同的輸出波形,通過這個單片機超低頻信號發生器,我們仿真較好的實現了各種波形的輸出,輸出信號的頻率范圍在0.01Hz100Hz之間,幅度在+5V,波形失真度1,基本上達了課題的要求。具體的仿真結果如下圖5所示。三角波:三角波仿真效果圖此刻的VPP=5V f=100hz。頻率范圍是0.01100hz,都是在電路中連續可調

54、的。方波:方波仿真效果圖 此時的波峰值VPP=5V,f=20Hz。電路中的頻率是連續可調的。幅度峰峰值等于電源電壓5v。正弦波:圖56. 社會經濟效益信號發生器是使用很廣的儀器, 在科學研究、工程教育及生產實踐中,常常需要用到低頻信號發生器。如工業過程控制、教學實驗、機械振動、生物醫學等領域。應用單片機AT89C51 實現超低頻信號發生器除了可以輸出常用的正弦波、三角波、方波、鋸齒波外, 能夠定義任意函數(如偽隨機信號等) 作為輸出的波形, 而這種定義只需通過軟件程序更改輸出波形數據表來完成, 無需變動硬件電路, 具有相當大的靈活性。隨著經濟的增長和科技水平的不斷提高,對信號發生器提出了更高的

55、要求:體積小巧、便于攜帶,抗干擾能力強、環境適應性強,精度高、信息處理容量大、功耗低等功能。用單片機設計的超低頻信號發生器正是基于以上的設計理念而設計的儀表。信號發生器選用優質元器件,以低功耗單片機為核心,可對溫度進行精確、高效的測量與控制,適用于多種應用環境。電子信息產業是當代最具活力的高新技術產業,也是我國大力發展的支柱產業之一。目前我國市場銷售的信號發生器存在各種不完善,不能滿足要求的缺陷;國外同類產品價格較高,難以為業界接受,已不能適應越來越細化的市場需求。因此市場前景及發展空間十分廣闊。結束語本文首先介紹了相關背景及其應用,然后針對選題內容,實施方案和所做的工作進行了闡述。接著是系統

56、各模塊的硬件設計,其中包括單片機模塊、溫度采集模塊、串口通信模塊,也包括主要元器件的功能介紹、各分塊電路的設計與調試,最后是上位機的軟件設計,其中包括設計的思路和軟件程序,最后是系統軟硬件總體調試。本次設計已經達到了預期的基本要求,即實現四種所需的波形,同時生成的波形頻率也在所要求的范圍內,幅度在+5V,基本達到畢設所需的要求。當今科技發展迅速,單片機嵌入式開發有著光明的前景。由于單片機經濟實用、開發簡便,因而依然在工業控制、農業自動化、家電智能化等領域占據了廣泛的市場。本文介紹的系統設計有一定的實用性,但該系統在設計過程中仍有很多漏洞。還需要在智能化方面加以改進。特別是語音告警、節省功耗,提

57、高穩定度等方面。致 謝經過半年的準備,在論文完成之際,首先要感謝尊敬的導師徐猛華老師,本論文的順利完成與老師的諄諄教導和悉心啟迪是分不開的。老師嚴謹的治學態度、淵博的學術知識、孜孜不倦的敬業精神和平易近人的態度,給我留下了深刻的印象,并且將不斷的激勵我奮發向上。在此,對老師的教導和關心表示衷心地感謝! 感謝諸位老師的大力幫助,感謝他們對我在畢業設計過程中給予的指導與幫助。 感謝寢室及班上的同學,在我遇到問題的時候,他們給了我很多的鼓勵,我永遠難忘那些我們在一起共同學習、共同奮斗過的時光。是他們給予我莫大的幫助和支持。此外,我要感謝我的家人,是你們無微不至的關心和照顧,支持著我的每一步人生歷程,我要用自己的畢生所學來回報你們。還有許許多多給予我學業上鼓勵和幫助的師長、朋友,在此無法一一列舉,

溫馨提示

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

評論

0/150

提交評論