基于單片機控制的多波形信號發(fā)生器設計與實現(xiàn)論文_第1頁
基于單片機控制的多波形信號發(fā)生器設計與實現(xiàn)論文_第2頁
基于單片機控制的多波形信號發(fā)生器設計與實現(xiàn)論文_第3頁
基于單片機控制的多波形信號發(fā)生器設計與實現(xiàn)論文_第4頁
基于單片機控制的多波形信號發(fā)生器設計與實現(xiàn)論文_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、報告題目:多波形信號發(fā)生器設計與實現(xiàn) 指導教員對畢業(yè)設計報告的評語: 指導教員: 日期: 年 月 日 室級答辯評語及成績: 答辯組負責人: 日期: 年 月 日 專業(yè)系意見: 專業(yè)系領導: 日期: 年 月 日 院級答辯評語及成績 答辯組負責人: 日期: 年 月 日 摘 要 本系統(tǒng)是基于 at89c52 單片機的數(shù)字式低頻信號發(fā)生器。采用 at89c52 單片機作為控制核心,外圍采用數(shù)字/模擬轉換電路 (dac0832) 、穩(wěn)壓電路(mc1403) 、運放電路(lm324) 、按鍵和八位數(shù) 碼管等。通過按鍵控制可產(chǎn)生方波、三角波、正弦波等,同時用數(shù)碼管 指示其對應的頻率。其設計簡單、性能優(yōu)良,可用

2、于多種需要低頻信號 源的場所,具有一定的實用性。 關鍵詞:單片機;信號發(fā)生器;d/a 轉換 abstract the system is a digital signal generator based on single chip computer. at89c52 is used as a control microcontroller core. the system is composed by digital/analog conversion(dac0832), regulator circuit(mc1403), imply circuit (lm324) ,button and

3、 nixie tube .it can generate the square, triangle and sine wave, with nixie tube . the system can be used for a signal source in the low-frequency signal source. it is very practical. keyword:the single chip computer; the signal generator; d/ a conversion 目 錄 1.緒論 .5 1.1 信號發(fā)生器現(xiàn)狀 .5 1.2 單片機在低頻信號發(fā)生器中的

4、應用 .5 2.系統(tǒng)設計 .7 2.1 系統(tǒng)方案的比較 .7 2.2 控制芯片的選擇 .8 3.硬件電路的設計 .8 3.1 基本原理: .8 3.2 單片機的介紹及資源分配: .10 3.3 各部分電路原理.14 4.軟件設計 .20 4.1 主程序流程圖 .20 4.2 子程序流程圖.21 5.測試結論 .25 5.1 軟件仿真結果 .25 5.2 硬件測試結果.27 致謝 .28 參考文獻 .29 附錄 1 電路原理圖 .30 附錄 2 程序清單.31 附錄 3 proteus 仿真系統(tǒng)簡介. .35 多波形信號發(fā)生器設計與實現(xiàn) 1.緒論 1.1 信號發(fā)生器現(xiàn)狀 波形發(fā)生器亦稱函數(shù)發(fā)生器

5、,作為實驗用信號源,是現(xiàn)今各種電子 電路實驗設計應用中必不可少的儀器設備之一。目前,市場上常見的波 形發(fā)生器多為純硬件的搭接而成,且波形種類有限,多為鋸齒、正弦、 方波、三角等波形。 信號發(fā)生器作為一種常見的應用電子儀器設備,傳統(tǒng)的可以完全由 硬件電路搭接而成,如采用 555 振蕩電路發(fā)生正弦波、三角波和方波的 電路便是可取的路徑之一,不用依靠單片機。但是這種電路存在波形質 量差,控制難,可調范圍小,電路復雜和體積大等缺點。在科學研究和 生產(chǎn)實踐中,如工業(yè)過程控制,生物醫(yī)學,地震模擬機械振動等領域常 常要用到低頻信號源。而由硬件電路構成的低頻信號其性能難以令人滿 意,而且由于低頻信號源所需的

6、rc 很大;大電阻,大電容在制作上有 困難,參數(shù)的精度亦難以保證;體積大,漏電,損耗顯著更是其致命的 弱點。一旦工作需求功能有增加,則電路復雜程度會大大增加。 1.2 單片機在低頻信號發(fā)生器中的應用 當今是科學技術及儀器設備高度智能化飛速發(fā)展的信息社會,電子 技術的進步,給人們帶來了根本性的轉變?,F(xiàn)代電子領域中,單片機的 應用正在不斷的走向深入,這必將導致傳統(tǒng)控制與檢測技術的日益革新。 單片機構成的儀器具有高可靠性、高性能價格比,在智能儀表系統(tǒng)和辦 公自動化等諸多領域得以極為廣泛的應用,并走入家庭,從洗衣機、微 波爐到音響汽車,處處可見其應用。因此,單片機技術開發(fā)和應用水平 已逐步成為一個國家

