單片機(jī)——波形發(fā)生器_第1頁(yè)
單片機(jī)——波形發(fā)生器_第2頁(yè)
單片機(jī)——波形發(fā)生器_第3頁(yè)
單片機(jī)——波形發(fā)生器_第4頁(yè)
單片機(jī)——波形發(fā)生器_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、河南理工大學(xué)單片機(jī)應(yīng)用與仿真訓(xùn)練設(shè)計(jì)報(bào)告題目姓 名: 學(xué) 號(hào): 專業(yè)班級(jí): 電氣08-4班 指導(dǎo)老師: 劉 巍 所在學(xué)院: 電氣工程與自動(dòng)化學(xué)院 2011年6月 日摘要 波形發(fā)生器也稱函數(shù)發(fā)生器,作為實(shí)驗(yàn)信號(hào)源,是現(xiàn)今各種電子電路實(shí)驗(yàn)設(shè)計(jì)應(yīng)用中必不可少的儀器設(shè)備之一。目前,市場(chǎng)上常見(jiàn)的波形發(fā)生器多為純硬件的搭接而成,且波形種類有限,多為方波,三角波,梯形波,正弦波等波形。多種波形信號(hào)發(fā)生器是工業(yè)生產(chǎn)、產(chǎn)品開(kāi)發(fā)和科學(xué)研發(fā)等項(xiàng)目必備的工具。它產(chǎn)生的正弦波、矩形波和三角波是常用的基本測(cè)試信號(hào)。 本設(shè)計(jì)使用AT89S51單片機(jī)、DAC0832轉(zhuǎn)換芯片以及LM324放大器等元件組成硬件電路,編寫(xiě)產(chǎn)生方波

2、、三角波、鋸齒波、梯形波等多種波形程序。通過(guò)單片機(jī)P1口開(kāi)關(guān)輸入所要產(chǎn)生波形的信號(hào),單片機(jī)根據(jù)輸入信號(hào)的判斷調(diào)用相應(yīng)的子程序產(chǎn)生數(shù)字信號(hào)波形,從P0輸出到DAC0832芯片,運(yùn)用DA轉(zhuǎn)換技術(shù),將數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào)到達(dá)LM324中處理并輸出最終所需的波形。最后將整個(gè)電路在PROTUES和WAVE軟件中進(jìn)行仿真,通過(guò)示波器可以直接觀測(cè)到所需的波形,同時(shí)也可以反過(guò)來(lái)修改程序的參量以實(shí)現(xiàn)所需的波形的參數(shù)要求。 文中簡(jiǎn)要介紹了DAC0832數(shù)模轉(zhuǎn)換器的結(jié)構(gòu)原理和使用方法,AT89C51的基礎(chǔ)理論,以及與設(shè)計(jì)電路有關(guān)的各種芯片。文中著重介紹了如何利用單片機(jī)控制D/A轉(zhuǎn)換器產(chǎn)生上述信號(hào)的硬件電路和軟件編

3、程。信號(hào)頻率幅度也按要求可調(diào)。本次關(guān)于產(chǎn)生不同低頻信號(hào)的信號(hào)源的設(shè)計(jì)方案,不僅在理論和實(shí)踐上都能滿足實(shí)驗(yàn)的要求,而且具有很強(qiáng)的可行性。該信號(hào)源的特點(diǎn)是:體積小、價(jià)格低廉、性能穩(wěn)定、實(shí)現(xiàn)方便、功能齊全。關(guān)鍵詞:AT89S52 單片機(jī),DAC0832芯片,LM324運(yùn)算放大器,PROTEUS和WAVE仿真軟件等。8位數(shù)碼管顯示25目錄1 波形發(fā)生器概述41.1波形發(fā)生器的發(fā)展?fàn)顩r41.2國(guó)內(nèi)外波形發(fā)生器產(chǎn)品比較51.3關(guān)于波形發(fā)生器認(rèn)識(shí)與設(shè)計(jì)想法62.系統(tǒng)總體方案及硬件設(shè)計(jì)72.1 MCS-51單片機(jī)的內(nèi)部結(jié)構(gòu)82.1.1內(nèi)部結(jié)構(gòu)概述82.1.2 CPU結(jié)構(gòu)92.1.3存儲(chǔ)器和特殊功能寄存器102

4、.2 P0-P3口結(jié)構(gòu)102.3 時(shí)鐘電路和復(fù)位電路112.3.1時(shí)鐘電路112.3.3單片機(jī)的復(fù)位狀態(tài)112.4 DAC0832的引腳及功能122.5 LM324芯片143 軟件原理153.1 主流程圖153.2子程序單元及流程圖163.2.1方波發(fā)生子程序流程圖163.2.2.三角波子程序及流程圖:163.2.3.梯形波子程序及流程圖173.2.4正弦波子程序及流程圖174實(shí)驗(yàn)仿真184.1 方波仿真圖184.2 三角波仿真圖194.3 梯形波波仿真圖204.4 正弦波仿真圖215課程設(shè)計(jì)體會(huì)22參考文獻(xiàn)23附1 源程序代碼24附2 系統(tǒng)原理圖281 波形發(fā)生器概述在電子工程、通信工程、自

5、動(dòng)控制、遙測(cè)控制、測(cè)量?jī)x器、儀表和計(jì)算機(jī)等技術(shù)領(lǐng)域,經(jīng)常需要用到各種各樣的信號(hào)波形發(fā)生器。隨著集成電路的迅速發(fā)展,用集成電路可很方便地構(gòu)成各種信號(hào)波形發(fā)生器。用集成電路實(shí)現(xiàn)的信號(hào)波形發(fā)生器與其它信號(hào)波形發(fā)生器相比,其波形質(zhì)量、幅度和頻率穩(wěn)定性等性能指標(biāo),都有了很大的提高。1.1波形發(fā)生器的發(fā)展?fàn)顩r 波形發(fā)生器是能夠產(chǎn)生大量的標(biāo)準(zhǔn)信號(hào)和用戶定義信號(hào),并保證高精度、高穩(wěn)定性、可重復(fù)性和易操作性的電子儀器。函數(shù)波形發(fā)生器具有連續(xù)的相位變換、和頻率穩(wěn)定性等優(yōu)點(diǎn),不僅可以模擬各種復(fù)雜信號(hào),還可對(duì)頻率、幅值、相移、波形進(jìn)行動(dòng)態(tài)、及時(shí)的控制,并能夠與其它儀器進(jìn)行通訊,組成自動(dòng)測(cè)試系統(tǒng),因此被廣泛用于自動(dòng)控制

