波形發(fā)生器設計_第1頁
波形發(fā)生器設計_第2頁
波形發(fā)生器設計_第3頁
波形發(fā)生器設計_第4頁
波形發(fā)生器設計_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、鄭州輕工業(yè)學院畢業(yè)設計(論文)任務書題目 波形發(fā)生器軟件設計 專業(yè) 電子信息工程 學號 541101030231 姓名 邵臣 設計的主要內(nèi)容:1、 利用AT89C51、DAC0832進行設計,使之能產(chǎn)生正弦波、方波、三角波。2、 設計軟件總程序和具體的正弦波、三角波、方波產(chǎn)生子程序。3、 掌握正弦波、方波、三角波三種波形發(fā)生的原理。基本要求:1、 能產(chǎn)生正弦波、方波、三角波三種波形,波形的頻率可調(diào),輸出幅度的可調(diào),并且具有顯示功能。2、 英文翻譯不少于5000字符。3、 資料綜述不少于3000字符。4、 中英文摘要不少于200字符。主要參考資料:1、 蔡明生 電子設計 北京 高等教育出版社 2

2、004.12、 全國大學生電子設計競賽組委會 第五屆全國大學生電子設計競賽獲獎作品選編 北京 北京理工大學出版社 2003.13、張毅坤 陳善久 裘雪紅 單片微型計算機原理及應用 西安 西安電子科技大學出版社 1998 完成期限:2015年2月28日到2015年6月12日 指導教師簽章: 專業(yè)負責人簽章: 2015年 2 月 28日波形發(fā)生器軟件設計摘 要 在通信這個領(lǐng)域里,各式各樣的信號是其中重要的組成部分,在實驗過程和教學過程當中也有比較突出和典型的波,如三角波,正弦波,方波經(jīng)常作為典型的波作為介紹,以方便大家理解。波形發(fā)生器可以產(chǎn)生不同的波形,在電子實驗和教學過成中經(jīng)常使用。這篇文章主要

3、介紹的是設計函數(shù)器,主要是利用AT89C51 ,DAC0832對波形發(fā)生器進行設計,可以產(chǎn)生三種波形正弦波,三角波,方波,通過控制可以使波形的頻率可以調(diào)節(jié),幅度也可以調(diào)節(jié)。本次畢業(yè)設計利用AT89C51 作為主要的控制芯片,編寫軟件程序,然后將程序載入到單片機AT89C51中,軟件硬件相結(jié)合產(chǎn)生正弦波、三角波、方波這三種波形。然后將單片機與將生成的數(shù)字信號經(jīng)過D/A轉(zhuǎn)換器,轉(zhuǎn)變成模擬信號,然后模擬信號再通過放大器放大顯示在示波器上,波形的種類,頻率都通過液晶顯示LCD1602,可以明顯的看到,使用鍵盤控制這三種波形的切換。本次設計對軟件設計的總程序,還有具體的正弦波,方波,三角波等子程序進行了

4、非常詳細的闡述。關(guān)鍵詞 AT89C51單片機 DA轉(zhuǎn)換器DAC0832 LCD1602WAVEFORM GENERATOR SOFTWARE DESIGNABSTRACTIn this field of communication, a wide range of signals is an important part in the experiment and the teaching process is also more prominent and typical wave, such as triangular wave, sine wave, square wave is oft

5、en used as a typical wave of introduction, in order to facilitate understanding. Waveform generator can produce different waveforms, often used in the electronic experiments and teaching process.This article introduces the design function is, mainly using AT89C51 DAC0832 waveform generator designed

6、to generate three sine wave, triangle wave, square wave, by controlling the frequency of the waveform can be adjusted, the amplitude can be adjusted . This graduation design uses AT89C51 as the main control chip, writing software program, then the program is loaded into the microcontroller AT89C51,

7、the software and hardware combination to generate sine, triangle, square wave three waveforms. Then microcontroller and digital signal generated through the D / A converter, converts digital signals into analog signals, then the analog signal is then amplified and displayed on an oscilloscope, wavef

8、orm type, frequency through LCD LCD1602, can clearly see, use the keyboard to control these three waveforms of switching. The overall program design for software design, as well as specific sine, square, triangle and other routines were very detail.KEYWORDS AT89C51 microcontroller DA converter DAC08

9、32 LCD1602目 錄摘要IABSTRACTII1 緒論11.1 課題背景11.2單片機概述11.3 設計要求及其意義21.4 常用的波形介紹 32 設計方案論證與選擇52.1 總體方案選擇52.2 單個系統(tǒng)方案選擇52.2.1控制器方案的選擇62.2.2 顯示模塊的選擇62.2.3 鍵盤方案的選擇62.2.4 DA轉(zhuǎn)換器的選擇72.2.5 頻率和幅度調(diào)節(jié)的選擇72.3 系統(tǒng)總體框圖83主要元器件介紹93.1 AT89C51介紹93.1.1 AT89C51引腳介紹93.1.2 主要性能113.2 DAC0832簡介123.2.1 DAC0832的主要特性參數(shù)123.2.2 DAC0832結(jié)

10、構(gòu)123.2.3 DAC0832工作方式133.3 LCD1602簡介133.3.1管腳功能144 硬件電路設計154.1 單片機最小系統(tǒng)154.2 時鐘電路154.3復位電路164.4波形產(chǎn)生模塊電路的設計174.5顯示模塊電路的設計174.6 鍵盤顯示模塊電路的設計184.7 總體原理設計圖185 軟件設計205.1軟件開發(fā)環(huán)境介紹205.1.1 Keil uVision介紹205.1.2 Proteus7.10 介紹205.1.3 Keil 與Proteus 聯(lián)合仿真215.2 程序軟件總設計215.2.1 波形切換圖215.2.2 LCD顯示流程圖225.2.3 三角波子程序的設計23