7、工業(yè)發(fā)展水平的標志之一。 一塊單片機芯片就是一臺計算機。由于單片機的這種特殊的結構形 式,在某些應用領域中,它承擔了大中型計算機和通用微型計算機無法 完成的一些工作。使其具有很多顯著的優(yōu)點和特點,因此在各個領域中 都得到了迅猛的發(fā)展。單片機的特點歸納起來有以下幾個方面。 (1)具有優(yōu)異的性能價格比 單片機盡可能地把應用所需的存儲器,各種功能的 i/o 接口集成在 一塊芯片內(nèi),因而其性能很高,而價格卻相對較低廉,即性能價格比很高。 (2)集成度高、體積小、可靠性高 單片機把各種功能部件集成在一塊芯片上,因而集成度高,均為大 規(guī)?;虺笠?guī)模集成電路。又內(nèi)部采用總線結構,減少了芯片之間的連 線,這大

8、大提高了單片機的可靠性與抗干擾能力。同時,其體積小,對 于強磁場環(huán)境易于采取屏蔽措施,適合于在惡劣環(huán)境下工作。 (3)控制功能強 單片機體積雖小,但“五臟俱全” ,它非常適用于專門的控制用途。 為了滿足工業(yè)控制要求,一般單片機的指令系統(tǒng)中有極豐富的轉移指令, i/o 口的邏輯操作指令以及位操作指令。其邏輯控制功能及運行速度均 高于同一檔次的微機。 (4)低電壓、低功耗 單片機大量用于攜帶式產(chǎn)品和家用消費類產(chǎn)品,低電壓和低功耗尤 為重要。目前,許多單片機已可在 2.2v 電壓下運行,有的已能在 1.2v 或 0.9v 下工作,功耗降至 a 級,一粒鈕扣電池就可長期使用。 利用單片機采用程序設計方

9、法來產(chǎn)生低頻信號,其下限頻率很低。 具有線路相對簡單,結構緊湊,價格低廉,頻率穩(wěn)定度高,抗干擾能力 強,用途廣泛等優(yōu)點,并且能夠對波形進行細微調整,改良波形,使其 滿足系統(tǒng)的要求。只要對電路稍加修改,調整程序,即可完成功能升級。 這里介紹一種采用 at89c52 單片機和一片 dac0832 數(shù)模轉換器做成 的數(shù)字式低頻信號發(fā)生器,它的特點是價格低、性能高,在低頻范圍穩(wěn) 定性好、操作方便、體積小、耗電少等。 信號發(fā)生器與其它相比還具有如下優(yōu)點:較分立元件信號發(fā)生器 而言,具有頻率高,工作穩(wěn)定,容易調試等特性;較專用 dds 芯片的 信號發(fā)生器而言,具有結構簡單,成本低等特性。 2.系統(tǒng)設計 2

10、.1 系統(tǒng)方案的比較 方案一:采用函數(shù)信號發(fā)生器 icl8038 集成模擬芯片,(如圖 2-1) 它是一種可以同時產(chǎn)生方波、三角波、正弦波的專用集成電路。但是這 種模塊產(chǎn)生的波形都不是純凈的波形,會寄生一些高次諧波分量,采用 其他的措施雖可濾除一些,但不能完全濾除掉。 方案二:采用分立元件實現(xiàn)非穩(wěn)態(tài)的多諧振振蕩器,然后根據(jù)需要 加入積分電路等構成正弦、矩形、三角等波形發(fā)生器。這種信號發(fā)生器 輸出頻率范圍窄,而且電路參數(shù)設定較繁瑣,其頻率大小的測量往往需 要通過硬件電路的切換來實現(xiàn),操作不方便。 方案三:采用單片機和 dac0832 數(shù)模轉換器生成波形,由于是軟件 濾波,所以不會有寄生的高次諧波

11、分量,生成的波形比較純凈。它的特 點是價格低、性能高,在低頻范圍內(nèi)穩(wěn)定性好、操作方便、體積小、耗 電少。 經(jīng)比較,方案三既可滿足畢業(yè)設計的基本要求又能充分發(fā)揮其優(yōu)勢, 電路簡單,易控制,性價比較高,所以采用該方案。 2.2 控制芯片的選擇 圖 2-1 方案一方框圖 d/a 鍵 盤單片機 icl8038 運算電路 顯 示 d/a 輸出 方案一:at89c52 單片機是一種高性能 8 位單片微型計算機。它把 構成計算機的中央處理器 cpu、存儲器、寄存器、i/o 接口制作在一塊 集成電路芯片中,從而構成較為完整的計算機。 方案二:c8051f005 單片機是完全集成的混合信號系統(tǒng)級芯片,具 有與

12、at80c52 兼容的微控制器的內(nèi)核,與 mcs-51 指令集完全兼容。除 了具有標準 at80c52 的數(shù)字外設部件之外,片內(nèi)還集成了數(shù)據(jù)采集和控 制系統(tǒng)中常用的模擬部件和其他數(shù)字外設及功能部件。 方案選擇:方案二中 c8051f005 芯片系統(tǒng)內(nèi)部結構復雜,不易控制, 芯片成本高,對于本系統(tǒng)而言利用率低,at89c52 芯片比較常用,簡單 易控制,成本低,性能穩(wěn)定故采用方案一。 3.硬件電路的設計 3.1 基本原理 系統(tǒng)框圖如圖 3-1 所示。 圖 3-1 低頻信號發(fā)生器系統(tǒng)框圖 低頻信號發(fā)生器系統(tǒng)主要由 cpu、d/a 轉換電路、基準電壓電路、 電流/電壓轉換電路、按鍵和波形指示電路、電

