欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 8732|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

基于51單片機(jī)的波形發(fā)生器的設(shè)計(jì)論文

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:374325 發(fā)表于 2018-7-19 08:56 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
目錄
1 引言
1.1 題目要求及分析
1.1.1 示意圖
1.2 設(shè)計(jì)要求
2 波形發(fā)生器系統(tǒng)設(shè)計(jì)方案
2.1 方案的設(shè)計(jì)思路
2.2 設(shè)計(jì)框圖及系統(tǒng)介紹
2.3 選擇合適的設(shè)計(jì)方案
3 主要硬件電路及器件介紹
3.1 80C51單片機(jī)
3.2 DAC0832
3.3 數(shù)碼顯示管
4 系統(tǒng)的硬件設(shè)計(jì)
4.1 硬件原理框圖
4.2 89C51系統(tǒng)設(shè)計(jì)
4.3 時(shí)鐘電路
4.4 復(fù)位電路
4.5 鍵盤(pán)接口電路
4.7 數(shù)模轉(zhuǎn)換器
5 系統(tǒng)軟件設(shè)計(jì)
5.1 流程圖:
5.2 產(chǎn)生波形圖
5.2.1 正弦波
5.2.2 三角波
5.2.3 方波
6 結(jié)論
主要參考文獻(xiàn)
致謝


1 引言
1.1 題目要求及分析
題目:基于51單片機(jī)的波形發(fā)生器設(shè)計(jì),即由51單片機(jī)控制產(chǎn)生正弦波、方波、三角波等的多種波形。
1.1.1 示意圖
圖1:系統(tǒng)流程示意圖

1.2 設(shè)計(jì)要求
(1) 系統(tǒng)具有產(chǎn)生正弦波、三角波、方波三種周期性波形的功能。
(2) 用鍵盤(pán)控制上述三種波形(同周期)的生成,以及由基波和它的諧波(5次以下)線性組合的波形。
(3) 系統(tǒng)具有存儲(chǔ)波形功能。
(4) 系統(tǒng)輸出波形的頻率范圍為1Hz~1MHz,重復(fù)頻率可調(diào),頻率步進(jìn)間隔≤100Hz,非正弦波的頻率按照10次諧波來(lái)計(jì)算。
(5) 系統(tǒng)輸出波形幅度范圍0~5V。
(6) 系統(tǒng)具有顯示輸出波形的類型、重復(fù)頻率和幅度的功能。


2 波形發(fā)生器系統(tǒng)設(shè)計(jì)方案
設(shè)計(jì)并制作一個(gè)波形信號(hào)發(fā)生器,能夠產(chǎn)生正弦波、方波、三角波的波形,其中不使用DDS和一些專用的波形產(chǎn)生芯片。并讓系統(tǒng)的頻率范圍在1Hz~1MHZ可調(diào)節(jié),在頻率范圍在1HZ~10KHz時(shí),步進(jìn)小于或等于10Hz,在頻率范圍在10KHz~1MHz時(shí),步進(jìn)小于或等于100Hz,并且電壓在0~5V范圍,能夠?qū)崟r(shí)的顯示波形的類型、頻率和幅值。
2.1 方案的設(shè)計(jì)思路
以AT89C51單片機(jī)作為系統(tǒng)的控制核心,其中P0口接DAC0832作為信號(hào)輸入同時(shí)進(jìn)行數(shù)模轉(zhuǎn)換,P1口用來(lái)接鍵盤(pán),P2口接LED顯示器,由程序來(lái)控制P0口產(chǎn)生的波形,再由按鍵和按鍵次數(shù)控制波形的種類、頻率和幅值的大小,并且能夠通過(guò)按鍵來(lái)控制波形頻率值和幅度值。由運(yùn)算放大器DAC0832來(lái)實(shí)現(xiàn)輸出電流到電壓的轉(zhuǎn)換,即實(shí)現(xiàn)數(shù)字信號(hào)到模擬信號(hào)的轉(zhuǎn)換。另外在LED上顯示實(shí)時(shí)的頻率值和幅度值,產(chǎn)生的波形在示波器顯示。并且通過(guò)按鍵來(lái)決定波形數(shù)據(jù)的存儲(chǔ)方式,在按鍵按下后,就把當(dāng)時(shí)的波形所對(duì)應(yīng)的幅度值、頻率值等參數(shù)存儲(chǔ)下來(lái)。
波形的合成:在波形的合成時(shí),通過(guò)外部中斷高低電平的延時(shí)的時(shí)間來(lái)進(jìn)行解碼,在采樣的時(shí),對(duì)正弦波,三角波,方波都只取了20個(gè)采樣點(diǎn),因?yàn)椴蓸狱c(diǎn)越少,其頻率能夠達(dá)到的值就會(huì)越大,合成時(shí)就是對(duì)幅值點(diǎn)進(jìn)行一個(gè)疊加來(lái)輸出一組波形。
2.2 設(shè)計(jì)框圖及系統(tǒng)介紹
系統(tǒng)主要部分設(shè)計(jì)框圖如下圖所示:

圖2:框圖設(shè)計(jì)

2.3 選擇合適的設(shè)計(jì)方案
方案一:采用模擬分立元件或單片函數(shù)發(fā)生器就可以產(chǎn)生正弦波、方波、三角波,方法簡(jiǎn)單。通過(guò)調(diào)整外部元件也可以實(shí)現(xiàn)輸出頻率的改變,但采用模擬元器件造成元件分散性太大,從而產(chǎn)生的頻率穩(wěn)定性較差、抗干擾能力低、靈活性較差、而且精度低,不能實(shí)現(xiàn)任意波形轉(zhuǎn)換和波形運(yùn)算輸出等方面自主控制功能。
方案二:采用專業(yè)的鎖相式頻率合成方案,這種鎖相式頻率合成是一種高穩(wěn)定度和高精確度的大量離散技術(shù),他能夠準(zhǔn)確的產(chǎn)生波形,可以很好的解決頻率穩(wěn)定精確的情況下又要求頻率在較大的范圍內(nèi)可調(diào)的問(wèn)題。但是頻率受VCO可變頻率范圍上的影響,高低頻率比無(wú)法做到很高,還有其只能產(chǎn)生正弦波或方波,不能滿足產(chǎn)生三角波的要求。
方案三:采用AT89C51單片機(jī)和數(shù)模轉(zhuǎn)換器DAC0832實(shí)現(xiàn)波形的產(chǎn)生。波形的產(chǎn)生方法是用AT89C51單片機(jī)執(zhí)行波形程序,向DAC0832轉(zhuǎn)換器的輸入端輸入相應(yīng)的數(shù)據(jù),從而在DA轉(zhuǎn)換電路輸出端再通過(guò)運(yùn)放電路轉(zhuǎn)換得到相應(yīng)的電壓波形。在AT89C51的P1口接按鍵控制波形的種類和波形的頻率,每種波形對(duì)應(yīng)一種按鍵方式。此方案原理簡(jiǎn)單,同時(shí)適合操作,實(shí)現(xiàn)起來(lái)也相對(duì)較容易。
經(jīng)比較,方案三的設(shè)計(jì)能夠更好的實(shí)現(xiàn)和完成題目的要求,產(chǎn)生的三種波形和頻率可由按鍵控制,并通過(guò)按鍵改變來(lái)轉(zhuǎn)換不同的波形,也能夠在示波器上顯示出所要求的波形。波形的頻率步進(jìn)也可以實(shí)現(xiàn)調(diào)節(jié),具有線路簡(jiǎn)單、可行性高、符合設(shè)計(jì)要求等優(yōu)點(diǎn)。在本設(shè)計(jì)的基礎(chǔ)上,加上LED數(shù)碼顯示管,從而能夠在LED上顯示出頻率值、幅度值信息。輸出的波形也較穩(wěn)定,精度較高,通過(guò)濾波電路使得系統(tǒng)的抗干擾性增強(qiáng),電路簡(jiǎn)單,性價(jià)比高。綜上所述,我們選擇了第三種方案。


3 主要硬件電路及器件介紹
3.1
80C51單片機(jī)

圖3:8051引腳圖