6、系統(tǒng)、震動(dòng)激勵(lì)、通訊和儀器儀表領(lǐng)域。在 70 年代前,信號(hào)發(fā)生器主要有兩類:正弦波和脈沖波,而函數(shù)發(fā)生器介于兩類之間,能夠提供正弦波、余弦波、方波、三角波、上弦波等幾種常用標(biāo)準(zhǔn)波形,產(chǎn)生其它波形時(shí),需要采用較復(fù)雜的電路和機(jī)電結(jié)合的方法。這個(gè)時(shí)期的波形發(fā)生器多采用模擬電子技術(shù),而且模擬器件構(gòu)成的電路存在著尺寸大、價(jià)格貴、功耗大等缺點(diǎn),并且要產(chǎn)生較為復(fù)雜的信號(hào)波形,則電路結(jié)構(gòu)非常復(fù)雜。同時(shí),主要表現(xiàn)為兩個(gè)突出問(wèn)題,一是通過(guò)電位器的調(diào)節(jié)來(lái)實(shí)現(xiàn)輸出頻率的調(diào)節(jié),因此很難將頻率調(diào)到某一固定值;二是脈沖的占空比不可調(diào)節(jié)。在 70 年代后,微處理器的出現(xiàn),可以利用處理器、A/D/和 D/A,硬件和軟件使波形發(fā)

7、生器的功能擴(kuò)大,產(chǎn)生更加復(fù)雜的波形。這時(shí)期的波形發(fā)生器多以軟件為主,實(shí)質(zhì)是采用微處理器對(duì) DAC的程序控制,就可以得到各種簡(jiǎn)單的波形。 90 年代末,出現(xiàn)幾種真正高性能、高價(jià)格的函數(shù)發(fā)生器、但是HP公司推出了型號(hào)為 HP770S的信號(hào)模擬裝置系統(tǒng),它由 HP8770A任意波形數(shù)字化和 HP1776A波形發(fā)生軟件組成。HP8770A實(shí)際上也只能產(chǎn)生8 中波形,而且價(jià)格昂貴。不久以后,Analogic公司推出了型號(hào)為 Data-2020的多波形合成器,Lecroy 公司生產(chǎn)的型號(hào)為9100 的任意波形發(fā)生器等。 到了二十一世紀(jì),隨著集成電路技術(shù)的高速發(fā)展,出現(xiàn)了多種工作頻率可過(guò) GHz 的DDS

8、芯片,同時(shí)也推動(dòng)了函數(shù)波形發(fā)生器的發(fā)展,2003 年,Agilent的產(chǎn)品 33220A能夠產(chǎn)生 17 種波形,最高頻率可達(dá)到 20M,2005 年的產(chǎn)品N6030A 能夠產(chǎn)生高達(dá) 500MHz 的頻率,采樣的頻率可達(dá) 1.25GHz。由上面的產(chǎn)品可以看出,函數(shù)波形發(fā)生器發(fā)展很快近幾年來(lái),國(guó)際上波形發(fā)生器技術(shù)發(fā)展主要體現(xiàn)在以下幾個(gè)方面:(1)過(guò)去由于頻率很低應(yīng)用的范圍比較狹小,輸出波形頻率的提高,使得波形發(fā)生器能應(yīng)用于越來(lái)越廣的領(lǐng)域。波形發(fā)生器軟件的開(kāi)發(fā)正使波形數(shù)據(jù)的輸入變得更加方便和容易。波形發(fā)生器通常允許用一系列的點(diǎn)、直線和固定的函數(shù)段把波形數(shù)據(jù)存入存儲(chǔ)器。同時(shí)可以利用一種強(qiáng)有力的數(shù)學(xué)方程

9、輸入方式,復(fù)雜的波形可以由幾個(gè)比較簡(jiǎn)單的公式復(fù)合成 v=f (t)形式的波形方程的數(shù)學(xué)表達(dá)式產(chǎn)生。從而促進(jìn)了函數(shù)波形發(fā)生器向任意波形發(fā)生器的發(fā)展,各種計(jì)算機(jī)語(yǔ)言的飛速發(fā)展也對(duì)任意波形發(fā)生器軟件技術(shù)起到了推動(dòng)作用。目前可以利用可視化編程語(yǔ)言(如Visual Basic ,Visual C 等等)編寫(xiě)任意波形發(fā)生器的軟面板,這樣允許從計(jì)算機(jī)顯示屏上輸入任意波形,來(lái)實(shí)現(xiàn)波形的輸入。 (2)與VXI資源結(jié)合。目前,波形發(fā)生器由獨(dú)立的臺(tái)式儀器和適用于個(gè)人計(jì)算機(jī)的插卡以及新近開(kāi)發(fā)的VXI模塊。由于VXI總線的逐漸成熟和對(duì)測(cè)量?jī)x器的高要求,在很多領(lǐng)域需要使用VXI系統(tǒng)測(cè)量產(chǎn)生復(fù)雜的波形,VXI的系統(tǒng)資源提供

