基于單片機的函數信號發生器畢業設計_第1頁
基于單片機的函數信號發生器畢業設計_第2頁
基于單片機的函數信號發生器畢業設計_第3頁
基于單片機的函數信號發生器畢業設計_第4頁
基于單片機的函數信號發生器畢業設計_第5頁
已閱讀5頁,還剩48頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、基于單片機函數發生器設計一、課題來源為了實現輸出多種波形的功能,基于單片機的控制及各電子器件與單片機間的聯合,編寫相應的軟件,設計一種信號發生器。以適應各種理論研究。二、研究的目的和意義函數發生器亦稱信號發生器,主要作為實驗用信號源,是現今各種電子電路實驗設計應用中必不可少的儀器設備之一。目前,市場上常見的波形發生器多為純硬件的搭接而成,波形種類多為鋸齒、正弦、方波、三角等波形。用分立元件組成的函數發生器,通常是單函數發生器且頻率不高,其工作不很穩定,不易調試;用集成芯片的函數發生器,可達到較高的頻率和產生多種波形信號,但電路較為復雜且不易調試。利用單片集成芯片的函數發生器,能產生多種波形,達

2、到較高的頻率,且易于調試;利用專用直接數字合成dds 芯片的函數發生器,能產生任意波形并達到很高的頻率,但成本較高。函數發生器作為一種常見的應用電子儀器設備,傳統的一般可以完全由硬件電路搭接而成,如采用555振蕩電路發生正弦波、三角波和方波的電路便是可取的路徑之一,不用依靠單片機。但是這種電路存在波形質量差,控制難,可調范圍小,電路復雜和體積大等缺點。在科學研究和生產實踐中,如工業過程控制,生物醫學,地震模擬機械振動等領域常常要用到低頻信號源。而由硬件電路構成的低頻信號其性能難以令人滿意,而且由于低頻信號源所需的rc要很大。大電阻,大電容在制作上有困難,參數的精度亦難以保證。體積大,漏電,損耗

3、顯著更是其致命的弱點。一旦工作需求功能有增加,則電路復雜程度會大大增加。利用單片機采用程序設計方法來產生低頻信號,其頻率底線很低。具有線路相對簡單,結構緊湊,價格低廉,頻率穩定度高,抗干擾能力強,用途廣泛等優點,并且能夠對波形進行細微調整,改良波形,使其滿足系統的要求。只要對電路稍加修改,調整程序,即可完成功能升級。三、參考文獻及資料名稱【1】 徐愛鈞,智能化測量控制儀表原理與設計,北京航空航天大學出版社,2004【2】 徐愛鈞等,keil cx51 v7.0單片機高級語言編程與u vision2應用實踐,電子工業出版社,2004【3】 周潤景等,基于proteus的電路的及單片機系統設計與仿

4、真,北京航空航天大學出版社,2006【4】 余永權等,單片機在控制系統中的應用,電子工業出版社,2006【5】 周靈彬,proteus的單片機教學與應用仿真,單片機與嵌入式系統應用,2008【6】 沙占友,單片機外圍電路設計,電子工業出版社,2005【7】 沈紅衛,基于單片機的智能系統設計與實現,電子工業大學出版社,2005【8】 朱善君等,單片機接口技術與應用,清華大學出版社,2005【9】 張靖武等,單片機系統的proteus設計與仿真,電子工業大學,2007【10】 寧成軍等,基于proteus和keil接口的單片機外圍硬件電路仿真,現代電子技術,2006【11】 孫德文,微型計算機技術

5、,高等教育出版社,2005(7)【12】 汪文等,單片機原理及應用,華中科技大出版社,2007四、國內外發展趨勢及研究主攻方向我國的單片機應用始于80年代,雖然發展迅速,但相對于世界市場我國的占有率還很低。到目前為止,由于我國的微電子技術和制造工藝都比較落后及國外單片機的競爭等原因,我國還沒有設計生產出自己的單片機。國內的單片機目前注重的還只是低中檔的應用,普遍采用的是8或16位的單片機,對宏單片機和dsp等高檔的應用還處于初始階段。單片機的發展趨勢為:低功耗與高性能、低電壓、低噪聲與高可靠性、采用cmos技術、外圍電路內裝、串行擴展技術等。同時,單片機的快速發展也帶動著基于單片機的信號發生器