11、5.2.4 方波子程序的設計235.2.5 正弦波的設計246 硬件和軟件測試256.1硬件調(diào)試256.2軟件調(diào)試256.3 調(diào)試小結(jié)256.4設計心得和體會26參考文獻29附 錄130附 錄2311 緒論1.1 課題背景在教學過程當中,波形發(fā)生器也被稱作函數(shù)發(fā)生器,它可以用作實驗信號源,是當代各種電子通信實驗設計和社會實踐過程中絕對不可以少的的儀器設備之一。目前為止,市面上經(jīng)常見到的的波形發(fā)生器大多都是純粹由硬件連接而成的,而且波形的種類也很少,大多為鋸齒波,正弦波,三角波等種類。信號發(fā)生器如今在各行各業(yè)都被使用到,而且,我們的生活當中充滿了各種各樣的信號。在電信工程、通信行業(yè)、自動化控制領(lǐng)

12、域、遙控檢測領(lǐng)域、儀器儀表測量等領(lǐng)域,各式各樣的信號波形發(fā)生器經(jīng)常被使用到。現(xiàn)今時代,有關(guān)集成電路這一方面的發(fā)展已經(jīng)很成熟,由集成電路搭建的信號發(fā)生器比傳統(tǒng)的信號發(fā)生器在性能上更加優(yōu)良,在幅度調(diào)節(jié)和頻率調(diào)節(jié)上都有一定的提高。由于市場對信號發(fā)生器的需求越來越高,通信行業(yè),雷達檢測,航空事業(yè)的發(fā)展,對信號源的各種參數(shù)提出了更多的要求,比如頻譜是否穩(wěn)定、頻率調(diào)節(jié)范圍的多少、波形的質(zhì)量問題、頻率個數(shù)多少問題等。為了使頻率個數(shù)增多,可以對頻率使用加、減、乘、除等運算法則,使它可從一個既準確度很高又穩(wěn)定度很高的非常標準頻率源,產(chǎn)生大量的不同頻率的信號,但是又具有相同的準確度和穩(wěn)定度,因此也被稱作頻率合成技

13、術(shù)。在現(xiàn)今很多電子研究領(lǐng)域和學科實驗中,我們不但需要傳統(tǒng)的信號源,還需要一些不規(guī)則的信號用來研究各種科學實驗和社會實踐中遇到的問題。例如電鍍電源對鍍層有怎樣的影響,電子儀器的測試以及在科學實驗過程中出現(xiàn)的各種各樣的干擾的模擬等科學研究實驗中。就非常需要一些非正常的信號和可以任意改變波形的信號源。在科學實驗研究和許多社會實踐中,例如工業(yè)控制過程,生物醫(yī)學研究與發(fā)展等領(lǐng)域,低頻率的信號源深受它們的喜愛。1.2單片機概述自從20世紀70年代單片機的產(chǎn)生,在生活的各個方面都使用到單片機,比如我們用的手機,它讓我們的科學先進了很多,對我們的影響也越來越大。單片機是一種集成在芯片上,集成度特別高的的微型計

14、算機,它采用了許多超大規(guī)模集成電路技術(shù),把作為微處理器的CPU ,可以擴展空間的隨機存儲器 RAM、用來存儲程序的 ROM、多種 I/O 口和應用廣泛的中斷系統(tǒng)、定時器/計時器等集成到一片半導體硅片上形成的一個精小而完善的微型計算機系統(tǒng)。單片機具有集成度很高、系統(tǒng)結(jié)構(gòu)簡單容易被理解的優(yōu)點。單片機它使用非常便、可靠性也高、處理功能強大、處理速度相當快,在家用電器控制方面、儀器儀表檢測、醫(yī)療器械控制、航空航天事業(yè)的發(fā)展、專用設備的智能化運行等領(lǐng)域都離不開單片機的使用。 單片機現(xiàn)在朝著繼續(xù)擴大容量,優(yōu)化性能,外圍電路內(nèi)裝化等方向發(fā)展,這樣可以滿足不同客戶的需求,各公司也競相推出更好的產(chǎn)品,這一點可以

15、通過我們現(xiàn)在的生活就可以看出,CPU改進了很多方面,CPU的性能更加優(yōu)良了,例如16位的單片機和32位的單片機它的處理數(shù)據(jù)的能力以及各方面性能都比8位的單片機要好,還要補充一點,8位單片機系統(tǒng)采用16位的數(shù)據(jù)總線,在處理數(shù)據(jù)方面能力明顯比一般8位單片機要高。Flash存儲器具有很大的優(yōu)點,對于靜態(tài)RAM的讀和寫操作方面很簡便。掉電的時候也不會丟失,存儲器的存儲空間也加大了。片內(nèi)I/0的設置也有所改變,并行口的驅(qū)動能力更加好了,這樣外部驅(qū)動芯片的使用就少了,有的單片機可以直接輸出大電流以及高電壓,非常方便,可以使LED和VFD(熒光顯示器)直接被驅(qū)動,這樣減少了很多麻煩。特殊功能的串行I/O在某

16、些單片機中也有,為構(gòu)成分布式、網(wǎng)絡化系統(tǒng)帶來了很大的好處。單片機的功耗也變低了,單片機具有低功耗的優(yōu)點,為了充分發(fā)揮這個優(yōu)勢,這一類的單片機有等待狀態(tài),睡眠狀態(tài)等多種工作方式。單片機在這些狀態(tài)下低電壓工作時,僅消耗的電流有nA量級,非常適合很多消費類的電子產(chǎn)品,因為它易于攜帶,方便快捷。1.3 設計要求及其意義波形發(fā)生器在實驗過程中經(jīng)常被用到,由純粹硬件構(gòu)成的傳統(tǒng)的設計存在一定的弊端,例如:體積很大、重量不輕、攜帶不方便、信號容易失真、波形形狀調(diào)節(jié)不易控制,無法滿足用戶對易攜帶性、穩(wěn)定性等要求,本次畢業(yè)設計致力于研究設計出一種頻率可以調(diào)節(jié)而且很穩(wěn)定,準確度高、波形質(zhì)量好、輸出頻率范圍寬、易攜帶