13、源等電路組成。 其工作原理為當分別按下四個按鍵中的任一個按鍵就會分別出現(xiàn)方 波、鋸齒波、三角波、正弦波,并且有四個發(fā)光二極管分別作為不同的 波形指示燈。 3.2 單片機的介紹及資源分配 3.2.1 單片機的介紹 (1)最小單片機系統(tǒng) at89c52 的引腳圖如圖 3-2 所示 圖3-2 at89c52引腳圖 管腳說明 低頻信號發(fā)生器采用 at89c52 單片機作為控制核心,其內(nèi)部組成包 括:一個 8 位的微處理器 cpu 及片內(nèi)振蕩器和時鐘產(chǎn)生電路,但石英晶 體和微調電容需要外接;片內(nèi)數(shù)據(jù)存儲器 ram 低 128 字節(jié),存放讀/寫 數(shù)據(jù);高 128 字節(jié)被特殊功能寄存器占用;片內(nèi)程序存儲器

14、4kb rom; 四個 8 位并行 i/o(輸入/輸出)接口 p3 -p0,每個口可以用作輸入, 也可以用作輸出;兩個定時/計數(shù)器,每個定時/計數(shù)器都可以設置成計 數(shù)方式,用以對外部事件進行計數(shù),也可以設置成定時方式,并可以根 據(jù)計數(shù)或定時的結果實現(xiàn)計算機控制;五個中斷源的中斷控制系統(tǒng);一 個全雙工 uart(通用異步接收發(fā)送器)的串行 i/o 口。 vcc:供電電壓。 gnd:接地。 rst:復位輸入。當振蕩器復位器件時,要保持 rst 腳兩個機器周 期的高電平時間。 ale/prog:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖 存地址的地位字節(jié)。在 flash 編程期間,此引腳用于輸

15、入編程脈沖。在 平時,ale 端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率 的 1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意 的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個 ale 脈沖。如想禁止 ale 的輸出可在 sfr8eh 地址上置 0。此時, ale 只有在執(zhí)行 movx,movc 指令是 ale 才起作用。另外,該引腳被略微拉高。如果微處 理器在外部執(zhí)行狀態(tài) ale 禁止,置位無效。 /psen:外部程序存儲器的選通信號。在由外部程序存儲器取指期 間,每個機器周期兩次/psen 有效。但在訪問外部數(shù)據(jù)存儲器時,這兩 次有效的/psen 信號將不出現(xiàn)。 /ea/

16、vpp:當/ea 保持低電平時,則在此期間外部程序存儲器 (0000h-ffffh) ,不管是否有內(nèi)部程序存儲器。注意加密方式 1 時, /ea 將內(nèi)部鎖定為 reset;當/ea 端保持高電平時,此間內(nèi)部程序存儲器。 在 flash 編程期間,此引腳也用于施加 12v 編程電源(vpp) 。 xtal1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。 xtal2:來自反向振蕩器的輸出。 89s52 單片機外部有 32 個端口可供用戶使用,其功能如下: 表 3-1 89c52 并行 i/o 接口 p0 口:p0 口為一個 8 位漏級開路雙向 i/o 口,每腳可吸收 8ttl 門 電流。當 p1

17、 口的管腳第一次寫 1 時,被定義為高阻輸入。p0 能夠用于 外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在 fiash 第一功能第二功能端口引腳 位置 符號 功能符號功能 p039-32p0.0-p0.7 通用 i/0 口 ad0-ad7 地址數(shù)據(jù)總線 p11-8p1.0-p1.7 通用 i/0 口 p221-28p2.0-p2.7 通用 i/0 口 a8-a15 地址總線(高位) 10p3.0rxd 串行通信發(fā)送口 11p3.1txd 串行通信接收口 12p3.2int0 外部中斷 0 13p3.3int1 外部中斷 1 14p3.4t0 計數(shù)器 0 輸入端口 15p3.5t1

18、計數(shù)器 1 輸入端口 16p3.6wr 外部存儲器寫功能 p3 17p3.7 通用 i/0 口 rd 外部存儲器讀功能 編程時,p0 口作為原碼輸入口,當 fiash 進行校驗時,p0 輸出原碼, 此時 p0 外部必須被拉高。 p1 口:p1 口是一個內(nèi)部提供上拉電阻的 8 位雙向 i/o 口,p1 口緩 沖器能接收輸出 4ttl 門電流。p1 口管腳寫入 1 后,被內(nèi)部上拉為高, 可用作輸入,p1 口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部 上拉的緣故。在 flash 編程和校驗時,p1 口作為第八位地址接收。 p2 口:p2 口為一個內(nèi)部上拉電阻的 8 位雙向 i/o 口,p2 口緩

19、沖器 可接收,輸出 4 個 ttl 門電流,當 p2 口被寫“1”時,其管腳被內(nèi)部上 拉電阻拉高,且作為輸入。并因此作為輸入時,p2 口的管腳被外部拉低, 將輸出電流。這是由于內(nèi)部上拉的緣故。p2 口當用于外部程序存儲器或 16 位地址外部數(shù)據(jù)存儲器進行存取時,p2 口輸出地址的高八位。在給 出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器 進行讀寫時,p2 口輸出其特殊功能寄存器的內(nèi)容。p2 口在 flash 編程 和校驗時接收高八位地址信號和控制信號。 p3 口:p3 口管腳是 8 個帶內(nèi)部上拉電阻的雙向 i/o 口,可接收輸 出 4 個 ttl 門電流。當 p3 口寫入“1