6、的快速發展。五、研究方案(一)硬件電路的實現原理與構思1at89c51單片機控制兩片dac0832的原理圖輸出基準電壓at89c51單片機dac0832dac0832圖1.1 at89c51控制兩片dac0832原理圖因為at89c51單片機自身便有一個64k的程序存儲器,所以不用擴展外加程序存儲器。由單片機編程即可由單片機輸出所需要信號的數字量,再由d/a轉換器將數字量轉化為模擬電流輸出,通過運放轉化為模擬電壓輸出。因為d/a數模轉換器的最大輸出電壓是由其輸入的基準電壓來控制的,所以只要能控制d/a的基準電壓便可以控制輸出幅度,實現幅度可調。所以設計用兩片dac0832來輸出信號,第一片d/

7、a用來輸出信號,第二片d/a用來控制第一片d/a的基準點壓。其中用p0口作為兩片d/a的數據總線,p2口的p2.0和p2.1口用來控制兩片d/a的選通。2鍵盤顯示電路的構思由于本設計要求控制波形的幅度和頻率,所需按鍵較多,所以設計選用p1口來擴展44鍵盤。由于44鍵盤的設計已很普遍,所以在本文中不加以介紹。本設計中要求用數碼管顯示輸出信號的幅度和頻率等信息,而這些信息在信號輸出的時候是不需要時刻改變的,所以設計中選用靜態數碼管顯示,由單片機的串行通信口輸出顯示數據。這樣可以節省單片機的端口來做其它的用途,給予了裝置可優化性。at89c51單片機74ls16474ls164數碼管數碼管圖 1.2

8、顯示電路方框圖圖中只給出兩位數碼管的顯示,可以按要求任意擴展n位數碼顯示,每擴展一片74ls164,可以增加一位led顯示器。所要顯示的數據由rxd串行發送出去,由74ls164轉化為并行輸出,再由led顯示。這樣,在顯示數據輸送完畢之后,主程序可以不必掃描顯示器,從而使cpu能用于其它工作。(二)軟件設計的構思1幅度控制由于d/a數模轉換器輸出的最大幅度可以用其基準電壓來控制,所以控制第二片d/a數模轉換器輸出給第一片d/a數模轉換器的電壓值就可控制信號幅度。因此,送入第二片的值是幾個固定的值。由于dac0832內部具有鎖存器,所以只需向第二片d/a送值一次,直到下一次改變信號幅度。2頻率控

9、制單片機內部數據只有0、1之分,所產生的信號也都是離散信號。為了能夠讓單片機輸出所需的數字信號,我們采用對信號采樣、量化的方法來實現由單片機產生所需信號。在本設計中,對信號的四分之一周期采樣19個幅度值,通過反復查表來輸出幅度值,而整個信號是通過正查表和逆向查表來實現的。采樣的點越密,信號失真度也就越小。兩次采樣點的輸出時間間隔是由定時、計數器來控制的,因此,通過控制不同的計數初值就可以控制整個信號的頻率。計數時間=信號周期/72。計數次數=計數時間/機器周期。對應的,計數初值=65536計數次數。單片機只能產生離散頻率的信號,所以所得到的信號頻率不是連續的,而是離散的頻率點。由于這部分計算位

10、數較多,不適合用單片機編程來計算計數初值,所以本設計中將各頻率的計數初值算出,讓單片機按控制命令來查表控制頻率。正弦波和三角波的頻率控制方法都與上述方法相同,而方波的頻率控制是半周期計數,經過半周期只需改變輸出為最大或最小電平即可。本設計為低頻信號發生器,在頻率只有幾十赫茲的時候計數次數將很大,因此計數器的工作方式選為工作方式1,每次計數器溢出時需要重新裝入計數初值。六、預期達到的目標(1)該裝置用鍵盤控制輸出方波、三角波、正弦波;(2)用鍵盤控制輸出幅度和頻率的變化,并將幅值和頻率用數碼管顯示,幅度范圍1v5v,頻率范圍010khz。七、工作進度及安排時 間工 作 安 排13周開題報告 46

11、周完成函數發生器的初步設計57周完善函數發生器的設計,并進行實驗測試分析。711周查閱資料學習單片機在工業中的應用1213周完成畢業論文。1418周畢業答辯。長江大學畢業論文(設計)指導教師評審意見學生姓名專業班級畢業論文(設計)題目指導教師職 稱評審日期評審參考內容:畢業論文(設計)的研究內容、研究方法及研究結果,難度及工作量,質量和水平,存在的主要問題與不足。學生的學習態度和組織紀律,學生掌握基礎和專業知識的情況,解決實際問題的能力,畢業論文(設計)是否完成規定任務,達到了學士學位論文的水平,是否同意參加答辯。評審意見: 指導教師簽名: 評定成績(百分制):_分長江大學畢業論文(設計)評閱