10、了明顯的優(yōu)越性,但由于開(kāi)發(fā)VXI模塊的周期長(zhǎng),而且需要專門的VXI機(jī)箱的配套使用,使得波形發(fā)生器VXI模塊僅限于航空、軍事及國(guó)防等大型領(lǐng)域。在民用方面,VXI模塊遠(yuǎn)遠(yuǎn)不如臺(tái)式儀器更為方便。 (3)隨著信息技術(shù)蓬勃發(fā)展,臺(tái)式儀器在走了一段下坡路之后,又重新繁榮起來(lái)。不過(guò)現(xiàn)在新的臺(tái)式儀器的形態(tài),和幾年前的己有很大的不同。這些新一代臺(tái)式儀器具有多種特性,可以執(zhí)行多種功能。而且外形尺寸與價(jià)格,都比過(guò)去的類似產(chǎn)品減少了一半。1.2國(guó)內(nèi)外波形發(fā)生器產(chǎn)品比較 早在 1978 年,由美國(guó) Wavetek 公司和日本東亞電波工業(yè)公司公布了最高取樣頻率為 5MHz ,可以形成 256 點(diǎn)(存儲(chǔ)長(zhǎng)度)波形數(shù)據(jù),垂直

11、分辨率為8bit,主要用于振動(dòng)、醫(yī)療、材料等領(lǐng)域的第一代高性能信號(hào)源,經(jīng)過(guò)將近30年的發(fā)展,伴隨著電子元器件、電路、及生產(chǎn)設(shè)備的高速化、高集成化,波形發(fā)生器的性能有了飛速的提高。變得操作越來(lái)越簡(jiǎn)單而輸出波形的能力越來(lái)越強(qiáng)。波形操作方法的好壞,是由波形發(fā)生器控制軟件質(zhì)量保證的,編輯功能增加的越多,波形形成的操作性越好。 1.3關(guān)于波形發(fā)生器認(rèn)識(shí)與設(shè)計(jì)想法在日常的工作和學(xué)習(xí)中,波形發(fā)生器是一種常用的信號(hào)源,廣泛地應(yīng)用于電子電路、自動(dòng)控制系統(tǒng)和教學(xué)實(shí)驗(yàn)等領(lǐng)域。目前使用波形發(fā)生器大部分是利用分立元件組成的起體積大,可靠性差,準(zhǔn)確度低。目前我們實(shí)驗(yàn)室用的較多的波形發(fā)生器主要有兩種:低頻正弦波發(fā)生器和通用

12、多波形發(fā)生器,前者只能產(chǎn)生正弦波,調(diào)節(jié)范圍不大,但是信號(hào)穩(wěn)定,失真度底,主要用在對(duì)波形有很高的要求的實(shí)驗(yàn)中;后者能產(chǎn)生正弦波、方波和三角波,也有的能產(chǎn)生三種以上波形。這兩種波形發(fā)生器都比較昂貴,而在我們很多的實(shí)驗(yàn)中有的要求產(chǎn)生更多的波形種類,有很多對(duì)于波形的要求不是很高,有的只是演示一下,在本課題中將這兩方面的缺點(diǎn)結(jié)合起來(lái)加以改進(jìn),最大限度地利用單片機(jī)資源。本次課程設(shè)計(jì)將以AT89S51 單片機(jī)為核心,采用AD/DA 轉(zhuǎn)換接口技術(shù)構(gòu)成的波形發(fā)生器可產(chǎn)生方波、三角波、鋸齒波、梯形波等多種波形,波形的周期可以用程序改變,并可根據(jù)需要選擇單極性輸出或雙極性輸出,具有線路簡(jiǎn)單、結(jié)構(gòu)緊湊、價(jià)格低廉、性能

13、優(yōu)越等優(yōu)點(diǎn)。在本設(shè)計(jì)的基礎(chǔ)上,加上開(kāi)關(guān)鍵盤控制和LED顯示,則可開(kāi)關(guān)鍵盤輸入選定所需要的波形,并用相應(yīng)的LED顯示。利用AT89S51單片機(jī)產(chǎn)生方波、鋸齒波、三角波及梯形波,并可以在不同的波形之間任意切換,并可以根據(jù)實(shí)際情況的需要在波形存儲(chǔ)器中寫(xiě)入不同的波形,可以隨時(shí)添加,能滿足一般的實(shí)驗(yàn)及演示的需要,并且成本很低,操作簡(jiǎn)潔方便。2.系統(tǒng)總體方案及硬件設(shè)計(jì)依據(jù)應(yīng)用場(chǎng)合需要實(shí)現(xiàn)的波形種類,波形發(fā)生器的具體指標(biāo)要求會(huì)有所不同。依據(jù)不同的設(shè)計(jì)要求選取不同的設(shè)計(jì)方案。通常,波形發(fā)生器需要實(shí)現(xiàn)的波形有正弦波、方波、三角波和鋸齒波。有些場(chǎng)合可能還需要任意波形的產(chǎn)生。各種波形共有的指標(biāo)有:波形的頻率、幅度要

14、求,頻率穩(wěn)定度,準(zhǔn)確度等。對(duì)于不同波形,具體的指標(biāo)要求也會(huì)有所差異,例如,占空比是脈沖波形特有的指標(biāo)。波形發(fā)生器的設(shè)計(jì)方案多種多樣,大致可以分為三大類:純硬件設(shè)計(jì)法、純軟件設(shè)計(jì)法和軟硬件結(jié)合設(shè)計(jì)法。 軟硬件結(jié)合法軟硬件結(jié)合的波形發(fā)生器設(shè)計(jì)方法同時(shí)兼具軟硬件設(shè)計(jì)的優(yōu)勢(shì):既具有純硬件設(shè)計(jì)的快速、高性能,同時(shí)又具有軟件控制的靈活性、智能性。如以單片機(jī)和單片集成函數(shù)發(fā)生器為核心(如圖2.1)。輔以鍵盤控制、液晶顯示等電路,設(shè)計(jì)出智能型函數(shù)波形發(fā)生器,采用軟硬件結(jié)合的方法可以實(shí)現(xiàn)功能較全、性能更優(yōu)的波形發(fā)生器,同時(shí)還可以擴(kuò)展波形發(fā)生器的功能,比如通過(guò)軟件編程控制實(shí)現(xiàn)波形的存儲(chǔ)、運(yùn)算、打印等功能,采用US