17、等特點的波形信號發(fā)生器,以滿足學科領(lǐng)域以及社會實踐對信號源的要求。本次畢業(yè)設計主要是編寫軟件程序裝載到單片機 AT89C51中 ,輸出的數(shù)字信號再經(jīng)過DAC0832轉(zhuǎn)換器轉(zhuǎn)變?yōu)槟M信號,再經(jīng)過放大處理實現(xiàn)方波、三角波、正弦波這三種常用波形的發(fā)生。根據(jù)要求,對這三種波形的頻率調(diào)節(jié)和幅度調(diào)節(jié)編寫程序代碼,并將所寫程序代碼裝載到單片機的用來存放程序的程序存儲器中以達到波形的幅度可以調(diào)節(jié),頻率也可以調(diào)節(jié)。利用按鍵的設計,來切換不同的波形。本次畢業(yè)設計致力于研究設計出一種頻率可以調(diào)節(jié)而且很穩(wěn)定,準確度高、波形質(zhì)量好、輸出頻率范圍寬、易攜帶等特點的波形信號發(fā)生器,以滿足學科領(lǐng)域以及社會實踐對信號源的要求。

18、1.4 常用的波形介紹 信號源的波形表達式一般情況下可以寫成 ,信號的表達式經(jīng)常會使用到,本文介紹正弦波,方波,鋸齒波等這幾種經(jīng)常用到的波。(1)正弦波正弦波形反應的也就是正弦信號,這種信號很常見,正弦信號與余弦信號,雖然在相位上有差別,但是都被稱為正弦信號。正弦信號也作為通信中的載波信號。它的表達式為 f (t)=Asin(t+ ) (1-1)式中,振幅為A,角頻率為W, 為初相位。振幅、角頻率、初相是正弦信號的三個重要的部分。它的波形如下圖。正弦信號是一種周期性的信號,周期、頻率、和角頻率之間的關(guān)系為: (1-2)圖1-1 正弦波形 在實驗教程中會經(jīng)常遇到單邊帶指數(shù)衰減的正弦和余弦信號,它

19、波形圖如圖2所展示,它的一般表達式為: (1-3)圖1-2 指數(shù)衰減形式的正弦波(2)方波波形的信號 方波函數(shù)也是一中經(jīng)常被用到的函數(shù),它的一般表達式為: (1-4) 方波的波形如下圖所示:圖1-3方波波形 2 設計方案論證與選擇2.1 總體方案選擇 一個好的設計一定要有一個好的方案,所以我們要從不同的方案選出最適合的一個,下面是各種不同的方案。方案一:使用非穩(wěn)態(tài)的多諧振蕩器作為波形發(fā)生器的這要元件,然后再加入不同的電路,我們根據(jù)所需要的三角波,正弦波,方波等的要求加入積分電路,這樣構(gòu)成的一個波形發(fā)生器。這三種波形具有相同的輸出頻率,也就是不能輸出不同頻率的三種波形,通過調(diào)節(jié)運放的參數(shù)可以使頻

20、率改變,這樣頻率就改變了。方案二:使用單片函數(shù)發(fā)生器(如8038芯片),讓它由單片機控制,通過這種方案來設計波形發(fā)生器。方案三:利用傳統(tǒng)的鎖相頻率合成法來設計波形發(fā)生,各方面性能良好的的正弦波可以通過使用IC145152芯片控制,然后從壓控振蕩器搭接而成,比較熟悉的鎖相環(huán)電路輸出,正弦波再通過過零比較器,就可以產(chǎn)生我們所需要的方波,方波通過積分電路生成三角波,就實現(xiàn)了波形發(fā)生器的設計方案四:利用AT89C51單片機芯片,讓單片機 AT89C51 作為主要的控制芯片,輸出的數(shù)字信號經(jīng)過DAC0832,轉(zhuǎn)變?yōu)槟M信號,再經(jīng)過放大處理實現(xiàn)方波、三角波、正弦波這三種常用波形的發(fā)生。方案一由于非穩(wěn)態(tài)的多

21、諧振蕩器使用的是分立元件構(gòu)成,模擬信號非常不穩(wěn)定,特別容易受到各種干擾,精度很難達到要求(比如放大器存在各種失真,集成電路也有零點漂移),而且結(jié)構(gòu)很復雜,設備體積過大導致準確度不高,不利于調(diào)節(jié)頻率。方案二雖然很簡單,也很容易實行,但是通過8038所產(chǎn)生的波形,它的頻率的穩(wěn)定性很差,還容易產(chǎn)生生高次諧波分量,容易產(chǎn)生干擾。方案三的電路構(gòu)成太復雜,也存在很多干擾,不容易實現(xiàn)。方案四通過軟件的設計來控制硬件,輸出不同的波形,而且方案四中所用到元器件很便宜,在市面上也很容易買到,設計方案也簡便易懂。綜上所述,選擇使用方案四來設計。2.2單個系統(tǒng)方案選擇本節(jié)對本次畢業(yè)設計中的控制器、調(diào)節(jié)頻率的方案、調(diào)節(jié)

22、幅度的方案、按鍵的設計的方案、顯示模塊設計的方案、D/A轉(zhuǎn)換器的選擇和使用進行了進一步的闡述。下面予以介紹??刂破鞣桨傅倪x擇方案一:AT89C51單片機是一個精小而完整的微型計算機系統(tǒng),單片機現(xiàn)在朝著繼續(xù)擴大容量,優(yōu)化性能,外圍電路內(nèi)裝化等方向發(fā)展,單片機它使用非常方便、可靠性也高、處理功能強大、處理速度相當快, 在家用電器控制方面、儀器儀表檢測、醫(yī)療器 械控制、航空航天事業(yè)的發(fā)展、專用設備的智能化運行等領(lǐng)域都離不開單片機的使用。單片機它使用非常便、可靠性也高、處理功能強大、處理速度相當快,在家用電器控制方面、儀器儀表檢測、醫(yī)療器械控制、航空航天事業(yè)的發(fā)展、專用設備的智能化運行等領(lǐng)域都離不開單