80C51單片機(jī)按功能劃分,由8個(gè)部件組成:微處理器(CPU)、數(shù)據(jù)存儲(chǔ)器(RAM)、程序存儲(chǔ)器(ROM/EPROM)、四個(gè)I/O口(P0口、P1口、P2口、P3口)、串行口、定時(shí)器/計(jì)數(shù)器、中斷系統(tǒng)及特殊功能寄存器(SFR)的集中控制方式[1]。
各功能部件的介紹:
(1) 數(shù)據(jù)存儲(chǔ)器(RAM):片內(nèi)為128個(gè)字節(jié)單元,片外最多可擴(kuò)展至64K字節(jié)。用以存放數(shù)據(jù),我們稱之為片內(nèi)數(shù)據(jù)存儲(chǔ)器。
(2) 程序存儲(chǔ)器(ROM/EPROM):片內(nèi)ROM為4K,片外最多可擴(kuò)展至64K字節(jié)。
(3) 中斷系統(tǒng):具有5級(jí)中斷的中斷系統(tǒng),2級(jí)中斷優(yōu)先權(quán)。
(4) 定時(shí)器/計(jì)數(shù)器:2個(gè)16位的定時(shí)器/計(jì)數(shù)器,具有四種工作方式。
(5) 串行口:1個(gè)全雙工的串行通信接口,具有四種工作方式。
(6) 特殊功能寄存器(SFR)共有21個(gè),每個(gè)寄存器占一個(gè)存儲(chǔ)單元。
(7) 微處理器:為8位CPU,內(nèi)部具有一個(gè)8位CPU(位處理器),不僅可處理字節(jié)數(shù)據(jù),還可以進(jìn)行位變量的處理。
另外還有四個(gè)8位雙向并行的輸入/輸出(I/O)端口,每個(gè)端口都有八條引線和一個(gè)輸出驅(qū)動(dòng)器和一個(gè)輸入緩沖器。這四個(gè)端口的功能不完全相同。P0口既可作一般I/O端口使用,又可作地址/數(shù)據(jù)總線使用;P1口是一個(gè)準(zhǔn)雙向并行口,作通用并行I/O口使用;P2口除了可作為通用I/O使用外,還可在CPU訪問(wèn)外部存儲(chǔ)器時(shí)作高八位地址線使用;P3口是一個(gè)多功能口除具有準(zhǔn)雙向I/O功能外,還具有第二功能。
控制引腳介紹:
(1) 電源:?jiǎn)纹瑱C(jī)使用的是5V電源,其中40引腳接電源正級(jí),20引腳接地。
(2) 時(shí)鐘引腳XTAL1、XTAL2時(shí)鐘引腳外接晶體與片內(nèi)反相放大器構(gòu)成了振蕩器,產(chǎn)生片內(nèi)CPU時(shí)鐘控制信號(hào)。此引腳也可外接晶體振蕩器。
(3) RST:當(dāng)時(shí)鐘電路開(kāi)始工作時(shí),在此引腳上出現(xiàn)24個(gè)時(shí)鐘周期以上的高電平能夠使單片機(jī)復(fù)位。另外我們?cè)诖艘_與VCC之間連接一個(gè)24兆歐的下拉電阻,在外接電路之間連接二個(gè)36微法的電容,可以保證有效的復(fù)位。在單片機(jī)正常工作時(shí),此引腳應(yīng)為≤0.5V低電平。
(4) ALE:當(dāng)訪問(wèn)外部程序存儲(chǔ)器時(shí)ALE(地址鎖存允許)輸出脈沖用于16位地址中的低8位的鎖存信號(hào),以便P0口實(shí)現(xiàn)地址/數(shù)據(jù)復(fù)用。當(dāng)不去訪問(wèn)外部鎖存器時(shí),ALE端將輸出一個(gè)1/6的時(shí)鐘頻率正脈沖信號(hào)輸出,此頻率約為時(shí)鐘振蕩器的1/6。但是每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),在兩個(gè)機(jī)器周期中ALE只出現(xiàn)一次,即ALE會(huì)跳過(guò)一個(gè)脈沖。因此,嚴(yán)格來(lái)說(shuō),用戶不能用ALE做時(shí)鐘源或定時(shí)。ALE端可以驅(qū)動(dòng)8個(gè)TTL負(fù)載
(5) /PSEN(29腳):此引腳是單片機(jī)訪問(wèn)片外ROM存儲(chǔ)器的讀選通信號(hào)。在執(zhí)行訪問(wèn)片外ROM的MOVC指令期間,每個(gè)機(jī)器周期PSEN上產(chǎn)生一個(gè)負(fù)脈沖,用于對(duì)于片外ROM數(shù)據(jù)存儲(chǔ)器選通,這兩次有效的/PSEN信號(hào)不出現(xiàn)。其他情況下,/PSEN線均為高電平封鎖狀態(tài)。
(6) /EA/VPP(31腳):當(dāng)EA端保持高電平時(shí)并且程序地址小于4KB時(shí),讀取內(nèi)部存儲(chǔ)器指令,但在PC值超過(guò)4KB程序地址時(shí)則執(zhí)行外部存儲(chǔ)器內(nèi)的程序;當(dāng)/EA保持低電平時(shí),不管地址大小則只訪問(wèn)外部程序存儲(chǔ)器,一律讀取外部程序存儲(chǔ)器指令[2]。