15、B接口設(shè)計(jì)。使波形發(fā)生器具有遠(yuǎn)程通信功能等。目前,實(shí)驗(yàn)、科研和工業(yè)生產(chǎn)中使用的信號(hào)源大多采用此方法來(lái)實(shí)現(xiàn)。AT89C51單片機(jī)DAC0832復(fù)位鍵鍵盤數(shù)碼管顯示圖 2.1軟硬件結(jié)合的波形發(fā)生器波形的產(chǎn)生是通過(guò)AT89S52單片機(jī)執(zhí)行某一波形發(fā)生程序,向D/A轉(zhuǎn)換器的輸入端按一定的規(guī)律發(fā)生數(shù)據(jù),從而在D/A轉(zhuǎn)換電路的輸出端得到相應(yīng)的電壓波形。AT89S52單片機(jī)的最小系統(tǒng)有三種聯(lián)接方式。一種是兩級(jí)緩沖器型,即輸入數(shù)據(jù)經(jīng)過(guò)兩級(jí)緩沖器型,即輸入數(shù)據(jù)經(jīng)過(guò)兩級(jí)緩沖器后,送D/A轉(zhuǎn)換電路。第二種是單級(jí)緩沖器型,輸入數(shù)據(jù)經(jīng)輸入寄存器直接送入DAC寄存器,然后送D/A轉(zhuǎn)換電路。第三種是兩個(gè)緩沖器直通,輸入數(shù)據(jù)

16、直接送D/A轉(zhuǎn)換電路進(jìn)行轉(zhuǎn)換。本電路仿真的總圖如下:圖3.1 系統(tǒng)電路圖2.1 MCS-51單片機(jī)的內(nèi)部結(jié)構(gòu) 2.1.1內(nèi)部結(jié)構(gòu)概述典型的MCS-51單片機(jī)芯片集成了以下幾個(gè)基本組成部分。 1 一個(gè)8位的CPU2 128B或256B單元內(nèi)數(shù)據(jù)存儲(chǔ)器(RAM)3 4KB或8KB片內(nèi)程序存儲(chǔ)器(ROM或EPROM)4 4個(gè)8位并行I/O接口P0P3。5 兩個(gè)定時(shí)/計(jì)數(shù)器。6 5個(gè)中斷源的中斷管理控制系統(tǒng)。7 一個(gè)全雙工串行I/O口UART(通用異步接收、發(fā)送器) 8 一個(gè)片內(nèi)振蕩器和時(shí)鐘產(chǎn)生電路。圖3.2 單片機(jī)引腳 2.1.2 CPU結(jié)構(gòu)CPU 是單片機(jī)的核心部件。它由運(yùn)算器和控制器等

17、部件組成。1. 運(yùn)算器 運(yùn)算器以完成二進(jìn)制的算術(shù)/邏輯運(yùn)算部件ALU為核心。它可以對(duì)半字節(jié)(4)、單字節(jié)等數(shù)據(jù)進(jìn)行操作。例如,能完成加、減、乘、除、加1、減1、BCD碼十進(jìn)制調(diào)整、比較等算術(shù)運(yùn)算,完成與、或、異或、求反、循環(huán)等邏操作,操作結(jié)果的狀態(tài)信息送至狀態(tài)寄存器。運(yùn)算器還包含有一個(gè)布爾處理器,用以處理位操作。它以進(jìn)位標(biāo)志位C為累加器,可執(zhí)行置位、復(fù)位、取反、位判斷轉(zhuǎn)移,可在進(jìn)位標(biāo)志位與其他可位尋址的位之間進(jìn)行位數(shù)據(jù)傳誦等操作,還可以完成進(jìn)位標(biāo)志位與其他可位尋址的位之間進(jìn)行邏輯與、或操作。2.程序計(jì)數(shù)器PCPC是一個(gè)16位的計(jì)數(shù)器,用于存放一條要執(zhí)行的指令地址,尋址范圍為64kB,

18、PC有自動(dòng)加1功能,即完成了一條指令的執(zhí)行后,其內(nèi)容自動(dòng)加1。3.指令寄存器 指令寄存器用于存放指令代碼。CPU執(zhí)行指令時(shí),由程序存儲(chǔ)器中讀取的指令代碼送如指令寄存器,經(jīng)指令譯碼器譯碼后由定時(shí)有控制電路發(fā)出相應(yīng)的控制信號(hào),完成指令功能。 2.1.3存儲(chǔ)器和特殊功能寄存器1.存儲(chǔ)器(Memory)是計(jì)算機(jī)系統(tǒng)中的記憶設(shè)備,用來(lái)存放程序和數(shù)據(jù)。計(jì)算機(jī)中的全部信息,包括輸入的原始數(shù)據(jù)、計(jì)算機(jī)程序、中間運(yùn)行結(jié)果和最終運(yùn)行結(jié)果都保存在存儲(chǔ)器中。它根據(jù)控制器指定的位置存入和取出信息。2.特殊功能寄存器特殊功能寄存器(SFR)的地址范圍為80HFFH。在MCS51中,除程序計(jì)數(shù)器PC和四個(gè)工作寄存器區(qū)外,其

19、余21個(gè)特殊功能寄存器都在這SFR塊中。其中5個(gè)是雙字節(jié)寄存器,它們共占用了26個(gè)字節(jié)。各特殊功能寄存器的符號(hào)和地址見(jiàn)附表2。其中帶號(hào)的可位尋址。特殊功能寄存器反映了8051的狀態(tài),實(shí)際上是8051的狀態(tài)字及控制字寄存器。用于CPU PSW便是典型一例。這些特殊功能寄存器大體上分為兩類,一類與芯片的引腳有關(guān),另一類作片內(nèi)功能的控制用。與芯片引腳有關(guān)的特殊功能寄存器是P0P3,它們實(shí)際上是4個(gè)八位鎖存器(每個(gè)I/O口一個(gè)),每個(gè)鎖存器附加有相應(yīng)的輸出驅(qū)動(dòng)器和輸入緩沖器就構(gòu)成了一個(gè)并行口。MCS51共有P0P3四個(gè)這樣的并行口,可提供32根I/O線,每根線都是雙向的,并且大都有第二功能。其余用于芯

