基于單片機多功能智能信號發(fā)生器
基于單片機多功能智能信號發(fā)生器,基于,單片機,多功能,智能,信號發(fā)生器
I本科畢業(yè)設計題目:新一代多功能智能信號發(fā)生器 性質:科 研 專業(yè):電子科學與技術 日期:2005 年 6 月 I摘 要信號發(fā)生器是一種能產生模擬電壓波形的設備,這些波形能夠校驗電子電路的設計。信號發(fā)生器廣泛用于電子電路、自動控制系統(tǒng)和教學實驗等領域。本次設計所設計的智能信號發(fā)生器,是基于 ATMEL 生產的AT89C51 內核的信號發(fā)生器,它的特點之處如下:1.可產生正弦波、方波,鋸齒波及三角波。2.各種信號的頻率范圍為 10HZ-24MHZ,本信號發(fā)生器既可實現(xiàn)產生低頻信號,也可實現(xiàn)產生高頻信號,產生的信號為特定頻率信號。3.硬件主要由單片機和數(shù)模轉換器 DAC0832 構成,電路簡單,結構緊湊 ,硬件成本較低。4.波形及其參數(shù)可由軟件設定,程序采用 c51 語言編譯,使編譯比較簡單。本論文首先對信號發(fā)生器進行了概述,然后介紹了單片機的硬件和軟件知識。 硬件包括單片機 AT89C51、復位電路 、時鐘電路 、鍵盤電路、 DAC0832 、運放 4558;軟件包括各波形的產生及對硬件的控制程序。關鍵詞 信號發(fā)生器 AT89C51 DAC0832 單片機 原理圖 源程序 IIAbstractA signal generator is an instrument for generating analog voltage waveforms and these waveforms can be used to verify the design of electronic circuits,signal generation is widely used in the automatic control and instructional experiment.The paper proposes a design and implementation of a signal generator that use AT89C51 as its major module, which produced by ATMlE Company. There are some special features as follows. (1) The signal generator can generate sine waveforms , saw waveforms, rectangle waveforms and triangle waveforms. (2) It can generate both low and high frequency signals that from 10HZ to 24MHZ. (3) It’s hardware includes AT89C51 and D/A chip DAC0832.The circuit is simple and the hardware is low cost. (4) We use the software to adjust the data of the waveforms. We use the 51 languages to compile the program, so it becomes easy to compile it.This paper shows some instruction first. And then tell us some knowledge about the microprocessor and the software. The generator’ hardware includes microprocessor AT89C51, reset circuits, clock circuits, keyboard circuits and DA0832; 4558.The software includes the programs for generating waveforms and controlling hard wares.Keywords: signal generator, AT89C51, D/Achip,DA0832,microcontroller, schematic, source programi目 錄摘 要 .............................................................................................................IAbstract.......................................................................................................II第 1 章 緒論 .................................................................................................11.1 智能信號發(fā)生器的背景 .....................................................................11.1.1 對信號發(fā)生器的認識 ......................................................................11.1.2 本次設計的信號發(fā)生器的簡介 .....................................................11.2 智能信號發(fā)生器的單片機背景 ........................................................21.3 信號發(fā)生器的數(shù)模轉換背景 ............................................................21.3.1 數(shù)模轉換器的功能 ..........................................................................21.3 D/A 轉換部分 ..................................................................................41.3.1 D/A 轉換器概述 ...........................................................................41.3. 2 主要技術指標 .................................................................................5第 2 章 智能信號發(fā)生器的硬件設計 .........................................................62.1 信號發(fā)生器的總體硬件結構及原理 ................................................62.2 存儲器的結構 ....................................................................................72.3 并行 I/O 口 .........................................................................................92.4 時鐘電路 ...........................................................................................102.5 復位操作 ..........................................................................................102.6 復位電路 ...........................................................................................112.7 鍵盤輸入電路 ...................................................................................122.7.1 鍵盤輸入應解決的問題 ................................................................122.7.2 鍵盤的編碼 ....................................................................................152.8 D/A 轉換電路 .................................................................................162.8.1 D/A 轉換器的工作原理 .............................................................162.8.2 AT89C51 與 8 位 DAC0832 的接口 ..........................................17第 3 章 智能信號發(fā)生器的軟件設計 .......................................................20ii3.1 軟件總程序流程介紹 ......................................................................203.2 系統(tǒng)軟件設計 ...................................................................................213.2.1 主程序 ...........................................................................................213.2.2 鍵盤輸入程序 ................................................................................213.3 頻率的控制 ......................................................................................233.4 三角波程序原理 ..............................................................................243.5 矩形波程序原理 ..............................................................................243.6 正弦波程序 ......................................................................................24結 論 ...........................................................................................................27參考文獻 .....................................................................................................28程序框圖 .....................................................................................................29protel 總體原理圖 ......................................................................................30源程序 .........................................................................................................31致謝 .............................................................................................................41畢業(yè)設計(論文)成績評定表 .................................................................421第 1 章 緒論1.1 智能信號發(fā)生器的背景1.1.1 對信號發(fā)生器的認識信號發(fā)生器是一種能產生標準信號的電子儀器,是工業(yè)生產和電工、電子實驗中經常使用的電子儀器之一。信號發(fā)生器種類較多,性能各有差別,但它們都可以產生不同頻率的正弦波、調幅波調頻波信號,以及各種頻率的方波、三角波、鋸齒波和正負脈沖波信號等。利用信號發(fā)生器輸出的信號,可以對元器件的性能及參數(shù)進行測量,還可以對電工和電子產品整進行指數(shù)驗證、參數(shù)調整及性能鑒定。在多數(shù)電路傳遞網絡中、電容與電感組合電路, 、電容與電阻組合電路及信號調制器的頻率、相位的檢測中都可以得到廣泛的應用。信號發(fā)生器按其頻率的高低,可分為:超低頻信號發(fā)生器,低頻信號發(fā)生器,高頻信號發(fā)生器,超高頻信號發(fā)生器,微波信號發(fā)生器;按產生波形的不同,可分為:正弦波信號發(fā)生器,脈沖波函數(shù)波信號發(fā)生器,任意波信號發(fā)生器; 按調制方式的不同,可分為:調頻信號發(fā)生器(FM) 、調幅信號發(fā)生器(AM) ,調相信號發(fā)生器(PM) ,脈沖調制信號發(fā)生器;此外,還可以產生兩種或多種波形信號發(fā)生器。單片機智能信號發(fā)生器目前可直接數(shù)字合成(DDS) ,能夠產生任意波形的信號,精度高,可程控,便于與其他設備接口構成各種系統(tǒng)。還有基于 USB2.0 的虛擬波形信號發(fā)生器,也可產生任意波形。本次設計設計的是一個可產生正弦波、方波、鋸齒波及三角波的智能信號發(fā)生器。智能信號發(fā)生器可廣泛應用于電子信息、機械、交通、地質、航天航空等專業(yè),在教學、科研、生產、工程等諸多領域應用非常廣泛1.1.2 本次設計的信號發(fā)生器的簡介本次設計以單片機為核心,配以一定的外圍電路和軟件,實現(xiàn)智能波的產生和輸出,從總體上來看設計任務可以分為硬件設計和軟件設計,這2兩者互相結合,不可分離。從時間上來看,硬件設計的絕大部分工作量在最初階段,到后期往往還要作一些修改。軟件設計任務貫穿始終,到中后期基本上都是軟件設計任務。硬件設計部分包括 1. 單片機的存儲器擴展和接口擴展設計。2. 單片機外部模塊設計,包括鍵盤模塊、D/A 轉換模塊、信號放大模塊和濾波模塊設計。軟件部分設計 單片機主程序包括初始化和鍵入值的判定,其他都是軟件子程序如 D/A 轉換、智能波的產生函數(shù)及輸出函數(shù) 。1.2 智能信號發(fā)生器的單片機背景單片機自 20 世紀 70 年代問世以來.以極其高的性能價格比受到人們的重視和關注,所以應用很廣,發(fā)展很快。單片機的優(yōu)點是體積小,重量輕,抗干擾能力強,對環(huán)境要求不高,價格低廉,可靠性高,靈活性好,開發(fā)較為容易。廣大工程技術人員通過學習有關單片機的知識后,也能依靠自己的力量來開發(fā)所希望的單片機系統(tǒng),并可獲得較高的經濟效益。正因為如此,在我國,單片機已被廣泛地應用在工業(yè)自動化控制、自動檢測、智能儀器儀表、家用電器等各個方面。什么是單片機?單片機就是在一塊硅片上集成了微處理器(CPU),存儲器(RAM,ROM,E—PROM)和各種輸入、輸出接口(定時器/計數(shù)器,并行I/O 口,串行口,A/D 轉換器以及脈沖調制器 PWM 等),這樣一塊芯片具有一臺計算機的屬性,因而被稱為單片微型計算機,簡稱單片機。1.3 信號發(fā)生器的數(shù)模轉換背景1.3.1 數(shù)模轉換器的功能數(shù)模轉換器是一種將輸入的數(shù)字信號轉換成模擬信號輸出的電路或器件,它被廣泛地應用在信號采集和處理、數(shù)字通信、自動檢測、自動控制和多媒體技術等領域。無論在工業(yè)生產還是在科學研究中,常常要對某些系統(tǒng)參數(shù)進行采集、加工和控制,它們往往是非電的模擬量,例如聲、光、磁、熱和機械參數(shù)等。為了用電子技術處理這些停息.先要通過傳感器把這些非電信號變換為相應的電信號。 3隨著數(shù)字技術的迅速發(fā)展和成熟,尤其是微處理器的迅速發(fā)展和廣泛應用,使數(shù)字信號的大量存儲、快速正確地處理和控制成為很容易的事,因而用數(shù)字技術處理模擬信號已越來越受到而視。方法是先把模擬電信號變換為數(shù)字信號(模數(shù)轉換),再利用數(shù)字技術對數(shù)字技術加工處理,處理結果根據(jù)需要再變換為模擬電信號(數(shù)模轉換),以適應后面顯示或執(zhí)行機構的要求,實現(xiàn)對模擬信的顯示或控制。例如工業(yè)生產中常常需要對系統(tǒng)的溫度參數(shù)進行控制,當采用數(shù)字系統(tǒng)實現(xiàn)其功能時,先用熱電偶或其他溫度傳感器把系統(tǒng)溫度轉換成電壓,經放大和濾波等預處理,用模數(shù)轉換器把它變換成對應的數(shù)字量,再送入數(shù)字系統(tǒng)處理,根據(jù)系統(tǒng)情況和控制要求產生的處理結果用數(shù)模轉換器變換為模擬電壓.用來而控制加熱系統(tǒng)的功率、實現(xiàn)對系統(tǒng)溫度參數(shù)的控制。綜上所述,數(shù)模轉換器具有和模數(shù)轉換器相對應的基本功能。模數(shù)轉換器使數(shù)字系統(tǒng)能從模擬電子系統(tǒng)中獲取與模擬信號有單值函數(shù)關系的數(shù)字信息,而數(shù)模轉換器則可以把數(shù)字系統(tǒng)處理的結果變?yōu)閷哪M信號,回送給模擬系統(tǒng),以實觀對模擬系統(tǒng)工作狀態(tài)的檢測和控制。因此,數(shù)模轉換器是數(shù)字電子系統(tǒng)和模擬電子系統(tǒng)之間的常用接口電路。數(shù)模轉換器的發(fā)展經歷了電子管、晶體管到集成電路的過程 。 40年代后期,人們開始了數(shù)字通信的研究和實踐,例如研究脈沖編碼調制式通信。它要求發(fā)送部分能將所要傳送的聲音、圖像等連續(xù)變化的模擬量轉換成數(shù)字形式發(fā)送出去,而信號接收部分要求能把接收到的數(shù)字信號還原成聲音、圖像。于是研制了由電子管組裝而成的模數(shù)轉換器和數(shù)模轉換器,使這種可靠和經濟的數(shù)字通信得以實現(xiàn)。隨著晶體管工藝的發(fā)展和成熟。到 50 年代后期,轉換器中的電子管逐步由晶體管替代,使轉換器的體積和重量大大減小。數(shù)字計算機的興起、發(fā)展和應用領域的不斷擴大,促進了集成電路和轉換技術的迅速發(fā)展。到 60 年代中期,構成數(shù)模轉換器的一些主要功能單元電路,如基準電壓源、模擬開關、運算放大器等已制成半導體集成電路。同時薄膜集成電路和厚膜集成電路也有很大發(fā)展。70 年代初,所有元件那被集成在一個芯片上的單片集成數(shù)模轉換器研制成功。它標志數(shù)模轉換器真正達到了工業(yè)化大批量生產的階段。此后,轉換器得到迅速發(fā)展。性能不斷提高。工藝上進一步發(fā)展,產生了標準雙極型工藝和 CMOS 工藝結合起來的組合技術 CMOS 工藝的集成電路,功耗小、4集成度高,制成的模擬開關有雙向特性。在數(shù)模轉換器的功能方面,不但有一般功能的,還有為一些特定應用領域研制的特殊功能數(shù)模轉換器,例如用于視頻調色顯示的視頻數(shù)模轉換器。替代手工調整電位器而設計的數(shù)字電位器,專用于把數(shù)字化音頻信號轉換成模擬音頻信號的音頻數(shù)模轉換器,脈碼調制編碼譯碼系統(tǒng)中用的壓擴數(shù)模轉換器等, D/A 轉換器有兩種輸出形式,一種是電壓輸出形式,即輸入的是數(shù)字量,而輸出為電壓。另一種是電流輸出形式,即輸出為電流。在實際應用中如需要電壓模擬量的話,對于電流輸出的 D/A 轉換器,可在其輸出端加運算放大器構成的電流—電壓轉換電路,將轉換器的電流輸.1.3 D/A 轉換部分在單片機的實時控制和智能儀表等應用系統(tǒng)中,控制或測量對象的有關變量,往往是一些連續(xù)變化的模擬量,如溫度、壓力、流量、速度等物理量。這些模擬量必須轉換成數(shù)字量后才能輸入到單片機中進行處理。單片機處理的結果,也常常需要轉換為模擬信號。若輸入的是非電信號,還需經過傳感器轉換成模擬電信號。實現(xiàn)模擬量轉換成數(shù)字量的器件稱為模數(shù)轉換器(ADC),數(shù)字量轉換成模擬量的器件稱為數(shù)模轉換器(DAC)。下面從應用和原理的角度對數(shù)模轉換器(DAC)做重點介紹1.3.1 D/A 轉換器概述D/A(數(shù)/模)轉換器輸入的是數(shù)字量,經轉換后輸出的是模擬量。轉換過程是先將各位數(shù)碼按其權的大小轉換為相應的模擬分量,然后再以疊加方法把各模擬分量相加,其和就是 D/A 轉換的結果。對于 D/A 轉換器的使用要注意區(qū)分輸出形式和轉換器內部是否帶有鎖存器。(1)電壓與電流輸出形式(2)D/A 轉換器內部是否帶有鎖存器由于實現(xiàn)模擬量轉換是需要一定時間的,在這段時間內 D/A 轉換器輸入端的數(shù)字量應保持穩(wěn)定,為此應當在數(shù)/模轉換器數(shù)字量輸入端的前面設置鎖存器,以提供數(shù)據(jù)鎖存功能。根據(jù)轉換器芯片內是否帶有鎖存器,可以把 D/A 轉換器分為內部無鎖存器的和內部有鎖存器的兩類:①內部無鎖存器的 D/A 轉換器5這種 D 從轉換器由于不帶鎖存器而內部結構簡單,它們可與 MCS—51 的 P1、P2 口直接相接,因為 P1 口和 P2 口的輸出有鎖存功能、但是當與 P0 口接口時,由于 P0 口的特殊性,需要在轉換器芯片的前面增加鎖存器。②內部帶有鎖存器的 D/A 轉換器 這種 D/A 轉換器的芯片內部不但有鎖存器,而且還包括地址譯碼電路或多重的數(shù)據(jù)緩沖電路,可與 MCS—51 的 PD 口直接相接。1.3. 2 主要技術指標D/A 轉換器的指標很多,使用者最關心的幾個指標如下。(1)分辨串D/A 轉換器的分辨率指輸入的單位數(shù)字量變化引起的模擬量輸出的變化,是對輸入量變化敏感程度的描述。通常定義為滿到度值與 2n 之比(n 為 D/A 轉換器的二進制位數(shù))。顯然,二進制位數(shù)越多,分辨率越高,即 D 從轉換器對輸入量變化的敏感程度越高。例如,若滿量程為 10v,根據(jù)分辨串定義則分辨率為 10v/2de n ci fang 。 。設 B 位D/A 轉換,即 M:8,分辨率為 10v/2 de n ci fang =39.1mv,即二進制數(shù)最低位的變化可引起輸出的模擬電壓變化39.1mv,該位占滿量程的 o.391%,常用符號 1LSB 表示。同理;10 位 D/A 轉換 1LSB=9.77mV;0.1%滿員程12 位 D/A 轉換 1LSB=2.44mv:o.oN%滿量程14 位 D/A 轉換 1LSB=O.61mV=0.006%滿量程16 位 D/A 轉換 1LSB =0.076mv=O.00076%滿量程使用時,應根據(jù)對 D/A 轉換器分辨率的需要來選定 D/A 轉換器的位數(shù) o(2)建立時間建立時間是描述 D/A 轉換速度快慢的一個參數(shù),用于表明轉換速度。其值為從輸入數(shù)字量到輸出達到終位誤差 (1/2)LSB(最低有效位)時所?6需的時間。輸出形式為電流的轉換器建立時間較短,而輸出形式為電壓的轉換器,由于要加上運算放大器的延遲時間,因此建立時間要長一些??焖俚?D/A 轉換器的建立時間可達 1 微米下。(3)轉換精度理想情況下,精度與分辨率基本一致,位數(shù)越多精度越高。但由于電源電壓、參考電壓、電阻等各種因家存在著誤差。嚴格講精度與分辨率并不完全一致。只要位數(shù)相同,分辨率則相同,但相同位數(shù)的不同轉換器精度會有所不同。例如,某種型號的 8 位 DAC 精度為 O.19%,而另一?種型號的 8 位 DAC 精度為 0.05%。?第 2 章 智能信號發(fā)生器的硬件設計2.1 信號發(fā)生器的總體硬件結構及原理 0000 00000123485679A1M1001K*10+5VCSXFER17C1c212345678910121341561781920 212232425267282930313940837234356P0.P0.7RSTP3.0P3.1P3.2P3.P3.43.56P3.7XTAL2XTAL1GND P2.0P2.1P2.3P2.4P2.5P2.6P2.7P2.8PSENALEP0.7P0.Vc 161541WR1WR221815K 15KDGNDAGNDIOUT1IOUT2RfbVref458 458DAC0832AT89C51VcILE 7.5KP1.0P1.7 OUTC37.5K341129819201345677信號發(fā)生器的硬件結構主要由 AT89C51、復位電路、時鐘電路、數(shù)模轉換電路 DAC0832 及運算放大器 4558 六部分構成。其中單片機AT89C51 的程序存儲器 存放軟件程序,程序包括正弦波三角波鋸齒波矩形波的產生程序及對波形的頻率輸入程序,還有對鍵盤和 DAC0832 的控制程序。打開信號發(fā)生器后,單片機程序請求用戶從鍵盤上輸入波形所對應的鍵號值及波形所對應的頻率值。像 1 號鍵對應正弦波輸出、2 號對應三角波輸出,3 號對應矩尺波輸出、 4 號對應矩形波輸出。例如若想得到1KHZ 的正弦波 ,則需按下 1 號鍵,等待程序要求輸入正弦波的頻率,再按下 1K 鍵。這些波形參數(shù)通過鍵盤由單片機的 P1 口進入,被存放在AT89C51 的數(shù)據(jù)存儲器內,單片機調用波形程序后,由 P0 口輸出波形進入數(shù)模轉換器的 P1 口,數(shù)模轉換器將信號波由數(shù)字形式轉換為模擬的形式,由數(shù)摸轉換器輸出的波是電流型的,而用來顯示波形的示波器是電壓型的儀器,所以在數(shù)模轉換器以后需要添加運算放大器將電流型的信號轉換成電壓型的信號,同時放大信號,以便于在示波器中觀察。2.2 存儲器的結構MCS-51 單片機存儲器采用的是哈佛(Har-vard) 結構,即程序存儲器空間和數(shù)據(jù)存儲器空間截然分開,程序存儲器和數(shù)據(jù)存儲器各有自己的尋址方式,尋址空間和控制系統(tǒng)。這種結構對于單片機“面向控制”的實際應用極為方便和有利。在89C51/8751 單片機中,不僅在片內集成了一定容量的程序存儲器和數(shù)據(jù)存8儲器及眾多的特殊功能寄存器,而且還具有極強的外存儲器的擴展能力,尋址能力分別可達 64KB,尋址和操作簡單方便。 MCS-51 的存儲器空間可劃分為如下幾類:1. 程序存儲器單片機系統(tǒng)之所以能夠按照一定的次序進行工作,主要是程序存儲器中存放了經調試正確的應用程序和表格之類的固定常數(shù)。程序實際上是一串二進制碼,程序存儲器可以分為片內和片外兩部分。8031 由于無內部存儲器,所以只能外擴程序存儲器來存放程序。MCS-51 單片機復位后,程序存儲器 PC 的內容為 0000H,故系統(tǒng)必須從 0000H 單元開始取指令,執(zhí)行程序。程序存儲器中的 0000H 地址是系統(tǒng)程序的啟動地址。一般在該單元存放一條絕對跳轉指令,跳向用戶設計的主程序的起始地址。64K 程序存儲器中有 5 個單元具有特殊用途。5 個特殊單元分別對應于 5 種中斷源的中斷服務程序的入口地址。通常在這些中斷入口地址處都放一條絕對跳轉指令。加跳轉指令的目的是由于兩個中斷入口間隔僅有 8個單元,存放中斷服務程序往往是不夠用的。在 MCS-51 單片機的指令系統(tǒng)中,同外部程序存儲器打交道的指令僅有兩條:(1) MOVC A @A+DPTR(2) MOVC A @A+PC2. 內部數(shù)據(jù)存儲器MCS-51 單片機內部有 128 個字節(jié)的隨機存取存儲器 RAM,作為用戶的數(shù)據(jù)寄存器,它能滿足大多數(shù)控制型應用場合的需要,用作處理問題的數(shù)據(jù)緩沖器。MCS-51 單片機的片內存儲器的字節(jié)地址為 00H-7FH。MCS-51 單片機對其內部 RAM 的存儲器有很豐富的操作指令,從而使得用戶在設計程序時非常方便。地址為 00H-1FH 的 32 個單元是 4 組通用工作寄存器區(qū),每個區(qū)含八個 8 位寄存器,編號為 R7-R0。用戶可以通過指令改變 PSW中的 RS1、RS0 這二位來切換當前的工作寄存器區(qū),這種功能給軟件設計帶來極大的方便,特別是在中斷嵌套時,為實現(xiàn)工作寄存器現(xiàn)場內容保護提供了極大的方便。地址為 20H-2FH 的 16 個單元可進行共 128 位的位尋址,這些單元構9成了 1 位處理機的存儲空間。單元中的每一位都有自己的位地址,這 16個單元也可以進行字節(jié)尋址。地址為 30H-7FH 的單元為用戶 RAM 區(qū),只能進行字節(jié)尋址。3. 特殊功能寄存器(SFR-Special Function Register)特殊功能寄存器反映了 MCS-51 單片機的狀態(tài),實際上是 MCS-51 單片機各功能部件的狀態(tài)及控制寄存器。SFR 綜合的,實際的反應了整個單片機基本系統(tǒng)內部的工作狀態(tài)及工作方式。SFR 實質上是一些具有特殊功能的片內 RAM 單元,字節(jié)地址范圍為 80H-FFH.特殊功能寄存器的總數(shù)為21 個,離散的分布在該區(qū)域中,其中有些 SFR 還可以進行位尋址。128 個字節(jié)的 SFR 塊中僅有 21 個字節(jié)是由定義的。對于尚未定義的字節(jié)地址單元,用戶不能作寄存器使用,若訪問沒有定義的單元,則將得到一個不確定的隨機數(shù)。4. 位尋址空間MCS-51 單片機的一個很大優(yōu)點在于它具有一個功能很強的位處理器。在 MCS-51 單片機的指令系統(tǒng)中,有一個位處理指令的子集,使用這些指令,所處理的數(shù)據(jù)僅為一位二進制數(shù)(0 或 1)。在 MCS-51 單片機內共有211 個可尋址位,它們存在于內部 RAM(共有 128 個)和特殊功能寄存器區(qū)(共有 83 個) 中。 當 MCS-51 單片機的片內 RAM 不夠用時,可在片外擴充數(shù)據(jù)存儲器。MCS-51 單片機給用戶提供了可尋址 64K 字節(jié)的外擴RAM 的能力,至于擴多少 RAM,則根據(jù)用戶實際需要來定。2.3 并行 I/O 口MCS-51 單片機共有 4 個雙向的 8 位并行 I/O 端口(Port) ,分別記作P0-P3,共有 32 根口線,各口的每一位均由鎖存器、輸出驅動器和輸入緩沖器所組成。實際上 P0-P3 已被歸入特殊功能寄存器之列。這四個口除了按字節(jié)尋址以外,還可以按位尋址。由于它們在結構上有一些差異,故各口的性質和功能有一些差異。P0 口是雙向 8 位三態(tài) I/O 口,此口為地址總線(低 8 位)及數(shù)據(jù)總線分時復用口,可驅動 8 個 LS 型 TTL 負載。P1 口是 8 位準雙向 I/O 口,可驅動 4 個 LS 型負載。P2 口是 8 位準雙向 I/O 口,與地址總線(高 8 位)復用,可驅動 4 個 LS 型 TTL 負載。P3 口是 8 位準雙向 I/O 口,是雙功能復用口,可驅動 4 個 LS 型 TTL 負載。P1 口、P2 口、P3 口各 I/O 口線片10內均有固定的上拉電阻,當這 3 個準雙向 I/O 口作輸入口使用時,要向該口先寫“1” ,另外準雙向 I/O 口無高阻的“浮空”狀態(tài),故稱為雙向三態(tài)I/O 口。P0-P3 口都是并行 I/O 口,都可用于數(shù)據(jù)的輸入和輸出,但 P0 口和P2 口出了可進行數(shù)據(jù)的輸入/輸出外,通常用來構建系統(tǒng)的數(shù)據(jù)總線和地址總線,所以在電路中有一個多路轉換開關 MUX,以便進行兩種用途的轉換。而 P1 口和 P3 口沒有構建系統(tǒng)的數(shù)據(jù)總線和地址總線的功能。因此,在電路中沒有多路轉接開關 MUX。由于 P0 口可作為地址/數(shù)據(jù)復用線試用,需傳送系統(tǒng)的低 8 位地址和 8 位數(shù)據(jù),因此,MUX 的一個輸入端為“地址/數(shù)據(jù)”信號。而 P2 口僅作為高位地址線試用,不涉及數(shù)據(jù),所以MUX 的一個輸入信號為“地址” 。在 4 個口中只有 P0 口是一個真正的雙向口, P1-P3 這三個口都是準雙向口。原因是在應用系統(tǒng)中,P0 口作為系統(tǒng)的數(shù)據(jù)總線使用時,為保證數(shù)據(jù)的正確傳送,需要解決芯片內外的隔離問題,即只有在數(shù)據(jù)傳送時芯片內外才接通;不進行數(shù)據(jù)傳遞時,芯片內外處于隔離狀態(tài)。為此,要求 P0口的輸出緩沖器是一個三態(tài)門。在 P0 口中輸出三態(tài)門是由兩只場效應管(FET)組成,所以說它是一個真正的雙向口。而其他的三個口中,上拉電阻代替 P0 口中的場效應管,輸出緩沖器不是三態(tài)的,因此不是真正的雙向口,只能稱其為準雙向口。P3 口的口線具有第二功能,為系統(tǒng)提供一些控制信號,因此在 P3 口電路增加了第二功能控制邏輯。這是 P3 口與其他各口的不同之處。2.4 時鐘電路時鐘是單片機的心臟.單片機各功能部件的運行都是以時鐘頻率為基準,有條不紊地一拍一拍地運作。因此,時鐘頻率直接影響單片機的速度,時鐘電路的質量也直接影響單片機系統(tǒng)的穩(wěn)定性。常用的時鐘電路有兩種方式,一種是內部時鐘方式,另一種為外部時鐘方式。 1.內部時鐘方式MCS—51 單片機內部有一個用于構成振蕩器的高增益反相放大器,該高增益反相放大11器的輸入端為芯片引腳 XTAL1,輸出端為引腳 XTAL22。這兩個引腳跨接石英晶體振蕩器和微調電容,就構成一個穩(wěn)定的自激振蕩器,圖 2.14 是MCS—51 單片機內部時鐘方式的振蕩器電路。2.外部時鐘方式外部時鐘方式是使用外部振蕩脈沖信號,常用于多片 MCS—51 單片機同時工作,以便于同步。對外部脈沖信號只要求高電平的持續(xù)時間大于20 微秒,一般為低于 12MHz 的方波。外部的時鐘源直接接到 XTAL2 端,直接輸入到片內的時鐘發(fā)生器上。電路見圖 2.15。由于 XTAL2 的邏輯電平不是 TTL 的,故建議外接——個 4.7K—l0K 的上拉電阻。2.5 復位操作復位是單片機的初始化操作,只要給 RESET 引腳加上 2 個機器周期以上的高電平信號.就可使 MCS—51 單片機復位。復位的主要功能是把 PC 初始化為 0000H,使 MC5—51 單片機從 0000H 單元開始執(zhí)行程序。除了進入系統(tǒng)的正常初始化之外,當由于程序運行出錯或操作鋁誤使系統(tǒng)處于死鎖狀態(tài),為擺脫死鎖狀態(tài),也需按復位控重新啟動。 除 Pc 之外,復位操作還對其它一些寄存器有影響。 另外,在復位有效期間(即高電平) ,MCS —5l 單片機的 ALE 引腳和 PSEN 引腳均為高電平且內部RAM 不受復位的影響。2.6 復位電路 MCS—51 的復位是由外部的復位電路來實現(xiàn)的。復位電路通常采用上電自動復位和按鈕復位兩種方式。 復位電路通常采用上電自動復位和按鈕復位兩種方式。 最簡單的上電自動復位電路如圖 2.3.1 所示。上電自動復位是通過外部復位電路的電容充電來實現(xiàn)的。只要 vcc 的上升時間不超過 1ms,就可以實現(xiàn)自動上電復位。當時鐘頻率選用 6MH2 時,C 取 22 微秒,R 取 lK。 除了上電復位外,有時還需要按鍵手動復位。按鍵手動復位有電平方式和脈沖方式兩種,其中電平復位是通過 RST 端經電阻與電源 vcc 接通而實現(xiàn)的,按鍵手動電平復位電路見圖 2. 20。當時鐘頻率選用 6MHz 時,C 取 22 降,Rs 取 200,Rk 取 IK。按鍵脈沖復位則是利用 RC 微分電路產生的正脈沖來實現(xiàn)的,脈沖復位電路見圖 2.21。圖中的阻容參數(shù)適于 6MHz 時鐘。12電路中的電容 C1 和 C2 典型值通常選擇為 30PF 左右。對外接電容的值雖然沒有嚴格的要求,但電容的大小會影響振蕩器頻率的高低、振蕩器的穩(wěn)定性和起振的快速性。晶體的振蕩頻率的范圍通常是在 1.2MHz—12MHZ 之間。晶體的頻率越高,則系統(tǒng)的時鐘頻率也就越高,單片機的運行速度也就越快。但反過來運行速度快對存儲器的速度要求就高,對印刷電路板的工藝要求也高,即要求線間的寄生電容要??;晶體和電容應盡可能安裝得與單片機芯片靠近,以減少寄生電容,更好地保證振蕩器穩(wěn)定、可靠地工作。為了提高溫度穩(wěn)定性,應采用溫度穩(wěn)定性能好 NPO 高頻電容。 MCS—51 單片機常選擇振蕩頻率 6MHZ 或 12MHz 的石英晶體。隨著集成電路制造工藝技術的發(fā)展,單片機的時鐘頻率也在逐步提高,現(xiàn)在的高速單片機芯片的時鐘頻率已達 40MHz。2.7 鍵盤輸入電路鍵盤能實現(xiàn)向單片機輸入數(shù)據(jù)、傳送命令等功能。信號發(fā)生器用鍵盤用來置入所需要輸出波形的種類和頻率,即根據(jù)用戶的要求 將所需波形和頻率用鍵盤輸入,再由單片機判斷分析,輸出所需結果 .2.7.1 鍵盤輸入應解決的問題1.鍵盤輸入的特點鍵盤實質上是一組按鍵開關的集合。通常,鍵盤所用開關為機械彈性開關,均利用了機械觸點的合、斷作用。一個電壓信號通過機械觸點的斷開、閉合過程,其行線電壓輸出波形如圖所示:2.3.3 上電復位電路電路2.3.4 按鍵電平復位電路13圖中t1和L3分別為鍵的閉合和斷開過程中的抖動期(呈現(xiàn)一串負脈沖),抖動時間長短和開關的機械特性有關,一般為5—10 ms,t2為穩(wěn)定的閉合期,其時間內按鍵動作所確定,一般為十分之幾秒到幾秒,t0,t4為斷開期。2.按鍵的確認鍵的閉合與否,反映在行線輸出電壓上就是呈現(xiàn)出高電平或低電平,Ag果高電平表示斷開的話,那么低電平則表示鍵閉合,所以通過對行線電平的高低狀態(tài)的檢測,便可確認按鍵按下與否。為了確保CPU對一次按鍵動作只確認一次按鍵,必須消除抖動的影響。下面將介紹如何來消除抖動。3.如何消除按鍵抖動消除按鍵抖動通常采用硬件、軟件兩種的方法c(1)硬件消除按鍵抖動硬件消除抖動一般采用雙穩(wěn)態(tài)消抖電路。雙穩(wěn)態(tài)消抖電路原理如圖9.8所示。圖中用兩個與非門構成一個朋觸發(fā)器。當按鍵未按下時(開關位于s點),輸出為1,當鍵按下(開關打向b點)時,輸出為0。此時即使因按鍵的機械性能,使按鍵因彈性抖動而產生瞬時不閉合(抖動跳開b),只要技鍵不返回原始狀態(tài)a, 雙穩(wěn)態(tài)電路的狀態(tài)不改變,輸出保持為0,不會產生抖動的波形輸出。就是說即使b點的電壓波形是抖動的.但經雙穩(wěn)態(tài)電路之后,其輸出為正規(guī)的矩形波,這一點很容易通過分析RS觸發(fā)器的工作過程得到驗證。(2)軟件消除按鍵抖動如果按鍵較多,硬件消抖將無法勝任,因此常采用軟件的方法進行消抖。在第一次檢測到有鍵按下時,執(zhí)行一段延時10ms的子程序后再確認該鍵電平是否仍保持閉合狀態(tài)電平,如果保持閉合狀態(tài)電平則確認為真正有2.5.1 鍵盤形狀及其波形圖 2.5.2 雙穩(wěn)態(tài)消抖電路 14鍵按下,從而消除了抖動的影響。鍵盤接口的工作原理常用的鍵盤接口分為獨立式按鍵接口和矩陣式鍵盤接口1.獨立式按鍵接口獨立式按鍵就是各按鍵相互獨立,每個按鍵各接一根輸入線,一根輸入線上的按鍵工作狀態(tài)不會影響其他輸入線上的工作狀態(tài)。因此,通過檢測輸入線的電平狀態(tài)可以很容易判斷哪個按鍵被按下了。獨立式拉鏈電路配置靈活,軟件簡單。但每個按鍵需占用一根輸入口線,在按鍵數(shù)量較多時,需要較多的輸人口線且電路結構繁雜,故此種鍵盤適用于按鍵較少或操作速度較高的場合。信號發(fā)生器的鍵盤需要輸入頻率應用獨立式鍵盤不容易實現(xiàn),下面介紹信號發(fā)生器應用的鋸陣式鍵盤。2.矩陣式鍵盤接口矩陣式鍵盤(也稱行列式鍵盤)適用于按鍵數(shù)量較多的場合,它由行線和列線組成,按鍵位于行、列的交叉點上。如圖 9.12 所示,一個 3n*3的行、列結構可以構成一個有 9 個按鍵的鍵盤。間理一個 4M*4 的行、列結構可以構成一個 16 個按鍵的鍵盤等等。很明顯,在按鍵數(shù)量較多的場合,矩陣鍵盤與獨立式按鍵鍵盤相比,要節(jié)省很多的 I/O 口線。(2)按鍵的識別方法①掃描法 ②線反轉法掃描法要逐列掃描查詢,當被放下的短處于最后一列時,則要經過多次掃描才能最后獲得此按鍵所處的行列值。而線反轉法則顯得很簡練,無論被按鍵是處于第 1 列或最后一列,均只須經過兩步便能獲得此按鍵所15在的行列值,線反轉法的原理如圖 9.13 所示。圖 1J 用一個 8 位I/O 口構成一個 4x 4 的矩陣鍵盤,采用查詢方式進行工作,下面介紹線反轉法的兩個具體操作步驟:第一步:將行線編程為輸入線,列線編程為輸出線,并使輸出線輸出為全零電平,則行線中電平由高到低的所在行為按鍵所在行。第二步:同第一步完全相反,將行線編程為輸出線,列線編程為輸入線,并使輸出線輸出為全低電乎,則列線中電平由高到低的所在列為按鍵所在列。結合兩步的結果,可確定按鍵所在行和列,從而識別出所按的銀。假設 3 號鍵被按下,那么第一步即在 Do。凹輸出全 0,然后,讀入 N—四位,結果 D4: 0.而 D5.貼和 D7 均為 l,因此,第一行出現(xiàn)電平的變化,說明第一行有鍵按下;第二步讓 N—D7 輸出全 o,然后,讀入Do—D3 位,結果 Do=o,而 D1、D2 和 D3 均為 1,因此第 4 列出現(xiàn)電平的變化,說明第 4 列有鍵按下。綜合一、二兩步,即第 1 行第 4 列按鍵被按下,此按鍵即是 3 號鍵。因此線反轉法非常簡單適用。當然實際編程中要考慮采用軟件延時進行消抖處理 o2.7.2 鍵盤的編碼對于獨立式按鍵鍵盤,由于按鍵的數(shù)目較少,可根據(jù)實際需要靈活編碼。對于短陣式鍵盤,按鍵的位置由行號和列號唯一確定,所以分別對行16號和列號進行二進制編碼、然后將兩值合成一個字節(jié),高 4 位是行號,低4 位是列號。如 12H 表示第 1 行第 2 列的按鍵,而 A3H 則表示第 10 行第3 列的按鍵等等。但是這種編碼對于不同行的鍵,離散性大。例如一個4M*4 的鍵盤,14H 鍵與 21H 錠之間間隔很大,因此不利于使用散轉指令。所以常常采用依次排列鍵號的方式對按鍵進行編碼。以 4x 4 鍵盤為例,鍵號可以編碼為:0lH,02H,03H……0EK,0FH, 10H 共 16 個。無論以何種方式編碼,均應以處理問題方便為原則,而最基本的是鍵所處的物理位置即行號和列號,它是各種編碼之間相互轉換的基礎,編碼相互轉換可通過查表的方法實現(xiàn)。信號發(fā)生器所用的編碼轉換如下:01H 02H 03H 04H 1 2 3 405H 06H 07H 08H ------------- 5 6 7 809H 0AH 0BH 0CH -------------- 9 10 100 1K0DH 0EH 0FH 10H 10000 100000 1M *通過乘號鍵“*”就可實現(xiàn) 10HZ-24MHZ 的頻率輸入了。2.8 D/A 轉換電路由單片機輸出的波形信號是數(shù)字的形式的,而用示波器顯示的波形需要的是可以觀察的模擬的形式,完成由數(shù)字向模擬轉換的器件就是 D/A 數(shù)字模擬轉換器。下面介紹它的工作原理。2.8.1 D/A 轉換器的工作原理數(shù)模轉換器的基本功能是將輸入的數(shù)字量 D 轉換成與之唯一對應的模擬量 A,用數(shù)學式可表示為:A=PD 式中 P 為變換系數(shù)。那么,如何實現(xiàn)這種變換?這種變換器的基本結構應該是怎樣的?下面分析一個具體例子。圖 3.1 是實現(xiàn)數(shù)模轉換的一種電路,輸入數(shù)字信號為 4 位二進制數(shù)D(d3d2d1d0) ,其中 d3 為最高位 MSB,d0 為最低位 LSB,其值用十進制表示時為: 二進制的鍵盤編碼 轉換后的鍵盤編碼17從數(shù)據(jù)線上來的數(shù)字信號先由鎖存器鎖存,再制模擬開關。鎖存器在控制信號的作用下,從數(shù)據(jù)線上鎖存需要轉換的數(shù)字信號,而數(shù)據(jù)線上的其他信號,將不會被鎖存而輸入到轉換器中。分別受輸入信號對應位d3,d2,d1 和 d0 狀態(tài)的控制。當 d3=1,s3 合向 l 端,形成大小為VR/R*d3 的電流 I3 流向 2 點,對 i0 有貢獻。當 d3=o 狀態(tài),s3 合向 2 端(地),I3 流向地,對 i0 沒有貢獻。其他位的情況類似。只要電阻網絡中各電阻阻值不同,則數(shù)寧信號中各位為 1 時,所形成的流向 2 點的電流大小是不同的。對圖 3.1 而吉,可算出i。=I3+I2+I0式中,D 表爾輸入 二 進制數(shù)對應的十進制值,式 (3.1)表明,電路輸山的模擬電流值和輸入數(shù)字量 D 成比例。電流 i0 流經放大器的反饋電阻形成輸出電壓 v0,其大小為:18上式表明,輸出的模擬電壓 v0 正比于輸入的數(shù)字信號 D,從而實現(xiàn)了從數(shù)字量到模擬電壓的轉換。2.8.2 AT89C51 與 8 位 DAC0832 的接口1.DAC832 芯片介紹(1)DAC0832 的特性美國國家半導體公司的 DAC832 芯片是具有兩個輸人數(shù)據(jù)寄存器的DAC 它能直接與 MCS—51 單片機相連,其主要特性如下:①分辨率 8 位;②電流輸出,穩(wěn)定時間為 l 微米;⑦可雙緩沖、單緩沖或直接數(shù)字輸入;④只需在滿量程下調整其線性度;⑤單—電源供電(+5—+15v),⑧低功耗,20mW。(2)DAC0832 的引腳及邏輯結構DAC0832 的引腳如圖 10.1 所示。DAC0832 的邏輯結構如圖 10.2 所示 c19功能如下:DI0-DI7 為 8 位數(shù)字信號輸入端,與 CPU 數(shù)據(jù)總線相連,用于輸入CPU 送來的待轉換數(shù)字量, DI7 為最高位。CS:片選瑞,當 CS 為低電平時,本芯片被選中工作 oILE:數(shù)據(jù)鎖存允許控制端,高電平有效。WR1:第一級輸入寄存器寫選通控制,低電平有效,當CS= 0、ILE=1 、WR1=0 時數(shù)據(jù)信號被鎖存到第一級 8 位輸入寄存器中。XFER:數(shù)據(jù)傳送控制,低電平有效。WR2:DAC 寄存器寫選通控制端,低電平有效,當 XFER=0、WR1=0,輸入寄存器狀態(tài)傳入 8 位 DAC 寄存器中。Iout1:D /A 轉換器電流輸出 l 端,輸人數(shù)字量全“1”時,Iout1 最大,輸入數(shù)字量全為零“0”時, Iout1 最小。Iout2:電流輸出 2 端,Iout2+Iout1=常數(shù)。Rfb:外部反饋信號輸入端,內部已有反饋電阻,根據(jù)需要也可外接反饋電阻。Vcc:電 Vcc 源輸入瑞,可在+5—+15v 范圍內。20Vref:參考電壓(也稱基準電壓 )輸入端,電壓范圍(-10~+10)VD:數(shù)字信號接地端。AGND:模擬信號接地端,最好與參考電壓共地。DAC0832 內部由三部分電路組成,如圖 10.2 所示。 “8 位輸入寄存器”用于存放 CPU 送來的數(shù)字量,使輸人數(shù)字雖得到緩沖和鎖存,由LE1 加以控制。 “8 位 DAC 寄存器”用于存放待轉換數(shù)字量,由控制。 “8位 D/A 轉換電路”由 8 位 T 型電阻網絡和電子開關組成,電子開關受“8 位 DAC 寄存器”輸出控制,T 型電阻網絡能輸出和數(shù)字量成正比的模擬電流。因此,DAC0832 通常需要外接運算放大器才能得到模擬輸出電壓。2.DAC 的應用按照輸入數(shù)字量位數(shù),DAC ??煞譃?8 位、10 位和 12 位三種。但M6—5l 與它的接口常和 DAC 的應用有關,因此我們先討論 DAC 的應用問題,然后介紹它與 MCS—51 的接口DAC 用途很廣(1) DAC 用作單極性電壓輸出(2) DAc 用作雙極性電壓輸出(3) DAC 用作程控放大器3.MCS—51 與 DAC0832 的接口電路MCS—51 與 DAC0832 接口時.可以有三種連接方式:直通方式、單緩沖方式和雙緩沖方式。本次設計應用的是單緩沖方式
收藏
編號:146898
類型:共享資源
大?。?span id="mooo6cy" class="font-tahoma">236.18KB
格式:RAR
上傳時間:2017-10-26
100
積分
- 關 鍵 詞:
-
基于
單片機
多功能
智能
信號發(fā)生器
- 資源描述:
-
基于單片機多功能智能信號發(fā)生器,基于,單片機,多功能,智能,信號發(fā)生器
展開閱讀全文
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
裝配圖網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。