23、片機的使用。它的價格優(yōu)惠,在市面上容易買到,它的集成度也很高。方案二:C8051F005單片機是一種混合的信號系統(tǒng)級芯片,它是完全集成的,它的微控制器內(nèi)核與8051相兼容,它也與MCS-51指令集完全的兼容1。片內(nèi)不僅具有數(shù)字外設部件,數(shù)據(jù)采集和控制系統(tǒng)中經(jīng)常被使用的的模擬部件和其他功能性部件也被集成在內(nèi),它的執(zhí)行速度較快,但其價格也更貴。綜上所述,經(jīng)過思考,優(yōu)先選擇方案一 顯示模塊的選擇 方案一:使用LED數(shù)碼管顯示。在做實驗和教學中,LED數(shù)碼管經(jīng)常使用到,常見的LED數(shù)碼管為“8”字型的,一共8段,每一段與二極管相對應,LED數(shù)碼管有兩種顯示方式,分別是靜態(tài)顯示方式、動態(tài)顯示方式。使用L

24、ED數(shù)碼管雖然在軟件編程方面比較簡單,但是字母不能被數(shù)碼管顯示。方案二:使用LCD1602顯示,顯示器種類有很多種,LCD1602它是點陣字符型的,它的功率小,效果也比較明顯,顯示的編程容易被控制,最重要的是它可以顯示字母。綜合考慮以上兩種方案,優(yōu)先方案二。 鍵盤方案的選擇方案一:使用行列式鍵盤。行列式鍵盤也叫矩陣式鍵盤,它的組成由行線和列線組成,按鍵觸點位于于行、列母線的交叉點上。方案二:使用獨立式鍵盤。它的特點是每個按鍵都是相互獨立的,每個按鍵與單片機的I/O口相連接,它的組成由電源、上拉電阻、按鍵。當按鍵被按下時,相應的波形被顯示,頻率值也會被顯示,它是利用單片機查詢方式來顯示的。獨立式

25、鍵盤在按鍵數(shù)目比較少的情況下很實用 綜合考慮以上兩種方案,因為本次設計按鍵數(shù)目不多,所以選用方案二。2.2.4 DA轉(zhuǎn)換器的選擇 方案 :使用常用的DAC0832。因為它很常見,在仿真軟件Proteus的元件庫所提供的D/A轉(zhuǎn)換器大多都是常見的這種。2.2.5 頻率和幅度調(diào)節(jié)的選擇 方案一:相應的波形類別、頻率的調(diào)節(jié)和幅度的調(diào)節(jié)通過按鍵來輸入,然后編寫軟件程序,通過控制單片機,實現(xiàn)波形類別、頻率的調(diào)節(jié)和幅度的調(diào)節(jié)。方案二:相應的波形類別、頻率的調(diào)節(jié)通過按鍵來輸入,然后編寫軟件程序,通過控制單片機,實現(xiàn)波形類別、頻率的調(diào)節(jié)。但是,幅度的調(diào)節(jié)要通過調(diào)節(jié)電位器來實現(xiàn),調(diào)節(jié)電位器可以改變DAC0832

26、的參考電壓,這樣幅度就可以調(diào)節(jié)。仔細思考分析之后發(fā)現(xiàn),方案一有關(guān)幅度調(diào)節(jié)的實施起來比較困難,因為波形的頻率的調(diào)節(jié)實際上是波形點數(shù)的問題,例如,一個方波波一個周期內(nèi)有30個點,當所需要的頻率很低時,就需要增加點數(shù)來改變頻率的大小,如果不這樣做,波形會產(chǎn)生失真,當所需要的頻率很高時,為了達到要求,波形的點數(shù)在一個周期內(nèi)又不能太多。與此同時,點數(shù)多少的問題在波形的幅度的調(diào)節(jié)當中也要考慮,如果波形點數(shù)太多時,在0.1V這么微小的幅度調(diào)節(jié)里是根本分辨不出來的,因為DAC0832的分辨率還達不到這么高的要求。綜上所述,波形在一個周期內(nèi)的點數(shù)同時影響波形的幅度和頻率,這是一個技術(shù)問題,相當?shù)挠须y度。相對的來

27、說,通過按鍵來實現(xiàn)幅度的調(diào)節(jié)有些復雜,實現(xiàn)起來有困難。因此,經(jīng)過仔細思考,綜合考慮了這兩種方案,相應的波形類別、頻率的調(diào)節(jié)通過按鍵來輸入,然后編寫軟件程序,通過控制單片機,實現(xiàn)波形類別、頻率的調(diào)節(jié)。波形的幅度的調(diào)節(jié)通過電位器的調(diào)節(jié)來實現(xiàn),調(diào)節(jié)電位器來調(diào)節(jié)DAC0832參考電壓來改變幅值。2.3 系統(tǒng)總體框圖ATC89C51單片機DAC0832 數(shù)/模轉(zhuǎn)換huan換放大電路復位電路時鐘電路波形輸出顯示電路鍵盤電路圖2-1 系統(tǒng)總體框圖該系統(tǒng)的設計是由硬件電路和軟件編程兩部分結(jié)合,該設計的主要控制芯片為AT89C51,連接單片機的P0口和DAC0832,將數(shù)字信號轉(zhuǎn)換為模擬信號,連接單片機的P3口

28、和鍵盤電路,通過控制鍵盤進行波形的選擇和切換,還有頻率的改變。連接單片機的P1口和LCD1602,通過軟件的控制來實現(xiàn),產(chǎn)生波形的種類可以切換,頻率在一定范圍內(nèi)可以調(diào)節(jié),它們由按鍵和按鍵次數(shù)來控制,通過調(diào)節(jié)電位器來調(diào)節(jié)幅度。信號經(jīng)過DAC0832,輸出電流到輸出電壓的轉(zhuǎn)換通過芯片LM324來實現(xiàn)。波形的頻率和類別通過LCD來顯示。3主要元器件介紹3.1 AT89C51介紹系統(tǒng)的主控芯片使用單片機AT89C51,它的價格優(yōu)惠,在市面上容易買到,它在人機對話和良好的數(shù)據(jù)處理方面占有優(yōu)勢,它擁有較強的指令尋址系統(tǒng)和運算功能等。AT89C51為8 位通用微處理器,它的外部引腳為44個引腳,并且是雙列直