20、片控制的寄存器中,累加器A、標(biāo)志寄存器PSW、數(shù)據(jù)指針DPTR等的功能前已提及。2.2 P0-P3口結(jié)構(gòu)P0口功能:P0口具有兩種功能:第一,P0口可以作為通用I/O接口使用,P0.7P0.0用于傳送CPU的輸入/輸出數(shù)據(jù)。輸出數(shù)據(jù)時(shí)可以得到鎖存,不需外接專用鎖存器,輸入數(shù)據(jù)可以得到緩沖。第二,P0.7P0.0在CPU訪問(wèn)片外存儲(chǔ)器時(shí)用于傳送片外存儲(chǔ)器de低8位地址,然后傳送CPU對(duì)片外存儲(chǔ)器的讀寫(xiě)P1口 功能:P1口的功能和P0口de第一功能相同,僅用于傳遞I/O輸入/輸出數(shù)據(jù)。 P2口的功能:2口的第一功能和上述兩組引腳的第一功能相同,即它可以作為通用I/O使用。它的第二功能和P0口引腳的

21、第二功能相配合,作為地址總線用于輸出片外存儲(chǔ)器的高8位地址。 P3口功能:P3口有兩個(gè)功能:第一功能與其余三個(gè)端口的第一功能相同;第二功能作控制用,每個(gè)引腳都不同。 P3.0RXD串行數(shù)據(jù)接收口 P3.1TXD串行數(shù)據(jù)發(fā)送口 P3.2INT0外中斷0輸入 P3.3INT1外中斷1輸入 P3.4T0計(jì)數(shù)器0計(jì)數(shù)輸入 P3.5T1計(jì)數(shù)器1計(jì)數(shù)輸入 P3.6WR外部RAM寫(xiě)選通信號(hào) P3.7RD外部RAM讀選通信號(hào) 2.3 時(shí)鐘電路和復(fù)位電路單片機(jī)的時(shí)鐘信號(hào)用來(lái)提供單片機(jī)內(nèi)各種微操作的時(shí)間基準(zhǔn);復(fù)位操作則使單片機(jī)的片內(nèi)電路初始化,使單片機(jī)從一種確定的狀態(tài)開(kāi)始運(yùn)行。 2.3.1時(shí)鐘電路單片機(jī)的時(shí)鐘信號(hào)

22、通常用兩種電路形式得到:內(nèi)部振蕩和外部振蕩方式。圖3.3 時(shí)鐘部分電路圖在引腳XTAL1和XTAL2外接晶體振蕩器或陶瓷諧振蕩器,構(gòu)成了內(nèi)部振蕩方式。由于單片機(jī)內(nèi)部有一個(gè)高增益反相放大器,當(dāng)外接晶振后,就構(gòu)成了自積振蕩,并產(chǎn)生振蕩時(shí)鐘脈沖。晶振通常選用6MHZ、12MHZ、或24MHZ。 2.3.2單片機(jī)的時(shí)序單位振蕩周期:晶振的振蕩周期,又稱時(shí)鐘周期,為最小的時(shí)序單位。狀態(tài)周期:振蕩頻率經(jīng)單片機(jī)內(nèi)的二分頻器分頻后提供給片內(nèi)CPU的時(shí)鐘周期。因此一個(gè)狀態(tài)周期包含2個(gè)振蕩周期。機(jī)器周期:1個(gè)機(jī)器周期由6個(gè)狀態(tài)周期12個(gè)振蕩周期組成,是計(jì)算機(jī)執(zhí)行一種基本操作的時(shí)間單位。指令周期:執(zhí)行一條指令所需的

23、時(shí)間。一個(gè)指令周期由1-4個(gè)機(jī)器周期組成,依據(jù)指令不同而不同. 2.3.3單片機(jī)的復(fù)位狀態(tài)當(dāng)MCS-5l系列單片機(jī)的復(fù)位引腳RST(全稱RESET)出現(xiàn)2個(gè)機(jī)器周期以上的高電平時(shí),根據(jù)應(yīng)用的要求,復(fù)位操作通常有兩種基本形式:上電復(fù)位和上電或開(kāi)關(guān)復(fù)位。上電復(fù)位要求接通電源后,自動(dòng)實(shí)現(xiàn)復(fù)位操作。上電或開(kāi)關(guān)復(fù)位要求電源接通后,單片機(jī)自動(dòng)復(fù)位,并且在單片機(jī)運(yùn)行期間,用開(kāi)關(guān)操作也能使單片機(jī)復(fù)位。上電后,由于電容C3的充電和反相門的作用,使RST持續(xù)一段時(shí)間的高電平。當(dāng)單片機(jī)已在運(yùn)行當(dāng)中時(shí),按下復(fù)位鍵K后松開(kāi),也能使RST為一段時(shí)間的高電平,從而實(shí)現(xiàn)上電或開(kāi)關(guān)復(fù)位的操作。圖3.4 復(fù)位電路單片機(jī)的復(fù)位操作

24、使單片機(jī)進(jìn)入初始化狀態(tài),其中包括使程序計(jì)數(shù)器PC0000H,這表明程序從0000H地址單元開(kāi)始執(zhí)行。單片機(jī)冷啟動(dòng)后,片內(nèi)RAM為隨機(jī)值,運(yùn)行中的復(fù)位操作不改變片內(nèi)RAM區(qū)中的內(nèi)容,21個(gè)特殊功能寄存器復(fù)位后的狀態(tài)為確定值統(tǒng)復(fù)位是任何微機(jī)系統(tǒng)執(zhí)行的第一步,使整個(gè)控制芯片回到默認(rèn)的硬件狀態(tài)下。51單片機(jī)的復(fù)位是由RESET引腳來(lái)控制的,此引腳與高電平相接超過(guò)24個(gè)振蕩周期后,51單片機(jī)即進(jìn)入芯片內(nèi)部復(fù)位狀態(tài),而且一直在此狀態(tài)下等待,直到RESET引腳轉(zhuǎn)為低電平后,才檢查EA引腳是高電平或低電平,若為高電平則執(zhí)行芯片內(nèi)部的程序代碼,若為低電平便會(huì)執(zhí)行外部程序。51單片機(jī)在系統(tǒng)復(fù)位時(shí),將其內(nèi)部的一些重