3.2 DAC0832
圖4:DAC0832引腳圖

DAC0832是8分辨率的D/A轉(zhuǎn)換芯片,集成電路內(nèi)有兩級(jí)輸入寄存器。由8位輸入鎖存器、8位DAC 寄存器、8 位D/A 轉(zhuǎn)換器及轉(zhuǎn)換控制電路四部分構(gòu)成。8位輸入鎖存器用于存放主機(jī)送來(lái)的數(shù)字量,使輸入數(shù)字得到緩沖和鎖存,并加以控制。DAC0832輸出的是電流,一般要求輸出是電壓,所以還必須經(jīng)過(guò)一個(gè)外接的運(yùn)算放大器轉(zhuǎn)換成電壓[3]。DAC0832芯片具備雙緩沖、單緩沖和直通三種輸入方式,以便適于各種電路的需要(如要求多路D/A異步輸入、同步轉(zhuǎn)換等)。
DAC0832的引腳功能如下:
(1) D0~D7:數(shù)字信號(hào)輸入端。
(2) ILE:輸入寄存器允許,高電平有效。
(3) CS:片選信號(hào),低電平有效。
(4) WR1:寫(xiě)信號(hào)1,低電平有效。
(5) XFER:傳送控制信號(hào),低電平有效。
(6) WR2:寫(xiě)信號(hào)2,低電平有效。
(7) IOUT1、IOUT2:DAC電流輸出端。
(8) RFB:是集成在片內(nèi)的外接運(yùn)放的反饋電阻。
(9) VREF:基準(zhǔn)電壓(-10~10V)。
(10) Vcc:是源電壓(+5~+15V)。
(11) AGND:模擬地 NGND:數(shù)字地,可與AGND接在一起使用。
3.3 數(shù)碼顯示管
通過(guò)控制7個(gè)筆畫(huà)段的亮或暗,和控制一個(gè)小數(shù)點(diǎn)的亮和暗來(lái)實(shí)現(xiàn)數(shù)碼管顯示。LED 顯示器有共陰極和共陽(yáng)極2 種形式。共陽(yáng)極顯示器是發(fā)光二極管的陽(yáng)極連接在一起,當(dāng)需要顯示某字符時(shí),只需要將共陽(yáng)極端接高電平,根據(jù)顯示需要讓a-h中某些位置接低電平。共陰極顯示器是發(fā)光二極管的陰極連接在一起,當(dāng)需要顯示某字符時(shí),只需要將共陰極端接低電平,a-h 中某些位接高電平即可。
顯示器的工作方式分為靜態(tài)顯示方式和動(dòng)態(tài)顯示方式兩種:
(1) 靜態(tài)顯示方式就是顯示器在顯示一個(gè)字符時(shí),相應(yīng)的發(fā)光二極管恒定的導(dǎo)通或截止,例如a、b、c、d、e、f導(dǎo)通,g截止時(shí)顯示“0”,這種使顯示器顯示字符的字形數(shù)據(jù)常稱為段數(shù)據(jù)。靜態(tài)顯示方式的每一個(gè)七段顯示器,需要由一個(gè)8 位并行口控制。優(yōu)點(diǎn)是顯示穩(wěn)定,提高了工作效率,缺點(diǎn)是位數(shù)較多時(shí)顯示口隨之增加。
(2) 動(dòng)態(tài)顯示方式是一位一位的輪流點(diǎn)亮各位顯示器,對(duì)于每一位顯示器來(lái)說(shuō),每隔一段時(shí)間點(diǎn)亮一次。顯示器的亮度既與導(dǎo)通電流有關(guān),也與點(diǎn)亮?xí)r間和間隔時(shí)間的比例有關(guān)。調(diào)整電流和時(shí)間參數(shù)可以實(shí)現(xiàn)亮度較高較穩(wěn)定的顯示,如顯示器的位數(shù)不大于8位,則控制顯示器公共極的電位只需要一個(gè)8位口(位數(shù)據(jù)口),控制字形也需要一個(gè)8位口(段數(shù)據(jù)口)。要使顯示管顯示不同的數(shù)字或者字符,需要使端口輸出相應(yīng)的字型碼