20、”后,它們被內(nèi)部上拉為高電平, 并用作輸入。作為輸入,由于外部下拉為低電平,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(外部數(shù)據(jù)存儲器寫選通) p3.7 /rd(外部數(shù)據(jù)存儲器讀選通) p3 口同時為閃爍編程和編程校驗接收一些控制信號。 at89c52 的晶振及其連接方法

21、 cpu 工作時都必須有一個時鐘脈沖。有兩種方式可以向 89s52 提供 時鐘脈沖:一是外部時鐘方式,即使用外部電路向 89s52 提供始終脈沖, 見圖 3-3-(a);二是內(nèi)部時鐘方式,即使用晶振由 89s52 內(nèi)部電路產(chǎn)生 時鐘脈沖。一般常用第二種方法,其電路見圖 3-3-(b)。 圖 3-3 89c52 的時鐘脈沖 圖 33 中:j 一般為石英晶體,其頻率由系統(tǒng)需要和器件決定,在 頻率穩(wěn)定度要求不高時也可以使用陶瓷濾波器。 c1、c2:使用石英晶體時,c1=c2=30(10)pf 使用陶瓷濾波器時,c1=c2=40(10)pf at89c52 的復位 使 cpu 開始工作的方法就是給 c

22、pu 一個復位信號,cpu 收到復位信 號后將內(nèi)部特殊功能寄存器設置為規(guī)定值,并將程序計數(shù)器設置為 “0000h” 。復位信號結束后,cpu 從程序存儲器“0000h”處開始執(zhí)行程 序。89s52 為高電平復位,一般有 3 種復位方法。 上電復位。接通電源時 手動復位。設置一個復位按鈕,當操作者按下按鈕時產(chǎn)生一個 復位信號。 自動復位。設計一個復位電路,當系統(tǒng)滿足某一條件時自動產(chǎn) 生一個復位信號。 圖 3-4 為最簡單的上電復位和手動復位方法。 89c52 xtal2 xtal1 89c52 xtal2 xtal1 圖 3-4 89c52 的復位電路 關于 cpu 的復位電路應當注意,在調試單

23、片機程序時有兩種工作方 式。一是仿真器方式,主要用于調試程序。此時程序的執(zhí)行由仿真器控 制,復位電路不起作用,系統(tǒng)時鐘也經(jīng)常設置為仿真器產(chǎn)生,此時用戶 的晶振也不起作用。二是用戶方式,即脫離仿真器的實際工作方式,用 戶的時鐘振蕩電路和復位電路都必須正常工作。因此,如果系統(tǒng)復位電 路或晶振電路有故障,就會出現(xiàn)仿真器方式工作正常,而用戶方式不工 作的現(xiàn)象,這是許多初學者常遇到的問題。 芯片擦除 整個 perom 陣列和三個鎖定位的電擦除可通過正確的控制信號組合, 并保持 ale 管腳處于低電平 10ms 來完成。在芯片擦操作中,代碼陣列 全被寫“1”且在任何非空存儲字節(jié)被重復編程以前,該操作必須被

24、執(zhí) 行。 此外,at89c52 設有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏 輯,支持兩種軟件可選的掉電模式。在閑置模式下,cpu 停止工作。但 ram,定時器,計數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保 存 ram 的內(nèi)容并且凍結振蕩器,禁止所用其他芯片功能,直到下一個硬 件復位為止。 89c52 3.2.2 資源分配 軟、硬件設計是設計中不可缺少的,為了滿足功能和指標的要求, 資源分配如下 1.晶振采用 12mhz; 2.內(nèi)存分配 p1 口的 p1.0-p1.3 分別與四個按鍵連接,分別控制鋸齒波、三角波、 正弦波和方波,p1.4-p1.7 與四個發(fā)光二極管相連,按鍵一對應發(fā)光二極

25、管一,依次類推,發(fā)光二極管四對應按鍵四,實現(xiàn)輸出一個波形對應亮 一個燈。 p0 口與 dac0832 的 di0-di7 數(shù)據(jù)輸入端相連。 p2 口用來控制 dac0832 的輸入寄存器選擇信號 cs、輸入寄存器寫 選通信號 wr1 及 dac 寄存器寫選通信號 wr2 和數(shù)據(jù)傳送信號 xfer。 3.3 各部分電路原理 (a)dac0832 芯片原理 管腳功能介紹(如圖 3-5 所示) 圖 3-5 dac0832 管腳圖 (1) di7di0:8 位的數(shù)據(jù)輸入端,di7為最高位。 (2) iout1:模擬電流輸出端 1,當 dac 寄存器中數(shù)據(jù)全為 1 時,輸出電 流最大,當 dac 寄存器

