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

QQ登錄

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

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

基于STC89C52RC單片機(jī)OLED AD9833信號(hào)發(fā)生器 矩陣鍵盤(pán)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
實(shí)物設(shè)計(jì)
    通過(guò)理論設(shè)計(jì)和實(shí)物制作解決相應(yīng)的實(shí)際問(wèn)題,鞏固和運(yùn)用在《單片機(jī)與微機(jī)原理及應(yīng)用》課程中所學(xué)的理論知識(shí)和實(shí)驗(yàn)技能,掌握常用單片機(jī)應(yīng)用系統(tǒng)的一般設(shè)計(jì)方法,提高設(shè)計(jì)能力和實(shí)踐動(dòng)手能力,為以后從事電子電路設(shè)計(jì)、研發(fā)電子產(chǎn)品打下良好的基礎(chǔ)。
(1)掌握單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)的一般方法與步驟。
(2)掌握按鍵、顯示、時(shí)鐘、存儲(chǔ)的綜合設(shè)計(jì)方法。
(3)熟悉用仿真軟件進(jìn)行單片機(jī)系統(tǒng)仿真設(shè)計(jì)的方法。
1.2  設(shè)計(jì)任務(wù)
C51編寫(xiě),設(shè)計(jì)一個(gè)使用AD9833信號(hào)發(fā)生器的板子。
1.3  設(shè)計(jì)
由于晶體振蕩器將直接影響頻率穩(wěn)定度和頻率波動(dòng),因此,采用電壓型控制晶體振蕩器,其頻率穩(wěn)定度高達(dá)+20 ppm,溫度補(bǔ)償晶體振蕩器可達(dá)±1~+20 ppm,恒溫箱晶體振蕩器和數(shù)字補(bǔ)償晶體振蕩器小于±l ppm?紤]性能和成本因素,采用溫度補(bǔ)償型控制晶體振蕩器。
模擬多選器采用ADG704.該多選器具有4個(gè)輸入端,1個(gè)輸出端。利用2個(gè)電平信號(hào)組合進(jìn)行選擇,方便與處理器I/O端口連接。3個(gè)輸人信號(hào)分別是DDSl、DDS2的輸出信號(hào),以及這兩者輸出信號(hào)相疊加后的輸出信號(hào)。模擬多選器輸出這3個(gè)輸入信號(hào)的其中之一。通過(guò)MCU可控制模擬多選器選擇3個(gè)信號(hào)的輸出。
為了控制輸出正弦波峰峰值,引入數(shù)字電位器,實(shí)現(xiàn)對(duì)輸出信號(hào)的分壓,通過(guò)調(diào)節(jié)數(shù)字電位器抽頭位置.改變抽頭電壓值。采用ADI公司的AD5160型數(shù)字電位器,該電位器具有256抽頭,SPI接口,便于與處理器相連接。
MCU采用基于ARM7內(nèi)核的LPC2132控制器,其具有2個(gè)UART接口,1個(gè)SPI接口和1個(gè)SSP接口。其中1個(gè)UART接口用于連接RS232電平轉(zhuǎn)換器,SPI接口用于連接2個(gè)數(shù)字電位器,而電位器的SLCK,MOSI,MISO引腳相連.其片選信號(hào)連接控制器的I/O端口;控制器的SSP接口連接2個(gè)DDS,其連接方法與數(shù)字電位器類似。
    該系統(tǒng)設(shè)計(jì)具有RS232接口.用戶可編程設(shè)置DDS的輸出頻率、初始相位、峰峰值,以及選擇2路信號(hào)獨(dú)立輸m或疊加的輸出等。這些配置信息通過(guò)RS232接口上傳至MCU。MCU根據(jù)輸出頻率、初始相位設(shè)置DDS;并根據(jù)峰峰值設(shè)置數(shù)字電位器;根據(jù)兩路信號(hào)的獨(dú)立輸出或疊加的輸出設(shè)置模擬多選器。
    該系統(tǒng)設(shè)計(jì)實(shí)現(xiàn):2路獨(dú)立的正弦波輸出,以及兩者疊加輸出,可分別獨(dú)立斷開(kāi);輸出正弦波頻率,初始相位、峰峰值、信號(hào)通斷均由用戶編程設(shè)置控制。輸出正弦波最大頻率高于100 kHz,調(diào)節(jié)細(xì)度為0.004 Hz,輸出的正弦波峰峰值為0~500 mV,調(diào)節(jié)細(xì)度為2 mV;輸出信號(hào)頻率的穩(wěn)定度小于10 ppm,頻率誤差小于O.0l Hz,頻率波動(dòng)小于1×10-3/h。由于DDSAD9833輸出波形的峰峰值固定,該系統(tǒng)成功解決峰峰值設(shè)置問(wèn)題。利用上位機(jī)軟件可靈活設(shè)置所需波形的峰峰值、頻率等。與通用信號(hào)源相比,該系統(tǒng)設(shè)計(jì)減少了按鍵面模板以及液晶顯示的成本.將面模板的模擬控制改為PC的數(shù)字控制.提高系統(tǒng)抗干擾能力。圖3為上位機(jī)軟件界面,上位機(jī)軟件采用VB編程,利用微軟:MSCOMM控件實(shí)現(xiàn)。
