




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、基于單片機的信號產(chǎn)生電路的設計基于單片機的信號產(chǎn)生電路的設計 摘要 本系統(tǒng)是基于 at89s52 單片機的數(shù)字式低頻信號發(fā)生器。采用 at89s52 單片機作為控制核心,外圍采用數(shù)字/模擬轉換電路(dac0832) 、穩(wěn)壓電路(mc1403) 、運放電路(lm324) 、按鍵和 led 顯示燈電路等。通過按鍵控制可產(chǎn)生方波、鋸齒波、三角波、正弦波等,同時用 led 顯示燈指示對應的波形。其設計簡單、性能優(yōu)良,可用于多種需要低頻信號源的場所,具有一定的實用性。 關鍵詞 單片機;信號發(fā)生器;d/a 轉換abstract the system is a digital signal generato
2、r based on single chip computer. at89s52 is used as a control microcontroller core. the system is composed by digital/analog conversion(dac0832), regulator circuit(mc1403), imply circuit (lm324) ,button and led lights .it can generate the square, triangle and sine wave, with led display. the system
3、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.緒論 .11.1 信號發(fā)生器現(xiàn)狀 .11.2 單片機在低頻信號發(fā)生器中的應用 .12.系統(tǒng)設計 .22.1 系統(tǒng)方案的比較 .22.2 控制芯片的選擇 .33.硬件電路的設計 .33.1 基本原理: .33.2 單片機的介紹及資源分配: .43.3 各部分電路原理.94
4、.軟件設計 .144.1 主程序流程圖 .154.2 子程序流程圖.155.測試結論 .185.1 軟件仿真結果 .185.2 硬件測試結果.206.參考文獻 .23附錄 1 元件清單 .24附錄 2 電路原理圖 .25附錄 3 程序清單 .26附錄 4 proteus 仿真系統(tǒng)簡介 .301.緒論1.11.1 信號發(fā)生器現(xiàn)狀信號發(fā)生器現(xiàn)狀波形發(fā)生器亦稱函數(shù)發(fā)生器,作為實驗用信號源,是現(xiàn)今各種電子電路實驗設計應用中必不可少的儀器設備之一。目前,市場上常見的波形發(fā)生器多為純硬件的搭接而成,且波形種類有限,多為鋸齒、正弦、方波、三角等波形。信號發(fā)生器作為一種常見的應用電子儀器設備,傳統(tǒng)的可以完全由
5、硬件電路搭接而成,如采用 555 振蕩電路發(fā)生正弦波、三角波和方波的電路便是可取的路徑之一,不用依靠單片機。但是這種電路存在波形質量差,控制難,可調范圍小,電路復雜和體積大等缺點。在科學研究和生產(chǎn)實踐中,如工業(yè)過程控制,生物醫(yī)學,地震模擬機械振動等領域常常要用到低頻信號源。而由硬件電路構成的低頻信號其性能難以令人滿意,而且由于低頻信號源所需的 rc 很大;大電阻,大電容在制作上有困難,參數(shù)的精度亦難以保證;體積大,漏電,損耗顯著更是其致命的弱點。一旦工作需求功能有增加,則電路復雜程度會大大增加。1.21.2 單片機在低頻信號發(fā)生器中的應用單片機在低頻信號發(fā)生器中的應用當今是科學技術及儀器設備高
6、度智能化飛速發(fā)展的信息社會,電子技術的進步,給人們帶來了根本性的轉變?,F(xiàn)代電子領域中,單片機的應用正在不斷的走向深入,這必將導致傳統(tǒng)控制與檢測技術的日益革新。單片機構成的儀器具有高可靠性、高性能價格比,在智能儀表系統(tǒng)和辦公自動化等諸多領域得以極為廣泛的應用,并走入家庭,從洗衣機、微波爐到音響汽車,處處可見其應用。因此,單片機技術開發(fā)和應用水平已逐步成為一個國家工業(yè)發(fā)展水平的標志之一。一塊單片機芯片就是一臺計算機。由于單片機的這種特殊的結構形式,在某些應用領域中,它承擔了大中型計算機和通用微型計算機無法完成的一些工作。使其具有很多顯著的優(yōu)點和特點,因此在各個領域中都得到了迅猛的發(fā)展。單片機的特點
7、歸納起來有以下幾個方面。(1)具有優(yōu)異的性能價格比單片機盡可能地把應用所需的存儲器,各種功能的 i/o 接口集成在一塊芯片內(nèi),因而其性能很高,而價格卻相對較低廉,即性能價格比很高。(2)集成度高、體積小、可靠性高單片機把各種功能部件集成在一塊芯片上,因而集成度高,均為大規(guī)?;虺笠?guī)模集成電路。又內(nèi)部采用總線結構,減少了芯片之間的連線,這大大提高了單片機的可靠性與抗干擾能力。同時,其體積小,對于強磁場環(huán)境易于采取屏蔽措施,適合于在惡劣環(huán)境下工作。(3)控制功能強單片機體積雖小,但“五臟俱全” ,它非常適用于專門的控制用途。為了滿足工業(yè)控制要求,一般單片機的指令系統(tǒng)中有極豐富的轉移指令,i/o 口
8、的邏輯操作指令以及位操作指令。其邏輯控制功能及運行速度均高于同一檔次的微機。(4)低電壓、低功耗單片機大量用于攜帶式產(chǎn)品和家用消費類產(chǎn)品,低電壓和低功耗尤為重要。目前,許多單片機已可在 2.2v 電壓下運行,有的已能在 1.2v 或0.9v 下工作,功耗降至 a 級,一粒鈕扣電池就可長期使用。利用單片機采用程序設計方法來產(chǎn)生低頻信號,其下限頻率很低。具有線路相對簡單,結構緊湊,價格低廉,頻率穩(wěn)定度高,抗干擾能力強,用途廣泛等優(yōu)點,并且能夠對波形進行細微調整,改良波形,使其滿足系統(tǒng)的要求。只要對電路稍加修改,調整程序,即可完成功能升級。這里介紹一種采用 at89s52 單片機和一片 dac083
9、2 數(shù)模轉換器做成的數(shù)字式低頻信號發(fā)生器,它的特點是價格低、性能高,在低頻范圍穩(wěn)定性好、操作方便、體積小、耗電少等。信號發(fā)生器與其它相比還具有如下優(yōu)點:較分立元件信號發(fā)生器而言,具有頻率高,工作穩(wěn)定,容易調試等特性;較專用 dds 芯片的信號發(fā)生器而言,具有結構簡單,成本低等特性。2.系統(tǒng)設計2.12.1 系統(tǒng)方案的比較系統(tǒng)方案的比較方案一:采用函數(shù)信號發(fā)生器 icl8038 集成模擬芯片,(如圖 2-1)它是一種可以同時產(chǎn)生方波、三角波、正弦波的專用集成電路。但是這種模塊產(chǎn)生的波形都不是純凈的波形,會寄生一些高次諧波分量,采用其他的措施雖可濾除一些,但不能完全濾除掉。圖 2-1 方案一方框圖
10、d/a鍵 盤單片機icl8038運算電路顯 示d/a輸出方案二:采用分立元件實現(xiàn)非穩(wěn)態(tài)的多諧振蕩器,然后根據(jù)需要加入積分電路等構成正弦、矩形、三角等波形發(fā)生器。這種信號發(fā)生器輸出頻率范圍窄,而且電路參數(shù)設定較繁瑣,其頻率大小的測量往往需要通過硬件電路的切換來實現(xiàn),操作不方便。方案三:采用單片機和 dac0832 數(shù)模轉換器生成波形,由于是軟件濾波,所以不會有寄生的高次諧波分量,生成的波形比較純凈。它的特點是價格低、性能高,在低頻范圍內(nèi)穩(wěn)定性好、操作方便、體積小、耗電少。經(jīng)比較,方案三既可滿足畢業(yè)設計的基本要求又能充分發(fā)揮其優(yōu)勢,電路簡單,易控制,性價比較高,所以采用該方案。2.22.2 控制芯
11、片的選擇控制芯片的選擇方案一:at89s52 單片機是一種高性能 8 位單片微型計算機。它把構成計算機的中央處理器 cpu、存儲器、寄存器、i/o 接口制作在一塊集成電路芯片中,從而構成較為完整的計算機。方案二:c8051f005 單片機是完全集成的混合信號系統(tǒng)級芯片,具有與 at80s52 兼容的微控制器的內(nèi)核,與 mcs-51 指令集完全兼容。除了具有標準 at80s52 的數(shù)字外設部件之外,片內(nèi)還集成了數(shù)據(jù)采集和控制系統(tǒng)中常用的模擬部件和其他數(shù)字外設及功能部件。方案選擇:方案二中 c8051f005 芯片系統(tǒng)內(nèi)部結構復雜,不易控制,芯片成本高,對于本系統(tǒng)而言利用率低,at89s52 芯片
12、比較常用,簡單易控制,成本低,性能穩(wěn)定故采用方案一。3.硬件電路的設計3.13.1 基本原理:基本原理:系統(tǒng)框圖如圖 3-1 所示。圖 3-1 低頻信號發(fā)生器系統(tǒng)框圖低頻信號發(fā)生器系統(tǒng)主要由 cpu、d/a 轉換電路、基準電壓電路、電流/電壓轉換電路、按鍵和波形指示電路、電源等電路組成。其工作原理為當分別按下四個按鍵中的任一個按鍵就會分別出現(xiàn)方波、鋸齒波、三角波、正弦波,并且有四個發(fā)光二極管分別作為不同的波形指示燈。3.23.2 單片機的介紹及資源分配:單片機的介紹及資源分配:3.2.1 單片機的介紹(1)最小單片機系統(tǒng)at89s52 的引腳圖如圖 3-2 所示圖3-2 at89s52引腳圖管
13、腳說明低頻信號發(fā)生器采用 at89s52 單片機作為控制核心,其內(nèi)部組成包括:一個 8 位的微處理器 cpu 及片內(nèi)振蕩器和時鐘產(chǎn)生電路,但石英晶體和微調電容需要外接;片內(nèi)數(shù)據(jù)存儲器 ram 低 128 字節(jié),存放讀/寫數(shù)據(jù);高128 字節(jié)被特殊功能寄存器占用;片內(nèi)程序存儲器 4kb rom;四個 8 位并行 i/o(輸入/輸出)接口 p3 -p0,每個口可以用作輸入,也可以用作輸出;兩個定時/計數(shù)器,每個定時/計數(shù)器都可以設置成計數(shù)方式,用以對外部事件進行計數(shù),也可以設置成定時方式,并可以根據(jù)計數(shù)或定時的結果實現(xiàn)計算機控制;五個中斷源的中斷控制系統(tǒng);一個全雙工 uart(通用異步接收發(fā)送器)
14、的串行 i/o 口。vcc:供電電壓。gnd:接地。rst:復位輸入。當振蕩器復位器件時,要保持 rst 腳兩個機器周期的高電平時間。ale/prog:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的低位字節(jié)。在 flash 編程期間,此引腳用于輸入編程脈沖。在平時,ale 端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的 1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個 ale 脈沖。如想禁止 ale 的輸出可在sfr8eh 地址上置 0。此時, ale 只有在執(zhí)行 movx,movc 指令是 ale 才起作用。另外,該引
15、腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài) ale 禁止,置位無效。/psen:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/psen 有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/psen 信號將不出現(xiàn)。/ea/vpp:當/ea 保持低電平時,則在此期間外部程序存儲器(0000h-ffffh) ,不管是否有內(nèi)部程序存儲器。注意加密方式 1 時,/ea 將內(nèi)部鎖定為 reset;當/ea 端保持高電平時,此間內(nèi)部程序存儲器。在 flash 編程期間,此引腳也用于施加 12v 編程電源(vpp) 。xtal1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。xtal2:來自
16、反向振蕩器的輸出。89s52 單片機外部有 32 個端口可供用戶使用,其功能如下:表 3-1 89s52 并行 i/o 接口第一功能第二功能端口引腳位置 符號 功能符號功能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外部中斷 013p3.3int1外部中斷 114p3.4t0計數(shù)器 0 輸入端口15p3.5t1計數(shù)器 1 輸入端口16p3.6wr外部存儲器寫功能p
17、317p3.7通用 i/0 口rd外部存儲器讀功能p0 口:p0 口為一個 8 位漏級開路雙向 i/o 口,每腳可吸收 8ttl 門電流。當 p1 口的管腳第一次寫 1 時,被定義為高阻輸入。p0 能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在 fiash 編程時,p0 口作為原碼輸入口,當 fiash 進行校驗時,p0 輸出原碼,此時 p0 外部必須被拉高。p1 口:p1 口是一個內(nèi)部提供上拉電阻的 8 位雙向 i/o 口,p1 口緩沖器能接收輸出 4ttl 門電流。p1 口管腳寫入 1 后,被內(nèi)部上拉為高,可用作輸入,p1 口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部
18、上拉的緣故。在 flash 編程和校驗時,p1 口作為第八位地址接收。p2 口:p2 口為一個內(nèi)部上拉電阻的 8 位雙向 i/o 口,p2 口緩沖器可接收,輸出 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 編程和校驗時接收高八位地址信號和控制
19、信號。p3 口:p3 口管腳是 8 個帶內(nèi)部上拉電阻的雙向 i/o 口,可接收輸出4 個 ttl 門電流。當 p3 口寫入“1”后,它們被內(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ù)
20、據(jù)存儲器讀選通)p3 口同時為閃爍編程和編程校驗接收一些控制信號。at89s52 的晶振及其連接方法cpu 工作時都必須有一個時鐘脈沖。有兩種方式可以向 89s52 提供時鐘脈沖:一是外部時鐘方式,即使用外部電路向 89s52 提供始終脈沖,見圖 3-3-(a);二是內(nèi)部時鐘方式,即使用晶振由 89s52 內(nèi)部電路產(chǎn)生時鐘脈沖。一般常用第二種方法,其電路見圖 3-3-(b)。 圖 3-3 89s52 的時鐘脈沖圖 33 中:j 一般為石英晶體,其頻率由系統(tǒng)需要和器件決定,在頻率穩(wěn)定度要求不高時也可以使用陶瓷濾波器。c1、c2:使用石英晶體時,c1=c2=30(10)pf使用陶瓷濾波器時,c1=
21、c2=40(10)pfat89s52 的復位使 cpu 開始工作的方法就是給 cpu 一個復位信號,cpu 收到復位信號后將內(nèi)部特殊功能寄存器設置為規(guī)定值,并將程序計數(shù)器設置為“0000h” 。復位信號結束后,cpu 從程序存儲器“0000h”處開始執(zhí)行程序。89s52 為高電平復位,一般有 3 種復位方法。 上電復位。接通電源時 手動復位。設置一個復位按鈕,當操作者按下按鈕時產(chǎn)生一個復位信號。 自動復位。設計一個復位電路,當系統(tǒng)滿足某一條件時自動產(chǎn)生一個復位信號。圖 3-4 為最簡單的上電復位和手動復位方法。 圖 3-4 89s52 的復位電路89s52關于 cpu 的復位電路應當注意,在調
22、試單片機程序時有兩種工作方式。一是仿真器方式,主要用于調試程序。此時程序的執(zhí)行由仿真器控制,復位電路不起作用,系統(tǒng)時鐘也經(jīng)常設置為仿真器產(chǎn)生,此時用戶的晶振也不起作用。二是用戶方式,即脫離仿真器的實際工作方式,用戶的時鐘振蕩電路和復位電路都必須正常工作。因此,如果系統(tǒng)復位電路或晶振電路有故障,就會出現(xiàn)仿真器方式工作正常,而用戶方式不工作的現(xiàn)象,這是許多初學者常遇到的問題。芯片擦除整個 perom 陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持 ale 管腳處于低電平 10ms 來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲字節(jié)被重復編程以前,該操作必須被執(zhí)行。此外,at
23、89s52 設有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,cpu 停止工作。但 ram,定時器,計數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存 ram 的內(nèi)容并且凍結振蕩器,禁止所用其他芯片功能,直到下一個硬件復位為止。3.2.2 資源分配軟、硬件設計是設計中不可缺少的,為了滿足功能和指標的要求,資源分配如下1.晶振采用 12mhz;2.內(nèi)存分配p1 口的 p1.0-p1.3 分別與四個按鍵連接,分別控制鋸齒波、三角波、正弦波和方波,p1.4-p1.7 與四個發(fā)光二極管相連,按鍵一對應發(fā)光二極管一,依次類推,發(fā)光二極管四對應按鍵四,實現(xiàn)輸出一個波
24、形對應亮一個燈。p0 口與 dac0832 的 di0-di7 數(shù)據(jù)輸入端相連。p2 口用來控制 dac0832 的輸入寄存器選擇信號 cs、輸入寄存器寫選通信號 wr1 及 dac 寄存器寫選通信號 wr2 和數(shù)據(jù)傳送信號 xfer。3.33.3 各部分電路原理各部分電路原理(a)dac0832 芯片原理管腳功能介紹(如圖 3-5 所示)圖 3-5 dac0832 管腳圖(1) di7di0:8 位的數(shù)據(jù)輸入端,di7為最高位。(2) iout1:模擬電流輸出端 1,當 dac 寄存器中數(shù)據(jù)全為 1 時,輸出電流最大,當 dac 寄存器中數(shù)據(jù)全為 0 時,輸出電流為 0。(3) iout2:
25、模擬電流輸出端 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 15)v。(7) agnd:模擬量地,即模擬電路接地端。(8) dgnd
26、:數(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 位輸入寄存器置成可選通、可鎖存的單緩沖輸入方式。 特殊情況下可采用雙緩沖輸入方式,即把兩個寄存器都分別接成受控方式制作低頻
27、信號發(fā)生器有許多方案:主要有單緩沖方式,雙緩沖方式和直通方式。單緩沖方式具有適用于只有一路模擬信號輸出或幾路模擬信號非同步輸出的情形的優(yōu)點,但是電路線路連接比較簡單。而雙緩沖方式適用于在需要同時輸出幾路模擬信號的場合,每一路模擬量輸出需一片 dac0832 芯片,構成多個 dac0832 同步輸出電路,程序簡單化,但是電路線路連接比較復雜。根據(jù)以上分析,我們的課題選擇了單緩沖方式使用方便,程序簡單,易操作。工作原理dac0832 主要由 8 位輸入寄存器、8 位 dac 寄存器、8 位 d/a 轉換器以及輸入控制電路四部分組成。8 位輸入寄存器用于存放主機送來的數(shù)字量,使輸入數(shù)字量得到緩沖和鎖
28、存,由加以控制;8 位 dac 寄存器用于存放待轉換的數(shù)字量,由加以控制;8 位 d/a 轉換器輸出與數(shù)字量成正比的模擬電流;由與門、非與門組成的輸入控制電路來控制 2 個寄存器的選通或鎖存狀態(tài)。dac0832 與反相比例放大器相連,實現(xiàn)電流到電壓的轉換,因此輸出模擬信號的極性與參考電壓的極性相反,數(shù)字量與模擬量的轉換關系為vout1=-vref(數(shù)字碼/256)若 d/a 轉換器輸出為雙極性,如圖 3-6 所示。iout1iout2vfbda c0832u1567b1098cr2=rr1=2rr3=2rrvout2vref=(字字 字-128)/128+5vvout1i1i2圖 3-6 d/
29、a 轉換器雙極性輸出電路圖 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,則 vout2=-(2vout1+vref) dac0832 主要是用于波形的數(shù)據(jù)的傳送,是本題目電路中的主要芯片。dac0832 電路原理圖(
30、如圖 3-7 所示) 圖 3-7 dac0832 電路原理圖(b) lm324 工作原理(管腳功能如圖 3-8 所示) 圖 3-8 lm324 管腳圖lm324 時四運放集成電路 ,它采用 14 腳雙烈直插塑料封袋,外形如圖 1 所示。他的內(nèi)部包含四組形式完全相同的運算放大器,除電源共用外,四組運放相互獨立。每一組運算放大器可用圖中所示的符號來表示,它有5 個引出腳,其中“+”、“-”為兩個信號輸入端,“v+”、“v-”為正、負電源端,“out”為輸出端。兩個信號輸入端中,“-”為反相輸入端,表示運放輸出端 out 的信號與該輸入端的為相反;“+”為同相輸入端,表示運放輸出端 out 的信號與
31、輸入端的相位相同。lm324 的引腳排列見圖9。由于 lm324 四運放電路具有電源電壓范圍寬,靜態(tài)功耗小,可但電源使用,價格低廉等優(yōu)點,因此被廣泛應用在各種電路中。在此項目中用了 lm324 的三組運放,分別置于第一級輸出,第一、二級之間,第二級輸出。(c)mc1403 工作原理(管腳功能如圖 3-9 所示) 圖 3-9 mc1403 管腳圖mc1403 是低壓基準芯片。一般用作 8 到 12bit 的 d/a 芯片的基準電壓等一些需要基本精準的基準電壓的場合。輸出電壓:2.5v+/-25mv輸入電壓范圍:4.5vto40v輸出電流:10ma因為輸出是固定的,所以電路很簡單。就是 vin 接
32、電源輸入,gnd 接地,vout 加一個 0.1uf 到 1uf 的電容就可以了。vout 一般用于 8 到 12bit的 d/a 芯片的基準電壓。在此項目里 mc1403 起到了穩(wěn)壓的作用,它基準了 dac0832 的 8 腳需要的 2.5v。使其 dac0832 能夠正常工作。4.軟件設計單片機技術比較成熟,開發(fā)過程可利用的資源和工具豐富,最大的優(yōu)點是價格便宜,成本低。調試軟件采用 keil51.keiluvison 是眾多單片機應用開發(fā)軟件中優(yōu)秀軟件之一,界面友好,易寫易操作。在調試程序中,軟件仿真 protues 功能也很強,軟件調通,再通過編程器下載到 at89s52中,然后插到系統(tǒng)
33、中即可獨立完成所有的控制。軟件設計上,根據(jù)功能分了幾個模塊編程。模塊主要有:主程序模塊、鋸齒波模塊、三角波模塊、正弦波模塊、方波模塊、延時子程序模塊等。顯示波形模塊是利用 dac0832 的 8 位特點,把波形的數(shù)據(jù)以 8 位數(shù)據(jù)的形勢送進 cpu 中,只要一按鍵就能顯示波形。4.14.1 主程序流程圖主程序流程圖如圖 4-1 所示。圖 4-1 主程序流程圖本軟件設計過程中主要實現(xiàn)利用按鍵來控制不同波形的輸出,當按鍵1 按下時,函數(shù)發(fā)生器就輸出鋸齒波;當按鍵 2 按下時,函數(shù)發(fā)生器就輸出三角波;當按鍵 3 按下時,函數(shù)發(fā)生器就輸出正弦波;當按鍵 4 按下時,函數(shù)發(fā)生器就輸出方波。通過按鍵可以以
34、任意循環(huán)方式輸出不同波形。4.24.2 子程序流程圖子程序流程圖1 鋸齒波流程圖 如圖 4-2 所示。圖 4-2 鋸齒波流程圖鋸齒波產(chǎn)生首先將 dac0832 口地址至為 4000h,然后將 00h 送入寄存器 a 中,dac0832 輸出 a 中的內(nèi)容,當 a 中的內(nèi)容等于 f0h 返回開始,當a 中的內(nèi)容不為 0fh 時,a 中的內(nèi)容累加,從而輸出波形。2 三角波程序流程圖如圖 4-3 所示。4-3 三角波流程圖三角波產(chǎn)生首先將 dac0832 口地址至為 4000h,通過 a 中數(shù)值的加一遞升,當 a 中的內(nèi)容為 0 時,與 0ffh 相比,相等時 a 中的內(nèi)容減一遞減,從而循環(huán)產(chǎn)生三角
35、波。3 正弦波程序流程圖 如圖 4-4 所示。圖 4-4 正弦波流程圖正弦波波形設計通過查表指令得出。4 方波程序流程圖 如圖 4-5 所示。圖 4-5 方波流程圖方波產(chǎn)生首先將 dac0832 口地址至為 4000h,當 a 中的內(nèi)容為 0 時,輸出對應模擬量,然后延時,當 a 中的內(nèi)容為 0ffh 時,同樣輸出對應模擬量,再延時,從而得到方波。5 延時子程序流程圖如圖 4-6 所示。 圖 4-6 延時程序流程圖延時程序如下:dely: mov r7,#10hdly0: mov r6,#0edh nopdly1: djnz r6,dly1 djnz r7,dly0 ret方波的上限和下限的延
36、時時間為:7ms s=1+(1+1+2237+2)16+1=7648s5.5.測試結論測試結論5.1 軟件仿真結果在確定編程思路以后將各部分的程序及各子程序編好,使用 keil 進行編譯,根據(jù)提示的錯誤對程序進行修改。除了語法差錯和邏輯差錯外,當確認程序沒問題時,通過直接加載到 protues 軟件電路中進行仿真。5.1.1 仿真波形當按鍵 1 撥下時,波形為鋸齒波,同時指示燈 1 發(fā)光。仿真圖如圖 5-1 所示。 圖 5-1 矩尺波仿真圖2 當按鍵 2 撥下時,波形為三角波,同時指示燈 2 發(fā)光。仿真圖如圖 5-2 所示。 圖 5-2 三角波仿真圖3 當按鍵 3 撥下時,波形為正弦波,同時指
37、示燈 3 發(fā)光。仿真圖如圖 5-3 所示。 圖 5-3 正弦波仿真圖4 當按鍵 4 撥下時,波形為方波,同時指示燈 4 發(fā)光。仿真圖如圖5-4 所示。 圖 5-4 方波仿真圖5.1.2 波形分析在對系統(tǒng)進行波形仿真時可以在虛擬示波器上觀察到鋸齒波、三角波、正弦波和方波的波形。其中鋸齒波、三角波以及正弦波的輸出誤差較大,方波波形較為理想。這一方面與電路設置的參數(shù)有關,另一方面也與使用的仿真軟件有關。對于上述問題的解決辦法是:改變仿真電路的參數(shù)或著換用版本較高的仿真軟件。當然一般產(chǎn)生這種情況的原因多由于電路的參數(shù)設計不合理所制。但從仿真波形上可以看出輸出波形的頻率大致與程序中的設置吻合。波形的幅度
38、與程序設置的最大值有關,而頻率受機器周期的控制。當仿真時,由于存在一定的系統(tǒng)誤差,波形效果不是很好。5.2 硬件測試結果5.2.1 硬件測試波形1 當按鍵 1 撥下時,波形為鋸齒波,同時指示燈 1 發(fā)光。波形圖如圖5-5 所示。 圖 5-5 鋸齒波波形圖 2 當按鍵 2 撥下時,波形為三角波,同時指示燈 2 發(fā)光。波形圖如圖 5-6 所示。 圖 5-6 三角波波形圖3 當按鍵 3 撥下時,波形為正弦波,同時指示燈 3 發(fā)光。波形圖如圖 5-7 所示。 圖 5-7 正弦波波形圖4 當按鍵 4 撥下時,波形為方波,同時指示燈 4 發(fā)光。波形圖如圖5-8 所示。圖 5-8 方波波形圖5.2.2 產(chǎn)生
39、各種波形輸出結果鋸齒波:vp-p=1.2v f=800hz三角波:vp-p=1.5v f=5.6khz正弦波:vp-p=3.5v f=1.3khz方波: vp-p=5.2v f=100hz通過按鍵控制可產(chǎn)生方波、鋸齒波、三角波、正弦波等,同時用 led 顯示燈指示對應的形。本系統(tǒng)設計簡單、性能較好,在經(jīng)后只要加以適當?shù)母慕涂删哂幸欢ǖ膶嵱眯浴?.2.3 波形結果分析在將電路和實物連接的情況下再將程序下載至單片機中進行實際電路的測試時,電路輸出的四種波形基本上都可以看到,其中鋸齒波、三角波以及正弦波的輸出誤差較大,方波波形較為理想。但是基本上是符合設計要求的。鋸齒波和三角波輸出波形中雜波成分較
40、大,波形不是較理想,這與實際要求存在一些誤差,這些誤差的來源主要是由于電路的具體參數(shù)選擇不好以及程序的時延所造成的。當然在實際電路測量時由于實驗環(huán)境的干擾也會對輸出波形有一些影響,這些影響主要是使輸出波形產(chǎn)生寄生的高頻雜波,具體表現(xiàn)就是使輸出波形質量變壞,波形邊厚。在對電路進行調試時適當改變數(shù)模轉換電路及輸出放大電路參數(shù)電路輸出結果相對較好一些。6.6.參考文獻參考文獻1 孫俊逸,盛秋林,張錚等.單片機原理及應用m.北京:清華大學出版社,2001.2 蔡美琴.mcs-51 系列單片機系統(tǒng)及其應用m.北京:高等教育出版社,2000.3 孫育才,孫華芳,王榮興.單片機原理及應用m.北京:電子工業(yè)出
41、版社,2003.4 李鴻.單片機原理及應用m.湖南:湖南大學出版社,2004.5 丁元杰.單片微機原理及應用.第二版m.北京:機械工業(yè)出版社,2001.6 潘新民 王燕芳 編著.微型計算機控制技術. 北京:高等教育出版社,2004.7 馬忠梅.單片機的 c 語言應用程序設計m.北京:北京北航出版社,2003.8 王新賢.通用集成電路速查手冊.濟南:山東科學技術出版社,2002.9附錄 1 元件清單標號標注dac0832u1lm324u2mc1403u31kr11kr21kr31kr41kr51kr61kr71kr810kr920kr1020kr111kri電位器 10krw0.47ufc10.
42、2ufc20.1ufci10.1ufci20.1ufci322ufci410ufci510ufci6ledl1ledl2ledl3ledl4ledl5at89s52u0附錄 2 電路原理圖附錄 3 程序清單key1 bit p1.0key2 bit p1.1key3 bit p1.2key4 bit p1.3;按鍵 key1:鋸齒波 按鍵 key2:三角波 按鍵 key3: 正弦波 ;按鍵 key4: 方波; org 0000h ljmp main org 0030hmain:mov sp,#50hmov dptr,#7fffhmov p2,#00hmov a,#00hmovx dptr,as
43、can_key1:mov a,p1 anl a,#0fh cjne a,#0eh,scan_key2 ljmp b1scan_key2:mov a,p1 anl a,#0fh cjne a,#0dh,scan_key3 ljmp b2scan_key3:mov a,p1 anl a,#0fh cjne a,#0bh,scan_key4 ljmp b3scan_key4:mov a,p1 anl a,#0fh cjne a,#07h,scan_key1 ljmp b4;利用 dac0832 產(chǎn)生鋸齒波;b1:clr p1.4 setb p1.5 setb p1.6 setb p1.7lp: mo
44、v a,#00h mov dptr,#4000h movx dptr,a lp1: inc a mov p2,a cjne a,#0ffh,lp1 ljmp scan_key1;利用 dac0832 產(chǎn)生三角波;b2: clr p1.5 setb p1.4 setb p1.6 setb p1.7up: mov a,#00hup1: inc a mov p2,a nop nop cjne a,#0f0h,up1down:dec a mov p2,a nop nop cjne a,#00h,down ljmp scan_key2;利用 dac0832 產(chǎn)生正弦波;b3: mov r1,#00h ;
45、取表格初值 ;在表格里取數(shù)送到指定地址/ 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,loop1settab: ;正弦表格/ db 80h,83h,86h,89h,8dh,90h,93h,96h db 99h,9ch,9fh,0a2h,0a5h,0a8h,0abh,0aeh db 0b1h,0b4h,0b7h,0bah,0bch,0bfh,0c2
46、h,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,0feh,0fdh db 0fdh,0fch,0fbh,0fah,0f9h,
47、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, 86h, 83h, 80h db 80h, 7ch, 79h, 78h, 7
48、2h, 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, 03h, 02h db 02h, 01h, 00h, 00h, 00h, 00
49、h, 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, 4eh db 51h, 55h, 57h, 5ah, 5dh, 60h, 63h
50、, 66h db 69h, 6ch, 6fh, 72h, 76h, 79h, 7ch, 80h ljmp scan_key3;利用 dac0832 產(chǎn)生方波;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_key4dely:mov r6,#10h mov r7,#0edh nopdl1:djnz r7,dl1dl2:djnz r6,dl2 retend附錄 4 proteus 仿真系統(tǒng)簡介1 proteus 仿真
51、系統(tǒng)概述proteus 軟件是英國 labcenter electronics 公司出版的 eda 工具軟件。它不僅具有其它 eda 工具軟件的仿真功能,還能仿真單片機及外圍器件。它是目前最好的仿真單片機及外圍器件的工具。雖然目前國內(nèi)推廣剛起步,但已受到單片機愛好者、從事單片機教學的教師、致力于單片機開發(fā)應用的科技工作者的青睞。1.1 功能特點 :proteus 軟件具有其它 eda 工具軟件(例:multisim)的功能。這些功能是:(1)原理布圖(2)pcb 自動或人工布線(3)spice 電路仿真革命性的特點 :(1)互動的電路仿真用戶甚至可以實時采用諸如 led/lcd、鍵盤、rs23
52、2 終端等動態(tài)外設模型來對設 計進行交互仿真。(2)仿真處理器及其外圍電路 可以仿真 51 系列、avr、pic 等常用主流單片機。還可以直接在基于原理圖的虛擬原型上編程,再配合顯示及輸出,能看到運行后輸入輸出的效果。配合系統(tǒng)配置的虛擬邏輯分析儀、示波器等,proteus 建立了完備的電子設計開發(fā)環(huán)境。 1.2 功能模塊1)個易用而又功能強大的 isis 原理布圖工具;2)prospice 混合模型 spice 仿真;3) ares pcb 設計. 1.3 proteus 所提供的資源1)proteus 可提供的仿真元器件資源:仿真數(shù)字和模擬、交流和直流等數(shù)千種元器件,有 30 多個元件庫。2
53、)proteus 可提供的仿真儀表資源 :示波器、邏輯分析儀、虛擬終端、spi 調試器、i2c 調試器、信號發(fā)生器、模式發(fā)生器、交直流電壓表、交直流電流表。理論上同一種儀器可以在一個電路中隨意的調用。 3)除了現(xiàn)實存在的儀器外,proteus 還提供了一個圖形顯示功能,可以將線路上變化的信號,以圖形的方式實時地顯示出來,其作用與示波器相似,但功能更多。這些虛擬儀器儀表具有理想的參數(shù)指標,例如極高的輸入阻抗、極低的輸出阻抗。這些都盡可能減少了儀器對測量結果的影響。 4)proteus 可提供的調試手段 proteus 提供了比較豐富的測試信號用于電路的測試。這些測試信號包括模擬信號和數(shù)字信號。
54、1.4 用 proteus 實現(xiàn)軟件仿真1)支持多種主流單片機系統(tǒng)的仿真:支持當前的主流單片機,如 51 系列、avr 系列、pic12 系列、pic16系列、pic18 系列、z80 系列、hc11 系列、68000 系列等。2)提供軟件調試功能:3)提供豐富的外圍接口器件及其仿真ram,rom,鍵盤,馬達,led,lcd,ad/da,部分 spi 器件,部分iic 器件。這樣很接近實際。在訓練學生時,可以選擇不同的方案,這樣更利于培養(yǎng)學生。4)提供豐富的虛擬儀器:利用虛擬儀器在仿真過程中可以測量外圍電路的特性,培養(yǎng)學生實際硬件的調試能力。5) 具有強大的原理圖繪制功能:2 proteus
55、單獨仿真在 protues 繪制好原理圖后,調入已編譯好的目標代碼文件:*.hex,可以在 proteus 的原理圖中看到模擬的實物運行狀態(tài)和過程。 proteus 在“單片機原理與應用技術”中的作用1)proteus 是單片機課堂教學的先進助手。proteus 不僅可將許多單片機實例功能形象化,也可將許多單片機實例運行過程形象化。前者可在相當程度上得到實物演示實驗的效果,后者則是實物演示實驗難以達到的效果。 2)proteus 是單片機實驗教學的虛擬平臺。它的元器件、連接線路等卻和傳統(tǒng)的單片機實驗硬件高度對應。這在相當程度上替代了傳統(tǒng)的單片機實驗教學的功能,例:元器件選擇、電路連接、電路檢測
56、、電路修改、軟件調試、運行結果等。 3)proteus 是單片機課程設計、畢業(yè)設計的創(chuàng)作園地。 課程設計、畢業(yè)設計是學生走向就業(yè)的重要實踐環(huán)節(jié)。由于 proteus提供了實驗室無法相比的大量的元器件庫,提供了修改電路設計的靈活性、提供了實驗室在數(shù)量、質量上難以相比的虛擬儀器、儀表,因而也提供了培養(yǎng)學生實踐精神、創(chuàng)造精神的平臺 4)proteus 是單片機開發(fā)應用的工程開發(fā)環(huán)境。 隨著科技的發(fā)展, “計算機仿真技術”已成為許多設計部門重要的前期設計手段。它具有設計靈活,結果、過程的統(tǒng)一的特點??墒乖O計時間大為縮短、耗資大為減少,也可降低工程制造的風險。相信在單片機開發(fā)應用中 proteus 也能茯得愈來愈廣泛的應用。 proteus 組合了高級原理布圖、混合模式 spice 仿真,pcb 設計以及自動布線來實現(xiàn)一個完整的電子設計系統(tǒng)。此系統(tǒng)受益于 15 年來的持續(xù)開發(fā),被電子世界在其對 pcb 設計系統(tǒng)的比較文章中評為最好產(chǎn)品“the route to pcb cad” 。 proteus 產(chǎn)品系列也包含了革命性的 vsm 技術,用戶可以對基于微控制器的設計連同所有的周圍電子器件一起仿真。用戶甚至可以
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 湖南省衡陽縣2025屆五下數(shù)學期末聯(lián)考模擬試題含答案
- 安徽科技學院《SAS與統(tǒng)計分析》2023-2024學年第一學期期末試卷
- 日喀則地區(qū)康馬縣2025屆四年級數(shù)學第二學期期末監(jiān)測試題含解析
- 邢臺醫(yī)學高等??茖W校《食品分析實驗》2023-2024學年第二學期期末試卷
- 北京信息科技大學《發(fā)展心理學》2023-2024學年第一學期期末試卷
- 山西藝術職業(yè)學院《建筑法規(guī)》2023-2024學年第二學期期末試卷
- 供水工程管理制度
- 智能美容檢測產(chǎn)品調查問卷
- 常用筆種類調查
- 2025年網(wǎng)絡直播投資分析:傳統(tǒng)文化與現(xiàn)代傳播的融合之道
- 內(nèi)科年終總結和工作計劃
- 《物聯(lián)網(wǎng)技術在冷鏈物流中的應用探究》開題報告(有提綱)3000字
- 深圳市保障性住房標準化設計圖集(一)
- 全套教學課件《工程倫理學》
- 肺部感染臨床路徑
- 新教材高中政治 4.2 實現(xiàn)中華民族偉大復興的中國夢說課稿 新人教版必修1
- 補辦電話卡委托書
- 人美版美術 二年級下冊全冊教學設計(表格式)
- 機電控制及可編程序控制器技術課程設計報告
- 中班故事《響亮的大鼓》課件
- 復數(shù)算符在人工智能中的應用
評論
0/150
提交評論