12、教師評語學生姓名專業班級畢業論文(設計)題目評閱教師職 稱評閱日期評閱參考內容:畢業論文(設計)的研究內容、研究方法及研究結果,難度及工作量,質量和水平,存在的主要問題與不足。學生掌握基礎和專業知識的情況,解決實際問題的能力,畢業論文(設計)是否完成規定任務,達到了學士學位論文的水平,是否同意參加答辯。評語:評閱教師簽名: 評定成績(百分制):_分長江大學畢業論文(設計)答辯記錄及成績評定學生姓名專業班級畢業論文(設計)題目答辯時間 年 月 日 時答辯地點一、答辯小組組成答辯小組組長:成 員:二、答辯記錄摘要答辯小組提問(分條摘要列舉)學生回答情況評判三、答辯小組對學生答辯成績的評定(百分制)

13、:_分 畢業論文(設計)最終成績評定(依據指導教師評分、評閱教師評分、答辯小組評分和學校關于畢業論文(設計)評分的相關規定)等級(五級制):_組長(簽名) : 秘書(簽名): 年 月 日 基于單片機的函數發生器的設計 學生:aaa,電子信息學院 指導老師:aaa,aa大學【摘要】:本文介紹一種用at89c51單片機構成的波形發生器,可產生方波、三角波、正弦波、鋸齒波等多種波形,波形的周期可用程序改變,并可根據需要選擇單極性輸出或雙極性輸出,具有線路簡單、結構緊湊、性能優越等特點。文章給出了源代碼,通過仿真測試,其性能指標達到了設計要求。【關鍵詞】:單片機;dac;函數發生器 design of

14、 function generator based on mcu student:,school of electronics and information engneering teacher: , university【abstract】:this paper introduces a at89c51 single chip waveform generator,can produce square wave,triangle wave,sine wave,sawtooth wave and other wave,waveform cycle can be used to change

15、procedures,and in accordance with the need to select the output unipolar or bipolar output,has simple circuit,compact structure,superior performance characteristics.the article gives the source code,through simulation test,performance indexs have reached the design requirements.【key words】:single ch

16、ip microcomputer;dac;function generator. 基于單片機的函數發生器的設計第一章 緒論1.1單片機概述單片機是指一個集成在一塊芯片上的完整計算機系統。盡管他的大部分功能集成在一塊小芯片上,但是它具有一個完整計算機所需要的大部分部件:cpu、內存、內部和外部總線系統,目前大部分還會具有外存。同時集成諸如通訊接口、定時器,實時時鐘等外圍設備。而現在最強大的單片機系統甚至可以將聲音、圖像、網絡、復雜的輸入輸出系統集成在一塊芯片上。單片機也被稱為微控制器(microcontroller),由芯片內僅有cpu的專用處理器發展而來。最早的設計理念是通過將大量外圍設備和c

17、pu集成在一個芯片中,使計算機系統更小,更容易集成進復雜的而對體積要求嚴格的控制設備當中。單片機是70年代中期發展起來的一種大規模集成電路芯片,是cpu、ram、rom、i/o接口和中斷系統集成于同一硅片的器件。單片機用于控制有利于實現系統控制的最小化和單片化,簡化一些專用接口電路,如編程計數器、鎖相環(pll)、模擬開關、a/d和d/a變換器、電壓比較器等組成的專用控制處理功能的單板式微系統。單片機是所有微處理機中性價比最高的一種,隨著種類的不斷全面,功能不斷完善,其應用領域也迅速擴大。單片機在智能儀表、實時控制、機電一體化、辦公機械、家用電器等方面都有相當的應用領域。當前,8位單片機主要用

18、于工業控制,如溫度、壓力、流量、計量和機械加工的測量和控制場合;高效能的16位單片機(如mcs-96、mk-68200)可用在更復雜的計算機網絡。可以說,微機測控技術的應用已滲透到國民經濟的各個部門,微機測控技術的應用是產品提高檔次和推陳出新的有效途徑。1.2函數發生器的分類函數發生器應用廣泛,種類繁多,性能各異,分類也不盡一致。函數發生器亦稱信號發生器,主要作為實驗用信號源,是現今各種電子電路實驗設計應用中必不可少的儀器設備之一。按照頻率范圍分類可以分為:超低頻信號發生器、低頻信號發生器、視頻信號發生器、高頻波形發生器、甚高頻波形發生器和超高頻信號發生器。按照輸出波形分類可以分為:正弦信號發