26、中數(shù)據(jù)全為 0 時,輸出電流為 0。 (3) iout2:模擬電流輸出端 2, iout2與 iout1的和為一個常數(shù),即 iout1iout2常數(shù)。 (4) rfb:反饋電阻引出端,dac0832 內(nèi)部已經(jīng)有反饋電阻,所以 rfb端 可以直接接到外部運算放大器的輸出端,這樣相當于將一個反饋電阻接 在運算放大器的輸出端和輸入端之間。 (5) vref:參考電壓輸入端,此端可接一個正電壓,也可接一個負電壓, 它決定 0 至 255 的數(shù)字量轉化出來的模擬量電壓值的幅度,vref范圍為 (+10-10)v。vref端與 d/a 內(nèi)部 t 形電阻網(wǎng)絡相連。 (6) vcc:芯片供電電壓,范圍為(+5

27、 15)v。 (7) agnd:模擬量地,即模擬電路接地端。 (8) dgnd:數(shù)字量地。 當 wr2 和 xfer 同時有效時,8 位 dac 寄存器端為高電平“1” ,此時 dac 寄存器的輸出端 q 跟隨輸入端 d 也就是輸入寄存器 q 端的電平變化; 反之,當端為低電平“0”時,第一級 8 位輸入寄存器 q 端的狀態(tài)則鎖 存到第二級 8 位 dac 寄存器中,以便第三級 8 位 dac 轉換器進行 d/a 轉 換。 一般情況下為了簡化接口電路,可以把 wr2 和 xfer 直接接地,使 第二級 8 位 dac 寄存器的輸入端到輸出端直通,只有第一級 8 位輸入寄 存器置成可選通、可鎖存

28、的單緩沖輸入方式。 特殊情況下可采用雙緩 沖輸入方式,即把兩個寄存器都分別接成受控方式 制作低頻信號發(fā)生器有許多方案:主要有單緩沖方式,雙緩沖方式 和直通方式。 單緩沖方式具有適用于只有一路模擬信號輸出或幾路模擬信號非同 步輸出的情形的優(yōu)點,但是電路線路連接比較簡單。而雙緩沖方式適用 于在需要同時輸出幾路模擬信號的場合,每一路模擬量輸出需一片 dac0832 芯片,構成多個 dac0832 同步輸出電路,程序簡單化,但是電 路線路連接比較復雜。根據(jù)以上分析,我們的課題選擇了單緩沖方式使 用方便,程序簡單,易操作。 工作原理 dac0832 主要由 8 位輸入寄存器、8 位 dac 寄存器、8

29、位 d/a 轉換 器以及輸入控制電路四部分組成。8 位輸入寄存器用于存放主機送來的 數(shù)字量,使輸入數(shù)字量得到緩沖和鎖存,由加以控制;8 位 dac 寄存器 用于存放待轉換的數(shù)字量,由加以控制;8 位 d/a 轉換器輸出與數(shù)字量 成正比的模擬電流;由與門、非與門組成的輸入控制電路來控制 2 個寄 存器的選通或鎖存狀態(tài)。 dac0832 與反相比例放大器相連,實現(xiàn)電流到電壓的轉換,因此輸 出模擬信號的極性與參考電壓的極性相反,數(shù)字量與模擬量的轉換關系 為 vout1=-vref(數(shù)字碼/256) 若 d/a 轉換器輸出為雙極性,如圖 3-6 所示。 圖 3-6 d/a 轉換器雙極性輸出電路 圖 3

30、-7 中,運算放大器 a2的作用是把運算放大器 a1的單向輸出電 壓轉換成雙向輸出電壓。其原理是將 a2的輸入端 通過電阻 r1與參考 電壓 vref相連,vref經(jīng) r1向 a2提供一個偏流 i1,其電流方向與 i2相反, 因此運算放大器 a2的輸入電流為 i1、i2之代數(shù)和。則 d/a 轉換器的總輸 出電壓為: vout2= -(r3/r2) vout1+(r3/r1) vref 設 r1=r3=2r r2=r,則 iout1 iout2 vfb da c0832 u1 5 6 7 b 10 9 8 c r2=r r1=2r r3=2r r vout2 vref=(字字 字-128)/12

31、8 +5v vout1 i1 i2 vout2= -(2vout1+vref) dac0832 主要是用于波形的數(shù)據(jù)的傳送,是本題目電路中的主要芯 片。 dac0832 電路原理圖(如圖 3-7 所示) 圖 3-7 dac0832 電路原理圖 (b) lm324 工作原理 (管腳功能如圖 3-8 所示) 圖 3-8 lm324 管腳圖 lm324 時四運放集成電路 ,它采用 14 腳雙烈直插塑料封袋,外形 如圖 1 所示。他的內(nèi)部包含四組形式完全相同的運算放大器,除電源共 用外,四組運放相互獨立。每一組運算放大器可用圖中所示的符號來表 示,它有 5 個引出腳,其中“+” 、 “-”為兩個信號輸

32、入端, “v+” 、 “v- ”為正、負電源端, “out”為輸出端。兩個信號輸入端中, “-”為反相 輸入端,表示運放輸出端 out 的信號與該輸入端的為相反;“+”為同 相輸入端,表示運放輸出端 out 的信號與輸入端的相位相同。lm324 的 引腳排列見圖 9。 由于 lm324 四運放電路具有電源電壓范圍寬,靜態(tài)功耗小,可但電 源使用,價格低廉等優(yōu)點,因此被廣泛應用在各種電路中。 在此項目中用了 lm324 的三組運放,分別置于第一級輸出,第一、 二級之間,第二級輸出。 (c)mc1403 工作原理 (管腳功能如圖 3-9 所示) 圖 3-9 mc1403 管腳圖 mc1403 是低壓