2  方案論證
2.1方案一 純硬件設(shè)計(jì)法
波形發(fā)生器設(shè)計(jì)的純硬件法早期,波形發(fā)生器的設(shè)計(jì)主要是采用運(yùn)算放大器加分立元件來(lái)實(shí)現(xiàn)。實(shí)現(xiàn)的波形比較單一,主要為正弦波、方波和三角波。工作原理嗍也相對(duì)簡(jiǎn)單:首先是產(chǎn)生正弦波,然后通過(guò)波形變換(正弦波通過(guò)比較器產(chǎn)生方波,方波經(jīng)過(guò)積分器變?yōu)槿遣?實(shí)現(xiàn)方波和三角波。在各種波形后加上一級(jí)放大電路,可以使輸出波形的幅度達(dá)到要求,通過(guò)開(kāi)關(guān)電路實(shí)現(xiàn)不同輸出波形的切換,改變電路的具體參數(shù)可以實(shí)現(xiàn)頻率、幅度和占空比的改變。通過(guò)對(duì)電路結(jié)構(gòu)的優(yōu)化及所用元器件的嚴(yán)格選取可以提高電路的頻率穩(wěn)定性和準(zhǔn)確度。純硬件法中,正弦波的設(shè)計(jì)是基礎(chǔ),實(shí)現(xiàn)方法也比較多,電路形式一般有LC、RC和石英晶體振蕩器三類。LC振蕩器適宜于產(chǎn)生幾Hz至幾百M(fèi)Hz的高頻信號(hào);石英晶體振蕩器能產(chǎn)生幾百kHz至幾十MHz的高頻信號(hào)且穩(wěn)定度高;對(duì)于頻率低于幾
MHz,特別是在幾百Hz時(shí),常采用RC振蕩電路。RC振蕩電路又分為文氏橋振蕩電路、雙T網(wǎng)絡(luò)式和移相式振蕩電路等類型。其中,以文氏橋振蕩電路最為常用。目前,實(shí)現(xiàn)波形發(fā)生器最簡(jiǎn)單的方法是采用單片集成的函數(shù)信號(hào)發(fā)生器。它是將產(chǎn)生各種波形的功能電路集成優(yōu)化到一個(gè)集成電路芯片里,外加少量的電阻、電容元件來(lái)實(shí)現(xiàn)。采用這種方法的突出優(yōu)勢(shì)是電路簡(jiǎn)單,實(shí)現(xiàn)方便,精度高,性能優(yōu)越;缺點(diǎn)是功能較全的集成芯片價(jià)格較貴。
2.2方案二 純軟件設(shè)計(jì)法
波形發(fā)生器的設(shè)計(jì)還可以采用純軟件的方法來(lái)實(shí)現(xiàn)。虛擬儀器鞠使傳統(tǒng)儀器發(fā)生了革命性的變化,是21世紀(jì)測(cè)試儀器領(lǐng)域技術(shù)發(fā)展的重要方向。它以計(jì)算機(jī)為基礎(chǔ),軟件為核心,沒(méi)有傳統(tǒng)儀器那樣具體的物理結(jié)構(gòu).在計(jì)算機(jī)上實(shí)現(xiàn)儀器的虛擬面板,通過(guò)軟件設(shè)計(jì)實(shí)現(xiàn)和改變儀器的功能。例如用圖形化編程工具LabVIEW來(lái)實(shí)現(xiàn)任意波形發(fā)生器的功能:在LabVIEW軟件的前面板通過(guò)拖放控件,設(shè)計(jì)儀器的功能面板(如波形顯示窗口,波形選擇按鍵,波形存儲(chǔ)回放等工作界面),在軟件的后面板直接拖放相應(yīng)的波形函數(shù)并進(jìn)行參數(shù)設(shè)置或直接調(diào)用編程函數(shù)來(lái)設(shè)計(jì)任意波形以實(shí)現(xiàn)波形產(chǎn)生功能;完成的軟件打包后,可脫離編程環(huán)境獨(dú)立運(yùn)行。實(shí)現(xiàn)任意波形發(fā)生器的功能。采用純軟件的虛擬儀器設(shè)計(jì)思路可以使設(shè)計(jì)簡(jiǎn)單、高效,僅改變軟件程序就可以輕松實(shí)現(xiàn)波形功能的改變或升級(jí)。從長(zhǎng)遠(yuǎn)角度來(lái)看,純軟件法成本較低。軟件法的缺點(diǎn)是波形的響應(yīng)速度和精度遜色于硬件法。
2.3方案三 軟硬件結(jié)合法
軟硬件結(jié)合的波形發(fā)生器設(shè)計(jì)方法同時(shí)兼具軟硬件設(shè)計(jì)的優(yōu)勢(shì):既具有純硬件設(shè)計(jì)的快速、高性能,同時(shí)又具有軟件控制的靈活性、智能性。如以單片機(jī)和單片集成函數(shù)發(fā)生器為核心。輔以鍵盤(pán)控制、液晶顯示等電路,設(shè)計(jì)出智能型函數(shù)波形發(fā)生器,采用軟硬件結(jié)合的方法可以實(shí)現(xiàn)功能較全、性能更優(yōu)的波形發(fā)生器,同時(shí)還可以擴(kuò)展波形發(fā)生器的功能,比如通過(guò)軟件編程控制實(shí)現(xiàn)波形的存儲(chǔ)、運(yùn)算、打印等功能,采用USB接口設(shè)計(jì)。使波形發(fā)生器具有遠(yuǎn)程通信功能等。目前,實(shí)驗(yàn)、科研和工業(yè)生產(chǎn)中使用的信號(hào)源大多采用此方法來(lái)實(shí)現(xiàn)。
純硬件設(shè)計(jì) 功能較單一,波形改變困難、控制的靈活性不夠,不具備智能性,其中由運(yùn)算放大器加分立元件組成的波形發(fā)生器,除在學(xué)生實(shí)驗(yàn)訓(xùn)練中使用外。基本不被采用。純軟件設(shè)計(jì)法實(shí)現(xiàn)簡(jiǎn)單,程序改變及功能升級(jí)靈活,但實(shí)現(xiàn)的波形精度及響應(yīng)速度不如硬件法高。純軟件法主要適用于對(duì)波形精度、響應(yīng)速度要求不是很高的場(chǎng)合。相比之下,軟硬件結(jié)合的方法可以設(shè)計(jì)出性能最優(yōu)、功能擴(kuò)展靈活、控制智能化的新一代的波形發(fā)生器,可以滿足教學(xué)、科研、工業(yè)生產(chǎn)等各方面對(duì)波形發(fā)生器性能有較高要求的應(yīng)用場(chǎng)合。綜合以上幾種設(shè)計(jì)方案,本設(shè)計(jì)采用方案三的方法—軟硬件設(shè)計(jì)法。其方案能夠產(chǎn)生很好的波形,也易實(shí)現(xiàn)。
3 系統(tǒng)硬件設(shè)計(jì)
3.1內(nèi)部結(jié)構(gòu)概述
典型的51單片機(jī)芯片集成了以下幾個(gè)基本組成部分:
1)一個(gè)8位的CPU;
2) 128B或256B單元內(nèi)數(shù)據(jù)存儲(chǔ)器(RAM);
3) 4KB或8KB片內(nèi)程序存儲(chǔ)器(ROM或EPROM);
4) 4個(gè)8位并行I/O接口P0~P3;
5)兩個(gè)定時(shí)/計(jì)數(shù)器;
6) 5個(gè)中斷源的中端管理控制系統(tǒng);
7)一個(gè)全雙工串行I/O口UART(通用異步接收、發(fā)送器);
8)一個(gè)片內(nèi)振蕩器和時(shí)鐘產(chǎn)生電路。
3.2結(jié)構(gòu)及功能
3.2.1 電路結(jié)構(gòu)
AD9833是一塊完全集成的DDS(Direct Digital Frequency Synthesis)電路,僅需要1個(gè)外部參考時(shí)鐘、1個(gè)低精度電阻器和一個(gè)解耦電容器就能產(chǎn)生高達(dá)12.5MHz的正弦波。除了產(chǎn)生射頻信號(hào)外,該電路還廣泛應(yīng)外于各種調(diào)制解調(diào)方案。這些方案全都用在數(shù)字領(lǐng)域,采用DSP技術(shù)能夠把復(fù)雜的調(diào)制解調(diào)算法簡(jiǎn)化,而且很精確。
  AD9833的內(nèi)部電路主要有數(shù)控振蕩器(NCO)、頻率和相位調(diào)節(jié)器、Sine ROM、數(shù)模轉(zhuǎn)換器(DAC)、電壓調(diào)整器,其功能框圖如圖1所示。