19、生器和非正弦信號發生器,非正弦信號發生器又包括:脈沖信號發生器,函數信號發生器、掃頻信號發生器、數字序列波形發生器、圖形信號發生器、噪聲信號發生器等。按照信號發生器性能指標可以分為一般信號發生器和標準信號發生器。前者指對輸出信號的頻率、幅度的準確度和穩定度以及波形失真等要求不高的一類信號發生器。后者是指其輸出信號的頻率、幅度、調制系數等在一定范圍內連續可調,并且讀數準確、穩定、屏蔽良好的中、高檔信號發生器。函數發生器作為一種常見的應用電子儀器設備,傳統的一般可以完全由硬件電路搭接而成,如采用555振蕩電路發生正弦波、三角波和方波的電路便是可取的路徑之一,不用依靠單片機。但是這種電路存在波形質量

20、差,控制難,可調范圍小,電路復雜和體積大等缺點。在科學研究和生產實踐中,如工業過程控制,生物醫學,地震模擬機械振動等領域常常要用到低頻信號源。而由硬件電路構成的低頻信號其性能難以令人滿意,而且由于低頻信號源所需的rc要很大。大電阻,大電容在制作上有困難,參數的精度亦難以保證。體積大,漏電,損耗顯著更是其致命的弱點。一旦工作需求功能有增加,則電路復雜程度會大大增加。利用單片機采用程序設計方法來產生低頻信號,其頻率底線很低。具有線路相對簡單,結構緊湊,價格低廉,頻率穩定度高,抗干擾能力強,用途廣泛等優點,并且能夠對波形進行細微調整,改良波形,使其滿足系統的要求。只要對電路稍加修改,調整程序,即可完

21、成功能升級。1.3 研究內容本文是做基于單片機的信號發生器的設計,將采用編程的方法來實現三角波、鋸齒波、矩形波、正弦波的發生。根據設計的要求,對各種波形的頻率和幅度進行程序的編寫,并將所寫程序裝入單片機的程序存儲器中。在程序運行中,當接收到來自外界的命令,需要輸出某種波形時再調用相應的中斷服務子程序和波形發生程序,經電路的數/模轉換器和運算放大器處理后,從信號發生器的輸出端口輸出。 第二章 方案的設計與選擇2.1 方案的比較方案一:采用單片函數發生器(如8038),8038可同時產生正弦波、方波等,而且方法簡單易行,用d/a轉換器的輸出來改變調制電壓,也可以實現數控調整頻率,但產生信號的頻率穩

22、定度不高。方案二:采用鎖相式頻率合成器,利用鎖相環,將壓控振蕩器(vco)的輸出頻率鎖定在所需頻率上,該方案性能良好,但難以達到輸出頻率覆蓋系數的要求,且電路復雜。方案三:采用單片機編程的方法來實現。該方法可以通過編程的方法來控制信號波形的頻率和幅度,而且在硬件電路不變的情況下,通過改變程序來實現頻率的變換。此外,由于通過編程方法產生的是數字信號,所以信號的精度可以做的很高。鑒于方案一的信號頻率不夠穩定和方案二的電路復雜,頻率覆蓋系數難以達標等缺點,所以決定采用方案三的設計方法。它不僅采用軟硬件結合,軟件控制硬件的方法來實現,使得信號頻率的穩定性和精度的準確性得以保證,而且它使用的幾種元器件都

23、是常用的元器件,容易得到,且價格便宜,使得硬件的開銷達到最省。2.2 設計原理數字信號可以通過數/模轉換器轉換成模擬信號,因此可通過產生數字信號再轉換成模擬信號的方法來獲得所需要的波形。89c51單片機本身就是一個完整的微型計算機,具有組成微型計算機的各部分部件:中央處理器cpu、隨機存取存儲器ram、只讀存儲器rom、i/o接口電路、定時器/計數器以及串行通訊接口等,只要將89c51再配置鍵盤及其接口、顯示器及其接口、數模轉換及波形輸出、指示燈及其接口等四部分,即可構成所需的波形發生器,其信號發生器構成原理框圖如圖2.1所示。 輸出89c51單片機濾波放大d/a轉換器接口電路圖2.1 信號發

24、生器原理框圖89c51是整個波形發生器的核心部分,通過程序的編寫和執行,產生各種各樣的信號,并從鍵盤接收數據,進行各種功能的轉換和信號幅度的調節。當數字信號經過接口電路到達轉換電路,將其轉換成模擬信號也就是所需要的輸出波形。2.3 設計思想(1)利用單片機產生方波、正弦波、三角波和鋸齒波等信號波形,信號的頻率和幅度可變。(2)將一個周期的信號分離成256個點(按x軸等分),每兩點之間的時間間隔為t,用單片機的定時器產生,其表示式為:t=t/256。如果單片機的晶振為12mhz,采用定時器方式0,則定時器的初值為: x=213t/tmec (2.1) 定時時間常數為: tl =(8192t)/m