33、基準芯片。一般用作 8 到 12bit 的 d/a 芯片的基準電 壓等一些需要基本精準的基準電壓的場合。 輸出電壓:2.5v+/-25mv 輸入電壓范圍:4.5vto40v 輸出電流:10ma 因為輸出是固定的,所以電路很簡單。就是 vin 接電源輸入,gnd 接地,vout 加一個 0.1uf 到 1uf 的電容就可以了。vout 一般用于 8 到 12bit 的 d/a 芯片的基準電壓。 在此項目里 mc1403 起到了穩(wěn)壓的作用,它基準了 dac0832 的 8 腳 需要的 2.5v。使其 dac0832 能夠正常工作。 4.軟件設計 單片機技術比較成熟,開發(fā)過程可利用的資源和工具豐富,

34、最大的 優(yōu)點是價格便宜,成本低。調試軟件采用 keil51.keiluvison 是眾多單 片機應用開發(fā)軟件中優(yōu)秀軟件之一,界面友好,易寫易操作。在調試程 序中,軟件仿真 protues 功能也很強,軟件調通,再通過編程器下載到 at89s52 中,然后插到系統(tǒng)中即可獨立完成所有的控制。 軟件設計上,根據(jù)功能分了幾個模塊編程。模塊主要有:主程序模 塊、三角波模塊、正弦波模塊、方波模塊、延時子程序模塊等。 顯示波形模塊是利用 dac0832 的 8 位特點,把波形的數(shù)據(jù)以 8 位數(shù) 據(jù)的形勢送進 cpu 中,只要一按鍵就能顯示波形。 4.1 主程序流程圖 如圖 4-1 所示。 y n y n y

35、 圖 4-1 主程序流程圖 本軟件設計過程中主要實現(xiàn)利用按鍵來控制不同波形的輸出,當按 鍵 1 第一次按下時,函數(shù)發(fā)生器就輸出方波;當按鍵 1 第二次按下時, 函數(shù)發(fā)生器就輸出三角波;當按鍵 1 第三次按下時,函數(shù)發(fā)生器就輸出 正弦波。通過按鍵可以以任意循環(huán)方式輸出不同波形。按鍵 2 與按鍵 3 開開 始始 key1 第一次按下第一次按下 key1key1 第二次按下第二次按下 key1key1 第三次按下第三次按下 輸出方波輸出方波 輸出三角波輸出三角波 輸出正弦波輸出正弦波 分別是波形頻率的調節(jié)按鈕。按鍵 4 是控制數(shù)碼管顯示當前波形頻率的 控制按鈕。 4.2 子程序流程圖 1 方波程序流

36、程圖 如圖 4-2 所示。 圖 4-2 方波流程圖 方波產(chǎn)生首先將 dac0832 口地址至為 4000h,當 a 中的內(nèi)容為 0 時, 輸出對應模擬量,然后延時,當 a 中的內(nèi)容為 0ffh 時,同樣輸出對應 模擬量,再延時,從而得到方波。 2 三角波程序流程圖 如圖 4-3 所示。 4-3 三角波流程圖 三角波產(chǎn)生首先將 dac0832 口地址至為 4000h,通過 a 中數(shù)值的加 一遞升,當 a 中的內(nèi)容為 0 時,與 0ffh 相比,相等時 a 中的內(nèi)容減一 遞減,從而循環(huán)產(chǎn)生三角波。 3 正弦波程序流程圖 如圖 4-4 所示。 圖 4-4 正弦波流程圖 正弦波波形設計通過查表指令得出

37、。 4 延時子程序流程圖 如圖 4-5 所示。 圖 4-5 延時程序流程圖 延時程序如下: dely: mov r7,#10h dly0: mov r6,#0edh nop dly1: djnz r6,dly1 djnz r7,dly0 ret 方波的上限和下限的延時時間為:7ms s=1+(1+1+2237+2)16+1=7648s 5.測試結論 在確定編程思路以后將各部分的程序及各子程序編好,使用 keil 進 行編譯,根據(jù)提示的錯誤對程序進行修改。除了語法差錯和邏輯差錯外, 當確認程序沒問題時,通過直接加載到 protues 軟件電路中進行仿真。 5.1 仿真波形 1 當按鍵 1 第一次

38、按下時,波形為方波。仿真圖如圖 5-1 所示。 圖 5-1 方波仿真圖 2 當按鍵 1 第二次撥下時,波形為三角波。仿真圖如圖 5-2 所示。 圖 5-2 三角波仿真圖 3 當按鍵 1 第三次按下時,波形為正弦波。仿真圖如圖 5-3 所示。 圖 5-3 正弦波仿真圖 4 當按鍵 2 或按鍵 3 按下時,即本信號發(fā)生器的頻率調節(jié)按鍵按下時, 可以對頻率進行上調和下調,以便實現(xiàn)各頻率波形的輸出。 5 當按鍵 5 長按時,本信號發(fā)生器數(shù)碼管會顯示當前輸出波形的頻率, 以便使用者知曉輸出頻率。如圖 5-4 所示。 圖 5-4 數(shù)碼管顯示圖 5.2 波形分析 在對系統(tǒng)進行波形仿真時可以在虛擬示波器上觀察