4 系統(tǒng)的硬件設(shè)計(jì)
4.1
硬件原理框圖
對(duì)于該波形發(fā)生器的設(shè)計(jì),我們采用了以AT89C51 單片機(jī)芯片作為核心處理器,編程實(shí)現(xiàn)各種不同類型信號(hào)的產(chǎn)生,最后通過(guò)D/A轉(zhuǎn)換輸出到示波器。結(jié)構(gòu)簡(jiǎn)單,思路井井有條。根據(jù)設(shè)計(jì)的基本要求,我們又把其細(xì)分為不同的功能模塊,各個(gè)功能模塊相互聯(lián)系,相互協(xié)調(diào),通過(guò)單片機(jī)程序構(gòu)成一個(gè)統(tǒng)一的整體。其整體電路原理框圖如圖5 所示:


圖5:電路原理框圖(見(jiàn)附件)

4.2 89C51系統(tǒng)設(shè)計(jì)
89C51單片機(jī)是該波形發(fā)生器的核心,具有2個(gè)定時(shí)器,32個(gè)并行I/O口,1個(gè)串行I/O口,5個(gè)中斷源[4]。由于本設(shè)計(jì)功能簡(jiǎn)單,數(shù)據(jù)處理容易,數(shù)據(jù)存儲(chǔ)空間也足夠,因?yàn)槲覀儾捎昧似x法選擇芯片,進(jìn)行芯片的選擇和地址的譯碼。在單片機(jī)最小系統(tǒng)中,單片機(jī)從P1口接收來(lái)自鍵盤(pán)的信號(hào),并通過(guò)P0口輸出控制信號(hào),通過(guò)DA轉(zhuǎn)換芯片最終由示波器顯示輸出波形,P2控制顯示器段選碼,P3口中的P3.4-P3.6通過(guò)74LS138譯碼器控制位選碼,輸出顯示信息。如果有鍵盤(pán)按下,則在控制器端產(chǎn)生一個(gè)讀信號(hào),使單片機(jī)讀入信號(hào),如果有信號(hào)輸出,則在寫(xiě)控制端產(chǎn)生一個(gè)寫(xiě)信號(hào),并通過(guò)示波器和顯示器顯示相應(yīng)的信息。
單片機(jī)引腳分配如下:
RST:用于復(fù)位電路;
XTAL1,XTAL2:外接晶振,產(chǎn)生時(shí)鐘信號(hào);
P0 口:鍵盤(pán)輸出信號(hào)。
P1 口:8 位數(shù)字信號(hào)輸出,外接DAC0832; 具體為:P1.0、P1.1 波形選擇;P1.2、P1.3、P1.4 頻率個(gè)位,十位,百位調(diào)節(jié);P1.5 頻率加減控制;P1.6 跳出循環(huán)。
P2 口:LED 顯示器段選碼;
P3 口:P3.0 鎖存器74HC573 片選信號(hào);P3.2 中斷控制;P3.4-P3.6 為74LS138 輸入信號(hào),譯碼控制LED 顯示器位選。P3.7 為74LS138 片選碼。
4.3 時(shí)鐘電路
單片機(jī)的時(shí)鐘信號(hào)通常用兩種電路形式得到:內(nèi)部振蕩和外部振蕩方式。在引腳XTAL1 和XTAL2 外接晶體振蕩器,構(gòu)成了內(nèi)部振蕩方式。由于單片機(jī)內(nèi)部有一個(gè)高增益的反相放大器,當(dāng)外接晶振后,就構(gòu)成了自激振蕩,并產(chǎn)生振動(dòng)時(shí)鐘脈沖。晶振通常選用6MHZ、12MHZ、24MHZ。我們選擇了24MHZ和晶振分別接引腳XTAL1 和XTAL2,電容C1,C2 均選擇為30pF,對(duì)振蕩器的頻率有穩(wěn)定作用,當(dāng)頻率較大時(shí),正弦波方波、三角波中每一點(diǎn)的延時(shí)時(shí)間為幾微秒,故延時(shí)時(shí)間還要加上指令時(shí)間才能獲得較大的頻率波形。

圖6:時(shí)鐘電路