25、od256 (2.2)th=(8192t)/256 (2.3)mod32表示除32取余數(3)正弦波的模擬信號是d/a轉換器的模擬量輸出,其計算公式為: y=(a/2sint)+a/2 (其中a=vref) (2.4) t=nt (n=1256) (2.5)那么對應著存放在計算機里的這一點的數據為: (2.6) (4)一個周期被分離成256個點,對應的四種波形的256個數據存放在以tab1-tab4為起始地址的存儲器中。2.4 設計功能(1)本方案利用8155擴展8個獨立式按鍵,6個led顯示器。其中“s0”號鍵代表方波輸出,“s1”號鍵代表正弦波輸出,“s2”號鍵代表三角波輸出,“s3” 號

26、鍵代表鋸齒波輸出。(2)“s4”號鍵為10hz的頻率信號,“s5”號鍵為100hz的頻率信號,“s6”號鍵為500hz的頻率信號,“s7”號鍵為1khz的頻率信號,6個led顯示器輸出信號的頻率值,選用共陽極led。(3)利用兩片dac0832實現幅度可調的信號源,(其中一片用來調節幅度,另外一片用來實現信號源的輸出)。(4)頻率范圍:101000hz。(5)輸出波形幅度為05v。第三章 主要器件介紹3.1 at89c51簡介at89c51是一種帶4k字節閃爍可編程可擦除只讀存儲器(fperomfalsh programmable and erasable read only memory)的

27、低電壓,高性能cmos8位微處理器,俗稱單片機。at89c2051是一種帶2k字節閃爍可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復擦除100次。該器件采用atmel高密度非易失存儲器制造技術制造,與工業標準的mcs-51指令集和輸出管腳相兼容。由于將多功能8位cpu和閃爍存儲器組合在單個芯片中,atmel的at89c51是一種高效微控制器,at89c2051是它的一種精簡版本。at89c單片機為很多嵌入式控制系統提供了一種靈活性高且價廉的方案。3.1.1 主要特性與mcs-51 兼容 4k字節可編程閃爍存儲器 壽命:1000寫/擦循環數據保留時間:10年全靜態工作:0hz-

28、24hz三級程序存儲器鎖定128*8位內部ram32可編程i/o線兩個16位定時器/計數器5個中斷源 可編程串行通道低功耗的閑置和掉電模式片內振蕩器和時鐘電路3.1.2 管腳說明vcc:供電電壓。gnd:接地。p0口:p0口為一個8位漏級開路雙向i/o口,每腳可吸收8ttl門電流。當p1口的管腳第一次寫1時,被定義為高阻輸入。p0能夠用于外部程序數據存儲器,它可以被定義為數據/地址的第八位。在fiash編程時,p0 口作為原碼輸入口,當fiash進行校驗時,p0輸出原碼,此時p0外部必須被拉高。p1口:p1口是一個內部提供上拉電阻的8位雙向i/o口,p1口緩沖器能接收輸出4ttl門電流。p1口

29、管腳寫入1后,被內部上拉為高,可用作輸入,p1口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在flash編程和校驗時,p1口作為第八位地址接收。 p2口:p2口為一個內部上拉電阻的8位雙向i/o口,p2口緩沖器可接收,輸出4個ttl門電流,當p2口被寫“1”時,其管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸入時,p2口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。p2口當用于外部程序存儲器或16位地址外部數據存儲器進行存取時,p2口輸出地址的高八位。在給出地址“1”時,它利用內部上拉優勢,當對外部八位地址數據存儲器進行讀寫時,p2口輸出其特殊功能寄存器的內容。p2口在

30、flash編程和校驗時接收高八位地址信號和控制信號。p3口:p3口管腳是8個帶內部上拉電阻的雙向i/o口,可接收輸出4個ttl門電流。當p3口寫入“1”后,它們被內部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,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(外

31、部數據存儲器讀選通)p3口同時為閃爍編程和編程校驗接收一些控制信號。rst:復位輸入。當振蕩器復位器件時,要保持rst腳兩個機器周期的高電平時間。ale/prog:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節。在flash編程期間,此引腳用于輸入編程脈沖。在平時,ale端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數據存儲器時,將跳過一個ale脈沖。如想禁止ale的輸出可在sfr8eh地址上置0。此時, ale只有在執行movx,movc指令是ale才起作用。另外,該引腳被略微拉高。如果

