電子技術(shù)課程設(shè)計與實踐
題目:基于單片機的簡易智能信號源發(fā)生器設(shè)計
——波形頻率的調(diào)節(jié)
學院:電氣電子工程學院
專業(yè):通信工程
摘要
目錄
第一章 緒論 1
1.1信號發(fā)生器背景 1
1.2信號發(fā)生器發(fā)展趨勢 1
1.3信號發(fā)生器的應(yīng)用 1
第二章 信號發(fā)生器的結(jié)構(gòu)和設(shè)計 3
2.1 信號發(fā)生器的基本結(jié)構(gòu) 3
2.2 電路設(shè)計 3
2.2.1 單片機基本結(jié)構(gòu) 3
2.2.2 復位電路 5
2.2.3 鍵盤電路 5
2.2.4 LCD顯示電路 7
2.2.5 5DAC0832芯片 8
2.2.6 LM358 11
2.3 程序設(shè)計 12
2.3.1 主程序流程圖 13
2.3.2 頻率調(diào)節(jié) 13
2.3.3 正弦波產(chǎn)生 14
2.3.4 方波產(chǎn)生 15
2.3.5 三角波產(chǎn)生 16
2.3.6 鋸齒波波產(chǎn)生 17
第三章 系統(tǒng)調(diào)試 18
3.1 硬件調(diào)試 18
3.2 軟件調(diào)試 18
3.3 實際調(diào)試 26
第四章 總結(jié)與展望 26
4.1總結(jié)問題 26
4.2展望未來 22
參考文獻 27
附 錄 28
附錄1 實物圖 28
附錄2 仿真圖 29
附錄3 程序代碼 30
附錄4 原件清單 37
致 謝 38
1.1 信號發(fā)生器背景
信號發(fā)生器,作為實驗用信號源,是現(xiàn)今各種電子電路實驗設(shè)計應(yīng)用中必不可少的儀器設(shè)備之一。目前,市場上常見的信號發(fā)生器多為純硬件的搭接而成,且波形種類有限,多為鋸齒、正弦、方波、三角等波形。
信號發(fā)生器是能夠產(chǎn)生大量的標準信號和用戶定義信號,并保證高精度、高穩(wěn)定性、可重復性和易操作性的電子儀器。信號發(fā)生器具有連續(xù)的相位變換和頻率穩(wěn)定性高等優(yōu)點,不僅可以模擬各種復雜信號,還可對頻率、幅值、相移、波形進行動態(tài)、及時的控制,并能夠與其它儀器進行通訊,組成自動測試系統(tǒng),因此被廣泛用于自動控制系統(tǒng)、震動激勵、通訊和儀器儀表領(lǐng)域。
在 70 年代前,信號發(fā)生器主要有兩類:正弦波和脈沖波,而函數(shù)發(fā)生器介于兩類之間,能夠提供正弦波、余弦波、方波、三角波、上弦波等幾種常用標準波形,產(chǎn)生其它波形時,需要采用較復雜的電路和機電結(jié)合的方法。這個時期的信號發(fā)生器多采用模擬電子技術(shù),而且模擬器件構(gòu)成的電路存在著尺寸大、價格貴、功耗大等缺點。
在 70 年代前,信號發(fā)生器主要有兩類:正弦波和脈沖波,而函數(shù)發(fā)生器介于兩類之間,能夠提供正弦波、余弦波、方波、三角波、上弦波等幾種常用標準波形,產(chǎn)生其它波形時,需要采用較復雜的電路和機電結(jié)合的方法。這個時期的波形發(fā)生器多采用模擬電子技術(shù),而且模擬器件構(gòu)成的電路存在著尺寸大、價格貴、功耗大等缺點。
在 70 年代后,微處理器的出現(xiàn),可以利用處理器、A/D/和 D/A,硬件和軟件使信號發(fā)生器的功能擴大,產(chǎn)生更加復雜的波形。這時期的信號發(fā)生器多以軟件為主,實質(zhì)是采用微處理器對 DAC的程序控制,就可以得到各種簡單的波形。
1.2 信號發(fā)生器發(fā)展趨勢
當今是科學技術(shù)及儀器設(shè)備高度智能化飛速發(fā)展的信息社會,電子技術(shù)的進步,給人們帶來了根本性的轉(zhuǎn)變,在現(xiàn)代電子領(lǐng)域中,單片機的應(yīng)用正在不斷的走向深入,這必將帶來一場儀器設(shè)備高度智能化的全面革命。隨著集成電路的迅速發(fā)展,用集成電路可很方便地構(gòu)成各種信號發(fā)生器,而用集成電路實現(xiàn)的信號發(fā)生器與其它信號發(fā)生器相比,其波形質(zhì)量、幅度和頻率穩(wěn)定性等性能指標,都有了很大的提高,特別是單片機應(yīng)用技術(shù)的不斷成熟,導致傳統(tǒng)控制與檢測技術(shù)的快速革新。單片機構(gòu)成的儀器具有高可靠性、高性能價格比,在智能儀表系統(tǒng)和辦公自動化等諸多領(lǐng)域中得以極為廣泛的應(yīng)用,特別是在電子工程、通信工程、自動控制、遙測控制、測量儀器、儀表和計算機等技術(shù)領(lǐng)域處處可以看見它的應(yīng)用。
一塊單片機芯片就是一臺微型計算機,在某些應(yīng)用領(lǐng)域中,它能夠承擔大中型計算機和通用微型計算機無法完成的一些工作。單片機之所以能夠在各個領(lǐng)域中都得到如此迅猛的發(fā)展,主要是因為它具有很多顯著的優(yōu)點和特點,歸納起來有以下幾方面:
1. 具有優(yōu)異的性能價格比:單片機盡可能地把應(yīng)用所需的存儲器,各種功能的I/O 接口集成在一塊芯片內(nèi),因而其性能很高,而價格卻相對較低廉,即性能價格比很高。
2. 集成度高、體積小、可靠性高:單片機把各種功能部件集成在一塊芯片上,因而集成度高,均為大規(guī)模或超大規(guī)模集成電路。又內(nèi)部采用總線結(jié)構(gòu),減少了芯片之間的連線,這大大提高了單片機的可靠性與抗干擾能力。同時,其體積小,對于強磁場環(huán)境易于采取屏蔽措施,適合于在惡劣環(huán)境下工作。
3. 控制功能強:單片機體積雖小,但“五臟俱全”,它非常適用于專門的控制用途。為了滿足工業(yè)控制要求,一般單片機的指令系統(tǒng)中有極豐富的轉(zhuǎn)移指令,I/O口的邏輯操作指令以及位操作指令。其邏輯控制功能及運行速度均高于同一檔次的微機。
4. 低電壓、低功耗:單片機大量用于攜帶式產(chǎn)品和家用消費類產(chǎn)品,低電壓和低功耗尤為重要。目前,許多單片機已可在2.2V電壓下運行,有的已能在1.2V或0.9V下工作,功耗降至μA級,一粒鈕扣電池就可長期使用。
利用單片機采用程序設(shè)計方法來產(chǎn)生低頻信號,其下限頻率很低。具有線路相對簡單,結(jié)構(gòu)緊湊,價格低廉,頻率穩(wěn)定度高,抗干擾能力強,用途廣泛等優(yōu)點,并且能夠?qū)Σㄐ芜M行細微調(diào)整,改良波形,使其滿足系統(tǒng)的要求。只要對電路稍加修改,調(diào)整程序,即可完成功能升級。
1.3 信號發(fā)生器的應(yīng)用
第二章 信號發(fā)生器的結(jié)構(gòu)和設(shè)計
2.1 信號發(fā)生器的基本結(jié)構(gòu)
低頻信號發(fā)生器系統(tǒng)主要由CPU、D/A轉(zhuǎn)換電路、電流/電壓轉(zhuǎn)換電路、按鍵和波形指示電路、電源等電路組成。
其工作原理為當分別按下四個按鍵中的一個按鍵就會分別切換出方波、鋸齒波、三角波、正弦波,并且有四個發(fā)光二極管分別作為不同的波形指示燈。
圖2.1 信號發(fā)生器電路框圖
2.2電路設(shè)計
2.2.1 單片機的基本結(jié)構(gòu)
STC89C52 是一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash 存儲器。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng) 可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。 STC89C52具有以下標準功能:8k字節(jié)Flash,256字節(jié)RAM,32 位I/O口線,看門狗定時器,2個數(shù)據(jù)指針,三個16位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,STC89C52可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。空閑模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復位為止。
P0口:P0口是一個8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動8個TTL邏輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入。
P1口:P1口是一個具有內(nèi)部上拉電阻的8位雙向I/O口,p1輸出緩沖器能驅(qū)動4個TTL邏輯電平。對P1端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。
P2口:P2口是一個具有內(nèi)部上拉電阻的8位雙向I/O口,對P2端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。
P3口:P3口是一個具有內(nèi)部上拉電阻的8 位雙向I/O口,p3 輸出緩沖器能驅(qū)動4個TTL邏輯電平。
RST:復位輸入。當振蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高電平將是單片機復位。
ALE/PROG:當訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時鐘振蕩頻率的1/6輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。
PSEN:程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當STC89C52由外部程序存儲器取指令(或數(shù)據(jù))時,每個機器周期兩次PSEN有效,即輸出兩個脈沖,在此期間,當訪問外部數(shù)據(jù)存儲器,將跳過兩次PSEN信號。
EA/VPP:外部訪問允許,欲使CPU僅訪問外部程序存儲器(地址為0000H-FFFFH),EA端必須保持低電平(接地)。
XTAL1:振蕩器反相放大器和內(nèi)部時鐘發(fā)生電路的輸入端。
XTAL2:振蕩器反相放大器的輸出端。
對于 STC89C52,如果EA接VCC,程序讀寫先從內(nèi)部存儲器(地址為0000H~1FFFH)開始,接著從外部尋址,尋址地址為:2000H~FFFFH。
數(shù)據(jù)存儲器:STC89C52有256字節(jié)片內(nèi)數(shù)據(jù)存儲器。高128字節(jié)與特殊功能寄存器重疊。也就是說高128字節(jié)與特殊功能寄存器有相同的地址,而物理上是分開的。
STC89C52具有如下特點:40個引腳,8k Bytes Flash 片內(nèi)程序儲存器,256 bytes的隨機存取數(shù)據(jù)存儲器(RAM),32個外部雙向輸入/輸出(I/0)口,5個中斷優(yōu)先級2層中斷嵌套中斷,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時鐘振蕩器。此外,STC89C52設(shè)計和配置了振蕩頻率可為0HZ并通過軟件設(shè)置省電模式?臻e模式,CPU暫停工作,而RAM定時計數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其他功能直至外中斷激活或硬件復位[1][2][3]。同時該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求, STC89C52引腳如圖2.2所示。
圖2.2 STC89C52引腳示意圖
主要功能特性:
·兼容Mcs-51指令系統(tǒng) ·8K可反復擦寫ISP Flash ROM
·32個雙向I/O口 ·4.5~5.5v工作電壓
·3個16位可編程定時計數(shù)器 ·時鐘頻率0-33MHz
·全雙工作UART穿行中斷口線·256bit內(nèi)部RAM
·2個外部中斷源 ·低功耗空閑和省電模式
·中斷喚醒省電模式 ·3級加密位
·看門狗(WDT)電路 ·軟件設(shè)置空閑和省電功能
·靈活的ISP字節(jié)和分頁編程 ·雙數(shù)據(jù)寄存器指針
2.2.2 復位電路
復位是單片機的初始化操作,其主要的作用是把PC初始化為0000H,使單片機從0000H單元開始執(zhí)行程序。除了進入系統(tǒng)的正常初始化之外,當由于程序運行出錯或操作失誤使系統(tǒng)處于死鎖狀態(tài)時,為擺脫困境,也需要按復位鍵以重新啟動。除使PC歸零外,復位操作還對其他一些專用寄存器有影響,它們的復位狀態(tài)如表所示:
表2-1 復位后的內(nèi)部寄存器狀態(tài)
寄存器 | 復位狀態(tài) | 寄存器 | 復位狀態(tài) |
PC | 0000H | TMOD | 00H |
ACC | 00H | TCON | 00H |
B | 00H | TH0 | 00H |
PSW | 00H | TL0 | 00H |
SP | 07H | TH1 | 00H |
DPTR | 0000H | TL1 | 00H |
P0-P3 | 0FFH | SCON | 00H |
IP | (xxx00000) | SBUF | (xxxxxxxx) |
IE | (0xx00000) | PCON | (0xxx0000) |
另外,復位操作還對單片機的個別引腳有影響,例如會把ALE和/PSEN變成無效狀態(tài),即使ALE=0,/PSEN=1。RST變成低電平后,退出復位狀態(tài),CPU從初始狀態(tài)開始工作。
89C51復位操作有3種方式:上電復位、上電按鈕復位和系統(tǒng)復位。上電復位電路如圖2.3所示。對于CMOS型單片機因RST引腳的內(nèi)部有一個拉低電阻,故電阻R可不接。單片機在上電瞬間,RC電路充電,RST引腳端出現(xiàn)正脈沖,只要RST端保持兩個機器周期以上的高電平,就能使單片機有效地復位。當晶體振蕩頻率為12MHz時,RC的典型值為C=10uF,R=8.2K歐姆。簡單復位電路中,干擾信號易串入復位端,可能會引起內(nèi)部某些寄存器錯誤復位,這時可在RST引腳上接一去耦電容。
通常因為系統(tǒng)運行等的需要,常常需要人工按鈕復位,復位電路如圖2.4所示,其中R2>>R1,只需將一個常開按鈕開關(guān)并聯(lián)于上電復位電路,按下開關(guān)一定時間就能使RST引腳端為高電平,從而使單片機復位。
圖2-3上電復位電路圖2-4上電按鈕復位電路
2.2.3 鍵盤電路
根據(jù)設(shè)計的電路特點,只需要用到4個按鈕來選擇波形,實現(xiàn)的功能也比較簡單,所以采用獨立式未編碼鍵盤結(jié)構(gòu)。鍵盤原理圖如圖2.5所示。本系統(tǒng)采用獨立鍵盤開關(guān),其中按鍵“K1”可以來調(diào)節(jié)切換波形的輸出,按鍵“K4”用來調(diào)節(jié)調(diào)節(jié)波形頻率的步進值。按鍵“K2”,“K3”可以調(diào)節(jié)波形頻率的加和減。
圖2.5 鍵盤原理圖
2.2.4 LCD顯示電路
液晶顯示器以其微功耗、體積小、顯示內(nèi)容豐富、超薄輕巧的諸多優(yōu)點,在袖珍式儀表和低功耗應(yīng)用系統(tǒng)中得到越來越廣泛的應(yīng)用。在本設(shè)計采用的字符型液晶模塊是一種用5x7點陣圖形來顯示字符的液晶顯示器,根據(jù)顯示的容量可以分為1行16個字、2行16個字、2行20個字等等,這里以常用的2行16個字的1602液晶模塊來介紹它的編程方法。1602采用標準的16腳接口,其中:
第3腳:VEE為液晶顯示器對比度調(diào)整端;
第4腳:RS為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器;
第5腳:RW為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當RS和RW共同為低電平時可以寫入指令或者顯示地址,當RS為低電平RW為高電平時可以讀忙信號,當RS為高電平RW為低電平時可以寫入數(shù)據(jù);
第6腳:E端為使能端,當E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令;
第7~14腳:D0~D7為8位雙向數(shù)據(jù)線;
第15~16腳:空腳。
液晶顯示模塊是一個慢顯示器件,所以在執(zhí)行每條指令之前一定要確認模塊的忙標志為低電平,表示不忙,否則此指令失效。要顯示字符時要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符,表2-2是DM-162的內(nèi)部顯示地址。
表2.2 1602的內(nèi)部顯示地址
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 序號 |
00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 0A | 0B | 0C | 0D | 0E | 0F | 第一行 |
40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 4A | 4B | 4C | 4D | 4E | 4F | 第二行 |
1602液晶模塊內(nèi)部的字符發(fā)生存儲器(CGROM)已經(jīng)存儲了160個不同的點陣字符圖形,這些字符有:阿拉伯數(shù)字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼。在軟件中設(shè)置溫度的代碼是:30.0℃(00110011B,00110000B,00101110B, 00110000B,01000011B);37.0℃(00110011B,00110111B,00101110B,00110000B,01000011B);60℃(00110110B,00110000B,01000011B)。
在液顯電路連接上,LCD1602顯示模塊可以直接和單片機STC89C51直接接口,液晶顯示的D0~D7八個雙向端口接STC89C51單片機的P0口的P0.0~P0.7,單片機的P0口可以作為通用的輸入,輸出端口使用,此時,若要驅(qū)動NMOS或其他拉電流負載時,需外接上拉電阻,才能使該位高電平有效,所以中間接10K的排阻,決定顯示器高低點位,是否要顯示。
由于VEE端接電源時接正電源時對比度最弱,接地電源時對比度最高,對比度過高時會產(chǎn)生“鬼影”,對比度過低會使屏幕模糊不清,所以使用時可以通過一個10K的電位器來調(diào)整它的對比度。LCD1602的RS寄存器選擇端口接單片機的P2.5口,通過軟件程序中對此端口的設(shè)置來決定選擇的寄存器。液顯的RW端口直接接單片機的P2.6口,高電平時進行對輸入的數(shù)字信號進行讀數(shù)。使能E端接單片機的P2.7口,使能端由高電平到低電平時開始執(zhí)行命令,把讀數(shù)顯示出來。
LCD顯示電路原理圖如圖2.6:
圖2.6 LCD現(xiàn)顯示電路
2.2.5 DAC0832芯片
DAC0832是8分辨率的D/A轉(zhuǎn)換集成芯片。與微處理器完全兼容。這個DA芯片以其價格低廉、接口簡單、轉(zhuǎn)換控制容易等優(yōu)點,在單片機應(yīng)用系統(tǒng)中得到廣泛的應(yīng)用。D/A轉(zhuǎn)換器由8位輸入鎖存器、8位DAC寄存器、8位D/A轉(zhuǎn)換電路及轉(zhuǎn)換控制電路構(gòu)成。
DAC0832的主要特性參數(shù)如下:
分辨率為8位;
電流穩(wěn)定時間1us;
可單緩沖、雙緩沖或直接數(shù)字輸入;
只需在滿量程下調(diào)整其線性度;
單一電源供電(+5V~+15V);
低功耗,僅需要200mW。
DI7~DI0:8位的數(shù)據(jù)輸入端,DI7為最高位。
ILE:數(shù)據(jù)鎖存允許控制信號輸入線,高電平有效。
/CS:選片信號輸入線(選通數(shù)據(jù)鎖存器),低電平有效。
/WR1:數(shù)據(jù)鎖存器寫選選通輸入線,負脈沖有效,由ILE、/CS、/WR1的邏輯組合產(chǎn)生/LE1,當/LE1為高電平時,數(shù)據(jù)鎖存器狀態(tài)隨輸入數(shù)據(jù)線變化,/LE1的負跳變時將輸入數(shù)據(jù)鎖存。
/XFER:數(shù)據(jù)傳輸控制信號輸入線,低電平有效,負脈沖有效。
/WR2:DAC寄存器選通輸入線,負脈沖有效,由/WR2、/XFER的邏輯組合產(chǎn)生/LE2,當/LE2為高電平時,DAC寄存器的輸出隨寄存器的輸入而變化,/LE2的負跳變時將數(shù)據(jù)鎖存器的內(nèi)容打入DAC寄存器并開始D/A轉(zhuǎn)換。
Iout1:模擬電流輸出端1,當DAC寄存器中數(shù)據(jù)全為1時,輸出電流最大,當 DAC寄存器中數(shù)據(jù)全為0時,輸出電流為0。
Iout2:模擬電流輸出端2,Iout1與Iout2的和為一個常數(shù),即Iout1+Iout2=常數(shù)。
RFB:反饋電阻引出端,DAC0832內(nèi)部已經(jīng)有反饋電阻,所以 RFB端可以直接接到外部運算放大器的輸出端,這樣相當于將一個反饋電阻接在運算放大器的輸出端和輸入端之間。
VREF:參考電壓輸入端,此端可接一個正電壓,也可接一個負電壓,它決定0至255的數(shù)字量轉(zhuǎn)化出來的模擬量電壓值的幅度,VREF范圍為(+10~-10)V。VREF端與D/A內(nèi)部T形電阻網(wǎng)絡(luò)相連。
Vcc:芯片供電電壓,范圍為(+5~+15)V。
AGND:模擬量地,即模擬電路接地端。
DGND:數(shù)字量地。
DAC0832主要由8位輸入寄存器、8位DAC寄存器、8位D/A轉(zhuǎn)換器以及輸入控制電路四部分組成。8 位輸入寄存器用于存放主機送來的數(shù)字量,使輸入數(shù)字量得到緩沖和鎖存,由加以控制;8位DAC寄存器用于存放待轉(zhuǎn)換的數(shù)字量,由加以控制;8位D/A轉(zhuǎn)換器輸出與數(shù)字量成正比的模擬電流;由與門、非與門組成的輸入控制電路來控制2個寄存器的選通或鎖存狀態(tài)。原理框圖如圖2.7所示:
圖2.7 DAC0832原理框圖
當/WR2和/XFER同時有效時,8位DAC寄存器端為高電平“1”,此時DAC寄存器的輸出端Q跟隨輸入端D也就是輸入寄存器Q端的電平變化;反之,當端為低電平“0”時,第一級8位輸入寄存器Q端的狀態(tài)則鎖存到第二級8位DAC寄存器中,以便第三級8位DAC轉(zhuǎn)換器進行D/A轉(zhuǎn)換。
一般情況下為了簡化接口電路,可以把/WR2和/XFER直接接地,使第二級8位DAC寄存器的輸入端到輸出端直通,只有第一級8位輸入寄存器置成可選通、可鎖存的單緩沖輸入方式。特殊情況下可采用雙緩沖輸入方式,即把兩個寄存器都分別接成受控方式。
DAC0832與反相比例放大器相連,實現(xiàn)電流到電壓的轉(zhuǎn)換,因此輸出模擬信號的極性與參考電壓的極性相反,數(shù)字量與模擬量的轉(zhuǎn)換關(guān)系為
Vout1=-Vref×(數(shù)字碼/256) (2-1)
DAC0832內(nèi)部的8位D/A轉(zhuǎn)換電路由8位T型電阻網(wǎng)絡(luò)和電子開關(guān)組成,電子開關(guān)受8位DAC寄存器輸出的數(shù)字量控制,T型電阻網(wǎng)絡(luò)能輸出和數(shù)字量成正比的模擬電流。因此,DAC0832通常需要外接運算放大器,進行電流電壓轉(zhuǎn)換,才能得到模擬輸出電壓。
當輸入到DAC0832的數(shù)字量最高位為1時,則輸出的模擬電壓為正;當輸入到DAC0832的數(shù)字量最高位為0時,則輸出的模擬電壓為負,從而實現(xiàn)了模擬電壓的雙極性輸出。
2.2.6 LM358工作原理
LM358管腳排列如下圖所示:
圖2.8 LM358管腳圖
LM358是雙運放集成電路 ,它采用8腳雙列直插塑料封袋,外形如上圖所示。它的內(nèi)部包含兩組形式完全相同的運算放大器,除電源共用外,兩組運放相互獨立。每一組運算放大器可用圖中所示的符號來表示,它有5個引出腳,其中“+”、“-”為兩個信號輸入端,“V+”、“V-”為正、負電源端,“OUT”為輸出端。兩個信號輸入端中,“-”為反相輸入端,表示運放輸出端OUT的信號與該輸入端的為相反;“+”為同相輸入端,表示運放輸出端OUT的信號與輸入端的相位相同。由于LM358雙運放電路具有電源電壓范圍寬,靜態(tài)功耗小,可單電源使用,價格低廉等優(yōu)點,因此被廣泛應(yīng)用在各種電路中。
特性:
低輸入偏流
內(nèi)部頻率補償
直流電壓增益高(約100dB)
單位增益頻帶寬(約1MHz)
電源電壓范圍寬:單電源(3—30V);雙電源(±1.5 一±15V)
低功耗電流,適合于電池供電
低輸入失調(diào)電壓和失調(diào)電流
共模輸入電壓范圍寬,包括接地
差模輸入電壓范圍寬,等于電源電壓范圍
輸出電壓擺幅大(0 至Vcc-1.5V)
圖2.9 LM358原理圖
2.3 程序設(shè)計
2.3.1 主程序流程圖
主程序流程圖如圖所示:
圖2.10 主程序框圖
2.3.2 頻率調(diào)節(jié)程序
通過改變定時器的周期達到改變頻率的目的
圖2.11 頻率改變程序框圖(見附件)
2.3.3 正弦波產(chǎn)生程序
正弦波程序流程圖如圖2.12所示
圖2.12 正弦波程序流程圖
2.3.4 方波產(chǎn)生程序
方波程序流程圖如圖2.13所示
圖2.13 方波程序流程圖
方波產(chǎn)生是當A中的內(nèi)容為0時,輸出對應(yīng)模擬量,然后延時,當A中的內(nèi)容為0FFH時,同樣輸出對應(yīng)模擬量,再延時,從而得到方波。
延時子程序流程圖如圖2.14所示
2.3.5 三角波產(chǎn)生程序
三角波流程圖如圖2.15所示
圖2.15 三角波產(chǎn)生流程圖
三角波產(chǎn)生通過A中數(shù)值的加一遞升,當A中的內(nèi)容加到為0時, A中的內(nèi)容減一遞減,從而循環(huán)產(chǎn)生三角波。
2.3.5 鋸齒波產(chǎn)生程序
鋸齒波流程圖如圖2.15所示。
圖2.15 鋸齒波流程圖
鋸齒波產(chǎn)生將00H送入寄存器A中,DAC0832輸出A中的內(nèi)容,當A中的內(nèi)容等于FFH返回開始,當A中的內(nèi)容不為FFH時,A中的內(nèi)容累加,從而輸出波形。
第三章 系統(tǒng)測試
3.1 硬件調(diào)試
為了準確發(fā)現(xiàn)系統(tǒng)存在的問題,需要進行系統(tǒng)調(diào)試,調(diào)試的順序按照先硬件后軟件,先局部后整體的順序來完成。首先介紹系統(tǒng)的硬件安裝過程及針對各單元模塊的硬件電路調(diào)試,檢驗其是否符合設(shè)計初衷,能否達到相應(yīng)指標。硬件調(diào)試主要包括電源系統(tǒng)的調(diào)試、單片機小系統(tǒng)的調(diào)試、D/A轉(zhuǎn)換電路的調(diào)試、示波器的調(diào)試幾部分。
為保證整個系統(tǒng)能夠正常工作,首先要保證電源系統(tǒng)正常工作并且保證輸出為+5V。通過測量輸出口的電壓值不斷修改電路設(shè)計,完成電源系統(tǒng)的調(diào)試。
3.2 軟件調(diào)試
主要進行了單片機STC89C52的軟件調(diào)試過程,檢驗其是否符合設(shè)計初衷,能否達到相應(yīng)的指標。主要是示波器的調(diào)試,通過編寫程序?qū)崿F(xiàn)波形的顯示,按鍵的不同,對應(yīng)的示波器的顯示波形一樣。
正弦波波形如圖3.1所示:
圖3.1 10Hz正弦波
改變頻率后波形如圖3.2所示
圖3.2 30Hz正弦波
矩形波波形如圖3.3所示:
圖3.3 10Hz方波
改變頻率后波形如圖3.4所示
圖3.4 30Hz方波
三角波形如圖3.5所示:
圖3.5 10Hz三角波
改變頻率后波形如圖3.6所示
圖3.6 30Hz三角波
鋸齒波形如下圖3.7所示:
圖3.7 10Hz鋸齒波
改變頻率后波形如圖3.8所示
圖3.8 30Hz鋸齒波
3.3 實際調(diào)試
a.正弦波
圖3.9 20Hz正弦波
圖3.10 25Hz正弦波
b.方波
圖3.11 30Hz方波
圖3.12 25Hz方波
c.三角波
圖3.13 25Hz三角波
圖3.14 30Hz三角波
b.鋸齒波
圖3.15 25Hz鋸齒波
圖3.16 30Hz鋸齒波
第四章 未來與展望
4.1 總結(jié)問題
對于本次課程設(shè)計的結(jié)束,我真切感覺到自己知識能力的匱乏,很多東西都只是知道一些淺顯的知識,真正搞懂會應(yīng)用的東西很少;蛟S一個人的進步需要一個緩慢的過程。在過程中需要不斷地借鑒,學習,汲取別人的東西。同別人的成果中攫取知識和營養(yǎng),然后它變成自己的東西。通過這次課程設(shè)計。我學到了很多東西,首先,通過這次課程設(shè)計,我熟練地掌握了單片機的程序設(shè)計以及信號源發(fā)生器的制作。其次,我覺得學習理論和實踐是兩個層次,理論指導實踐,而實踐驗證理論,理論往往是在理想的條件下得出的,而實踐是在現(xiàn)實生活中進行的,所以,實踐得出的結(jié)論往往與理論的結(jié)論有一定的差別,這是很正常的。另外團結(jié)協(xié)作,互助共贏是時代的主流。在這次課設(shè)的制作中,交流合作的精神在我們體現(xiàn)的可謂是淋漓盡致。相互探討,學習交流,優(yōu)勢互補,這樣才最終處成了這課設(shè)。爭論與交流是解決問題很好的方法,問題也總是在思想與意見的碰撞中得到解決而這也是我們對理論理解的更為深刻。通過圖書館,搜索引擎查閱資料的能力也得到了相應(yīng)的提升。總之,在這次課程設(shè)計的制作的過程中學到了很多東西,能力也有相應(yīng)的提升。在此還要感謝指導老師的辛勤教導,感謝老師在此次課程設(shè)計中給以孜孜不倦的解惑。
4.2展望未來
課程設(shè)計是培養(yǎng)學生綜合運用所學知識,發(fā)現(xiàn)、提出、分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對學生實際工作能力的具體訓練和考察過程。對于單片機設(shè)計,其硬件電路是比較簡單的,主要是解決程序設(shè)計的問題,而程序設(shè)計是一個很靈活的東西,它反映了你解決問題的邏輯思維和創(chuàng)新能力,它才是一個設(shè)計的靈魂所在。因此在整個設(shè)計過程中大部分時間是用在程序上面的。通過這次電子技術(shù)課程設(shè)計鍛煉我們的能力,將理論和實踐結(jié)合到一起,提高了我們的動手能力,為我們以后單片機設(shè)計打下了基礎(chǔ)。
參考文獻
[1] 周明德.微型計算機系統(tǒng)原理及應(yīng)用[M].北京:清華大學出版社,2002
[2] 劉樂善.微型計算機接口技術(shù)及應(yīng)用[M].北京:北京航空航天大學出版社,2001
[3] 童詩白.模擬電路技術(shù)基礎(chǔ)[M].北京:高等教育出版社,2000
[4] 張友德.單片微型機原理、應(yīng)用與實踐[M].上海:復旦大學出版社,2004
[5] 張永瑞.電子測量技術(shù)基礎(chǔ)[M].西安:西安電子科技大學出版社,2006
[6] 李葉紫. MCS-51單片機應(yīng)用教程[M].北京:清華大學出版社,2004
附錄
附錄1 實物圖
附錄2 仿真圖
QQ圖片20190726160141.png (40.27 KB, 下載次數(shù): 100)
QQ圖片20190726160049.png (68.92 KB, 下載次數(shù): 96)
歡迎光臨 (http://www.torrancerestoration.com/bbs/) | Powered by Discuz! X3.1 |