29、插式的,用型它的控制功能主要是應用于會聚調(diào)整的時候,它的內(nèi)部包括內(nèi)部寄存器,數(shù)據(jù)寄存器RAM以及外部的通信接口。3.1.1 AT89C51引腳介紹AT89C51主要管腳有:晶振的進入管腳即管腳18和管腳19,此電路使用的12MHZ的晶振。其中還有復用的9腳,它為電路的復位引腳,外部是接復位電路的。還有電源引腳和復位引腳,分別為40引腳和20引腳,還有P0P3 可以進行編程的通用型I/O 腳,它的具體功能是由內(nèi)部的程序來定義的。AT89C51單片機的40個引腳如圖3-1: 圖3-1 單片機引腳圖GND:接地P0口:P0口是雙向I/O口,這個雙向I/O口是8位漏極開路的。P0口作為輸出端口,8個T

30、TL邏輯電平能被每一位驅(qū)動。當對P0端口寫“1”作為高阻抗輸入。P0口在訪問外部程序、數(shù)據(jù)存儲器時,被作為低8位地址/數(shù)據(jù)復用。在這種模式下工作,P0具有上拉電阻,內(nèi)部的。在flash編程工程時,接收指令字節(jié)也是P0口;,會輸出指令字節(jié)。在校檢編寫的程序時,是需要外部上拉電阻的。P1口:P1口是一個8位雙向I/O 口,這個8位雙向I/O 口是具有內(nèi)部上拉電阻的,4個TTL 邏輯電平能被P1 輸出緩沖器驅(qū)動。當我們對P1 端口寫“1”時,端口會被內(nèi)部上拉電阻拉高,此時P1口可以被作為輸入口使用。P1扣作為輸入口使用時,因為內(nèi)部電阻,被外部拉低的引腳將輸出電流(IIL)。除此之外,也與定時器/計數(shù)

31、器2有關(guān),定時器/計數(shù)器2的外部計數(shù)輸入(P1.0/T2)還有計時器/計數(shù)器2的觸發(fā)輸入(P1.1/T2EX),在flash編程中、程序校驗中,接收低8位地址字節(jié)也是P1口。P2口:P2口是一個8位雙向I/O 口,這個8位雙向I/O 口它是具有內(nèi)部上拉電阻的,4個TTL 邏輯電平能被P2 輸出緩沖器驅(qū)動。當對P2 端口寫“1”時,端口會被內(nèi)部上拉電阻拉高,此時P2口可以被作為輸入口使用作為輸入使用時,因為內(nèi)部電阻,被外部拉低的引腳將輸出電流(IIL)。在訪問存儲數(shù)據(jù)外部程序存儲器或用16位地址讀取存儲數(shù)據(jù)的外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX DPTR)時,高八位地址會被P2口送出,在這種應用中,

32、P2 口發(fā)送1,它使用了很強的內(nèi)部上拉。在)訪問外部數(shù)據(jù)存儲器使用8位地址(如MOVX RI)時,P2鎖存器的內(nèi)容會被P2口輸出。在flash編程和校驗時,高8位地址字節(jié)還有 一些控制信號也會被P2口輸出。P3口:P3口是一個8位雙向I/O 口,這個8位雙向I/O 口它是具有內(nèi)部上拉電阻的,4個TTL 邏輯電平能被P3 輸出緩沖器驅(qū)動。當對P3 端口寫“1”時,端口會被內(nèi)部上拉電阻拉高,此時P3口可以被作為輸入口使用作為輸入使用時,因為內(nèi)部電阻,被外部拉低的引腳將輸出電流(IIL)。P3口也被作為AT89S52特殊功能(第二功能)使用,在flash編程和校驗時,P3口也可以作為具有控制信號功能

33、的端口 RST:它是復位輸入端口。在晶振工作狀態(tài)下,如果RST持續(xù)保持2個機器周期的高電平,此時單片機就會復位。RST 引腳在看門狗計時完成后會輸出96個晶振周期的高電平。此功能也會無效特當使用殊寄存器AUXR(地址8EH)上的DISRTO位時。復位高電平在DISRTO默認狀態(tài)下有效。ALE/:ALE是地址鎖存控制信號,在訪問外部程序存儲器時,它鎖存低8位地址的輸出脈沖,在flash編程狀態(tài)下時,編程輸入脈沖使用引腳()。沒有特殊情況下下,ALE 的輸出脈沖的固定頻率是晶振頻率的六分之一,ALE可以被用作外部定時器或時鐘使用,但是要特別強調(diào)一點,ALE脈沖在每次訪問外部數(shù)據(jù)存儲器時將會跳過,如

34、果有需要的話,ALE操作在將地址為8EH的SFR的第0位置 “1”會被判為無效2。這一個位置 “1”,ALE僅在執(zhí)行MOVX或MOVC指令時有效。否則,ALE 就會被被微弱的拉高。這個ALE 使能標志位(地址為8EH的SFR的第0位)的設置對微控制器有影響,在微控制器處于外部執(zhí)行模式下是無效的。:()就是外部程序存儲器選通信號。當AT89C51從外部程序存儲器執(zhí)行外部程序代碼時,每個機器周期都會被被激活兩次,但是在訪問外部數(shù)據(jù)存儲器時,就不被激活3。/VPP:是訪問外部程序存儲器控制信號。為使能從0000H 到FFFFH的外部程序存儲器讀取指令,它一定要接GND。為了執(zhí)行內(nèi)部程序指令,應該接V

35、CC。在flash編程狀態(tài)下,也接收12伏VPP的電壓。XTAL1:XTAL1是片內(nèi)振蕩器反相放大器和內(nèi)部時鐘發(fā)生電路的輸入端口。XTAL2:XTAL2是片內(nèi)振蕩器反相放大器輸出端口。3.1.2 主要性能 與MCS-51單片機產(chǎn)品相互兼容; 8K字節(jié)在系統(tǒng)可編程Flash存儲器; 1000次擦寫周期; 全靜態(tài)操作:0Hz-33MHz; 三級加密程序存儲器; 32個可編程I/O口線; 三個16位定時器/計數(shù)器; 六個中斷源; 全雙工UART串行通道; 低功耗空閑和掉電模式; 掉電后中斷可喚醒; 看門狗定時器; 雙數(shù)據(jù)指針; 掉電標識符。3.2 DAC0832簡介 DAC0832是一種D/A轉(zhuǎn)換集