32、微處理器在外部執行狀態ale禁止,置位無效。/psen:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/psen有效。但在訪問外部數據存儲器時,這兩次有效的/psen信號將不出現。/ea/vpp:當/ea保持低電平時,則在此期間外部程序存儲器(0000h-ffffh),不管是否有內部程序存儲器。注意加密方式1時,/ea將內部鎖定為reset;當/ea端保持高電平時,此間內部程序存儲器。在flash編程期間,此引腳也用于施加12v編程電源(vpp)。xtal1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。xtal2:來自反向振蕩器的輸出。3.2 8255簡介8255是i

33、ntel公司生產的可編程并行i/o接口芯片,有3個8位并行i/o口。具有3個通道3種工作方式的可編程并行接口芯片(40引腳)。 其各口功能可由軟件選擇,使用靈活,通用性強。8255可作為單片機與多種外設連接時的中間接口電路。8255作為主機與外設的連接芯片,必須提供與主機相連的3個總線接口,即數據線、地址線、控制線接口。同時必須具有與外設連接的接口a、b、c口。由于8255可編程,所以必須具有邏輯控制部分,因而8255內部結構分為3個部分:與cpu連接部分、與外設連接部 分、控制部分。3.3 dac0832簡介dac0832是8分辨率的d/a轉換集成芯片。與微處理器完全兼容。這個da芯片以其價

34、格低廉、接口簡單、轉換控制容易等優點,在單片機應用系統中得到廣泛的應用。d/a轉換器由8位輸入鎖存器、8位dac寄存器、8位d/a轉換電路及轉換控制電路構成。3.3.1 特性介紹* 分辨率為8位;* 電流穩定時間1us;* 可單緩沖、雙緩沖或直接數字輸入;* 只需在滿量程下調整其線性度;* 單一電源供電(+5v+15v);* 低功耗,200mw。3.3.2 管腳介紹* d0d7:8位數據輸入線,ttl電平,有效時間應大于90ns(否則鎖存器的數據會出錯);* ile:數據鎖存允許控制信號輸入線,高電平有效;* cs:片選信號輸入線(選通數據鎖存器),低電平有效;* wr1:數據鎖存器寫選通輸入

35、線,負脈沖(脈寬應大于500ns)有效。由ile、cs、wr1的邏輯組合產生le1,當le1為高電平時,數據鎖存器狀態隨輸入數據線變換,le1的負跳變時將輸入數據鎖存;* xfer:數據傳輸控制信號輸入線,低電平有效,負脈沖(脈寬應大于500ns)有效;* wr2:dac寄存器選通輸入線,負脈沖(脈寬應大于500ns)有效。由wr1、xfer的邏輯組合產生le2,當le2為高電平時,dac寄存器的輸出隨寄存器的輸入而變化,le2的負跳變時將數據鎖存器的內容打入dac寄存器并開始d/a轉換。* iout1:電流輸出端1,其值隨dac寄存器的內容線性變化;* iout2:電流輸出端2,其值與iou

36、t1值之和為一常數;* rfb:反饋信號輸入線,改變rfb端外接電阻值可調整轉換滿量程精度;* vcc:電源輸入端,vcc的范圍為+5v+15v;* vref:基準電壓輸入線,vref的范圍為-10v+10v;* agnd:模擬信號地* dgnd:數字信號地3.4 數碼管顯示原理我們最常用的是七段式和八段式led數碼,八段比七段多了一個小數點,其他的基本相同。所謂的八段是指數碼管里有八個小led發光二極管,通過控制不同的led的亮滅來顯示出不同的字形。數碼管又分為共陰極和共陽極兩種類型,其實共陰極就是將八個led的陰極連在一起。讓其接地,這樣給任何一個led得另一端高電平,它便能點亮。二共陽極

37、就是將八個led的陽極連在一起。其原理圖如下。 引腳圖 共陰極 共陽極 其中引腳圖的兩個com端連在一起,是公共端,而共陰數碼管要將其接地,共陽極將其接正5v電源。一個八段數碼管成為一位,多個數碼管并列在一起可構成多位數碼管,它們的段選線(即a,b,c,d,e,f,g,dp)連在一起,而各自的公共端稱為位選線。顯示時,都從段選線送入字符編碼,而選中哪個位選線,那個數碼管便會被點亮。數碼管的八段,對應一個字節的八位,a對應最低位,dp對應最高位。所以如果想讓數碼管顯示數字0,那么共陰數碼管的字符編碼為00111111,即0x3f:共陽數碼管的字符編碼為11000000,即0xc0。可以看出兩個編