4.4 復(fù)位電路
復(fù)位引腳RST 通過(guò)一個(gè)施密特觸發(fā)器與復(fù)位電路相連,施密特觸發(fā)器用來(lái)抑制噪聲。復(fù)位電路通常采用上電自動(dòng)復(fù)位和按鈕復(fù)位兩種方式。在每個(gè)機(jī)器周期的S5P2,施密特觸發(fā)器的輸出電平由復(fù)位電路采樣一次,然后才能得到內(nèi)部復(fù)位操作所需要的信號(hào)。本設(shè)計(jì)選擇了按鍵復(fù)位如圖7, 在系統(tǒng)運(yùn)行時(shí),按一下開(kāi)關(guān),就在RST 斷出現(xiàn)一段高電平,使圖6 時(shí)鐘電路圖器件復(fù)位。此時(shí)ALE、PSEN、P0、P1、P2、P4 輸出高電平,在RST 上輸入返回低電平以后,就退出復(fù)位狀態(tài)開(kāi)始工作。

圖7:按鍵復(fù)位
4.5 鍵盤(pán)接口電路
常用的鍵盤(pán)電路一般為矩陣式,但是對(duì)于此設(shè)計(jì),為了方便程序的簡(jiǎn)單化,我們采用了一般的鍵盤(pán)接口輸出信號(hào)。具體實(shí)現(xiàn)方法:P1.0、P1.1用來(lái)作為波形選擇,其中當(dāng)P1.0=0,P1.1=0 輸出正弦波,當(dāng)P1.0=0,P1.1=1 輸出三角波,當(dāng)P1.0=1,P1.1=1 輸出方波。P1.2、P1.3、P1.4 用來(lái)作為頻率個(gè)位,十位,百位調(diào)節(jié);P1.5 控制頻率加減;P1.6 跳出循環(huán)。

圖8:鍵盤(pán)接口電路

4.6 LED顯示電路
本設(shè)計(jì)選擇了8位共陰極數(shù)碼管如圖9,它的8個(gè)發(fā)光二極管的陰極(二極管正端)連接在一起,通常公共陰極接低電平,其它管腳接驅(qū)動(dòng)電路輸出端。當(dāng)某段驅(qū)動(dòng)電路的輸出端為低電平時(shí),則該端所連接的字段導(dǎo)通并點(diǎn)亮,根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。此時(shí),要求段驅(qū)動(dòng)電路能吸收額定的位置導(dǎo)通電流,還需根據(jù)外接電源及額定位置導(dǎo)通電流來(lái)確定相應(yīng)的限流電阻。顯示電路用于顯示信號(hào)的波形種類和信號(hào)的頻率,并且使系統(tǒng)能根據(jù)按鍵實(shí)時(shí)顯示相關(guān)信息。該系統(tǒng)中添加74LHC573 鎖存器,用于驅(qū)動(dòng)數(shù)碼顯示管,使其更易于控制,增加顯示的準(zhǔn)確性。使用74LS138 譯碼器,利用P3.4-P3.6 控制數(shù)碼管的位選。

1



圖9:數(shù)碼管顯示電路

4.7 數(shù)模轉(zhuǎn)換器
由于單片機(jī)輸出的是數(shù)字信號(hào),因?yàn)橐玫侥M信號(hào)的波形就必須對(duì)其進(jìn)行數(shù)模換。我們采用了DAC0832 數(shù)模轉(zhuǎn)換器,該芯片由8 位輸入鎖存器、8 位DAC 寄存器、8 位D/A 轉(zhuǎn)換器及轉(zhuǎn)換控制電路四部分構(gòu)成。由于其輸出為電流輸出,因?yàn)橥饧舆\(yùn)算放大器OP07 使之裝換為電壓輸出。最后通過(guò)示波器顯示輸出的波形。

圖10:D/A轉(zhuǎn)換電路


5 系統(tǒng)軟件設(shè)計(jì)
5.1
流程圖:

圖11:流程圖(見(jiàn)附件)

5.2 產(chǎn)生波形圖
本設(shè)計(jì)將各種波形的數(shù)據(jù)通過(guò)P1.0 口和P1.1 口選擇,送往在單片機(jī)的程序儲(chǔ)存器里,通過(guò)改變信號(hào)的頻率的個(gè)位,十位,百位來(lái)改變這個(gè)頻率,然后計(jì)算其技術(shù)初值,開(kāi)啟中斷,通過(guò)改變D/A 轉(zhuǎn)換器輸出波形。
5.2.1 正弦波
圖12:仿真正弦波