25、要寄存器設(shè)置為特定的值,至于內(nèi)部RAM內(nèi)部的數(shù)據(jù)則不變。2.4 DAC0832的引腳及功能1 .DAC0832芯片:DAC0832是8分辨率的D/A轉(zhuǎn)換集成芯片。與微處理器完全兼容。這個(gè)DA芯片以其價(jià)格低廉、接口簡(jiǎn)單、轉(zhuǎn)換控制容易等優(yōu)點(diǎn),在單片機(jī)應(yīng)用系統(tǒng)中得到廣泛的應(yīng)用。D/A轉(zhuǎn)換器由8位輸入鎖存器、8位DAC寄存器、8位D/A轉(zhuǎn)換電路及轉(zhuǎn)換控制電路構(gòu)成。2 .DAC0832的主要特性參數(shù)如下: DAC0832芯片的原理:DAC0832是雙列直插式8位D/A轉(zhuǎn)換器。能完成數(shù)字量輸入到模擬量(電流)輸出的轉(zhuǎn)換。圖1為DAC0832的引腳圖。其主要參數(shù)如下:分辨率為8位,轉(zhuǎn)換時(shí)間為1s,滿量程誤差

26、為±1LSB,參考電壓為(+10-10)V,供電電源為(+5+15)V,邏輯電平輸入與TTL兼容。在DAC0832中有兩級(jí)鎖存器,第一級(jí)鎖存器稱為輸入寄存器,它的允許鎖存信號(hào)為ILE,第二級(jí)鎖存器稱為DAC寄存器,它的鎖存信號(hào)也稱為通道控制信號(hào) /XFER。3 .DAC0832結(jié)構(gòu): D0D7:8位數(shù)據(jù)輸入線,TTL電平,有效時(shí)間應(yīng)大于90ns(否則鎖存器的數(shù)據(jù)會(huì)出錯(cuò));ILE:數(shù)據(jù)鎖存允許控制信號(hào)輸入線,高電平有效;CS:片選信號(hào)輸入線(選通數(shù)據(jù)鎖存器),低電平有效;WR1:數(shù)據(jù)鎖存器寫(xiě)選通輸入線,負(fù)脈沖(脈寬應(yīng)大于500ns)有效。由ILE、CS、WR1的邏輯組合產(chǎn)生LE1,當(dāng)L

27、E1為高電平時(shí),數(shù)據(jù)鎖存器狀態(tài)隨輸入數(shù)據(jù)線變換,LE1的負(fù)跳變時(shí)將輸入數(shù)據(jù)鎖存;XFER:數(shù)據(jù)傳輸控制信號(hào)輸入線,低電平有效,負(fù)脈沖(脈寬應(yīng)大于500ns)有效;WR2:DAC寄存器選通輸入線,負(fù)脈沖(脈寬應(yīng)大于500ns)有效。由WR1、XFER的邏輯組合產(chǎn)生LE2,當(dāng)LE2為高電平時(shí),DAC寄存器的輸出隨寄存器的輸入而變化,LE2的負(fù)跳變時(shí)將數(shù)據(jù)鎖存器的內(nèi)容打入DAC寄存器并開(kāi)始D/A轉(zhuǎn)換。IOUT1:電流輸出端1,其值隨DAC寄存器的內(nèi)容線性變化;IOUT2:電流輸出端2,其值與IOUT1值之和為一常數(shù);Rfb:反饋信號(hào)輸入線,改變Rfb端外接電阻值可調(diào)整轉(zhuǎn)換滿量程精度;Vcc:電源輸入

28、端,Vcc的范圍為+5V+15V;VREF:基準(zhǔn)電壓輸入線,VREF的范圍為-10V+10V;AGND:模擬信號(hào)地DGND:數(shù)字信號(hào)地 4.DAC0832工作方式: (1)直通方式 :當(dāng)ILE接高電平,、和都接數(shù)字地時(shí),DAC處于直通方式,8位數(shù)字量一旦到達(dá)DI7DI0輸入端,就立即加到8位D/A轉(zhuǎn)換器,被轉(zhuǎn)換成模擬量。例如在構(gòu)成波形發(fā)生器的場(chǎng)合,就要用到這種方式,即把要產(chǎn)生基本波形的數(shù)據(jù)存在ROM中,連續(xù)取出送到DAC去轉(zhuǎn)換成電壓信號(hào)。(2)單緩沖方式 :只要把兩個(gè)寄存器中的任何一個(gè)接成直通方式,而用另一個(gè)鎖存器數(shù)據(jù),DAC就可處于單緩沖工作方式。一般的做法是將和都接地,使DAC寄存器處于直

29、通方式,另外把ILE接高電平,接端口地址譯碼信號(hào),接CPU的信號(hào),這樣就可以通過(guò)一條MOVX指令,選中該端口,使和有效,啟動(dòng)D/A轉(zhuǎn)換。本設(shè)計(jì)就是采用單緩沖方式控制DAC0832電路連接如下所示: (3)雙緩沖方式 :主要在以下兩種情況下需要用雙緩沖方式的D/A轉(zhuǎn)換。在需要同步進(jìn)行D/A轉(zhuǎn)換的多路DAC系統(tǒng)中,采用雙緩沖方式,可以在不同的時(shí)刻把要轉(zhuǎn)換的數(shù)據(jù)打入各DAC的輸入寄存器,然后由一個(gè)轉(zhuǎn)換命令同時(shí)啟動(dòng)多個(gè)DAC轉(zhuǎn)換。先用3條輸出指令選擇3個(gè)端口,分別將數(shù)據(jù)寫(xiě)入各DAC的輸入寄存器,當(dāng)數(shù)據(jù)準(zhǔn)備就緒后,再執(zhí)行一次寫(xiě)操作,使變低同時(shí)選通3個(gè)D/A的DAC寄存器,實(shí)現(xiàn)同步轉(zhuǎn)換。2.5 LM324