38、碼的各位正好相反。如下圖第四章 硬件設計4.1 硬件原理框圖硬件原理方框圖如圖3.1所示。 圖4.1 硬件原理框圖4.2 主控電路at89c51單處機內部設置兩個16位可編程的定時器/計數器t0和t1,它們具有計數器方式和定時器方式兩種工作方式及4種工作模式。在波形發生器中,將其作定時器使用,用它來精確地確定波形的兩個采樣點輸出之間的延遲時間。模式1采用的是16位計數器,當t0或t1被允許計數后,從初值開始加計數,最高位產生溢出時向cpu請求中斷。中斷系統是使處理器具有對外界異步事件的處理能力而設置的。當中央處理器cpu正在處理某件事的時候外界發生了緊急事件,要求cpu暫停當前的工作,轉而去處

39、理這個緊急事件。在波形發生器中,只用到片內定時器計數器溢出時產生的中斷請求,即是在at89c51輸出一個波形采樣點信號后,接著啟動定時器,在定時器未產生中斷之前,at89c51等待,直到定時器計時結束,產生中斷請求,at89c51響應中斷,接著輸出下一個采樣點信號,如此循環產生所需要的信號波形6。如圖4.2所示,at89c51從p0口接收來自鍵盤的信號,并通過p2口輸出一些控制信號,將其輸入到8155的信號控制端,用于控制其信號的輸入、輸出。如果有鍵按下,則在讀控制端會產生一個讀信號,使單片機讀入信號。如果有信號輸出,則在寫控制端產生一個寫信號,并將所要輸出的信號通過8155的pb口輸出,并在

40、數碼管上顯示出來。 圖4.2 主控電路圖4.3 數/模轉換電路at89c51單片機控制兩片dac0832的原理圖輸出基準電壓at89c51單片機dac0832dac0832因為at89c51單片機自身便有一個64k的程序存儲器,所以不用擴展外加程序存儲器。由單片機編程即可由單片機輸出所需要信號的數字量,再由d/a轉換器將數字量轉化為模擬電流輸出,通過運放轉化為模擬電壓輸出。d/a數模轉換器的最大輸出電壓是由其輸入的基準電壓來控制的,所以只要能控制d/a的基準電壓便可以控制輸出幅度,實現幅度可調。所以設計用兩片dac0832來輸出信號,第一片d/a用來輸出信號,第二片d/a用來控制第一片d/a的

41、基準點壓。其中用p0口作為兩片d/a的數據總線,p2口的p2.0和p2.1口用來控制兩片d/a的選通。該文選用價格低廉、接口簡單、轉換控制容易并具有8位分辨率的數模轉換器。dac0832。dac0832主要由8位輸入寄存器、8位dac寄存器、8位d/a轉換器以及輸入控制電路四部分組成。但實際上,dac0832輸出的電量也不是真正能連續可調,而是以其絕對分辨率為單位增減,是準模擬量的輸出。dac0832是電流型輸出,在應用時外接運放使之成為電壓型輸出。由圖4.3可知,dac0832的片選地址為7fffh,當p25有效時,若p0口向其送的數據為00h, 則u1 的輸出電壓為0v;若p0口向其送的數

42、據為0ffh時, 則u1的輸出電壓為-5v. 故當u1 輸出電壓為0v時,由公式 得:vout = - 5v.當輸出電壓為- 5v時,可得:vout = +5v,所以輸出波形的電壓變化范圍為- 5v+ 5v. 故可推得,當p0所送數據為80h時,vout為0v4。 圖4.3 數模轉換電路4.4 按鍵接口電路由于本設計要求控制波形的幅度和頻率,所需按鍵較多,所以設計選用p1口來擴展44鍵盤。本設計中要求用數碼管顯示輸出信號的幅度和頻率等信息,而這些信息在信號輸出的時候是不需要時刻改變的,所以設計中選用靜態數碼管顯示,由單片機的串行通信口輸出顯示數據。這樣可以節省單片機的端口來做其它的用途,給予了

43、裝置可優化性。圖4.4為鍵盤接口電路的原理圖,圖中鍵盤和8155的pa口相連,at89c51的p0口和8155的d0口相連,at89c51不斷的掃描鍵盤,看是否有鍵按下,如有,則根據相應按鍵作出反應。其中“s0”號鍵代表方波輸出,“s1”號鍵代表正弦波輸出,“s2”號鍵代表三角波輸出。 “s3”號鍵代表鋸齒波輸出,“s4”號鍵為10hz的頻率信號,“s5”號鍵為100hz的頻率信號,“s6”號鍵為500hz的頻率信號,“s7”號鍵為1khz的頻率信號3。 圖4.4 按鍵接口4.5 時鐘電路時鐘電路可以簡單定義如下:1.就是產生象時鐘一樣準確的振蕩電路。2.任何工作都按時間順序,用于產生這個時間