正弦波程序如下:
void zhengxuanbo()
         {
           uint k=0;
           while(1)
          {
             P0=table[k++];
             delay(t);
             xianshiqi(t);
             if(k==182)
             {
              k=0;
            }
            if(s5==0)
            {
              t=t+1;
            }
           if(s6==0)
            {
               t=t-1;
             }
           }
}
5.2.2 三角波
產(chǎn)生三角波的原理:三角波產(chǎn)生是通過(guò)P0口將00H送入寄存器A中,DAC0832輸出A中的內(nèi)容,通過(guò)A中數(shù)值的加1遞升,同時(shí)延時(shí),當(dāng)A中的內(nèi)容為0FF時(shí),A中的內(nèi)容減1遞減,從而循環(huán)產(chǎn)生三角波[5]。

圖13:仿真三角波

三角波程序:void sanjiaobo()  
{
            uint j=0;
              while(1)
            {
                            P0=j;
                            delay(t);
                            j=j+1;
              P0=j;
              delay(t);
                 xianshiqi(t);
                            if(j==256)
                            {
                             if(j!=0)
                             {
                                         j=j-1;
                                         P0=j;
                                           delay(t);
                                           xianshiqi(t);
                      if(s5==0)
                                {
                                  t=t+1;
                                }
                                if(s6==0)
                                {
                                 t=t-1;
                                }
                          }
                            }
                 if(s5==0)
                 {
                   t=t+1;
                  }
                 if(s6==0)
                 {
                   t=t-1;
                 }
               }
}
5.2.3 方波
產(chǎn)生方波的原理:方波產(chǎn)生是通過(guò)P0口將00H輸出給DAC0808,輸出對(duì)應(yīng)模擬量,然后讀取P2口的狀態(tài),取反后作為延時(shí)常量,延時(shí)時(shí)間到,將FFH輸出時(shí),同樣輸出對(duì)應(yīng)模擬量,再延時(shí),從而得到方波。

圖14:仿真方波

方波程序:void fangbo()   
{
            while(1)
           {
            P0=256;
                      delay(t);
                       P0=0;
                      delay(t);
                      xianshiqi(t);
            if(s5==0)
              {
                t=t+1;
              }
            if(s6==0)
             {
               t=t-1;
             }
           }
}
6  結(jié)論
  在三個(gè)多月的時(shí)間里,終于順利地完成了此次論文設(shè)計(jì),并從中學(xué)習(xí)到了很多的知識(shí)和經(jīng)驗(yàn),對(duì)單片機(jī)以及C語(yǔ)言有了更深刻的了解。本次課程設(shè)計(jì)也發(fā)現(xiàn)了許多問(wèn)題,此次單片機(jī)的設(shè)計(jì)硬件電路較為簡(jiǎn)單,而程序的設(shè)計(jì)在當(dāng)中占據(jù)很重要的部分,它考驗(yàn)我們靈活的運(yùn)用所學(xué)知識(shí),培養(yǎng)了我們?cè)谟龅絾?wèn)題善于解決的良好學(xué)習(xí)態(tài)度,使我認(rèn)識(shí)到設(shè)計(jì)思路更節(jié)省了時(shí)間。靈活運(yùn)用,以書(shū)本知識(shí)為基礎(chǔ)靈活的擴(kuò)展,學(xué)習(xí)前人的經(jīng)驗(yàn),向高層次邁進(jìn)。當(dāng)然還是存在不足的地方,例如當(dāng)頻率過(guò)小的時(shí)候矩形波會(huì)有些失真,轉(zhuǎn)換器轉(zhuǎn)換時(shí)可以加一個(gè)鎖存器,放大電路設(shè)計(jì)上還有待進(jìn)一步改進(jìn),使其具有更強(qiáng)的輸出能力等。


完整的Word格式文檔51黑下載地址:
基于51單片機(jī)的波形發(fā)生器的設(shè)計(jì).doc (718.3 KB, 下載次數(shù): 139)

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:643049 發(fā)表于 2019-11-16 11:00 | 只看該作者
老哥穩(wěn)
回復(fù)

使用道具 舉報(bào)

板凳
ID:598535 發(fā)表于 2020-8-31 14:34 | 只看該作者
有完整的源程序嗎,新手一枚
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表