39、到三角波、正弦 波和方波的波形。其中三角波以及正弦波的輸出有一定誤差,方波波形 較為理想。這一方面與電路設置的參數(shù)有關,另一方面也與使用的仿真 軟件有關。對于上述問題的解決辦法是:改變仿真電路的參數(shù)或著換用 版本較高的仿真軟件。當然一般產(chǎn)生這種情況的原因多由于電路的參數(shù) 設計不合理所制。但從仿真波形上可以看出輸出波形的頻率大致與程序 中的設置吻合。波形的幅度與程序設置的最大值有關,而頻率受機器周 期的控制。當仿真時,由于存在一定的系統(tǒng)誤差,波形效果不是很好。 致 謝 首先非常感謝學校能開設這個課題,為本人日后從事單片機及電路 設計方面的工作提供了經(jīng)驗,奠定了基礎。 本次畢業(yè)設計大概持續(xù)了半年的

40、時間,現(xiàn)在終于到結尾了。剛拿到 這個課題時,覺得這個課題比較難。今天回過去看看,卻十分的欣慰, 因為通過我們的努力終于完成了。雖然這不是我讀大學以來第一次寫論 文,但卻是花費心血最多的一次,這是對我大學四年學習下來最好的檢 驗。經(jīng)過這次畢業(yè)設計,我的能力有了很大的提高,比如操作能力、分 析問題的能力、合作精神、嚴謹?shù)墓ぷ髯黠L等方方面面都進步了。這期 間凝結了很多人的心血,在此我表示由衷的感謝。沒有他們的幫助,我 將無法順利完成這次設計。 我要特別感謝汪小會老師對我的悉心指導,在設計期間汪老師幫助 我收集文獻資料,理清設計思路,指導操作方法,并對我所做的課題提 出有效的改進方案。老師淵博的知識、

41、嚴謹?shù)淖黠L、誨人不倦的態(tài)度和 學術上精益求精的精神讓我受益終生。 學校在這方面也給我們提供了很大的支持和幫助,學校領導比較重 視,給我們安排了較多的上機次數(shù)和足夠的計算機,讓我們有盡可能多 的時間上機查找資料。對于學校和老師為我的畢業(yè)設計所提供的極大幫 助和關心,在此我致以衷心的感謝! 參考文獻 1 孫俊逸,盛秋林,張錚等.單片機原理及應用m.北京:清華大學 出版社,2001. 2 蔡美琴.mcs-51 系列單片機系統(tǒng)及其應用m.北京:高等教育出版 社,2000. 3 孫育才,孫華芳,王榮興.單片機原理及應用m.北京:電子工業(yè) 出版社,2003. 4 李鴻.單片機原理及應用m.湖南:湖南大學出

42、版社,2004. 5 丁元杰.單片微機原理及應用.第二版m.北京:機械工業(yè)出版社, 2001. 6 潘新民 王燕芳 編著.微型計算機控制技術. 北京:高等教育出版 社,2004. 7 馬忠梅.單片機的 c 語言應用程序設計m.北京:北京北航出版社, 2003. 8 范立南. 單片微機接口與控制技術m. 沈陽:遼寧大學出版社, 1996.69-77. 9 張友德. 單片微型機原理、應用與實踐m. 上海:復旦大學出版 社,1992.73-81. 10 李華. mcs-51 系列單片機實用接口技術m. 北京:北京航空航天 大學出版社,1993.23-31. 11 何希慶,高偉. mcs-51 單片機

43、原理、實驗、實例m. 山東:山東 大學出版社,1989.124-136. 12 張毅剛,彭喜元,姜守達. 新編 mcs-51 單片機應用設計m. 哈 爾濱:哈爾濱工業(yè)大學出版社,2003.153-168. 13 胡漢才. 單片機原理及接口技術m. 北京:清華大學出版社, 1996,6678. 14 陸子明,徐長根. 單片機設計與應用基礎教程.北京:國防工業(yè)出 版社,2005.1 15 劉守義.單片機應用技術.西安:西安電子科技大學出版社,2002. 8 附錄 1 電路原理圖 附錄 2 程序清單 key1 bit p1.0 key2 bit p1.1 key bit p1.2 key4 bit

44、p1.3 org 0000h ljmp main org 0030h main:mov sp,#50h mov dptr,#7fffh mov p2,#00h mov a,#00h movx dptr,a scan_key1:mov a,p1 anl a,#0fh cjne a,#0eh,scan_key2 ljmp b1 scan_key2:mov a,p1 anl a,#0fh cjne a,#0dh,scan_key3 ljmp b2 scan_key3:mov a,p1 anl a,#0fh cjne a,#0bh,scan_key4 ljmp b3 scan_key4:mov a,p