36、成芯片,它是8分辨率的。它與微處理器是完全兼容的。這個DA芯片有很多的優(yōu)勢,比如其價格相對其他產(chǎn)品比較便宜、它的接口很容易被理解、在轉(zhuǎn)換控制方面很自由,在單片機應用系統(tǒng)中,DAC0832應用及其的普遍。D/A轉(zhuǎn)換器的組成部件,有8位輸入鎖存器、8位DAC寄存器、8位D/A轉(zhuǎn)換電路、轉(zhuǎn)換控制電路4。3.2.1 DAC0832的主要特性參數(shù)* 它的分辨率是8位; * 它的電流的穩(wěn)定時間為1us; * 它的輸入可以為單緩沖、雙緩沖或直接數(shù)字的方式; * 它的線性度的調(diào)整只需在滿量程下; * 單一電源供電(+5V+15V); * 低功耗,20mW。3.2.2 DAC0832結(jié)構(gòu)* D0D7:是8位數(shù)據(jù)

37、輸入線,TTL電平,有效時間應大于90ns(否則鎖存器的數(shù)據(jù)會出錯)。 * ILE:數(shù)據(jù)鎖存允許控制信號輸入線,高電平有效。 * CS:片選信號輸入線(選通數(shù)據(jù)鎖存器),低電平有效; * WR1:數(shù)據(jù)鎖存器寫選通輸入線,負脈沖(脈寬應大于500ns)有效。由ILE、CS、WR1的邏輯組合產(chǎn)生LE1,當LE1為高電平時,數(shù)據(jù)鎖存器狀態(tài)隨輸入數(shù)據(jù)線變換,LE1的負跳變時將輸入數(shù)據(jù)鎖存5。* XFER:數(shù)據(jù)傳輸控制信號輸入線,低電平有效,負脈沖(脈寬應大于500ns)有效。 * WR2:DAC寄存器選通輸入線,負脈沖(脈寬應大于500ns)有效。由WR2、XFER的邏輯組合產(chǎn)生LE2,當LE2為高電

38、平時,DAC寄存器的輸出隨寄存器的輸入而變化,LE2的負跳變時將數(shù)據(jù)鎖存器的內(nèi)容打入DAC寄存器并開始D/A轉(zhuǎn)換。 * IOUT1:電流輸出端1,其值隨DAC寄存器的內(nèi)容線性變化5。* IOUT2:電流輸出端2,其值與IOUT1值之和為一常數(shù)。 * Rfb:反饋信號輸入線,改變Rfb端外接電阻值可調(diào)整轉(zhuǎn)換滿量程精度5。 * Vcc:電源輸入端,Vcc的范圍為+5V+15V; * VREF:基準電壓輸入線,VREF的范圍為-10V+10V; * AGND:模擬信號地 * DGND:數(shù)字信號地圖3-2 DAC0832的引腳圖3.2.3 DAC0832工作方式單緩沖方式。單緩沖方式就是在輸入寄存器和

39、DAC寄存器被控制的同時還要接收資料,或者只使用輸入寄存器,把DAC寄存器接成直通方式6。這種方式有適用范圍,它只在只有一路模擬量輸出或幾路模擬量異步輸出的情形下適用。 雙緩沖方式。雙緩沖方式就是先使輸入寄存器接收資料,然后再控制輸入寄存器的輸出資料到DAC寄存器,就是資料分兩次鎖存輸入。此方式適用范圍多,它適用于多個D/A轉(zhuǎn)換同步輸出的情況。 直通方式。直通方式就是資料不經(jīng)過兩級鎖存器鎖存,即地線同時接CS*,XFER* ,WR1* ,WR2* ,ILE接高電平。在連續(xù)反饋控制線路和不帶微機的控制系統(tǒng)中這種方式很是適用,在使用時,必須通過另加I/O接口與CPU連接,這樣才能匹配CPU使之與D

40、/A轉(zhuǎn)換6。3.3 LCD1602簡介1602顯示器上面有液晶顯示板,在液晶顯示板上32個字符能被同時顯示。(16列2行)。1602顯示器它可以顯示字母、數(shù)字、符號,液晶顯示板上有若干個5X7或者5X10點陣的字符顯示位,1602內(nèi)部有字符庫,可以顯示192個5X7點陣字符,每個字符都可以由每個點陣字符位顯示,每個點陣字符位之間有一個點距的間隔,行與行之間也有間隔,所以存在字符間距還有行間距,正是由于行間距和字符間距,所以不能顯示圖片7。LCD1602液晶顯示電路是根據(jù)現(xiàn)在使用非常廣泛的一種顯示屏,此顯示屏不僅可以顯示數(shù)字字符還可以顯示漢字,所以使用此顯示電路對設計來說既有普遍性,又可以提醒使

41、用者現(xiàn)在操作到哪一步。在我們使用此液晶電路時一定要注意它的亮度調(diào)試,是根據(jù)它的V0端口來進行液晶的調(diào)試,如果直接接地的話,它的亮度是非常亮的,顯示的字體看不清楚,如果接電源的正極,它的顯示亮度是非常弱的,也不能顯示具體的數(shù)字,所以我們要根據(jù)自己的需求來調(diào)試電路的亮度。根據(jù)夜間能夠進行顯示我們需要把此液晶的的背光給接上去。管腳功能圖3-3 1602引腳圖1602有16個引腳,下面予以介紹:GND:電源地VCC:連接電源的正極,電源為+5VVEE : 可以用來調(diào)節(jié)對比度,它被稱作液晶驅(qū)動電源。 RS :稱作寄存器選擇端口,當RS為高電平時選擇數(shù)據(jù)寄存器、當RS為低電平時選擇命令/狀態(tài)寄存器。RW