3.2.2 功能描述
 AD9833有3根串行接口線,與SPI、QSPI、MI-CROWIRE和DSP接口標(biāo)準(zhǔn)兼容,在串口時(shí)鐘SCLK的作用下,數(shù)據(jù)是以16位的方式加載到設(shè)備上,時(shí)序圖如圖3所示,FSYNC引腳是使能引腳,電平觸發(fā)方式,低電平有效。進(jìn)行串行數(shù)據(jù)傳輸時(shí),FSYNC引腳必須置低,要注意FSYNC有效到SCLK下降沿的建立時(shí)間t7的最小值。FSYNC置低后,在16個(gè)SCLK的下降沿?cái)?shù)據(jù)被送到AD9833的輸入移位寄存器,在第16個(gè)SCLK的下降沿FSYNC可以被置高,但要注意在SCLK下降沿到FSYNC上升沿的數(shù)據(jù)保持時(shí)間ts的最小和最大值。當(dāng)然,也可以在FSYNC為低電平的時(shí)候,連續(xù)加載多個(gè)16位數(shù)據(jù),僅在最后一個(gè)數(shù)據(jù)的第16個(gè)SCLK的下降沿的時(shí)將FSYNC置高,最后要注意的是,寫(xiě)數(shù)據(jù)時(shí)SCLK時(shí)鐘為高低電平脈沖,但是,在FSYNC剛開(kāi)始變?yōu)榈蜁r(shí),(即將開(kāi)始寫(xiě)數(shù)據(jù)時(shí)),SCLK必須為高電平(注意t11這個(gè)參數(shù))。

