




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1基于單片機的信號產生電路的設計基于單片機的信號產生電路的設計 摘要 本系統是基于 at89s52 單片機的數字式低頻信號發生器。采用 at89s52 單片機作為控制核心,外圍采用數字/模擬轉換電路(dac0832) 、穩壓電路(mc1403) 、運放電路(lm324) 、按鍵和 led 顯示燈電路等。通過按鍵控制可產生方波、鋸齒波、三角波、正弦波等,同時用 led 顯示燈指示對應的波形。其設計簡單、性能優良,可用于多種需要低頻信號源的場所,具有一定的實用性。 關鍵詞 單片機;信號發生器;d/a 轉換abstract the system is a digital signal generat
2、or 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 conversion2目 錄1.緒論 .11.1 信號發生器現狀 .11.2 單片機在低頻信號發生器中的應用 .12.系統設計 .22.1 系統方案的比較 .22.2 控制芯片的選擇 .33.硬件電路的設計 .33.1 基本原理: .33.2 單片機的介紹及資源分配: .43.3 各部分電路原理.
4、94.軟件設計 .144.1 主程序流程圖 .154.2 子程序流程圖.155.測試結論 .185.1 軟件仿真結果 .185.2 硬件測試結果.206.參考文獻 .23附錄 1 元件清單 .24附錄 2 電路原理圖 .25附錄 3 程序清單 .26附錄 4 proteus 仿真系統簡介 .3011.緒論1.11.1 信號發生器現狀信號發生器現狀波形發生器亦稱函數發生器,作為實驗用信號源,是現今各種電子電路實驗設計應用中必不可少的儀器設備之一。目前,市場上常見的波形發生器多為純硬件的搭接而成,且波形種類有限,多為鋸齒、正弦、方波、三角等波形。信號發生器作為一種常見的應用電子儀器設備,傳統的可以
5、完全由硬件電路搭接而成,如采用 555 振蕩電路發生正弦波、三角波和方波的電路便是可取的路徑之一,不用依靠單片機。但是這種電路存在波形質量差,控制難,可調范圍小,電路復雜和體積大等缺點。在科學研究和生產實踐中,如工業過程控制,生物醫學,地震模擬機械振動等領域常常要用到低頻信號源。而由硬件電路構成的低頻信號其性能難以令人滿意,而且由于低頻信號源所需的 rc 很大;大電阻,大電容在制作上有困難,參數的精度亦難以保證;體積大,漏電,損耗顯著更是其致命的弱點。一旦工作需求功能有增加,則電路復雜程度會大大增加。1.21.2 單片機在低頻信號發生器中的應用單片機在低頻信號發生器中的應用當今是科學技術及儀器
6、設備高度智能化飛速發展的信息社會,電子技術的進步,給人們帶來了根本性的轉變。現代電子領域中,單片機的應用正在不斷的走向深入,這必將導致傳統控制與檢測技術的日益革新。單片機構成的儀器具有高可靠性、高性能價格比,在智能儀表系統和辦公自動化等諸多領域得以極為廣泛的應用,并走入家庭,從洗衣機、微波爐到音響汽車,處處可見其應用。因此,單片機技術開發和應用水平已逐步成為一個國家工業發展水平的標志之一。一塊單片機芯片就是一臺計算機。由于單片機的這種特殊的結構形式,在某些應用領域中,它承擔了大中型計算機和通用微型計算機無法完成的一些工作。使其具有很多顯著的優點和特點,因此在各個領域中都得到了迅猛的發展。單片機
7、的特點歸納起來有以下幾個方面。(1)具有優異的性能價格比單片機盡可能地把應用所需的存儲器,各種功能的 i/o 接口集成在一塊芯片內,因而其性能很高,而價格卻相對較低廉,即性能價格比很高。(2)集成度高、體積小、可靠性高單片機把各種功能部件集成在一塊芯片上,因而集成度高,均為大規模或超大規模集成電路。又內部采用總線結構,減少了芯片之間的連線,2這大大提高了單片機的可靠性與抗干擾能力。同時,其體積小,對于強磁場環境易于采取屏蔽措施,適合于在惡劣環境下工作。(3)控制功能強單片機體積雖小,但“五臟俱全” ,它非常適用于專門的控制用途。為了滿足工業控制要求,一般單片機的指令系統中有極豐富的轉移指令,i
8、/o 口的邏輯操作指令以及位操作指令。其邏輯控制功能及運行速度均高于同一檔次的微機。(4)低電壓、低功耗單片機大量用于攜帶式產品和家用消費類產品,低電壓和低功耗尤為重要。目前,許多單片機已可在 2.2v 電壓下運行,有的已能在 1.2v 或0.9v 下工作,功耗降至 a 級,一粒鈕扣電池就可長期使用。利用單片機采用程序設計方法來產生低頻信號,其下限頻率很低。具有線路相對簡單,結構緊湊,價格低廉,頻率穩定度高,抗干擾能力強,用途廣泛等優點,并且能夠對波形進行細微調整,改良波形,使其滿足系統的要求。只要對電路稍加修改,調整程序,即可完成功能升級。這里介紹一種采用 at89s52 單片機和一片 da
9、c0832 數模轉換器做成的數字式低頻信號發生器,它的特點是價格低、性能高,在低頻范圍穩定性好、操作方便、體積小、耗電少等。信號發生器與其它相比還具有如下優點:較分立元件信號發生器而言,具有頻率高,工作穩定,容易調試等特性;較專用 dds 芯片的信號發生器而言,具有結構簡單,成本低等特性。2.系統設計2.12.1 系統方案的比較系統方案的比較方案一:采用函數信號發生器 icl8038 集成模擬芯片,(如圖 2-1)它是一種可以同時產生方波、三角波、正弦波的專用集成電路。但是這種模塊產生的波形都不是純凈的波形,會寄生一些高次諧波分量,采用其他的措施雖可濾除一些,但不能完全濾除掉。圖 2-1 方案
10、一方框圖d/a鍵 盤單片機icl8038運算電路顯 示d/a輸出3方案二:采用分立元件實現非穩態的多諧振蕩器,然后根據需要加入積分電路等構成正弦、矩形、三角等波形發生器。這種信號發生器輸出頻率范圍窄,而且電路參數設定較繁瑣,其頻率大小的測量往往需要通過硬件電路的切換來實現,操作不方便。方案三:采用單片機和 dac0832 數模轉換器生成波形,由于是軟件濾波,所以不會有寄生的高次諧波分量,生成的波形比較純凈。它的特點是價格低、性能高,在低頻范圍內穩定性好、操作方便、體積小、耗電少。經比較,方案三既可滿足畢業設計的基本要求又能充分發揮其優勢,電路簡單,易控制,性價比較高,所以采用該方案。2.22.
11、2 控制芯片的選擇控制芯片的選擇方案一:at89s52 單片機是一種高性能 8 位單片微型計算機。它把構成計算機的中央處理器 cpu、存儲器、寄存器、i/o 接口制作在一塊集成電路芯片中,從而構成較為完整的計算機。方案二:c8051f005 單片機是完全集成的混合信號系統級芯片,具有與 at80s52 兼容的微控制器的內核,與 mcs-51 指令集完全兼容。除了具有標準 at80s52 的數字外設部件之外,片內還集成了數據采集和控制系統中常用的模擬部件和其他數字外設及功能部件。方案選擇:方案二中 c8051f005 芯片系統內部結構復雜,不易控制,芯片成本高,對于本系統而言利用率低,at89s
12、52 芯片比較常用,簡單易控制,成本低,性能穩定故采用方案一。3.硬件電路的設計3.13.1 基本原理:基本原理:系統框圖如圖 3-1 所示。圖 3-1 低頻信號發生器系統框圖低頻信號發生器系統主要由 cpu、d/a 轉換電路、基準電壓電路、電4流/電壓轉換電路、按鍵和波形指示電路、電源等電路組成。其工作原理為當分別按下四個按鍵中的任一個按鍵就會分別出現方波、鋸齒波、三角波、正弦波,并且有四個發光二極管分別作為不同的波形指示燈。3.23.2 單片機的介紹及資源分配:單片機的介紹及資源分配:3.2.1 單片機的介紹(1)最小單片機系統at89s52 的引腳圖如圖 3-2 所示圖3-2 at89s
13、52引腳圖管腳說明低頻信號發生器采用 at89s52 單片機作為控制核心,其內部組成包括:一個 8 位的微處理器 cpu 及片內振蕩器和時鐘產生電路,但石英晶體和微調電容需要外接;片內數據存儲器 ram 低 128 字節,存放讀/寫數據;高128 字節被特殊功能寄存器占用;片內程序存儲器 4kb rom;四個 8 位并行 i/o(輸入/輸出)接口 p3 -p0,每個口可以用作輸入,也可以用作輸出;兩個定時/計數器,每個定時/計數器都可以設置成計數方式,用以對外部事件進行計數,也可以設置成定時方式,并可以根據計數或定時的結果實現計算機控制;五個中斷源的中斷控制系統;一個全雙工 uart(通用異步
14、接收發送器)的串行 i/o 口。vcc:供電電壓。gnd:接地。rst:復位輸入。當振蕩器復位器件時,要保持 rst 腳兩個機器周期的高電平時間。ale/prog:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的低位字節。在 flash 編程期間,此引腳用于輸入編程脈沖。在平時,5ale 端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的 1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數據存儲器時,將跳過一個 ale 脈沖。如想禁止 ale 的輸出可在sfr8eh 地址上置 0。此時, ale 只有在執行 movx,movc 指令是 ale 才起作
15、用。另外,該引腳被略微拉高。如果微處理器在外部執行狀態 ale 禁止,置位無效。/psen:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/psen 有效。但在訪問外部數據存儲器時,這兩次有效的/psen 信號將不出現。/ea/vpp:當/ea 保持低電平時,則在此期間外部程序存儲器(0000h-ffffh) ,不管是否有內部程序存儲器。注意加密方式 1 時,/ea 將內部鎖定為 reset;當/ea 端保持高電平時,此間內部程序存儲器。在 flash 編程期間,此引腳也用于施加 12v 編程電源(vpp) 。xtal1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。x
16、tal2:來自反向振蕩器的輸出。89s52 單片機外部有 32 個端口可供用戶使用,其功能如下:表 3-1 89s52 并行 i/o 接口第一功能第二功能端口引腳位置 符號 功能符號功能p039-32p0.0-p0.7通用 i/0 口ad0-ad7地址數據總線p11-8p1.0-p1.7通用 i/0 口p221-28p2.0-p2.7通用 i/0 口a8-a15地址總線(高位)10p3.0rxd串行通信發送口11p3.1txd串行通信接收口12p3.2int0外部中斷 013p3.3int1外部中斷 114p3.4t0計數器 0 輸入端口15p3.5t1計數器 1 輸入端口16p3.6wr外部
17、存儲器寫功能p317p3.7通用 i/0 口rd外部存儲器讀功能p0 口:p0 口為一個 8 位漏級開路雙向 i/o 口,每腳可吸收 8ttl 門電流。當 p1 口的管腳第一次寫 1 時,被定義為高阻輸入。p0 能夠用于外部程序數據存儲器,它可以被定義為數據/地址的第八位。在 fiash 編程時,6p0 口作為原碼輸入口,當 fiash 進行校驗時,p0 輸出原碼,此時 p0 外部必須被拉高。p1 口:p1 口是一個內部提供上拉電阻的 8 位雙向 i/o 口,p1 口緩沖器能接收輸出 4ttl 門電流。p1 口管腳寫入 1 后,被內部上拉為高,可用作輸入,p1 口被外部下拉為低電平時,將輸出電
18、流,這是由于內部上拉的緣故。在 flash 編程和校驗時,p1 口作為第八位地址接收。p2 口:p2 口為一個內部上拉電阻的 8 位雙向 i/o 口,p2 口緩沖器可接收,輸出 4 個 ttl 門電流,當 p2 口被寫“1”時,其管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸入時,p2 口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。p2 口當用于外部程序存儲器或 16 位地址外部數據存儲器進行存取時,p2 口輸出地址的高八位。在給出地址“1”時,它利用內部上拉優勢,當對外部八位地址數據存儲器進行讀寫時,p2 口輸出其特殊功能寄存器的內容。p2 口在 flash 編程和校驗時接收高八
19、位地址信號和控制信號。p3 口:p3 口管腳是 8 個帶內部上拉電阻的雙向 i/o 口,可接收輸出4 個 ttl 門電流。當 p3 口寫入“1”后,它們被內部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,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(外部數據存儲器寫選通)p3.7
20、 /rd(外部數據存儲器讀選通)p3 口同時為閃爍編程和編程校驗接收一些控制信號。at89s52 的晶振及其連接方法cpu 工作時都必須有一個時鐘脈沖。有兩種方式可以向 89s52 提供時鐘脈沖:一是外部時鐘方式,即使用外部電路向 89s52 提供始終脈沖,見圖 3-3-(a);二是內部時鐘方式,即使用晶振由 89s52 內部電路產生時鐘脈沖。一般常用第二種方法,其電路見圖 3-3-(b)。7 圖 3-3 89s52 的時鐘脈沖圖 33 中:j 一般為石英晶體,其頻率由系統需要和器件決定,在頻率穩定度要求不高時也可以使用陶瓷濾波器。c1、c2:使用石英晶體時,c1=c2=30(10)pf使用陶
21、瓷濾波器時,c1=c2=40(10)pfat89s52 的復位使 cpu 開始工作的方法就是給 cpu 一個復位信號,cpu 收到復位信號后將內部特殊功能寄存器設置為規定值,并將程序計數器設置為“0000h” 。復位信號結束后,cpu 從程序存儲器“0000h”處開始執行程序。89s52 為高電平復位,一般有 3 種復位方法。 上電復位。接通電源時 手動復位。設置一個復位按鈕,當操作者按下按鈕時產生一個復位信號。 自動復位。設計一個復位電路,當系統滿足某一條件時自動產生一個復位信號。圖 3-4 為最簡單的上電復位和手動復位方法。 圖 3-4 89s52 的復位電路89s528關于 cpu 的復
22、位電路應當注意,在調試單片機程序時有兩種工作方式。一是仿真器方式,主要用于調試程序。此時程序的執行由仿真器控制,復位電路不起作用,系統時鐘也經常設置為仿真器產生,此時用戶的晶振也不起作用。二是用戶方式,即脫離仿真器的實際工作方式,用戶的時鐘振蕩電路和復位電路都必須正常工作。因此,如果系統復位電路或晶振電路有故障,就會出現仿真器方式工作正常,而用戶方式不工作的現象,這是許多初學者常遇到的問題。芯片擦除整個 perom 陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持 ale 管腳處于低電平 10ms 來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲字節被重復編程以前,該操作必
23、須被執行。此外,at89s52 設有穩態邏輯,可以在低到零頻率的條件下靜態邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,cpu 停止工作。但 ram,定時器,計數器,串口和中斷系統仍在工作。在掉電模式下,保存 ram 的內容并且凍結振蕩器,禁止所用其他芯片功能,直到下一個硬件復位為止。3.2.2 資源分配軟、硬件設計是設計中不可缺少的,為了滿足功能和指標的要求,資源分配如下1.晶振采用 12mhz;2.內存分配p1 口的 p1.0-p1.3 分別與四個按鍵連接,分別控制鋸齒波、三角波、正弦波和方波,p1.4-p1.7 與四個發光二極管相連,按鍵一對應發光二極管一,依次類推,發光二極管四對應按
24、鍵四,實現輸出一個波形對應亮一個燈。p0 口與 dac0832 的 di0-di7 數據輸入端相連。p2 口用來控制 dac0832 的輸入寄存器選擇信號 cs、輸入寄存器寫選通信號 wr1 及 dac 寄存器寫選通信號 wr2 和數據傳送信號 xfer。3.33.3 各部分電路原理各部分電路原理(a)dac0832 芯片原理管腳功能介紹(如圖 3-5 所示)9圖 3-5 dac0832 管腳圖(1) di7di0:8 位的數據輸入端,di7為最高位。(2) iout1:模擬電流輸出端 1,當 dac 寄存器中數據全為 1 時,輸出電流最大,當 dac 寄存器中數據全為 0 時,輸出電流為 0
25、。(3) iout2:模擬電流輸出端 2, iout2與 iout1的和為一個常數,即iout1iout2常數。(4) rfb:反饋電阻引出端,dac0832 內部已經有反饋電阻,所以 rfb端可以直接接到外部運算放大器的輸出端,這樣相當于將一個反饋電阻接在運算放大器的輸出端和輸入端之間。(5) vref:參考電壓輸入端,此端可接一個正電壓,也可接一個負電壓,它決定 0 至 255 的數字量轉化出來的模擬量電壓值的幅度,vref范圍為(+10-10)v。vref端與 d/a 內部 t 形電阻網絡相連。(6) vcc:芯片供電電壓,范圍為(+5 15)v。(7) agnd:模擬量地,即模擬電路接
26、地端。(8) dgnd:數字量地。 當 wr2 和 xfer 同時有效時,8 位 dac 寄存器端為高電平“1” ,此時dac 寄存器的輸出端 q 跟隨輸入端 d 也就是輸入寄存器 q 端的電平變化;反之,當端為低電平“0”時,第一級 8 位輸入寄存器 q 端的狀態則鎖存到第二級 8 位 dac 寄存器中,以便第三級 8 位 dac 轉換器進行 d/a 轉換。一般情況下為了簡化接口電路,可以把 wr2 和 xfer 直接接地,使第二級 8 位 dac 寄存器的輸入端到輸出端直通,只有第一級 8 位輸入寄存器置成可選通、可鎖存的單緩沖輸入方式。 特殊情況下可采用雙緩沖輸入方式,即把兩個寄存器都分
27、別接成受控方式制作低頻信號發生器有許多方案:主要有單緩沖方式,雙緩沖方式和10直通方式。單緩沖方式具有適用于只有一路模擬信號輸出或幾路模擬信號非同步輸出的情形的優點,但是電路線路連接比較簡單。而雙緩沖方式適用于在需要同時輸出幾路模擬信號的場合,每一路模擬量輸出需一片 dac0832 芯片,構成多個 dac0832 同步輸出電路,程序簡單化,但是電路線路連接比較復雜。根據以上分析,我們的課題選擇了單緩沖方式使用方便,程序簡單,易操作。工作原理dac0832 主要由 8 位輸入寄存器、8 位 dac 寄存器、8 位 d/a 轉換器以及輸入控制電路四部分組成。8 位輸入寄存器用于存放主機送來的數字量
28、,使輸入數字量得到緩沖和鎖存,由加以控制;8 位 dac 寄存器用于存放待轉換的數字量,由加以控制;8 位 d/a 轉換器輸出與數字量成正比的模擬電流;由與門、非與門組成的輸入控制電路來控制 2 個寄存器的選通或鎖存狀態。dac0832 與反相比例放大器相連,實現電流到電壓的轉換,因此輸出模擬信號的極性與參考電壓的極性相反,數字量與模擬量的轉換關系為vout1=-vref(數字碼/256)若 d/a 轉換器輸出為雙極性,如圖 3-6 所示。iout1iout2vfbda c0832u1567b1098cr2=rr1=2rr3=2rrvout2vref=(字字 字-128)/128+5vvout
29、1i1i2圖 3-6 d/a 轉換器雙極性輸出電路圖 7 中,運算放大器 a2 的作用是把運算放大器 a1 的單向輸出電壓轉換成雙向輸出電壓。其原理是將 a2 的輸入端 通過電阻 r1 與參考電壓 vref 相連,vref 經 r1 向 a2 提供一個偏流 i1,其電流方向與 i2 相反,因此運算放大器 a2 的輸入電流為 i1、i2 之代數和。則 d/a 轉換器的總輸出電壓為:11vout2= -(r3/r2) vout1+(r3/r1) vref設 r1=r3=2r r2=r,則 vout2=-(2vout1+vref) dac0832 主要是用于波形的數據的傳送,是本題目電路中的主要芯片
30、。dac0832 電路原理圖(如圖 3-7 所示) 圖 3-7 dac0832 電路原理圖(b) lm324 工作原理(管腳功能如圖 3-8 所示) 12圖 3-8 lm324 管腳圖lm324 時四運放集成電路 ,它采用 14 腳雙烈直插塑料封袋,外形如圖 1 所示。他的內部包含四組形式完全相同的運算放大器,除電源共用外,四組運放相互獨立。每一組運算放大器可用圖中所示的符號來表示,它有5 個引出腳,其中“+”、“-”為兩個信號輸入端,“v+”、“v-”為正、負電源端,“out”為輸出端。兩個信號輸入端中,“-”為反相輸入端,表示運放輸出端 out 的信號與該輸入端的為相反;“+”為同相輸入端
31、,表示運放輸出端 out 的信號與輸入端的相位相同。lm324 的引腳排列見圖9。由于 lm324 四運放電路具有電源電壓范圍寬,靜態功耗小,可但電源使用,價格低廉等優點,因此被廣泛應用在各種電路中。在此項目中用了 lm324 的三組運放,分別置于第一級輸出,第一、二級之間,第二級輸出。(c)mc1403 工作原理(管腳功能如圖 3-9 所示) 圖 3-9 mc1403 管腳圖mc1403 是低壓基準芯片。一般用作 8 到 12bit 的 d/a 芯片的基準電壓等一些需要基本精準的基準電壓的場合。輸出電壓:2.5v+/-25mv13輸入電壓范圍:4.5vto40v輸出電流:10ma因為輸出是固
32、定的,所以電路很簡單。就是 vin 接電源輸入,gnd 接地,vout 加一個 0.1uf 到 1uf 的電容就可以了。vout 一般用于 8 到 12bit的 d/a 芯片的基準電壓。在此項目里 mc1403 起到了穩壓的作用,它基準了 dac0832 的 8 腳需要的 2.5v。使其 dac0832 能夠正常工作。4.軟件設計單片機技術比較成熟,開發過程可利用的資源和工具豐富,最大的優點是價格便宜,成本低。調試軟件采用 keil51.keiluvison 是眾多單片機應用開發軟件中優秀軟件之一,界面友好,易寫易操作。在調試程序中,軟件仿真 protues 功能也很強,軟件調通,再通過編程器
33、下載到 at89s52中,然后插到系統中即可獨立完成所有的控制。軟件設計上,根據功能分了幾個模塊編程。模塊主要有:主程序模塊、鋸齒波模塊、三角波模塊、正弦波模塊、方波模塊、延時子程序模塊等。顯示波形模塊是利用 dac0832 的 8 位特點,把波形的數據以 8 位數據的形勢送進 cpu 中,只要一按鍵就能顯示波形。4.14.1 主程序流程圖主程序流程圖如圖 4-1 所示。14圖 4-1 主程序流程圖本軟件設計過程中主要實現利用按鍵來控制不同波形的輸出,當按鍵1 按下時,函數發生器就輸出鋸齒波;當按鍵 2 按下時,函數發生器就輸出三角波;當按鍵 3 按下時,函數發生器就輸出正弦波;當按鍵 4 按
34、下時,函數發生器就輸出方波。通過按鍵可以以任意循環方式輸出不同波形。4.24.2 子程序流程圖子程序流程圖1 鋸齒波流程圖 如圖 4-2 所示。15圖 4-2 鋸齒波流程圖鋸齒波產生首先將 dac0832 口地址至為 4000h,然后將 00h 送入寄存器 a 中,dac0832 輸出 a 中的內容,當 a 中的內容等于 f0h 返回開始,當a 中的內容不為 0fh 時,a 中的內容累加,從而輸出波形。2 三角波程序流程圖如圖 4-3 所示。4-3 三角波流程圖三角波產生首先將 dac0832 口地址至為 4000h,通過 a 中數值的加一遞升,當 a 中的內容為 0 時,與 0ffh 相比,
35、相等時 a 中的內容減一遞減,從而循環產生三角波。3 正弦波程序流程圖 如圖 4-4 所示。16圖 4-4 正弦波流程圖正弦波波形設計通過查表指令得出。4 方波程序流程圖 如圖 4-5 所示。圖 4-5 方波流程圖方波產生首先將 dac0832 口地址至為 4000h,當 a 中的內容為 0 時,輸出對應模擬量,然后延時,當 a 中的內容為 0ffh 時,同樣輸出對應模擬量,再延時,從而得到方波。5 延時子程序流程圖如圖 4-6 所示。17 圖 4-6 延時程序流程圖延時程序如下:dely: mov r7,#10hdly0: mov r6,#0edh nopdly1: djnz r6,dly1
36、 djnz r7,dly0 ret方波的上限和下限的延時時間為:7ms s=1+(1+1+2237+2)16+1=7648s5.5.測試結論測試結論5.1 軟件仿真結果在確定編程思路以后將各部分的程序及各子程序編好,使用 keil 進行編譯,根據提示的錯誤對程序進行修改。除了語法差錯和邏輯差錯外,當確認程序沒問題時,通過直接加載到 protues 軟件電路中進行仿真。5.1.1 仿真波形當按鍵 1 撥下時,波形為鋸齒波,同時指示燈 1 發光。仿真圖如圖 5-1 所示。18 圖 5-1 矩尺波仿真圖2 當按鍵 2 撥下時,波形為三角波,同時指示燈 2 發光。仿真圖如圖 5-2 所示。 圖 5-2
37、 三角波仿真圖3 當按鍵 3 撥下時,波形為正弦波,同時指示燈 3 發光。仿真圖如圖 5-3 所示。 圖 5-3 正弦波仿真圖4 當按鍵 4 撥下時,波形為方波,同時指示燈 4 發光。仿真圖如圖5-4 所示。19 圖 5-4 方波仿真圖5.1.2 波形分析在對系統進行波形仿真時可以在虛擬示波器上觀察到鋸齒波、三角波、正弦波和方波的波形。其中鋸齒波、三角波以及正弦波的輸出誤差較大,方波波形較為理想。這一方面與電路設置的參數有關,另一方面也與使用的仿真軟件有關。對于上述問題的解決辦法是:改變仿真電路的參數或著換用版本較高的仿真軟件。當然一般產生這種情況的原因多由于電路的參數設計不合理所制。但從仿真
38、波形上可以看出輸出波形的頻率大致與程序中的設置吻合。波形的幅度與程序設置的最大值有關,而頻率受機器周期的控制。當仿真時,由于存在一定的系統誤差,波形效果不是很好。5.2 硬件測試結果5.2.1 硬件測試波形1 當按鍵 1 撥下時,波形為鋸齒波,同時指示燈 1 發光。波形圖如圖5-5 所示。 圖 5-5 鋸齒波波形圖 2 當按鍵 2 撥下時,波形為三角波,同時指示燈 2 發光。波形圖如圖 5-6 所示。20 圖 5-6 三角波波形圖3 當按鍵 3 撥下時,波形為正弦波,同時指示燈 3 發光。波形圖如圖 5-7 所示。 圖 5-7 正弦波波形圖4 當按鍵 4 撥下時,波形為方波,同時指示燈 4 發
39、光。波形圖如圖5-8 所示。圖 5-8 方波波形圖5.2.2 產生各種波形輸出結果鋸齒波:vp-p=1.2v f=800hz三角波:vp-p=1.5v f=5.6khz正弦波:vp-p=3.5v f=1.3khz21方波: vp-p=5.2v f=100hz通過按鍵控制可產生方波、鋸齒波、三角波、正弦波等,同時用 led 顯示燈指示對應的形。本系統設計簡單、性能較好,在經后只要加以適當的改近就可具有一定的實用性。5.2.3 波形結果分析在將電路和實物連接的情況下再將程序下載至單片機中進行實際電路的測試時,電路輸出的四種波形基本上都可以看到,其中鋸齒波、三角波以及正弦波的輸出誤差較大,方波波形較
40、為理想。但是基本上是符合設計要求的。鋸齒波和三角波輸出波形中雜波成分較大,波形不是較理想,這與實際要求存在一些誤差,這些誤差的來源主要是由于電路的具體參數選擇不好以及程序的時延所造成的。當然在實際電路測量時由于實驗環境的干擾也會對輸出波形有一些影響,這些影響主要是使輸出波形產生寄生的高頻雜波,具體表現就是使輸出波形質量變壞,波形邊厚。在對電路進行調試時適當改變數模轉換電路及輸出放大電路參數電路輸出結果相對較好一些。6.6.參考文獻參考文獻1 孫俊逸,盛秋林,張錚等.單片機原理及應用m.北京:清華大學出版社,2001.2 蔡美琴.mcs-51 系列單片機系統及其應用m.北京:高等教育出版社,20
41、00.3 孫育才,孫華芳,王榮興.單片機原理及應用m.北京:電子工業出版社,2003.4 李鴻.單片機原理及應用m.湖南:湖南大學出版社,2004.5 丁元杰.單片微機原理及應用.第二版m.北京:機械工業出版社,2001.6 潘新民 王燕芳 編著.微型計算機控制技術. 北京:高等教育出版社,2004.7 馬忠梅.單片機的 c 語言應用程序設計m.北京:北京北航出版社,2003.8 王新賢.通用集成電路速查手冊.濟南:山東科學技術出版社,2002.922附錄 1 元件清單標號標注dac0832u1lm324u2mc1403u31kr11kr21kr31kr41kr51kr61kr71kr810k
42、r920kr1020kr111kri電位器 10krw0.47ufc10.2ufc20.1ufci10.1ufci20.1ufci322ufci410ufci510ufci6ledl1ledl2ledl3ledl4ledl5at89s52u023附錄 2 電路原理圖24附錄 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 dpt
43、r,#7fffhmov p2,#00hmov a,#00hmovx dptr,ascan_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 產生鋸齒波;b1:clr
44、 p1.4 setb p1.525 setb p1.6 setb p1.7lp: mov a,#00h mov dptr,#4000h movx dptr,a lp1: inc a mov p2,a cjne a,#0ffh,lp1 ljmp scan_key1;利用 dac0832 產生三角波;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 s
45、can_key2;利用 dac0832 產生正弦波;b3: mov r1,#00h ;取表格初值 ;在表格里取數送到指定地址/ loop1:clr p1.6 setb p1.4 setb p1.5 setb p1.7 mov a,r1 mov dptr,#settab 26 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,
46、0abh,0aeh 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
47、, 0ffh,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, 8d
48、h, 89h, 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
49、, 04h, 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 27db 16h, 18h, 1ah, 1ch, 1eh, 20h, 22h, 25h db 27h, 29h, 2bh, 2eh, 30h, 33h, 35h, 38h db 3ah, 3dh, 40h, 43h, 45h, 48
50、h, 4ch, 4eh db 51h, 55h, 57h, 5ah, 5dh, 60h, 63h, 66h db 69h, 6ch, 6fh, 72h, 76h, 79h, 7ch, 80h ljmp scan_key3;利用 dac0832 產生方波;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:d
51、jnz r6,dl2 retend28附錄 4 proteus 仿真系統簡介1 proteus 仿真系統概述proteus 軟件是英國 labcenter electronics 公司出版的 eda 工具軟件。它不僅具有其它 eda 工具軟件的仿真功能,還能仿真單片機及外圍器件。它是目前最好的仿真單片機及外圍器件的工具。雖然目前國內推廣剛起步,但已受到單片機愛好者、從事單片機教學的教師、致力于單片機開發應用的科技工作者的青睞。1.1 功能特點 :proteus 軟件具有其它 eda 工具軟件(例:multisim)的功能。這些功能是:(1)原理布圖(2)pcb 自動或人工布線(3)spice
52、電路仿真革命性的特點 :(1)互動的電路仿真用戶甚至可以實時采用諸如 led/lcd、鍵盤、rs232 終端等動態外設模型來對設 計進行交互仿真。(2)仿真處理器及其外圍電路 可以仿真 51 系列、avr、pic 等常用主流單片機。還可以直接在基于原理圖的虛擬原型上編程,再配合顯示及輸出,能看到運行后輸入輸出的效果。配合系統配置的虛擬邏輯分析儀、示波器等,proteus 建立了完備的電子設計開發環境。 1.2 功能模塊1)個易用而又功能強大的 isis 原理布圖工具;2)prospice 混合模型 spice 仿真;3) ares pcb 設計. 1.3 proteus 所提供的資源1)pro
53、teus 可提供的仿真元器件資源:仿真數字和模擬、交流和直流等數千種元器件,有 30 多個元件庫。2)proteus 可提供的仿真儀表資源 :示波器、邏輯分析儀、虛擬終端、spi 調試器、i2c 調試器、信號發生器、模式發生器、交直流電壓表、交直流電流表。理論上同一種儀器可以在一個電路中隨意的調用。 3)除了現實存在的儀器外,proteus 還提供了一個圖形顯示功能,可以將線路上變化的信號,以圖形的方式實時地顯示出來,其作用與示29波器相似,但功能更多。這些虛擬儀器儀表具有理想的參數指標,例如極高的輸入阻抗、極低的輸出阻抗。這些都盡可能減少了儀器對測量結果的影響。 4)proteus 可提供的
54、調試手段 proteus 提供了比較豐富的測試信號用于電路的測試。這些測試信號包括模擬信號和數字信號。 1.4 用 proteus 實現軟件仿真1)支持多種主流單片機系統的仿真:支持當前的主流單片機,如 51 系列、avr 系列、pic12 系列、pic16系列、pic18 系列、z80 系列、hc11 系列、68000 系列等。2)提供軟件調試功能:3)提供豐富的外圍接口器件及其仿真ram,rom,鍵盤,馬達,led,lcd,ad/da,部分 spi 器件,部分iic 器件。這樣很接近實際。在訓練學生時,可以選擇不同的方案,這樣更利于培養學生。4)提供豐富的虛擬儀器:利用虛擬儀器在仿真過程中
55、可以測量外圍電路的特性,培養學生實際硬件的調試能力。5) 具有強大的原理圖繪制功能:2 proteus 單獨仿真在 protues 繪制好原理圖后,調入已編譯好的目標代碼文件:*.hex,可以在 proteus 的原理圖中看到模擬的實物運行狀態和過程。 proteus 在“單片機原理與應用技術”中的作用1)proteus 是單片機課堂教學的先進助手。proteus 不僅可將許多單片機實例功能形象化,也可將許多單片機實例運行過程形象化。前者可在相當程度上得到實物演示實驗的效果,后者則是實物演示實驗難以達到的效果。 2)proteus 是單片機實驗教學的虛擬平臺。它的元器件、連接線路等卻和傳統的單
56、片機實驗硬件高度對應。這在相當程度上替代了傳統的單片機實驗教學的功能,例:元器件選擇、電路連接、電路檢測、電路修改、軟件調試、運行結果等。 3)proteus 是單片機課程設計、畢業設計的創作園地。 課程設計、畢業設計是學生走向就業的重要實踐環節。由于 proteus提供了實驗室無法相比的大量的元器件庫,提供了修改電路設計的靈活性、提供了實驗室在數量、質量上難以相比的虛擬儀器、儀表,因而也提供了30培養學生實踐精神、創造精神的平臺 4)proteus 是單片機開發應用的工程開發環境。 隨著科技的發展, “計算機仿真技術”已成為許多設計部門重要的前期設計手段。它具有設計靈活,結果、過程的統一的特點。可使設計時間大為縮短、耗資大為減少,也可降低工程制造的風險。相信在單片機開發應用中 proteus 也能茯得愈來愈廣泛的應用。 proteus 組合了高級原理布圖、混合模式 spice 仿真,pcb 設計以及自動布線來實現一個完整的電子設計系統。此系統受益于 15 年來的持續開發,被電子世界在其對 pcb 設計系統的比較文章中評為最好產品“the route to pcb cad” 。 proteus 產品系列也包含了革命性的 vsm 技術,用戶可以對基于微控制器的設計連同所有的周圍電子器件一起仿真。用戶甚至
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 腎結石考試試題及答案
- 教育教學反思策略分享試題及答案
- 注冊土木工程師考試備考心理調節試題及答案
- 研究2025創業扶持政策內容試題及答案
- 教師教育教學反思與學生心理支持的結合探討試題及答案
- 會計筆試題目及答案解析
- 環境發展面試真題及答案
- 新能源汽車制造核心零部件供應鏈安全與風險防范報告
- 2025年消防知識考試題及答案
- 2025年3月消防a卷試題及答案
- 2024年江西省氣象部門招聘考試真題
- 2025-2030中國生物計算市場研發創新及發展前景趨勢預測研究報告
- 2025年一年級分批入隊闖關活動
- (二模)2025年深圳市高三年級第二次調研考試歷史試卷(含標準答案)
- 曳引式電梯知識培訓課件
- 中國南水北調集團水網發展研究有限公司招聘筆試題庫2025
- 貴港輔警考試題庫2024
- 閩教版新課標三年級信息技術教案下冊
- 2025年山東省淄博市張店區中考一模歷史試題(含答案)
- 2025年內蒙古中考一模英語試題(原卷版+解析版)
- 高中生女生性教育
評論
0/150
提交評論