30、芯片LM324是四運(yùn)放集成電路,它采用14腳雙列直插塑料封裝,外形如圖所示。它的內(nèi)部包含四組形式完全相同的運(yùn)算放大器,除電源共用外,四組運(yùn)放相互獨(dú)立。每一組運(yùn)算放大器可用圖1所示的符號(hào)來(lái)表示,它有5個(gè)引出腳,其中“+”、“-”為兩個(gè)信號(hào)輸入端,“V+”、“V-”為正、負(fù)電源端,“Vo”為輸出端。兩個(gè)信號(hào)輸入端中,Vi-(-)為反相輸入端,表示運(yùn)放輸出端Vo的信號(hào)與該輸入端的位相反;Vi+(+)為同相輸入端,表示運(yùn)放輸出端Vo的信號(hào)與該輸入端的相位相同。LM324的引腳排列見(jiàn)圖2          

31、;        圖 1                                   圖 2 LM324的特點(diǎn):1.短跑保護(hù)輸出 2.真差動(dòng)輸入級(jí)3.可單電源工作:3V-3

32、2V 4.低偏置電流:最大100nA(LM324A)5.每封裝含四個(gè)運(yùn)算放大器。 6.具有內(nèi)部補(bǔ)償?shù)墓δ堋?.共模范圍擴(kuò)展到負(fù)電源 8.行業(yè)標(biāo)準(zhǔn)的引腳排列9.輸入端具有靜電保護(hù)功能由于LM324四運(yùn)放電路具有電源電壓范圍寬,靜態(tài)功耗小,可單電源使用,價(jià)格低廉等優(yōu)點(diǎn),因此被廣泛應(yīng)用在各種電路中。3 軟件原理系統(tǒng)軟件由主程序和產(chǎn)生波形的子程序組成,軟件設(shè)計(jì)主要是產(chǎn)生各種波形的子程序的編程,通過(guò)編程可得到各種波形。周期的改變可采用插入延時(shí)子程序的方法來(lái)實(shí)現(xiàn)。主程序和幾種常用波形子程序的流程圖如圖所示。3.1 主流程圖開(kāi) 始讀取波形選擇開(kāi)關(guān)狀態(tài)調(diào)波形發(fā)生子程初 始 化波形判別驅(qū)動(dòng)相應(yīng)的數(shù)碼結(jié) 束波形轉(zhuǎn)

33、換否圖4.1 主程序流程圖信號(hào)的產(chǎn)生:利用8位D/A轉(zhuǎn)換器DAC0832,可以將8位數(shù)字量轉(zhuǎn)換成模擬量輸出。數(shù)字量輸入的范圍為0255,對(duì)應(yīng)的模擬量輸出的范圍在VREF-到VREF+之間。根據(jù)這一特性,可以利用單片機(jī)的并行口輸出的數(shù)字量,產(chǎn)生常用的波形。例如,要產(chǎn)生幅度為05V的鋸齒波,只要將DAC0832的VREF-接地,VREF+接+5V,單片機(jī)的并行口首先輸出00H,再輸出01H、02H,直到輸出FFH,再輸出00H,依此循環(huán),這樣在圖4.2所示的Vout端就可以看到在0到5V之間變化的鋸齒波。3.2子程序單元及流程圖3.2.1方波發(fā)生子程序流程圖給P0賦值b22如果a5=2455=20

34、0如果a5=0b2=25522=0b2=0a5自動(dòng)減1a5自動(dòng)加1開(kāi)始3.2.2.三角波子程序及流程圖:給P0賦值ha如果ha=200如果ha=0a1=0a1=1ha自動(dòng)減1ha自動(dòng)加1開(kāi)始開(kāi)始給P0賦值b1a2=1;a3=1a2=0;a3=1;a4=254;b1自動(dòng)減1如果b1等于0如果a4等于1如果b1等于254a4自動(dòng)減1a3=0如果a3等于1如果a2等于0且a3等于0a4自動(dòng)減1a4自動(dòng)減1如果a2等于0且a3等于03.2.3.梯形波子程序及流程圖3.2.4正弦波子程序及流程圖開(kāi)始定義變量k給P0賦值uca_SinaCodeucCount判斷ucCount是否為61ucCount等于0

35、ucCount自動(dòng)加1for(k=0;k<5;k+)4實(shí)驗(yàn)仿真4.1 方波仿真圖方波程序如下:void time3() / 方波 P0=b2;if(a5=245) b2=255; if(a5=0) b2=0; if(b2=255) a5-; if(b2=0) a5+;4.2 三角波仿真圖三角波程序如下:void time1() /三角波形 P0=ha; if(ha=200) a1=0; if(ha=0) a1=1;if(a1=0) ha-;if(a1=1) ha+;4.3 梯形波波仿真圖 梯形波程序如下:void time2() / 梯形波形 P0=b1; if(b1=254) a2=0

36、;a3=1;a4=254;b1-; if(b1=0) a2=1;a3=1; if(a3=1) a4-;if(a4=1) a3=0; if(a2=0)&(a3=0) b1-; if(a2=1)&(a3=0) b1+; 4.4 正弦波仿真圖正弦程序如下:void time0() /正弦波形 unsigned int k;P0=uca_SinaCodeucCount;if(ucCount=61)ucCount=0;elseucCount+; for(k=0;k<5;k+);5課程設(shè)計(jì)體會(huì)經(jīng)過(guò)將近三周的單片機(jī)課程設(shè)計(jì),終于完成了我們的波形發(fā)生器的設(shè)計(jì),基本達(dá)到設(shè)計(jì)要求,從心底里來(lái)