42、:讀寫信號線端口,當是高電平時選擇讀操作,當為低電平時選擇寫操作E :稱為使能端,它是下降沿觸發(fā)的。D0D7 :是數(shù)據(jù)總線,它是與單片機的數(shù)據(jù)總線相連的,三態(tài)的。LCD1602雖然管腳很多,但是編寫程序時用到的主要的管腳有三個,編寫軟件程序時用寄存器選擇端口RS,讀寫操作選擇端口RW,使能端E,主要利用這三個端口進行初始化。4 硬件電路設計4.1 單片機最小系統(tǒng)波形發(fā)生器的控制芯片是AT89C51,它具有 2 個可以定時的定時器,以及32 個并行 I/O 和1 個串行 I/O 口,5 個不同的中斷源。一個單片機最小系統(tǒng)一定不能缺少時鐘電路和復位電路。圖4-1 單片機最小系統(tǒng)4.2 時鐘電路時鐘

43、電路是單片機設計中必不可少的一部分,時鐘電路的質(zhì)量對單片機也有影響。常用的單片機的時鐘信號一般由內(nèi)部振蕩方式和外部振蕩方式這兩種方式獲得,引腳XTAL1 作為它的輸入端,XTAL2 作為它的輸出端,就構(gòu)成了內(nèi)部振蕩方式,一個高增益的反相放大器,并且在單片機的內(nèi)部,引腳XTAL1 作為它的輸入端,XTAL2 作為它的輸出端,這兩個引腳外部連接晶體振蕩器時,內(nèi)部振蕩方式就形成了,自激振蕩在外接晶振后就產(chǎn)生了,振動時鐘脈沖也隨之產(chǎn)生8。在本設計中我們選擇了石英晶體,而且它的震蕩頻率為12MHZ,引腳XTAL1和和引腳XTAL2連接在晶振上,以保證正常工作,我們一致選擇容量為 30pF的電容作為電容

44、C1,C2 。可以穩(wěn)定振蕩器的頻率,因為它具有穩(wěn)定作用。本次畢業(yè)設計中時鐘電路如圖:圖4-2 時鐘電路4.3復位電路在單片機最小系統(tǒng)中,復位電路是一定不能缺少的元素,連接一個斯密特觸發(fā)器,它可以抑制噪聲,這樣復位引腳 RST就可以 與復位電路相連接,在每個機器周期 的 S5P2,斯密特觸發(fā)器的 輸出電平由復位電路采樣一次,然后才能得到信號,這個信號是內(nèi)部復位操作所需要的9。復位電路有兩種方式,一種是上電自動復位的方式,另一種是按鈕復位的方式。按鍵電平復位電路在本設計中使用,如圖 4-3,在系統(tǒng)運行時,按一下按鍵,就在 RST 斷出現(xiàn)一段高電平,使器件復位。此時 ALE、PSEN、P0、圖 4-

45、2時鐘電路圖P1、P2、P4 輸出高電平,RST 上輸入返回低電平以后,變退出復位狀態(tài)開始工作。圖 4-3 復位電路4.4波形產(chǎn)生模塊電路的設計使用單片機AT89C51作為設計的主要控制芯片,編寫軟件程序裝載到單片機中產(chǎn)生三角波、方波、正弦波的數(shù)字信號,然后再經(jīng)過DA轉(zhuǎn)換模塊DAC0832轉(zhuǎn)變?yōu)槟M信號,經(jīng)過LM324放大之后輸出。其電路圖如下: 圖4-4 波形產(chǎn)生電路4.5顯示模塊電路的設計將1602顯示器和單片機相連接,波形的頻率、波形的頻率就可以顯示在1602上,效果很明顯清晰,1602的設計如下:圖4-5 液晶顯示單片機的P1口連接LCD1602的D0-D7,單片機的P3.2連接160

46、2的RS端,單片機的P3.3連接1602的RW端,單片機的P3.4連接1602的E端.編寫顯示的軟件程序,波形的種類以及波形的頻率就可以顯示出來。4.6 鍵盤顯示模塊電路的設計因為用到的鍵并不多,采用獨立式鍵盤比較合適,所以獨立鍵盤在本次設計中使用,它的硬件連接電路如下:圖4-6 鍵盤單片機的P2口的與獨立鍵盤的這三個鍵分別連接起來,開關(guān)S1用來控制波形的切換、開關(guān)S2和S3是用來控制頻率的調(diào)節(jié)。當開關(guān)S2按下時輸出波形的頻率會增加,從顯示器中可以看到,開關(guān)S3按下時輸出波形的頻率會減小,同樣從顯示器中可以看到。4.7 總體原理設計圖該設計的總體原理為利用AT89C51單片機芯片,讓單片機 A

47、T89C51 作為主要的控制芯片,輸出的數(shù)字信號經(jīng)過DAC0832,轉(zhuǎn)變?yōu)槟M信號,再經(jīng)過放大處理實現(xiàn)方波、三角波、正弦波這三種常用波形的發(fā)生。 圖4-7 總體原理設計圖5 軟件設計5.1軟件開發(fā)環(huán)境介紹5.1.1 Keil uVision介紹目前用于51系列單片機編程的C語言都采用Keil C51(簡稱C51),Keil C51是在標準C語言基礎(chǔ)上發(fā)展起來的11。C51是根據(jù)51單片機的硬件特點而有針對性的對C語言進行擴展,并廣泛的被51單片機移植,簡潔、高效而又非常實用的高級編程語言。運用C51進行單片機的控制程序編寫,調(diào)試效率比較高,而且寫出來的程序便于修改12。程序編寫時運用模塊化的設

48、計思想,合理的利用C語言的程序資源與庫函數(shù),使重復性的程序設計減少,用C51編寫的模塊可以不用修改直接被其他模塊調(diào)用,同一種型號的單片機所開發(fā)出來的程序模塊,可以簡單的修改硬件連接引腳就能使用。Keil C51與標準的C語言在程序控制語句、數(shù)據(jù)運算操作和函數(shù)的運用等方面基本一樣,但在頭文件、數(shù)據(jù)類型、數(shù)據(jù)存儲類型、單片機中斷定義、庫函數(shù)、程序結(jié)構(gòu)等方面有著主要的區(qū)別。但如果掌握了C語言的編程基礎(chǔ),在了解51單片機的硬件結(jié)構(gòu)基礎(chǔ)上,注意與C51的區(qū)別,還是能夠很快的掌握Keil C51的編程的。5.1.2 Proteus7.10 介紹Proteus是一種EDA工具軟件(該軟件在中國有代理)。它具