45、1 anl a,#0fh cjne a,#07h,scan_key1 ljmp b4 b1:clr p1.4 setb p1.5 setb p1.6 setb p1.7 lp: mov a,#00h mov dptr,#4000h movx dptr,a lp1: inc a mov p2,a cjne a,#0ffh,lp1 ljmp scan_key1 b2: clr p1.5 setb p1.4 setb p1.6 setb p1.7 up: mov a,#00h up1: inc a mov p2,a nop nop cjne a,#0f0h,up1 down:dec a mov p2

46、,a nop nop cjne a,#00h,down ljmp scan_key2 b3: mov r1,#00h ;取表格初值 loop1:clr p1.6 setb p1.4 setb p1.5 setb p1.7 mov a,r1 mov dptr,#settab movc a,a+dptr mov dptr,#4000h movx dptr,a mov p2,a inc r1;表格加一 cjne r1,#0ffh,loop1 settab: db 80h,83h,86h,89h,8dh,90h,93h,96h db 99h,9ch,9fh,0a2h,0a5h,0a8h,0abh,0a

47、eh db 0b1h,0b4h,0b7h,0bah,0bch,0bfh,0c2h,0c5h db 0c7h,0cah,0cch,0cfh,0d1h, 0d4h,0d6h,0d8h db 0dah,0ddh,0dfh,0e1h,0e3h, 0e5h,0e7h,0e9h db 0eah,0ech,0eeh,0efh,0f1h, 0f2h,0f4h,0f5h db 0f6h,0f7h,0f8h,0f9h,0fah, 0fbh,0fch,0fdh db 0fdh,0feh,0ffh,0ffh,0ffh, 0ffh,0ffh,0ffh db 0ffh,0ffh,0ffh,0ffh,0ffh, 0ffh,

48、0feh,0fdh db 0fdh,0fch,0fbh,0fah,0f9h, 0f8h,0f7h,0f6h db 0f5h,0f4h,0f2h,0f1h,0efh, 0eeh,0ech,0eah db 0e9h,0e7h,0e5h,0e3h,0e1h, 0deh,0ddh,0dah db 0d8h,0d6h,0d4h,0d1h,0cfh, 0cch,0cah,0c7h db 0c5h,0c2h,0bfh,0bch,0bah, 0b7h,0b4h,0b1h db 0aeh,0abh,0a8h,0a5h,0a2h, 9fh, 9ch, 99h db 96h, 93h, 90h, 8dh, 89h,

49、 86h, 83h, 80h db 80h, 7ch, 79h, 78h, 72h, 6fh, 6ch, 69h db 66h, 63h, 60h, 5dh, 5ah, 57h, 55h, 51h db 4eh, 4ch, 48h, 45h, 43h, 40h, 3dh, 3ah db 38h, 35h, 33h, 30h, 2eh, 2bh, 29h, 27h db 25h, 22h, 20h, 1eh, 1ch, 1ah, 18h, 16h db 15h, 13h, 11h, 10h, 0eh, 0dh, 0bh, 0ah db 09h, 08h, 07h, 06h, 05h, 04h,

50、03h, 02h db 02h, 01h, 00h, 00h, 00h, 00h, 00h, 00h db 00h, 00h, 00h, 00h, 00h, 00h, 01h, 02h db 02h, 03h, 04h, 05h, 06h, 07h, 08h, 09h db 0ah, 0bh, 0dh, 0eh, 10h, 11h, 13h, 15h db 16h, 18h, 1ah, 1ch, 1eh, 20h, 22h, 25h db 27h, 29h, 2bh, 2eh, 30h, 33h, 35h, 38h db 3ah, 3dh, 40h, 43h, 45h, 48h, 4ch, 4

51、eh db 51h, 55h, 57h, 5ah, 5dh, 60h, 63h, 66h db 69h, 6ch, 6fh, 72h, 76h, 79h, 7ch, 80h ljmp scan_key3 b4: clr p1.7 setb p1.4 setb p1.6 setb p1.5 mov a,#0ffh mov p2,a lcall dely mov a,#00h mov p2,a lcall dely ljmp scan_key4 dely:mov r6,#10h mov r7,#0edh nop dl1:djnz r7,dl1 dl2:djnz r6,dl2 ret end 附錄

52、3 proteus 仿真系統(tǒng)簡介 1 proteus 仿真系統(tǒng)概述 proteus 軟件是英國 labcenter electronics 公司出版的 eda 工具 軟件。它不僅具有其它 eda 工具軟件的仿真功能,還能仿真單片機及外 圍器件。它是目前最好的仿真單片機及外圍器件的工具。雖然目前國內(nèi) 推廣剛起步,但已受到單片機愛好者、從事單片機教學的教師、致力于 單片機開發(fā)應用的科技工作者的青睞。 1.1 功能特點 : proteus 軟件具有其它 eda 工具軟件(例:multisim)的功能。這些 功能是: (1)原理布圖 (2)pcb 自動或人工布線 (3)spice 電路仿真 革命性的特點 : (1)互動的電路仿真 用戶甚至可以實時采用諸如 led/lcd、鍵盤、rs232 終端等動態(tài)外 設模型來對設 計進行交互仿真。 (2)仿真處理器及其外圍電路 可以仿真 51 系列、avr、pic 等常用主流單片機。還可以直接在 基于原理圖的虛擬原型上編程,再配合顯示及輸出,能看到運

溫馨提示

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

評論

0/150

提交評論