37、說(shuō),還是很高興的,畢竟這次設(shè)計(jì)把實(shí)物都做了出來(lái)。但高興之余不得不深思呀!在本次設(shè)計(jì)的過(guò)程中,我發(fā)現(xiàn)很多的問(wèn)題,雖然以前還做過(guò)這樣的設(shè)計(jì)但這次設(shè)計(jì)真的讓我長(zhǎng)進(jìn)了很多。對(duì)于單片機(jī)設(shè)計(jì),其硬件電路是比較簡(jiǎn)單的,主要是解決程序設(shè)計(jì)的問(wèn)題,而程序設(shè)計(jì)是一個(gè)很靈活的東西,它反映了你解決問(wèn)題的邏輯思維和創(chuàng)新能力,它才是一個(gè)設(shè)計(jì)的靈魂所在。因此在整個(gè)設(shè)計(jì)過(guò)程中大部分時(shí)間是用在程序上面的。很多子程序是可以借鑒書(shū)本上的,但怎樣銜接各個(gè)子程序才是關(guān)鍵的問(wèn)題所在,這需要對(duì)單片機(jī)的結(jié)構(gòu)很熟悉。因此可以說(shuō)單片機(jī)的設(shè)計(jì)是軟件和硬件的結(jié)合,二者是密不可分的。 通過(guò)這次單片的單片機(jī)課程設(shè)計(jì),讓我真正的認(rèn)識(shí)到課程設(shè)計(jì)的重要性,不

38、但可以通過(guò)具體課題的設(shè)計(jì)工作學(xué)習(xí)到相關(guān)的新知識(shí),而且可以課堂上所學(xué)習(xí)的知識(shí)用于實(shí)踐。當(dāng)在實(shí)際運(yùn)用單片機(jī)的時(shí)候,才發(fā)現(xiàn)原來(lái)自己所學(xué)的知識(shí)并不熟悉,運(yùn)用起來(lái)更是生疏,沒(méi)有實(shí)現(xiàn)學(xué)以致用的目的,而且還發(fā)現(xiàn)了原來(lái)很多存在的疏忽,如簡(jiǎn)單的指令一直都用錯(cuò)了。這次波形發(fā)生器的課程設(shè)計(jì)基本運(yùn)用了單片機(jī)學(xué)習(xí)中的很多知識(shí),如單片機(jī)的結(jié)構(gòu)及基本原理,指令系統(tǒng)和C語(yǔ)言程序設(shè)計(jì),DA轉(zhuǎn)換接口技術(shù)等等。電路設(shè)計(jì)和程序設(shè)計(jì)都 參考了教材上的實(shí)例,但是在實(shí)際仿真的過(guò)程中卻發(fā)現(xiàn)有些不妥只處,不能實(shí)現(xiàn)預(yù)期的結(jié)果,這樣也提醒了自己書(shū)本不一定都是對(duì)的,所學(xué)的知識(shí)必須要充分理解再加以靈活的運(yùn)用,更要注意具體問(wèn)題具體分析解決。此外,通過(guò)實(shí)

39、際的仿真操作,更加熟悉了PROTEUS和WAVE軟件的操作流程,為以后的更好地學(xué)習(xí)和運(yùn)用創(chuàng)造了條件。要設(shè)計(jì)一個(gè)成功的電路,必須要有耐心,要有堅(jiān)持的毅力。在整個(gè)電路的設(shè)計(jì)過(guò)程中,花費(fèi)時(shí)間最多的是各個(gè)單元電路的連接及電路的細(xì)節(jié)設(shè)計(jì)上,如在多種方案的選擇中,我們仔細(xì)比較分析其原理以及可行的原因。這就要求我們對(duì)硬件系統(tǒng)中各組件部分有充分透徹的理解和研究,并能對(duì)之靈活應(yīng)用。完成這次設(shè)計(jì)后,我在書(shū)本理論知識(shí)的基礎(chǔ)上又有了更深層次的理解。同時(shí)在本次設(shè)計(jì)的過(guò)程中,我還學(xué)會(huì)了高效率的查閱資料、運(yùn)用工具書(shū)、利用網(wǎng)絡(luò)查找資料。我發(fā)現(xiàn),在我們所使用的書(shū)籍上有一些知識(shí)在實(shí)際應(yīng)用中其實(shí)并不是十分理想,各種參數(shù)都需要自己去

40、調(diào)整。偶而還會(huì)遇到錯(cuò)誤的資料現(xiàn)象,這就要求我們應(yīng)更加注重實(shí)踐環(huán)節(jié)。最后還要在此感謝指導(dǎo)老師們和我的組員們,他們?cè)谡麄€(gè)過(guò)程中都給予了我充分的幫助與支持。 參考文獻(xiàn)1 余發(fā)山、王福忠. 單片機(jī)原理及應(yīng)用技術(shù). 中國(guó)礦業(yè)大學(xué)出版社.2008年6月第1版2 楊凌霄. 微型計(jì)算機(jī)原理與應(yīng)用,中國(guó)礦業(yè)大學(xué)出版社.2008年8月第一版3 康華光. 電子技術(shù)基礎(chǔ)(數(shù)字部分),高等教育出版社.第五版4 鄧紅. 單片機(jī)實(shí)驗(yàn)與應(yīng)用設(shè)計(jì)教程 出版日期:2004年05月第1版5 張洪潤(rùn),易濤.單片機(jī)應(yīng)用技術(shù)教程M.清華大學(xué)出版社.第三版6 以及其他的網(wǎng)上資源附1 源程序代碼#include <reg51.h>

41、;#include <stdio.h>sbit P3_0=P30;sbit INT_0=P32;unsigned char uca_SinaCode=0x7F,0x8C,0x9A,0xA6,0xB3,0xBF,0xCA,0xD4,0xDE,0xE6,0xED,0xF3,0xF8,0xFC,0xFE,0xFE,0xFE,0xFC,0xF8,0xF3,0xED,0xE6,0xDE,0xD4,0xCA,0xBF,0xB3,0xA6,0x9A,0x8C,0x7F,0x72,0x64,0x58,0x4B,0x3F,0x34,0x2A,0x20,0x18,0x11,0x0B,0x06,0x02,0x00,0x00,0x00,0x02,0x06,0x0B,0x11,0x18,0x20,0x2A,0x34,0x3F,0x4B,0x58,0x64,0x72,0x7F;unsigned char displayseg7=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F;/七段數(shù)碼管 uns

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論