




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、鄭州輕工業(yè)學(xué)院畢業(yè)設(shè)計(jì)(論文)任務(wù)書題目 波形發(fā)生器軟件設(shè)計(jì) 專業(yè) 電子信息工程 學(xué)號(hào) 541101030231 姓名 邵臣 設(shè)計(jì)的主要內(nèi)容:1、 利用AT89C51、DAC0832進(jìn)行設(shè)計(jì),使之能產(chǎn)生正弦波、方波、三角波。2、 設(shè)計(jì)軟件總程序和具體的正弦波、三角波、方波產(chǎn)生子程序。3、 掌握正弦波、方波、三角波三種波形發(fā)生的原理?;疽螅?、 能產(chǎn)生正弦波、方波、三角波三種波形,波形的頻率可調(diào),輸出幅度的可調(diào),并且具有顯示功能。2、 英文翻譯不少于5000字符。3、 資料綜述不少于3000字符。4、 中英文摘要不少于200字符。主要參考資料:1、 蔡明生 電子設(shè)計(jì) 北京 高等教育出版社 2
2、004.12、 全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽組委會(huì) 第五屆全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽獲獎(jiǎng)作品選編 北京 北京理工大學(xué)出版社 2003.13、張毅坤 陳善久 裘雪紅 單片微型計(jì)算機(jī)原理及應(yīng)用 西安 西安電子科技大學(xué)出版社 1998 完成期限:2015年2月28日到2015年6月12日 指導(dǎo)教師簽章: 專業(yè)負(fù)責(zé)人簽章: 2015年 2 月 28日波形發(fā)生器軟件設(shè)計(jì)摘 要 在通信這個(gè)領(lǐng)域里,各式各樣的信號(hào)是其中重要的組成部分,在實(shí)驗(yàn)過程和教學(xué)過程當(dāng)中也有比較突出和典型的波,如三角波,正弦波,方波經(jīng)常作為典型的波作為介紹,以方便大家理解。波形發(fā)生器可以產(chǎn)生不同的波形,在電子實(shí)驗(yàn)和教學(xué)過成中經(jīng)常使用。這篇文章主要
3、介紹的是設(shè)計(jì)函數(shù)器,主要是利用AT89C51 ,DAC0832對(duì)波形發(fā)生器進(jìn)行設(shè)計(jì),可以產(chǎn)生三種波形正弦波,三角波,方波,通過控制可以使波形的頻率可以調(diào)節(jié),幅度也可以調(diào)節(jié)。本次畢業(yè)設(shè)計(jì)利用AT89C51 作為主要的控制芯片,編寫軟件程序,然后將程序載入到單片機(jī)AT89C51中,軟件硬件相結(jié)合產(chǎn)生正弦波、三角波、方波這三種波形。然后將單片機(jī)與將生成的數(shù)字信號(hào)經(jīng)過D/A轉(zhuǎn)換器,轉(zhuǎn)變成模擬信號(hào),然后模擬信號(hào)再通過放大器放大顯示在示波器上,波形的種類,頻率都通過液晶顯示LCD1602,可以明顯的看到,使用鍵盤控制這三種波形的切換。本次設(shè)計(jì)對(duì)軟件設(shè)計(jì)的總程序,還有具體的正弦波,方波,三角波等子程序進(jìn)行了
4、非常詳細(xì)的闡述。關(guān)鍵詞 AT89C51單片機(jī) 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單片機(jī)概述11.3 設(shè)計(jì)要求及其意義21.4 常用的波形介紹 32 設(shè)計(jì)方案論證與選擇52.1 總體方案選擇52.2 單個(gè)系統(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簡(jiǎn)介123.2.1 DAC0832的主要特性參數(shù)123.2.2 DAC0832結(jié)
10、構(gòu)123.2.3 DAC0832工作方式133.3 LCD1602簡(jiǎn)介133.3.1管腳功能144 硬件電路設(shè)計(jì)154.1 單片機(jī)最小系統(tǒng)154.2 時(shí)鐘電路154.3復(fù)位電路164.4波形產(chǎn)生模塊電路的設(shè)計(jì)174.5顯示模塊電路的設(shè)計(jì)174.6 鍵盤顯示模塊電路的設(shè)計(jì)184.7 總體原理設(shè)計(jì)圖185 軟件設(shè)計(jì)205.1軟件開發(fā)環(huán)境介紹205.1.1 Keil uVision介紹205.1.2 Proteus7.10 介紹205.1.3 Keil 與Proteus 聯(lián)合仿真215.2 程序軟件總設(shè)計(jì)215.2.1 波形切換圖215.2.2 LCD顯示流程圖225.2.3 三角波子程序的設(shè)計(jì)23
11、5.2.4 方波子程序的設(shè)計(jì)235.2.5 正弦波的設(shè)計(jì)246 硬件和軟件測(cè)試256.1硬件調(diào)試256.2軟件調(diào)試256.3 調(diào)試小結(jié)256.4設(shè)計(jì)心得和體會(huì)26參考文獻(xiàn)29附 錄130附 錄2311 緒論1.1 課題背景在教學(xué)過程當(dāng)中,波形發(fā)生器也被稱作函數(shù)發(fā)生器,它可以用作實(shí)驗(yàn)信號(hào)源,是當(dāng)代各種電子通信實(shí)驗(yàn)設(shè)計(jì)和社會(huì)實(shí)踐過程中絕對(duì)不可以少的的儀器設(shè)備之一。目前為止,市面上經(jīng)常見到的的波形發(fā)生器大多都是純粹由硬件連接而成的,而且波形的種類也很少,大多為鋸齒波,正弦波,三角波等種類。信號(hào)發(fā)生器如今在各行各業(yè)都被使用到,而且,我們的生活當(dāng)中充滿了各種各樣的信號(hào)。在電信工程、通信行業(yè)、自動(dòng)化控制領(lǐng)
12、域、遙控檢測(cè)領(lǐng)域、儀器儀表測(cè)量等領(lǐng)域,各式各樣的信號(hào)波形發(fā)生器經(jīng)常被使用到?,F(xiàn)今時(shí)代,有關(guān)集成電路這一方面的發(fā)展已經(jīng)很成熟,由集成電路搭建的信號(hào)發(fā)生器比傳統(tǒng)的信號(hào)發(fā)生器在性能上更加優(yōu)良,在幅度調(diào)節(jié)和頻率調(diào)節(jié)上都有一定的提高。由于市場(chǎng)對(duì)信號(hào)發(fā)生器的需求越來越高,通信行業(yè),雷達(dá)檢測(cè),航空事業(yè)的發(fā)展,對(duì)信號(hào)源的各種參數(shù)提出了更多的要求,比如頻譜是否穩(wěn)定、頻率調(diào)節(jié)范圍的多少、波形的質(zhì)量問題、頻率個(gè)數(shù)多少問題等。為了使頻率個(gè)數(shù)增多,可以對(duì)頻率使用加、減、乘、除等運(yùn)算法則,使它可從一個(gè)既準(zhǔn)確度很高又穩(wěn)定度很高的非常標(biāo)準(zhǔn)頻率源,產(chǎn)生大量的不同頻率的信號(hào),但是又具有相同的準(zhǔn)確度和穩(wěn)定度,因此也被稱作頻率合成技
13、術(shù)。在現(xiàn)今很多電子研究領(lǐng)域和學(xué)科實(shí)驗(yàn)中,我們不但需要傳統(tǒng)的信號(hào)源,還需要一些不規(guī)則的信號(hào)用來研究各種科學(xué)實(shí)驗(yàn)和社會(huì)實(shí)踐中遇到的問題。例如電鍍電源對(duì)鍍層有怎樣的影響,電子儀器的測(cè)試以及在科學(xué)實(shí)驗(yàn)過程中出現(xiàn)的各種各樣的干擾的模擬等科學(xué)研究實(shí)驗(yàn)中。就非常需要一些非正常的信號(hào)和可以任意改變波形的信號(hào)源。在科學(xué)實(shí)驗(yàn)研究和許多社會(huì)實(shí)踐中,例如工業(yè)控制過程,生物醫(yī)學(xué)研究與發(fā)展等領(lǐng)域,低頻率的信號(hào)源深受它們的喜愛。1.2單片機(jī)概述自從20世紀(jì)70年代單片機(jī)的產(chǎn)生,在生活的各個(gè)方面都使用到單片機(jī),比如我們用的手機(jī),它讓我們的科學(xué)先進(jìn)了很多,對(duì)我們的影響也越來越大。單片機(jī)是一種集成在芯片上,集成度特別高的的微型計(jì)
14、算機(jī),它采用了許多超大規(guī)模集成電路技術(shù),把作為微處理器的CPU ,可以擴(kuò)展空間的隨機(jī)存儲(chǔ)器 RAM、用來存儲(chǔ)程序的 ROM、多種 I/O 口和應(yīng)用廣泛的中斷系統(tǒng)、定時(shí)器/計(jì)時(shí)器等集成到一片半導(dǎo)體硅片上形成的一個(gè)精小而完善的微型計(jì)算機(jī)系統(tǒng)。單片機(jī)具有集成度很高、系統(tǒng)結(jié)構(gòu)簡(jiǎn)單容易被理解的優(yōu)點(diǎn)。單片機(jī)它使用非常便、可靠性也高、處理功能強(qiáng)大、處理速度相當(dāng)快,在家用電器控制方面、儀器儀表檢測(cè)、醫(yī)療器械控制、航空航天事業(yè)的發(fā)展、專用設(shè)備的智能化運(yùn)行等領(lǐng)域都離不開單片機(jī)的使用。 單片機(jī)現(xiàn)在朝著繼續(xù)擴(kuò)大容量,優(yōu)化性能,外圍電路內(nèi)裝化等方向發(fā)展,這樣可以滿足不同客戶的需求,各公司也競(jìng)相推出更好的產(chǎn)品,這一點(diǎn)可以
15、通過我們現(xiàn)在的生活就可以看出,CPU改進(jìn)了很多方面,CPU的性能更加優(yōu)良了,例如16位的單片機(jī)和32位的單片機(jī)它的處理數(shù)據(jù)的能力以及各方面性能都比8位的單片機(jī)要好,還要補(bǔ)充一點(diǎn),8位單片機(jī)系統(tǒng)采用16位的數(shù)據(jù)總線,在處理數(shù)據(jù)方面能力明顯比一般8位單片機(jī)要高。Flash存儲(chǔ)器具有很大的優(yōu)點(diǎn),對(duì)于靜態(tài)RAM的讀和寫操作方面很簡(jiǎn)便。掉電的時(shí)候也不會(huì)丟失,存儲(chǔ)器的存儲(chǔ)空間也加大了。片內(nèi)I/0的設(shè)置也有所改變,并行口的驅(qū)動(dòng)能力更加好了,這樣外部驅(qū)動(dòng)芯片的使用就少了,有的單片機(jī)可以直接輸出大電流以及高電壓,非常方便,可以使LED和VFD(熒光顯示器)直接被驅(qū)動(dòng),這樣減少了很多麻煩。特殊功能的串行I/O在某
16、些單片機(jī)中也有,為構(gòu)成分布式、網(wǎng)絡(luò)化系統(tǒng)帶來了很大的好處。單片機(jī)的功耗也變低了,單片機(jī)具有低功耗的優(yōu)點(diǎn),為了充分發(fā)揮這個(gè)優(yōu)勢(shì),這一類的單片機(jī)有等待狀態(tài),睡眠狀態(tài)等多種工作方式。單片機(jī)在這些狀態(tài)下低電壓工作時(shí),僅消耗的電流有nA量級(jí),非常適合很多消費(fèi)類的電子產(chǎn)品,因?yàn)樗子跀y帶,方便快捷。1.3 設(shè)計(jì)要求及其意義波形發(fā)生器在實(shí)驗(yàn)過程中經(jīng)常被用到,由純粹硬件構(gòu)成的傳統(tǒng)的設(shè)計(jì)存在一定的弊端,例如:體積很大、重量不輕、攜帶不方便、信號(hào)容易失真、波形形狀調(diào)節(jié)不易控制,無法滿足用戶對(duì)易攜帶性、穩(wěn)定性等要求,本次畢業(yè)設(shè)計(jì)致力于研究設(shè)計(jì)出一種頻率可以調(diào)節(jié)而且很穩(wěn)定,準(zhǔn)確度高、波形質(zhì)量好、輸出頻率范圍寬、易攜帶
17、等特點(diǎn)的波形信號(hào)發(fā)生器,以滿足學(xué)科領(lǐng)域以及社會(huì)實(shí)踐對(duì)信號(hào)源的要求。本次畢業(yè)設(shè)計(jì)主要是編寫軟件程序裝載到單片機(jī) AT89C51中 ,輸出的數(shù)字信號(hào)再經(jīng)過DAC0832轉(zhuǎn)換器轉(zhuǎn)變?yōu)槟M信號(hào),再經(jīng)過放大處理實(shí)現(xiàn)方波、三角波、正弦波這三種常用波形的發(fā)生。根據(jù)要求,對(duì)這三種波形的頻率調(diào)節(jié)和幅度調(diào)節(jié)編寫程序代碼,并將所寫程序代碼裝載到單片機(jī)的用來存放程序的程序存儲(chǔ)器中以達(dá)到波形的幅度可以調(diào)節(jié),頻率也可以調(diào)節(jié)。利用按鍵的設(shè)計(jì),來切換不同的波形。本次畢業(yè)設(shè)計(jì)致力于研究設(shè)計(jì)出一種頻率可以調(diào)節(jié)而且很穩(wěn)定,準(zhǔn)確度高、波形質(zhì)量好、輸出頻率范圍寬、易攜帶等特點(diǎn)的波形信號(hào)發(fā)生器,以滿足學(xué)科領(lǐng)域以及社會(huì)實(shí)踐對(duì)信號(hào)源的要求。
18、1.4 常用的波形介紹 信號(hào)源的波形表達(dá)式一般情況下可以寫成 ,信號(hào)的表達(dá)式經(jīng)常會(huì)使用到,本文介紹正弦波,方波,鋸齒波等這幾種經(jīng)常用到的波。(1)正弦波正弦波形反應(yīng)的也就是正弦信號(hào),這種信號(hào)很常見,正弦信號(hào)與余弦信號(hào),雖然在相位上有差別,但是都被稱為正弦信號(hào)。正弦信號(hào)也作為通信中的載波信號(hào)。它的表達(dá)式為 f (t)=Asin(t+ ) (1-1)式中,振幅為A,角頻率為W, 為初相位。振幅、角頻率、初相是正弦信號(hào)的三個(gè)重要的部分。它的波形如下圖。正弦信號(hào)是一種周期性的信號(hào),周期、頻率、和角頻率之間的關(guān)系為: (1-2)圖1-1 正弦波形 在實(shí)驗(yàn)教程中會(huì)經(jīng)常遇到單邊帶指數(shù)衰減的正弦和余弦信號(hào),它
19、波形圖如圖2所展示,它的一般表達(dá)式為: (1-3)圖1-2 指數(shù)衰減形式的正弦波(2)方波波形的信號(hào) 方波函數(shù)也是一中經(jīng)常被用到的函數(shù),它的一般表達(dá)式為: (1-4) 方波的波形如下圖所示:圖1-3方波波形 2 設(shè)計(jì)方案論證與選擇2.1 總體方案選擇 一個(gè)好的設(shè)計(jì)一定要有一個(gè)好的方案,所以我們要從不同的方案選出最適合的一個(gè),下面是各種不同的方案。方案一:使用非穩(wěn)態(tài)的多諧振蕩器作為波形發(fā)生器的這要元件,然后再加入不同的電路,我們根據(jù)所需要的三角波,正弦波,方波等的要求加入積分電路,這樣構(gòu)成的一個(gè)波形發(fā)生器。這三種波形具有相同的輸出頻率,也就是不能輸出不同頻率的三種波形,通過調(diào)節(jié)運(yùn)放的參數(shù)可以使頻
20、率改變,這樣頻率就改變了。方案二:使用單片函數(shù)發(fā)生器(如8038芯片),讓它由單片機(jī)控制,通過這種方案來設(shè)計(jì)波形發(fā)生器。方案三:利用傳統(tǒng)的鎖相頻率合成法來設(shè)計(jì)波形發(fā)生,各方面性能良好的的正弦波可以通過使用IC145152芯片控制,然后從壓控振蕩器搭接而成,比較熟悉的鎖相環(huán)電路輸出,正弦波再通過過零比較器,就可以產(chǎn)生我們所需要的方波,方波通過積分電路生成三角波,就實(shí)現(xiàn)了波形發(fā)生器的設(shè)計(jì)方案四:利用AT89C51單片機(jī)芯片,讓單片機(jī) AT89C51 作為主要的控制芯片,輸出的數(shù)字信號(hào)經(jīng)過DAC0832,轉(zhuǎn)變?yōu)槟M信號(hào),再經(jīng)過放大處理實(shí)現(xiàn)方波、三角波、正弦波這三種常用波形的發(fā)生。方案一由于非穩(wěn)態(tài)的多
21、諧振蕩器使用的是分立元件構(gòu)成,模擬信號(hào)非常不穩(wěn)定,特別容易受到各種干擾,精度很難達(dá)到要求(比如放大器存在各種失真,集成電路也有零點(diǎn)漂移),而且結(jié)構(gòu)很復(fù)雜,設(shè)備體積過大導(dǎo)致準(zhǔn)確度不高,不利于調(diào)節(jié)頻率。方案二雖然很簡(jiǎn)單,也很容易實(shí)行,但是通過8038所產(chǎn)生的波形,它的頻率的穩(wěn)定性很差,還容易產(chǎn)生生高次諧波分量,容易產(chǎn)生干擾。方案三的電路構(gòu)成太復(fù)雜,也存在很多干擾,不容易實(shí)現(xiàn)。方案四通過軟件的設(shè)計(jì)來控制硬件,輸出不同的波形,而且方案四中所用到元器件很便宜,在市面上也很容易買到,設(shè)計(jì)方案也簡(jiǎn)便易懂。綜上所述,選擇使用方案四來設(shè)計(jì)。2.2單個(gè)系統(tǒng)方案選擇本節(jié)對(duì)本次畢業(yè)設(shè)計(jì)中的控制器、調(diào)節(jié)頻率的方案、調(diào)節(jié)
22、幅度的方案、按鍵的設(shè)計(jì)的方案、顯示模塊設(shè)計(jì)的方案、D/A轉(zhuǎn)換器的選擇和使用進(jìn)行了進(jìn)一步的闡述。下面予以介紹??刂破鞣桨傅倪x擇方案一:AT89C51單片機(jī)是一個(gè)精小而完整的微型計(jì)算機(jī)系統(tǒng),單片機(jī)現(xiàn)在朝著繼續(xù)擴(kuò)大容量,優(yōu)化性能,外圍電路內(nèi)裝化等方向發(fā)展,單片機(jī)它使用非常方便、可靠性也高、處理功能強(qiáng)大、處理速度相當(dāng)快, 在家用電器控制方面、儀器儀表檢測(cè)、醫(yī)療器 械控制、航空航天事業(yè)的發(fā)展、專用設(shè)備的智能化運(yùn)行等領(lǐng)域都離不開單片機(jī)的使用。單片機(jī)它使用非常便、可靠性也高、處理功能強(qiáng)大、處理速度相當(dāng)快,在家用電器控制方面、儀器儀表檢測(cè)、醫(yī)療器械控制、航空航天事業(yè)的發(fā)展、專用設(shè)備的智能化運(yùn)行等領(lǐng)域都離不開單
23、片機(jī)的使用。它的價(jià)格優(yōu)惠,在市面上容易買到,它的集成度也很高。方案二:C8051F005單片機(jī)是一種混合的信號(hào)系統(tǒng)級(jí)芯片,它是完全集成的,它的微控制器內(nèi)核與8051相兼容,它也與MCS-51指令集完全的兼容1。片內(nèi)不僅具有數(shù)字外設(shè)部件,數(shù)據(jù)采集和控制系統(tǒng)中經(jīng)常被使用的的模擬部件和其他功能性部件也被集成在內(nèi),它的執(zhí)行速度較快,但其價(jià)格也更貴。綜上所述,經(jīng)過思考,優(yōu)先選擇方案一 顯示模塊的選擇 方案一:使用LED數(shù)碼管顯示。在做實(shí)驗(yàn)和教學(xué)中,LED數(shù)碼管經(jīng)常使用到,常見的LED數(shù)碼管為“8”字型的,一共8段,每一段與二極管相對(duì)應(yīng),LED數(shù)碼管有兩種顯示方式,分別是靜態(tài)顯示方式、動(dòng)態(tài)顯示方式。使用L
24、ED數(shù)碼管雖然在軟件編程方面比較簡(jiǎn)單,但是字母不能被數(shù)碼管顯示。方案二:使用LCD1602顯示,顯示器種類有很多種,LCD1602它是點(diǎn)陣字符型的,它的功率小,效果也比較明顯,顯示的編程容易被控制,最重要的是它可以顯示字母。綜合考慮以上兩種方案,優(yōu)先方案二。 鍵盤方案的選擇方案一:使用行列式鍵盤。行列式鍵盤也叫矩陣式鍵盤,它的組成由行線和列線組成,按鍵觸點(diǎn)位于于行、列母線的交叉點(diǎn)上。方案二:使用獨(dú)立式鍵盤。它的特點(diǎn)是每個(gè)按鍵都是相互獨(dú)立的,每個(gè)按鍵與單片機(jī)的I/O口相連接,它的組成由電源、上拉電阻、按鍵。當(dāng)按鍵被按下時(shí),相應(yīng)的波形被顯示,頻率值也會(huì)被顯示,它是利用單片機(jī)查詢方式來顯示的。獨(dú)立式
25、鍵盤在按鍵數(shù)目比較少的情況下很實(shí)用 綜合考慮以上兩種方案,因?yàn)楸敬卧O(shè)計(jì)按鍵數(shù)目不多,所以選用方案二。2.2.4 DA轉(zhuǎn)換器的選擇 方案 :使用常用的DAC0832。因?yàn)樗艹R?,在仿真軟件Proteus的元件庫(kù)所提供的D/A轉(zhuǎn)換器大多都是常見的這種。2.2.5 頻率和幅度調(diào)節(jié)的選擇 方案一:相應(yīng)的波形類別、頻率的調(diào)節(jié)和幅度的調(diào)節(jié)通過按鍵來輸入,然后編寫軟件程序,通過控制單片機(jī),實(shí)現(xiàn)波形類別、頻率的調(diào)節(jié)和幅度的調(diào)節(jié)。方案二:相應(yīng)的波形類別、頻率的調(diào)節(jié)通過按鍵來輸入,然后編寫軟件程序,通過控制單片機(jī),實(shí)現(xiàn)波形類別、頻率的調(diào)節(jié)。但是,幅度的調(diào)節(jié)要通過調(diào)節(jié)電位器來實(shí)現(xiàn),調(diào)節(jié)電位器可以改變DAC0832
26、的參考電壓,這樣幅度就可以調(diào)節(jié)。仔細(xì)思考分析之后發(fā)現(xiàn),方案一有關(guān)幅度調(diào)節(jié)的實(shí)施起來比較困難,因?yàn)椴ㄐ蔚念l率的調(diào)節(jié)實(shí)際上是波形點(diǎn)數(shù)的問題,例如,一個(gè)方波波一個(gè)周期內(nèi)有30個(gè)點(diǎn),當(dāng)所需要的頻率很低時(shí),就需要增加點(diǎn)數(shù)來改變頻率的大小,如果不這樣做,波形會(huì)產(chǎn)生失真,當(dāng)所需要的頻率很高時(shí),為了達(dá)到要求,波形的點(diǎn)數(shù)在一個(gè)周期內(nèi)又不能太多。與此同時(shí),點(diǎn)數(shù)多少的問題在波形的幅度的調(diào)節(jié)當(dāng)中也要考慮,如果波形點(diǎn)數(shù)太多時(shí),在0.1V這么微小的幅度調(diào)節(jié)里是根本分辨不出來的,因?yàn)镈AC0832的分辨率還達(dá)不到這么高的要求。綜上所述,波形在一個(gè)周期內(nèi)的點(diǎn)數(shù)同時(shí)影響波形的幅度和頻率,這是一個(gè)技術(shù)問題,相當(dāng)?shù)挠须y度。相對(duì)的來
27、說,通過按鍵來實(shí)現(xiàn)幅度的調(diào)節(jié)有些復(fù)雜,實(shí)現(xiàn)起來有困難。因此,經(jīng)過仔細(xì)思考,綜合考慮了這兩種方案,相應(yīng)的波形類別、頻率的調(diào)節(jié)通過按鍵來輸入,然后編寫軟件程序,通過控制單片機(jī),實(shí)現(xiàn)波形類別、頻率的調(diào)節(jié)。波形的幅度的調(diào)節(jié)通過電位器的調(diào)節(jié)來實(shí)現(xiàn),調(diào)節(jié)電位器來調(diào)節(jié)DAC0832參考電壓來改變幅值。2.3 系統(tǒng)總體框圖ATC89C51單片機(jī)DAC0832 數(shù)/模轉(zhuǎn)換huan換放大電路復(fù)位電路時(shí)鐘電路波形輸出顯示電路鍵盤電路圖2-1 系統(tǒng)總體框圖該系統(tǒng)的設(shè)計(jì)是由硬件電路和軟件編程兩部分結(jié)合,該設(shè)計(jì)的主要控制芯片為AT89C51,連接單片機(jī)的P0口和DAC0832,將數(shù)字信號(hào)轉(zhuǎn)換為模擬信號(hào),連接單片機(jī)的P3口
28、和鍵盤電路,通過控制鍵盤進(jìn)行波形的選擇和切換,還有頻率的改變。連接單片機(jī)的P1口和LCD1602,通過軟件的控制來實(shí)現(xiàn),產(chǎn)生波形的種類可以切換,頻率在一定范圍內(nèi)可以調(diào)節(jié),它們由按鍵和按鍵次數(shù)來控制,通過調(diào)節(jié)電位器來調(diào)節(jié)幅度。信號(hào)經(jīng)過DAC0832,輸出電流到輸出電壓的轉(zhuǎn)換通過芯片LM324來實(shí)現(xiàn)。波形的頻率和類別通過LCD來顯示。3主要元器件介紹3.1 AT89C51介紹系統(tǒng)的主控芯片使用單片機(jī)AT89C51,它的價(jià)格優(yōu)惠,在市面上容易買到,它在人機(jī)對(duì)話和良好的數(shù)據(jù)處理方面占有優(yōu)勢(shì),它擁有較強(qiáng)的指令尋址系統(tǒng)和運(yùn)算功能等。AT89C51為8 位通用微處理器,它的外部引腳為44個(gè)引腳,并且是雙列直
29、插式的,用型它的控制功能主要是應(yīng)用于會(huì)聚調(diào)整的時(shí)候,它的內(nèi)部包括內(nèi)部寄存器,數(shù)據(jù)寄存器RAM以及外部的通信接口。3.1.1 AT89C51引腳介紹AT89C51主要管腳有:晶振的進(jìn)入管腳即管腳18和管腳19,此電路使用的12MHZ的晶振。其中還有復(fù)用的9腳,它為電路的復(fù)位引腳,外部是接復(fù)位電路的。還有電源引腳和復(fù)位引腳,分別為40引腳和20引腳,還有P0P3 可以進(jìn)行編程的通用型I/O 腳,它的具體功能是由內(nèi)部的程序來定義的。AT89C51單片機(jī)的40個(gè)引腳如圖3-1: 圖3-1 單片機(jī)引腳圖GND:接地P0口:P0口是雙向I/O口,這個(gè)雙向I/O口是8位漏極開路的。P0口作為輸出端口,8個(gè)T
30、TL邏輯電平能被每一位驅(qū)動(dòng)。當(dāng)對(duì)P0端口寫“1”作為高阻抗輸入。P0口在訪問外部程序、數(shù)據(jù)存儲(chǔ)器時(shí),被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下工作,P0具有上拉電阻,內(nèi)部的。在flash編程工程時(shí),接收指令字節(jié)也是P0口;,會(huì)輸出指令字節(jié)。在校檢編寫的程序時(shí),是需要外部上拉電阻的。P1口:P1口是一個(gè)8位雙向I/O 口,這個(gè)8位雙向I/O 口是具有內(nèi)部上拉電阻的,4個(gè)TTL 邏輯電平能被P1 輸出緩沖器驅(qū)動(dòng)。當(dāng)我們對(duì)P1 端口寫“1”時(shí),端口會(huì)被內(nèi)部上拉電阻拉高,此時(shí)P1口可以被作為輸入口使用。P1扣作為輸入口使用時(shí),因?yàn)閮?nèi)部電阻,被外部拉低的引腳將輸出電流(IIL)。除此之外,也與定時(shí)器/計(jì)數(shù)
31、器2有關(guān),定時(shí)器/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(P1.0/T2)還有計(jì)時(shí)器/計(jì)數(shù)器2的觸發(fā)輸入(P1.1/T2EX),在flash編程中、程序校驗(yàn)中,接收低8位地址字節(jié)也是P1口。P2口:P2口是一個(gè)8位雙向I/O 口,這個(gè)8位雙向I/O 口它是具有內(nèi)部上拉電阻的,4個(gè)TTL 邏輯電平能被P2 輸出緩沖器驅(qū)動(dòng)。當(dāng)對(duì)P2 端口寫“1”時(shí),端口會(huì)被內(nèi)部上拉電阻拉高,此時(shí)P2口可以被作為輸入口使用作為輸入使用時(shí),因?yàn)閮?nèi)部電阻,被外部拉低的引腳將輸出電流(IIL)。在訪問存儲(chǔ)數(shù)據(jù)外部程序存儲(chǔ)器或用16位地址讀取存儲(chǔ)數(shù)據(jù)的外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX DPTR)時(shí),高八位地址會(huì)被P2口送出,在這種應(yīng)用中,
32、P2 口發(fā)送1,它使用了很強(qiáng)的內(nèi)部上拉。在)訪問外部數(shù)據(jù)存儲(chǔ)器使用8位地址(如MOVX RI)時(shí),P2鎖存器的內(nèi)容會(huì)被P2口輸出。在flash編程和校驗(yàn)時(shí),高8位地址字節(jié)還有 一些控制信號(hào)也會(huì)被P2口輸出。P3口:P3口是一個(gè)8位雙向I/O 口,這個(gè)8位雙向I/O 口它是具有內(nèi)部上拉電阻的,4個(gè)TTL 邏輯電平能被P3 輸出緩沖器驅(qū)動(dòng)。當(dāng)對(duì)P3 端口寫“1”時(shí),端口會(huì)被內(nèi)部上拉電阻拉高,此時(shí)P3口可以被作為輸入口使用作為輸入使用時(shí),因?yàn)閮?nèi)部電阻,被外部拉低的引腳將輸出電流(IIL)。P3口也被作為AT89S52特殊功能(第二功能)使用,在flash編程和校驗(yàn)時(shí),P3口也可以作為具有控制信號(hào)功能
33、的端口 RST:它是復(fù)位輸入端口。在晶振工作狀態(tài)下,如果RST持續(xù)保持2個(gè)機(jī)器周期的高電平,此時(shí)單片機(jī)就會(huì)復(fù)位。RST 引腳在看門狗計(jì)時(shí)完成后會(huì)輸出96個(gè)晶振周期的高電平。此功能也會(huì)無效特當(dāng)使用殊寄存器AUXR(地址8EH)上的DISRTO位時(shí)。復(fù)位高電平在DISRTO默認(rèn)狀態(tài)下有效。ALE/:ALE是地址鎖存控制信號(hào),在訪問外部程序存儲(chǔ)器時(shí),它鎖存低8位地址的輸出脈沖,在flash編程狀態(tài)下時(shí),編程輸入脈沖使用引腳()。沒有特殊情況下下,ALE 的輸出脈沖的固定頻率是晶振頻率的六分之一,ALE可以被用作外部定時(shí)器或時(shí)鐘使用,但是要特別強(qiáng)調(diào)一點(diǎn),ALE脈沖在每次訪問外部數(shù)據(jù)存儲(chǔ)器時(shí)將會(huì)跳過,如
34、果有需要的話,ALE操作在將地址為8EH的SFR的第0位置 “1”會(huì)被判為無效2。這一個(gè)位置 “1”,ALE僅在執(zhí)行MOVX或MOVC指令時(shí)有效。否則,ALE 就會(huì)被被微弱的拉高。這個(gè)ALE 使能標(biāo)志位(地址為8EH的SFR的第0位)的設(shè)置對(duì)微控制器有影響,在微控制器處于外部執(zhí)行模式下是無效的。:()就是外部程序存儲(chǔ)器選通信號(hào)。當(dāng)AT89C51從外部程序存儲(chǔ)器執(zhí)行外部程序代碼時(shí),每個(gè)機(jī)器周期都會(huì)被被激活兩次,但是在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),就不被激活3。/VPP:是訪問外部程序存儲(chǔ)器控制信號(hào)。為使能從0000H 到FFFFH的外部程序存儲(chǔ)器讀取指令,它一定要接GND。為了執(zhí)行內(nèi)部程序指令,應(yīng)該接V
35、CC。在flash編程狀態(tài)下,也接收12伏VPP的電壓。XTAL1:XTAL1是片內(nèi)振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路的輸入端口。XTAL2:XTAL2是片內(nèi)振蕩器反相放大器輸出端口。3.1.2 主要性能 與MCS-51單片機(jī)產(chǎn)品相互兼容; 8K字節(jié)在系統(tǒng)可編程Flash存儲(chǔ)器; 1000次擦寫周期; 全靜態(tài)操作:0Hz-33MHz; 三級(jí)加密程序存儲(chǔ)器; 32個(gè)可編程I/O口線; 三個(gè)16位定時(shí)器/計(jì)數(shù)器; 六個(gè)中斷源; 全雙工UART串行通道; 低功耗空閑和掉電模式; 掉電后中斷可喚醒; 看門狗定時(shí)器; 雙數(shù)據(jù)指針; 掉電標(biāo)識(shí)符。3.2 DAC0832簡(jiǎn)介 DAC0832是一種D/A轉(zhuǎn)換集
36、成芯片,它是8分辨率的。它與微處理器是完全兼容的。這個(gè)DA芯片有很多的優(yōu)勢(shì),比如其價(jià)格相對(duì)其他產(chǎn)品比較便宜、它的接口很容易被理解、在轉(zhuǎn)換控制方面很自由,在單片機(jī)應(yīng)用系統(tǒng)中,DAC0832應(yīng)用及其的普遍。D/A轉(zhuǎn)換器的組成部件,有8位輸入鎖存器、8位DAC寄存器、8位D/A轉(zhuǎn)換電路、轉(zhuǎn)換控制電路4。3.2.1 DAC0832的主要特性參數(shù)* 它的分辨率是8位; * 它的電流的穩(wěn)定時(shí)間為1us; * 它的輸入可以為單緩沖、雙緩沖或直接數(shù)字的方式; * 它的線性度的調(diào)整只需在滿量程下; * 單一電源供電(+5V+15V); * 低功耗,20mW。3.2.2 DAC0832結(jié)構(gòu)* D0D7:是8位數(shù)據(jù)
37、輸入線,TTL電平,有效時(shí)間應(yīng)大于90ns(否則鎖存器的數(shù)據(jù)會(huì)出錯(cuò))。 * ILE:數(shù)據(jù)鎖存允許控制信號(hào)輸入線,高電平有效。 * CS:片選信號(hào)輸入線(選通數(shù)據(jù)鎖存器),低電平有效; * WR1:數(shù)據(jù)鎖存器寫選通輸入線,負(fù)脈沖(脈寬應(yīng)大于500ns)有效。由ILE、CS、WR1的邏輯組合產(chǎn)生LE1,當(dāng)LE1為高電平時(shí),數(shù)據(jù)鎖存器狀態(tài)隨輸入數(shù)據(jù)線變換,LE1的負(fù)跳變時(shí)將輸入數(shù)據(jù)鎖存5。* XFER:數(shù)據(jù)傳輸控制信號(hào)輸入線,低電平有效,負(fù)脈沖(脈寬應(yīng)大于500ns)有效。 * WR2:DAC寄存器選通輸入線,負(fù)脈沖(脈寬應(yīng)大于500ns)有效。由WR2、XFER的邏輯組合產(chǎn)生LE2,當(dāng)LE2為高電
38、平時(shí),DAC寄存器的輸出隨寄存器的輸入而變化,LE2的負(fù)跳變時(shí)將數(shù)據(jù)鎖存器的內(nèi)容打入DAC寄存器并開始D/A轉(zhuǎn)換。 * IOUT1:電流輸出端1,其值隨DAC寄存器的內(nèi)容線性變化5。* IOUT2:電流輸出端2,其值與IOUT1值之和為一常數(shù)。 * Rfb:反饋信號(hào)輸入線,改變Rfb端外接電阻值可調(diào)整轉(zhuǎn)換滿量程精度5。 * Vcc:電源輸入端,Vcc的范圍為+5V+15V; * VREF:基準(zhǔn)電壓輸入線,VREF的范圍為-10V+10V; * AGND:模擬信號(hào)地 * DGND:數(shù)字信號(hào)地圖3-2 DAC0832的引腳圖3.2.3 DAC0832工作方式單緩沖方式。單緩沖方式就是在輸入寄存器和
39、DAC寄存器被控制的同時(shí)還要接收資料,或者只使用輸入寄存器,把DAC寄存器接成直通方式6。這種方式有適用范圍,它只在只有一路模擬量輸出或幾路模擬量異步輸出的情形下適用。 雙緩沖方式。雙緩沖方式就是先使輸入寄存器接收資料,然后再控制輸入寄存器的輸出資料到DAC寄存器,就是資料分兩次鎖存輸入。此方式適用范圍多,它適用于多個(gè)D/A轉(zhuǎn)換同步輸出的情況。 直通方式。直通方式就是資料不經(jīng)過兩級(jí)鎖存器鎖存,即地線同時(shí)接CS*,XFER* ,WR1* ,WR2* ,ILE接高電平。在連續(xù)反饋控制線路和不帶微機(jī)的控制系統(tǒng)中這種方式很是適用,在使用時(shí),必須通過另加I/O接口與CPU連接,這樣才能匹配CPU使之與D
40、/A轉(zhuǎn)換6。3.3 LCD1602簡(jiǎn)介1602顯示器上面有液晶顯示板,在液晶顯示板上32個(gè)字符能被同時(shí)顯示。(16列2行)。1602顯示器它可以顯示字母、數(shù)字、符號(hào),液晶顯示板上有若干個(gè)5X7或者5X10點(diǎn)陣的字符顯示位,1602內(nèi)部有字符庫(kù),可以顯示192個(gè)5X7點(diǎn)陣字符,每個(gè)字符都可以由每個(gè)點(diǎn)陣字符位顯示,每個(gè)點(diǎn)陣字符位之間有一個(gè)點(diǎn)距的間隔,行與行之間也有間隔,所以存在字符間距還有行間距,正是由于行間距和字符間距,所以不能顯示圖片7。LCD1602液晶顯示電路是根據(jù)現(xiàn)在使用非常廣泛的一種顯示屏,此顯示屏不僅可以顯示數(shù)字字符還可以顯示漢字,所以使用此顯示電路對(duì)設(shè)計(jì)來說既有普遍性,又可以提醒使
41、用者現(xiàn)在操作到哪一步。在我們使用此液晶電路時(shí)一定要注意它的亮度調(diào)試,是根據(jù)它的V0端口來進(jìn)行液晶的調(diào)試,如果直接接地的話,它的亮度是非常亮的,顯示的字體看不清楚,如果接電源的正極,它的顯示亮度是非常弱的,也不能顯示具體的數(shù)字,所以我們要根據(jù)自己的需求來調(diào)試電路的亮度。根據(jù)夜間能夠進(jìn)行顯示我們需要把此液晶的的背光給接上去。管腳功能圖3-3 1602引腳圖1602有16個(gè)引腳,下面予以介紹:GND:電源地VCC:連接電源的正極,電源為+5VVEE : 可以用來調(diào)節(jié)對(duì)比度,它被稱作液晶驅(qū)動(dòng)電源。 RS :稱作寄存器選擇端口,當(dāng)RS為高電平時(shí)選擇數(shù)據(jù)寄存器、當(dāng)RS為低電平時(shí)選擇命令/狀態(tài)寄存器。RW
42、:讀寫信號(hào)線端口,當(dāng)是高電平時(shí)選擇讀操作,當(dāng)為低電平時(shí)選擇寫操作E :稱為使能端,它是下降沿觸發(fā)的。D0D7 :是數(shù)據(jù)總線,它是與單片機(jī)的數(shù)據(jù)總線相連的,三態(tài)的。LCD1602雖然管腳很多,但是編寫程序時(shí)用到的主要的管腳有三個(gè),編寫軟件程序時(shí)用寄存器選擇端口RS,讀寫操作選擇端口RW,使能端E,主要利用這三個(gè)端口進(jìn)行初始化。4 硬件電路設(shè)計(jì)4.1 單片機(jī)最小系統(tǒng)波形發(fā)生器的控制芯片是AT89C51,它具有 2 個(gè)可以定時(shí)的定時(shí)器,以及32 個(gè)并行 I/O 和1 個(gè)串行 I/O 口,5 個(gè)不同的中斷源。一個(gè)單片機(jī)最小系統(tǒng)一定不能缺少時(shí)鐘電路和復(fù)位電路。圖4-1 單片機(jī)最小系統(tǒng)4.2 時(shí)鐘電路時(shí)鐘
43、電路是單片機(jī)設(shè)計(jì)中必不可少的一部分,時(shí)鐘電路的質(zhì)量對(duì)單片機(jī)也有影響。常用的單片機(jī)的時(shí)鐘信號(hào)一般由內(nèi)部振蕩方式和外部振蕩方式這兩種方式獲得,引腳XTAL1 作為它的輸入端,XTAL2 作為它的輸出端,就構(gòu)成了內(nèi)部振蕩方式,一個(gè)高增益的反相放大器,并且在單片機(jī)的內(nèi)部,引腳XTAL1 作為它的輸入端,XTAL2 作為它的輸出端,這兩個(gè)引腳外部連接晶體振蕩器時(shí),內(nèi)部振蕩方式就形成了,自激振蕩在外接晶振后就產(chǎn)生了,振動(dòng)時(shí)鐘脈沖也隨之產(chǎn)生8。在本設(shè)計(jì)中我們選擇了石英晶體,而且它的震蕩頻率為12MHZ,引腳XTAL1和和引腳XTAL2連接在晶振上,以保證正常工作,我們一致選擇容量為 30pF的電容作為電容
44、C1,C2 。可以穩(wěn)定振蕩器的頻率,因?yàn)樗哂蟹€(wěn)定作用。本次畢業(yè)設(shè)計(jì)中時(shí)鐘電路如圖:圖4-2 時(shí)鐘電路4.3復(fù)位電路在單片機(jī)最小系統(tǒng)中,復(fù)位電路是一定不能缺少的元素,連接一個(gè)斯密特觸發(fā)器,它可以抑制噪聲,這樣復(fù)位引腳 RST就可以 與復(fù)位電路相連接,在每個(gè)機(jī)器周期 的 S5P2,斯密特觸發(fā)器的 輸出電平由復(fù)位電路采樣一次,然后才能得到信號(hào),這個(gè)信號(hào)是內(nèi)部復(fù)位操作所需要的9。復(fù)位電路有兩種方式,一種是上電自動(dòng)復(fù)位的方式,另一種是按鈕復(fù)位的方式。按鍵電平復(fù)位電路在本設(shè)計(jì)中使用,如圖 4-3,在系統(tǒng)運(yùn)行時(shí),按一下按鍵,就在 RST 斷出現(xiàn)一段高電平,使器件復(fù)位。此時(shí) ALE、PSEN、P0、圖 4-
45、2時(shí)鐘電路圖P1、P2、P4 輸出高電平,RST 上輸入返回低電平以后,變退出復(fù)位狀態(tài)開始工作。圖 4-3 復(fù)位電路4.4波形產(chǎn)生模塊電路的設(shè)計(jì)使用單片機(jī)AT89C51作為設(shè)計(jì)的主要控制芯片,編寫軟件程序裝載到單片機(jī)中產(chǎn)生三角波、方波、正弦波的數(shù)字信號(hào),然后再經(jīng)過DA轉(zhuǎn)換模塊DAC0832轉(zhuǎn)變?yōu)槟M信號(hào),經(jīng)過LM324放大之后輸出。其電路圖如下: 圖4-4 波形產(chǎn)生電路4.5顯示模塊電路的設(shè)計(jì)將1602顯示器和單片機(jī)相連接,波形的頻率、波形的頻率就可以顯示在1602上,效果很明顯清晰,1602的設(shè)計(jì)如下:圖4-5 液晶顯示單片機(jī)的P1口連接LCD1602的D0-D7,單片機(jī)的P3.2連接160
46、2的RS端,單片機(jī)的P3.3連接1602的RW端,單片機(jī)的P3.4連接1602的E端.編寫顯示的軟件程序,波形的種類以及波形的頻率就可以顯示出來。4.6 鍵盤顯示模塊電路的設(shè)計(jì)因?yàn)橛玫降逆I并不多,采用獨(dú)立式鍵盤比較合適,所以獨(dú)立鍵盤在本次設(shè)計(jì)中使用,它的硬件連接電路如下:圖4-6 鍵盤單片機(jī)的P2口的與獨(dú)立鍵盤的這三個(gè)鍵分別連接起來,開關(guān)S1用來控制波形的切換、開關(guān)S2和S3是用來控制頻率的調(diào)節(jié)。當(dāng)開關(guān)S2按下時(shí)輸出波形的頻率會(huì)增加,從顯示器中可以看到,開關(guān)S3按下時(shí)輸出波形的頻率會(huì)減小,同樣從顯示器中可以看到。4.7 總體原理設(shè)計(jì)圖該設(shè)計(jì)的總體原理為利用AT89C51單片機(jī)芯片,讓單片機(jī) A
47、T89C51 作為主要的控制芯片,輸出的數(shù)字信號(hào)經(jīng)過DAC0832,轉(zhuǎn)變?yōu)槟M信號(hào),再經(jīng)過放大處理實(shí)現(xiàn)方波、三角波、正弦波這三種常用波形的發(fā)生。 圖4-7 總體原理設(shè)計(jì)圖5 軟件設(shè)計(jì)5.1軟件開發(fā)環(huán)境介紹5.1.1 Keil uVision介紹目前用于51系列單片機(jī)編程的C語言都采用Keil C51(簡(jiǎn)稱C51),Keil C51是在標(biāo)準(zhǔn)C語言基礎(chǔ)上發(fā)展起來的11。C51是根據(jù)51單片機(jī)的硬件特點(diǎn)而有針對(duì)性的對(duì)C語言進(jìn)行擴(kuò)展,并廣泛的被51單片機(jī)移植,簡(jiǎn)潔、高效而又非常實(shí)用的高級(jí)編程語言。運(yùn)用C51進(jìn)行單片機(jī)的控制程序編寫,調(diào)試效率比較高,而且寫出來的程序便于修改12。程序編寫時(shí)運(yùn)用模塊化的設(shè)
48、計(jì)思想,合理的利用C語言的程序資源與庫(kù)函數(shù),使重復(fù)性的程序設(shè)計(jì)減少,用C51編寫的模塊可以不用修改直接被其他模塊調(diào)用,同一種型號(hào)的單片機(jī)所開發(fā)出來的程序模塊,可以簡(jiǎn)單的修改硬件連接引腳就能使用。Keil C51與標(biāo)準(zhǔn)的C語言在程序控制語句、數(shù)據(jù)運(yùn)算操作和函數(shù)的運(yùn)用等方面基本一樣,但在頭文件、數(shù)據(jù)類型、數(shù)據(jù)存儲(chǔ)類型、單片機(jī)中斷定義、庫(kù)函數(shù)、程序結(jié)構(gòu)等方面有著主要的區(qū)別。但如果掌握了C語言的編程基礎(chǔ),在了解51單片機(jī)的硬件結(jié)構(gòu)基礎(chǔ)上,注意與C51的區(qū)別,還是能夠很快的掌握Keil C51的編程的。5.1.2 Proteus7.10 介紹Proteus是一種EDA工具軟件(該軟件在中國(guó)有代理)。它具
49、有EDA工具軟件的仿真功能和單片機(jī)及外圍器件的仿真功能。目前,在國(guó)內(nèi)雖然推廣不久,但是受到很多人的喜愛和使用,許多單片機(jī)的愛好者、致力于單片機(jī)開發(fā)的科學(xué)工作者。Proteus軟件聞名與整個(gè)世界,無論是從原理圖布圖方面、程序調(diào)試方面到單片機(jī)與外圍電路的仿真,到PCB設(shè)計(jì),都體現(xiàn)了一個(gè)完整的設(shè)計(jì)。是目前世界上唯一將電路仿真軟件、PCB設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺(tái),其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方
50、面,它也支持IAR、Keil和MPLAB等多種編譯器。Proteus軟件具有很多功能。這些功能是: 可以仿真一些常用主流單片機(jī),例如51系列、AVR、PIC、ARM。還可以直接在虛擬原型上編寫程序,基于原理圖的。然后配合顯示以及輸出,運(yùn)行后輸入輸出的效果就可以被看到。5.1.3 Keil 與Proteus 聯(lián)合仿真把Keil 與Proteus 聯(lián)合起來,大大加快了設(shè)計(jì)的進(jìn)程。用Proteus把硬件電路設(shè)計(jì)先設(shè)計(jì)出來,用keil編寫c程序程序,調(diào)試出現(xiàn)結(jié)果,產(chǎn)生課余執(zhí)行的文件,然后把頭文件下載到Proteus仿真的單片機(jī)里,然后,可以更改程序調(diào)試參數(shù)。在Proteus里邊有示波器,程序的運(yùn)行結(jié)果
51、可以從示波器中看到,可以一直不斷的調(diào)試,一直到出現(xiàn)自己滿意的結(jié)果,這樣使調(diào)試的進(jìn)程加快,還使單片機(jī)的壽命增加5.2 程序軟件總設(shè)計(jì)圖5-1 軟件流程圖5.2.1 波形切換圖下面說明的是波形圖的切換,通過按鍵S1實(shí)現(xiàn),下面要實(shí)現(xiàn)的各種波形通過開關(guān)的切換過程的流程圖,S1按一下,輸出的是正弦波,S1按兩下,輸出的是方波,SI按三下,輸出的是三角波。S1鍵接的是P2.0,P2.0為0則輸出波形。圖5-2 波形切換圖5.2.2 LCD顯示流程圖該設(shè)計(jì)采用LCD1602顯示,先對(duì)LCD進(jìn)行初始化,即對(duì)寄存器選擇端口RS,讀寫操作選擇端口RW,使能端E這三個(gè)端口進(jìn)行初始化,再設(shè)置顯示位置,顯示字符。圖5-
52、3 LCD顯示框圖5.2.3 三角波子程序的設(shè)計(jì)先定義一個(gè)自變量a,如果a小于128,輸出為a,延時(shí)一定時(shí)間改變頻率,如果a大于128,輸出為255a,延時(shí)一定時(shí)間改變頻率,然后讓a自加一,不斷地循環(huán)。5.2.4 方波子程序的設(shè)計(jì)圖5-4 方波程序流程圖5.2.5 正弦波的設(shè)計(jì)方法一:在單片機(jī)的存儲(chǔ)器里面,先存入存入正弦波的點(diǎn)數(shù),改變輸出兩點(diǎn)間的距離實(shí)現(xiàn)頻率的調(diào)節(jié)。設(shè)置一個(gè)調(diào)頻的最小時(shí)間單位,設(shè)置的是兩個(gè)機(jī)器周期,時(shí)間的控制通過循環(huán)次數(shù)來控制。方法二:直接輸入計(jì)算式方法,本次設(shè)計(jì)采用的是方法二。6 硬件和軟件測(cè)試6.1硬件調(diào)試在硬件調(diào)試過程中,還是比較順利的,這跟各個(gè)單元電路的器件選擇有很大的
53、關(guān)系,因?yàn)閱卧娐返脑O(shè)計(jì)很穩(wěn)定,所以使得我們的調(diào)試事半功倍6.2軟件調(diào)試雖然對(duì)于單片機(jī)我有了一定的熟悉,但是在軟件調(diào)試上也遇到了一些問題(1)在編寫軟件程序調(diào)試過程過程中,會(huì)顯示某些語言語法上的錯(cuò)誤,好在查閱了很多有關(guān)單片機(jī)C語言的書,克服了各個(gè)問題,軟件程序編寫成功。(2)編寫調(diào)節(jié)頻率的程序后,燒路到硬件電路中,在調(diào)試過程中,發(fā)現(xiàn)三種波融合在一起,最后終于解決了這個(gè)問題。6.3 調(diào)試小結(jié)雖然在七天的調(diào)試過程中,遇到了很多不了解的問題,但是在老師的細(xì)心教導(dǎo)和同學(xué)的幫助下,當(dāng)然還有我的努力,最后終于調(diào)試出來了,在用 KEIL 調(diào)試程序時(shí),我將延時(shí)程序?qū)戝e(cuò)了導(dǎo)致程序不能正常運(yùn)行,正常運(yùn)行等等小問題
54、。在硬件調(diào)試時(shí),我開始的時(shí)候也是錯(cuò)誤百出,結(jié)果可想而知,程序無法運(yùn)行。但是在在老師的細(xì)心指導(dǎo)下,我學(xué)到了很多知識(shí),硬件的調(diào)試不能著急,需要一部分一部分慢慢的調(diào)試,先檢查AT89C51工作是否正常,然后用一個(gè)DA加示波器調(diào)試看是否正常工作。,在每一部分都不出現(xiàn)錯(cuò)誤的情況下,再去調(diào)試整個(gè)的硬件電路,我認(rèn)為在我們調(diào)試過程當(dāng)中,一定不能心急,需要的是信心和耐心,如果不這樣的話,很難得到調(diào)試結(jié)果的,下面為得到的三種波形的仿真圖:圖6-1 正弦波圖形圖6-2 方波圖形圖6-3 三角波圖行6.4設(shè)計(jì)心得和體會(huì)本次的畢業(yè)設(shè)計(jì)基于單片機(jī)的波形發(fā)生器軟件設(shè)計(jì),在這個(gè)過程當(dāng)中,我學(xué)到了很多東西(1) 首先對(duì)于單片機(jī)有了更進(jìn)一步的了解,對(duì)于單片機(jī)的時(shí)鐘電路,復(fù)位電路原理也都很了解了,有關(guān)晶振的知識(shí),復(fù)位的方式都有了解,不像以前,知道的很泛泛。對(duì)于DA轉(zhuǎn)換器也有了更深的了解,對(duì)于它的內(nèi)部結(jié)構(gòu),引腳的功能也有了更進(jìn)一步的了解,對(duì)于鍵盤的工作原理也有了更進(jìn)一步的了解。也知道了如何才算一個(gè)完整的單片機(jī)系統(tǒng)。(2) 通過畫單片機(jī)的原理圖和PCB圖,學(xué)會(huì)了使用Proteus 軟件,現(xiàn)在能夠獨(dú)立的完成單片機(jī)電路的設(shè)計(jì),而且,在元器件封裝方面,也有了很多的理解。(3)現(xiàn)在能夠熟練的使用Keil uVision4軟件,對(duì)于單片機(jī)C語言知道了更多,知道了C語言在Keil uVision4軟件中
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- odm框架合同范例
- 公司索賠合同范例
- 佛山美容院加盟合同范例
- 代付定金合同范例
- 中介鋼材買賣合同范本
- 凍品儲(chǔ)存合同范本
- 零工經(jīng)濟(jì)個(gè)人所得稅稅收征管問題研究
- 傘架電鍍加工合同范例
- 幕墻施工方案范本
- 加盟入駐合同范例
- 2025年宜賓興文縣招考聘用社區(qū)專職工作者7人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 公園物業(yè)管理安保服務(wù)投標(biāo)技術(shù)標(biāo)方案參考借鑒范本
- 《習(xí)近平法治思想概論(第二版)》 課件 3.第三章 習(xí)近平法治思想的實(shí)踐意義
- 中醫(yī)藥文化知識(shí)培訓(xùn)課件
- 2025中智集團(tuán)招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 二 20以內(nèi)的退位減法 第1課時(shí) 十幾減9課件2024-2025人教版一年級(jí)數(shù)學(xué)下冊(cè)
- 退役軍人創(chuàng)業(yè)扶持協(xié)議
- 養(yǎng)老院院感管理與應(yīng)急預(yù)案
- 湘教版七年級(jí)上冊(cè)數(shù)學(xué)期末考試試卷及答案
- 2024-2025學(xué)年上學(xué)期河北初中英語八年級(jí)期末試卷
- 極端天氣下的新能源電力系統(tǒng)電力電量平衡體系
評(píng)論
0/150
提交評(píng)論