44、的電路就是時鐘電路,時鐘電路一般由晶體振蕩器、晶震控制芯片和電容組成。 圖4.5 時鐘電路8051單片機有兩個引腳(xtal1,xtal2)用于外接石英晶體和微調電容,從而構成時鐘電路,其電路圖如圖4.5所示。電容c1、c2對振蕩頻率有穩定作用,其容量的選擇為30pf,振蕩器選擇頻率為12mhz的石英晶體。由于頻率較大時,三角波、正弦波、鋸齒波中每一點的延時時間為幾微秒,故延時時間還要加上指令時間才能獲得較大的頻率波形9。4.6 顯示電路顯示電路是用來顯示波形信號的頻率,使得整個系統更加合理,從經濟的角度出發,所以顯示器件采用led數碼管顯示器。而且led數碼管是采用共陽極接法,當主控端口輸出

45、一個低電平后,與其相對應的數碼管即變亮,顯示所需數據。其器件模型如圖4.6所示。圖4.6 led顯示電路第五章 軟件設計5.1 設計構思1幅度控制由于d/a數模轉換器輸出的最大幅度可以用其基準電壓來控制,所以控制第二片d/a數模轉換器輸出給第一片d/a數模轉換器的電壓值就可控制信號幅度。因此,送入第二片的值是幾個固定的值。由于dac0832內部具有鎖存器,所以只需向第二片d/a送值一次,直到下一次改變信號幅度。2頻率控制單片機內部數據只有0、1之分,所產生的信號也都是離散信號。為了能夠讓單片機輸出所需的數字信號,我們采用對信號采樣、量化的方法來實現由單片機產生所需信號。在本設計中,對信號的四分

46、之一周期采樣19個幅度值,通過反復查表來輸出幅度值,而整個信號是通過正查表和逆向查表來實現的。采樣的點越密,信號失真度也就越小。兩次采樣點的輸出時間間隔是由定時、計數器來控制的,因此,通過控制不同的計數初值就可以控制整個信號的頻率。計數時間=信號周期/72。計數次數=計數時間/機器周期。對應的,計數初值=65536計數次數。單片機只能產生離散頻率的信號,所以所得到的信號頻率不是連續的,而是離散的頻率點。由于這部分計算位數較多,不適合用單片機編程來計算計數初值,所以本設計中將各頻率的計數初值算出,讓單片機按控制命令來查表控制頻率。正弦波和三角波的頻率控制方法都與上述方法相同,而方波的頻率控制是半

47、周期計數,經過半周期只需改變輸出為最大或最小電平即可。5.2 程序流程圖本文中子程序的調用是通過按鍵的選擇來實現,在取得按鍵相應的鍵值后,啟動計時器和相應的中斷服務程序,再直接查詢程序中預先設置的數據值,通過轉換輸出相應的電壓,從而形成所需的各種波形。主程序的流程圖如圖5.1所示,在程序開始運行之后,首先是對8155進行初始化,之后判斷信號頻率值,如符合所需的頻率,則重置時間常數,并通過顯示器顯示出來,不符則返回。在中斷結束后,還要來判斷波形是否符合,如符合,則顯示其頻率,不符則返回,重新判斷。 圖5.1 主程序流程圖下面說明主程序流程圖的程序實現:1. 開始:org 0000h 程序開始執行

48、,首先覺得跳轉到主程序ajm main org 000bh 定時器0中斷入口地址,跳轉到中斷服務程序ljmp tcoorg 0030h2.5255a初始化:mov dptr,#7f00h 指向8155命令字端口地址mov a,#06h 設置a口為輸入,b口、c口為輸出movx dptr,a 送命令字3.判定信號頻率:mov dptr,#7f01h 指向a口地址movx a,dptr 讀入a口的開關數據jnb acc.4,k10h 判斷是否“4”號鍵,若是則轉輸出10hz信號jnb acc.5,k100h 判斷是否“5”號鍵,若是則轉輸出100hz信號jnb acc.6,k500h 判斷是否“6”號鍵,若是則轉輸出500hz信號jnb acc.7,k1k 判斷是否“7”號鍵,若是則轉輸出1khz信號ajmp main 無鍵按下則返回等待4.根據頻率值置新的時間常數,以10hz為例k10h:mov 30h,#00h 顯示10hzmov 31h,#00hmov 32h,#00hmov 33h,#00hmov 34h,#01hmov 35h,#00hlcall led1 調顯示子程序mov tmod,#00hmov tl0,#15hmov th0,#9ehajm

溫馨提示

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

評論

0/150

提交評論