實(shí)物照片.jpg (543.5 KB, 下載次數(shù): 14)

實(shí)物照片.jpg

05 51hei設(shè)計(jì)51hei模板.docx

1.33 MB, 下載次數(shù): 12, 下載積分: 黑幣 -5

設(shè)計(jì)文檔

Schematic_STC89C52RC_OLED_AD9833_矩陣鍵盤(pán)_信號(hào)發(fā)生器-2024.6.14_2024-06-15.pdf

78.59 KB, 下載次數(shù): 15, 下載積分: 黑幣 -5

原理圖

程序.rar

499.45 KB, 下載次數(shù): 25, 下載積分: 黑幣 -5

程序

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:70863 發(fā)表于 2024-7-3 11:40 來(lái)自觸屏版 | 只看該作者
好久以前就想要做個(gè)信號(hào)源。 這次終於找到了  給樓主一個(gè)贊
回復(fù)

使用道具 舉報(bào)

板凳
ID:1129074 發(fā)表于 2024-7-16 08:36 | 只看該作者
謝謝你的幫助,點(diǎn)贊。
回復(fù)

使用道具 舉報(bào)

地板
ID:1155103 發(fā)表于 2025-6-24 20:12 | 只看該作者
非常感謝樓主,對(duì)學(xué)習(xí)很有幫助
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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