49、有EDA工具軟件的仿真功能和單片機及外圍器件的仿真功能。目前,在國內(nèi)雖然推廣不久,但是受到很多人的喜愛和使用,許多單片機的愛好者、致力于單片機開發(fā)的科學工作者。Proteus軟件聞名與整個世界,無論是從原理圖布圖方面、程序調(diào)試方面到單片機與外圍電路的仿真,到PCB設計,都體現(xiàn)了一個完整的設計。是目前世界上唯一將電路仿真軟件、PCB設計軟件和虛擬模型仿真軟件三合一的設計平臺,其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方

50、面,它也支持IAR、Keil和MPLAB等多種編譯器。Proteus軟件具有很多功能。這些功能是: 可以仿真一些常用主流單片機,例如51系列、AVR、PIC、ARM。還可以直接在虛擬原型上編寫程序,基于原理圖的。然后配合顯示以及輸出,運行后輸入輸出的效果就可以被看到。5.1.3 Keil 與Proteus 聯(lián)合仿真把Keil 與Proteus 聯(lián)合起來,大大加快了設計的進程。用Proteus把硬件電路設計先設計出來,用keil編寫c程序程序,調(diào)試出現(xiàn)結(jié)果,產(chǎn)生課余執(zhí)行的文件,然后把頭文件下載到Proteus仿真的單片機里,然后,可以更改程序調(diào)試參數(shù)。在Proteus里邊有示波器,程序的運行結(jié)果

51、可以從示波器中看到,可以一直不斷的調(diào)試,一直到出現(xiàn)自己滿意的結(jié)果,這樣使調(diào)試的進程加快,還使單片機的壽命增加5.2 程序軟件總設計圖5-1 軟件流程圖5.2.1 波形切換圖下面說明的是波形圖的切換,通過按鍵S1實現(xiàn),下面要實現(xiàn)的各種波形通過開關(guān)的切換過程的流程圖,S1按一下,輸出的是正弦波,S1按兩下,輸出的是方波,SI按三下,輸出的是三角波。S1鍵接的是P2.0,P2.0為0則輸出波形。圖5-2 波形切換圖5.2.2 LCD顯示流程圖該設計采用LCD1602顯示,先對LCD進行初始化,即對寄存器選擇端口RS,讀寫操作選擇端口RW,使能端E這三個端口進行初始化,再設置顯示位置,顯示字符。圖5-

52、3 LCD顯示框圖5.2.3 三角波子程序的設計先定義一個自變量a,如果a小于128,輸出為a,延時一定時間改變頻率,如果a大于128,輸出為255a,延時一定時間改變頻率,然后讓a自加一,不斷地循環(huán)。5.2.4 方波子程序的設計圖5-4 方波程序流程圖5.2.5 正弦波的設計方法一:在單片機的存儲器里面,先存入存入正弦波的點數(shù),改變輸出兩點間的距離實現(xiàn)頻率的調(diào)節(jié)。設置一個調(diào)頻的最小時間單位,設置的是兩個機器周期,時間的控制通過循環(huán)次數(shù)來控制。方法二:直接輸入計算式方法,本次設計采用的是方法二。6 硬件和軟件測試6.1硬件調(diào)試在硬件調(diào)試過程中,還是比較順利的,這跟各個單元電路的器件選擇有很大的

53、關(guān)系,因為單元電路的設計很穩(wěn)定,所以使得我們的調(diào)試事半功倍6.2軟件調(diào)試雖然對于單片機我有了一定的熟悉,但是在軟件調(diào)試上也遇到了一些問題(1)在編寫軟件程序調(diào)試過程過程中,會顯示某些語言語法上的錯誤,好在查閱了很多有關(guān)單片機C語言的書,克服了各個問題,軟件程序編寫成功。(2)編寫調(diào)節(jié)頻率的程序后,燒路到硬件電路中,在調(diào)試過程中,發(fā)現(xiàn)三種波融合在一起,最后終于解決了這個問題。6.3 調(diào)試小結(jié)雖然在七天的調(diào)試過程中,遇到了很多不了解的問題,但是在老師的細心教導和同學的幫助下,當然還有我的努力,最后終于調(diào)試出來了,在用 KEIL 調(diào)試程序時,我將延時程序?qū)戝e了導致程序不能正常運行,正常運行等等小問題

54、。在硬件調(diào)試時,我開始的時候也是錯誤百出,結(jié)果可想而知,程序無法運行。但是在在老師的細心指導下,我學到了很多知識,硬件的調(diào)試不能著急,需要一部分一部分慢慢的調(diào)試,先檢查AT89C51工作是否正常,然后用一個DA加示波器調(diào)試看是否正常工作。,在每一部分都不出現(xiàn)錯誤的情況下,再去調(diào)試整個的硬件電路,我認為在我們調(diào)試過程當中,一定不能心急,需要的是信心和耐心,如果不這樣的話,很難得到調(diào)試結(jié)果的,下面為得到的三種波形的仿真圖:圖6-1 正弦波圖形圖6-2 方波圖形圖6-3 三角波圖行6.4設計心得和體會本次的畢業(yè)設計基于單片機的波形發(fā)生器軟件設計,在這個過程當中,我學到了很多東西(1) 首先對于單片機有了更進一步的了解,對于單片機的時鐘電路,復位電路原理也都很了解了,有關(guān)晶振的知識,復位的方式都有了解,不像以前,知道的很泛泛。對于DA轉(zhuǎn)換器也有了更深的了解,對于它的內(nèi)部結(jié)構(gòu),引腳的功能也有了更進一步的了解,對于鍵盤的工作原理也有了更進一步的了解。也知道了如何才算一個完整的單片機系統(tǒng)。(2) 通過畫單片機的原理圖和PCB圖,學會了使用Proteus 軟件,現(xiàn)在能夠獨立的完成單片機電路的設計,而且,在元器件封裝方面,也有了很多的理解。(3)現(xiàn)在能夠熟練的使用Keil uVision4軟件,對于單片機C語言知道了更多,知道了C語言在Keil uVision4軟件中

溫馨提示

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

評論

0/150

提交評論