版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、河南科技大學本科畢業(yè)設計(論文)基于51單片機的波形發(fā)生器設計摘 要波形發(fā)生器作為信號源廣泛應用于電子工業(yè)、自動控制和科學試驗等領域。目前國內(nèi)市場上波形發(fā)生器種類匱乏,價格昂貴。為了實驗、研究以及工業(yè)需要,研制一種功能齊全、使用方便的波形發(fā)生器十分重要。本文介紹了兩種基于89C51單片機和數(shù)模轉換器DAC0832產(chǎn)生所需波形的波形發(fā)生器設計方案,兩種方案各有特色,可以滿足不同領域對波形發(fā)生器的需求。其中,程控波形發(fā)生器設計方案運用單片機執(zhí)行程序產(chǎn)生波形數(shù)據(jù),再由單片機通過定時器定時控制將波形數(shù)據(jù)送給DAC轉換輸出波形,本方案擴展有LED顯示模塊和鍵盤模塊,具有良好的人機交互性。硬件波形發(fā)生器設
2、計中,單片機執(zhí)行程序產(chǎn)生波形數(shù)據(jù)或從上位機接受波形數(shù)據(jù)寫入外部RAM中,然后由外部電路控制從RAM中取出波形數(shù)據(jù)送于DAC轉換輸出波形,本方案可以產(chǎn)生高頻波,且具有良好的可升級性。本次設計的兩種方案均能產(chǎn)生頻率、幅值可調(diào)的正弦波、三角波、鋸齒波和方波四種波形。本次設計運用Keil c軟件采用C語言進行軟件設計,使用仿真軟件Proteus進行系統(tǒng)功能校驗,并使用Protel軟件制作印刷電路板(PCB)。本次設計的兩種波形發(fā)生器具有精度高、誤差小、功耗低、數(shù)據(jù)傳輸速度快、可靠性高等特點,且具有良好的經(jīng)濟性,具有一定的開發(fā)價值。關鍵詞:波形發(fā)生器,單片機,DAC0832,程控波形發(fā)生器設計,硬件波形
3、發(fā)生器設計THE DESIGN OF WAVEFORM GENERATOR BASED ON 51 MCUABSTRACTWaveform generators are widely used in the electronics industry, automatic control and scientific experiments and other fields. Currently, waveform generators, in domestic market, are very limit. So the development of a waveform generator
4、which is fully functional and easy to use is very important for experimental, research, and industrial needs.This article describes two schemes of the design of waveform generator (WG) based on 51 MCU and DAC 0832 chip. And the two schemes have their own advantages to meet different areas need. Amon
5、g them, in the scheme of programmable WG design, we use the MCU to generate waveform data, and then use the timer timing to control DAC converter which translate the waveform data into the output waveform. This scheme expanded with LED display module and keyboard module, which has a good human-machi
6、ne interaction. In hardware WG design scheme, we use the MCU to generate waveform data or accept the data from PC, and then transfer this data to external RAM. Specially, we use an external circuit to control the DAC conversion. This design can generate high-frequency waves, and it also has good sca
7、lability. Whats more, these two schemes can produce four kinds of waveforms (sine, triangle, sawtooth and square wave); their frequency and amplitude can adjust by users need.In this design,we use the Keil c software for software design in C language. And then we use the simulation software Proteus
8、to check system functions, Finally, we use Protel software to produce printed circuit boards (PCB).This design of the two kinds of waveform generator has good precision, low power consumption, high data transmission speed, great reliability, and good economy value. To a certain extent, it is worthy
9、of being further developed.KEY WORDS:waveform generators, MCU, DAC0832, programmable WG design, hardware WG design4目錄 前言1第1章 緒論21.1 選題背景21.2 波形發(fā)生器的發(fā)展狀況21.3 選題意義31.4 本文研究的主要內(nèi)容41.5 章節(jié)安排4第2章 波形發(fā)生器系統(tǒng)方案設計及選擇52.1 總體方案選擇52.2 子系統(tǒng)模塊方案選擇72.2.1 控制器的選擇72.2.2 調(diào)頻方案設計72.2.3 調(diào)幅方案設計102.2.4 按鍵方案設計102.2.5 顯示模塊方案設計112.
10、2.6 D/A轉換器的選擇112.2.7 靜態(tài)RAM的選擇122.3 系統(tǒng)總體框圖132.3.1 程控波形發(fā)生器系統(tǒng)框圖132.3.2 硬件波形發(fā)生器設計框圖132.4 系統(tǒng)可行性分析14第3章 主要芯片及設計軟件介紹153.1 主要芯片介紹153.1.1 89C51單片機153.1.2 數(shù)模轉換器DAC0832213.1.3 可編程并行接口電路8255A233.1.4 定時器555253.1.5 計數(shù)器74161263.2 設計軟件介紹273.2.1 仿真軟件Proteus273.2.2 編程軟件Keil C51283.2.3 EDA軟件Protel28第4章 硬件實現(xiàn)及模塊設計電路294.
11、1 程控波形發(fā)生器設計硬件電路294.1.1 單片機最小系統(tǒng)及I/O擴展模塊294.1.2 波形產(chǎn)生及調(diào)幅模塊304.1.3 LED顯示模塊314.1.4 按鍵模塊324.2 硬件波形發(fā)生器設計334.2.1 單片機最小系統(tǒng)及I/O擴展模塊334.2.2 波形產(chǎn)生及調(diào)幅模塊344.2.3 調(diào)頻模塊354.2.4 SRAM模塊364.2.5 按鍵模塊374.2.6 串行通信和供電模塊38第5章 系統(tǒng)軟件設計395.1 系統(tǒng)軟件編程語言方案設計395.2 程控波形發(fā)生器軟件設計405.2.1 主程序405.2.2 按鍵子程序405.2.3 顯示子程序415.2.4 波形子程序425.2.5 定時器
12、中斷子程序435.3 硬件波形發(fā)生器軟件設計455.3.1 主程序455.3.2 波形子程序465.3.3 數(shù)模轉換子程序48第6章 PCB設計與系統(tǒng)調(diào)試496.1 PCB設計496.2 系統(tǒng)調(diào)試506.2.1 程控波形發(fā)生器仿真結果506.2.2 硬件波形發(fā)生器仿真結果546.3 系統(tǒng)誤差測試及分析586.4 系統(tǒng)功能實現(xiàn)情況596.5 經(jīng)濟分析報告61結論62參考文獻63致謝65附錄 A66附錄 B67附錄 C68附錄 D85附錄 E95附錄 E95附錄 E97附錄 F98符號說明 Hz赫茲,頻率單位KHz千赫,1千赫(KHz)= 1103赫茲(Hz)MHz兆赫,1兆赫(MHz)= 110
13、3千赫(KHz)GHz吉赫,1吉赫(GHz)= 1103兆赫(MHz)V伏特,電壓單位歐姆,電阻單位K千歐, 1千歐(K)= 1103歐姆()F法拉,電容單位F 微法,1法拉(F)= 1106微法(F)pF皮法,1微法(F)= 1106皮法(pF)s秒,時間單位ms毫秒,1秒(s)= 1103毫秒(ms)s微秒,1毫秒(ms)= 1103毫秒(s)R/RESResistance,電阻C/CAPCapacitance,電容SW撥碼開關RV滑動變阻器Crystal石英晶振ROMRead only memory,只讀存儲器RAMRandom access memory,隨機存儲器SRAMStatic
14、 RAM,靜態(tài)隨機存儲器CPUCentral Processing Unit,中央處理器D/ADigital/Analog,數(shù)/模轉換DACDigital/Analog Converter,數(shù)模轉換器前言波形發(fā)生器作為信號源廣泛應用于電子工業(yè)、自動控制和科學試驗等領域。雷達、通信、宇航、遙控遙測技術和電子系統(tǒng)等領域都隨處可見波形發(fā)生器的應用。從上世紀20年代起,世界上對于波形發(fā)生器的研究與改進從未間斷過,到現(xiàn)今已經(jīng)研制出了用于不同頻域的各種高性能的波形發(fā)生器。但是我國對波形發(fā)生器的研究起步較晚,國內(nèi)市場上波形發(fā)生器種類匱乏,價格昂貴,且多用于航天軍事等領域。在這種情況下,在實際工業(yè)應用中往往需
15、要設計人員自行設計出所需的波形發(fā)生器,帶來不必要的工程開銷。所以說研制一種功能齊全、使用方便的波形發(fā)生器十分重要。本文介紹了兩種基于89C51單片機和數(shù)模轉換器DAC0832產(chǎn)生所需波形的波形發(fā)生器設計方案,兩種方案各有千秋,可以滿足不同領域對波形發(fā)生器的需求。其中,程控波形發(fā)生器設計方案運用單片機執(zhí)行程序產(chǎn)生波形數(shù)據(jù),再由單片機通過定時器定時控制將波形數(shù)據(jù)送給DAC轉換輸出波形,由于軟件的限制產(chǎn)生波形的上限頻率受到限制無法在本方案內(nèi)尋求突破方法。本方案擴展有LED顯示模塊和鍵盤模塊,且可以實現(xiàn)頻率和幅值的連續(xù)可調(diào),具有良好的人機交互性,因此在低頻需求的教學實驗領域具有很好的應用前景。硬件波形
16、發(fā)生器設計中,單片機執(zhí)行程序產(chǎn)生波形數(shù)據(jù)或從上位機接受波形數(shù)據(jù)寫入外部RAM中,然后由外部電路控制從RAM中取出波形數(shù)據(jù)送于DAC轉換輸出波形,本方案雖然無法像程控方案那樣方便的調(diào)節(jié)波形信息,但是可以產(chǎn)生高頻波,且具有良好的可升級性,可以用于對高頻信號需求的領域。本次設計運用Keil c軟件采用C語言進行軟件設計,使用仿真軟件Proteus進行系統(tǒng)功能校驗,并使用Protel軟件制作印刷電路板(PCB)。本文著重介紹了在設計過程中的方案選擇以及兩種硬件和軟件電路的設計,也對設計所使用的芯片及功能進行簡要介紹,并對設計結果進行誤差和經(jīng)濟性分析說明系統(tǒng)的可行性。另外在文章中,還分散對兩種設計方案的
17、原理、特點、實現(xiàn)方式、性能比對和應用領域進行說明。以便于讀者能夠通過本篇文章對本次設計全面理解。第1章 緒論1.1 選題背景波形發(fā)生器又名信號源,廣泛應用于電子電路、自動控制和科學試驗等領域。雷達、通信、宇航、遙控遙測技術和電子系統(tǒng)等領域都隨處可見波形發(fā)生器的應用。如今作為電子系統(tǒng)“心臟”的信號源的性能很大程度上決定了電子設備和系統(tǒng)的性能的提高。因此隨著電子技術的不斷發(fā)展,現(xiàn)今對信號源的頻率穩(wěn)定度、頻譜純度和頻率范圍以及信號波形的形狀提出越來越高的挑戰(zhàn)。1.2 波形發(fā)生器的發(fā)展狀況早在上世紀20年代就出現(xiàn)了作為測量儀器的波形發(fā)生器1。隨著電子技術的發(fā)展,波形發(fā)生器實現(xiàn)了從定性分析的測試儀器到用
18、于測試接收機的標準波形發(fā)生器的轉變。早期的波形發(fā)生器的機構復雜,功率較大,因此發(fā)展緩慢。伴隨著晶體管的問世所帶來的電子領域的巨大變革,于1964年研制出了第一臺全晶體管的波形發(fā)生器。自60年代以來波形發(fā)生器有了迅速的發(fā)展,這個時期的波形發(fā)生器運用模擬電子技術,由分立元件和模擬集成電路構成。這種波形發(fā)生器電路尺寸大,價格貴,功耗高,結構復雜,功能單一,且由于模擬器件存在漂移輸出波形的幅度穩(wěn)定性差。所以模擬技術的波形發(fā)生器的發(fā)展在后期也受到了一定的制約。70年代隨著微處理器的出現(xiàn),波形發(fā)生器的設計開始往數(shù)字電子技術方面進軍。這時的波形發(fā)生器主要運用軟硬件結合的方法從而可以實現(xiàn)更加復雜的功能。但是由
19、于這時期的設計主要采用軟件去實現(xiàn)程控波形的功能,所以也就帶來了一些問題,即由于CPU工作頻率的制約使得設計產(chǎn)品只能輸出低頻波形。當時專用于信號處理的微處理器時鐘頻率只有1-2MHz,A/D和D/A一般為8位,且內(nèi)部存儲容量也很小。所以實際上能夠產(chǎn)生波形的有效頻寬不會超過1MHz,再去考慮波形的平滑度和失真度,重復頻寬不會超過10KHz。80年代后期才真正克服軟件的問題出現(xiàn)了幾種高性能的函數(shù)發(fā)生器。其中最具代表性的是HP公司推出的HP70S信號模擬裝置系統(tǒng),它由HP8770A任意波形數(shù)字化和HP1776A波形發(fā)生軟件組成。傳統(tǒng)的波形發(fā)生器產(chǎn)生的波形比較單一,如正弦波、方波、脈沖波、三角波等。隨著
20、科學實驗研究的需求的不斷發(fā)展,對波形種類的需求也呈現(xiàn)出多樣化的趨勢。如電子設備的性能指針測試中就需要能提供一些非常規(guī)的測試信號的信號源,即能產(chǎn)生現(xiàn)場所需要波形的任意波形發(fā)生器(Arbitrary Waveform Generator, AWG)。 早期的任意波形發(fā)生器主要著重音頻等低頻頻段,現(xiàn)在的任意波形發(fā)生器已擴展到射頻頻段,目前任意波形發(fā)生器的帶寬可以達到2GHz,足夠仿真許多移動通信、衛(wèi)星電視的復雜信號。任意波形發(fā)生器的典型代表為Lecroy公司生產(chǎn)的的9100任意波形發(fā)生器2?,F(xiàn)今市場上技術比較成熟的波形發(fā)生器產(chǎn)品有:安捷倫公司生產(chǎn)的33250A函數(shù)任意波形發(fā)生器,其輸出頻率寬度范圍為
21、1Hz-80MHz,可應用于各供不同頻段的設計。該公司生產(chǎn)的8648D射頻信號發(fā)生器大量應用于超高頻的工業(yè)設計領域,頻率寬度范圍高達9KHz-4GHz3。1.3 選題意義雖然我國對于波形發(fā)生器的研制起步較晚,但是通過幾年的努力也取得了一些可喜的成果。國產(chǎn)SG1060數(shù)字合成信號發(fā)生器可以雙通道同時輸出高分辨率、高精度、高可靠性的各種波形,其頻率覆蓋范圍為1Hz-60MHz。國產(chǎn)S1000數(shù)字合成掃頻信號發(fā)生器的頻率范圍為1MHz-1024MHz,可應用于超高頻領域。但是總的來說,這些設計產(chǎn)品價格昂貴主要應用于航空、軍事等高端領域,在日常民用方面并沒有形成自己真正的產(chǎn)業(yè)。目前國內(nèi)成熟的產(chǎn)品多位一
22、些PC儀器插卡,獨立儀器少之又少。并且我國現(xiàn)今的任意波形發(fā)生器的種類和性能與國外相比仍有很大差距,因此對此內(nèi)產(chǎn)品的研究設計仍具有重要意義。1.4 本文研究的主要內(nèi)容本次設計的任務是運用新一代高性能數(shù)字芯片設計一種使用方便,性能良好的獨立式波形發(fā)生器。該波形發(fā)生器系統(tǒng)采用51單片機進行控制,DAC0832芯片進行D/A轉換。本次設計所實現(xiàn)的基本功能如下:(1) 能夠產(chǎn)生正弦波、三角波、鋸齒波和方波四種波形。(2) 擴展有鍵盤模塊用于對對波形類型、頻率和峰峰值進行設定。(3) 擴展有顯示輸出模塊顯示當前輸出波形的類型、頻率和峰值信息。本篇論文主要討論的是波形發(fā)生器設計的方案選擇,系統(tǒng)硬件電路設計問
23、題,單片機軟件和生成常用波形軟件編寫問題,以及對本次設計中的主要芯片的介紹。另外,本文還分散的對本次設計所采用的兩種設計方案(程控波形發(fā)生器設計和基于硬件的波形發(fā)生器設計)的特點進行比較說明,并對兩種設計的應用前景進行闡述。1.5 章節(jié)安排本文對基于單片機的波形發(fā)生器設計進行了詳細的說明,共分六章。第一章主要介紹了課題的研究背景、發(fā)展、意義,設計的整體內(nèi)容以及任務安排。第二章對設計前的系統(tǒng)方案以及各模塊的實現(xiàn)方案進行比對和選擇,從而確定出最終的兩種設計方案,即程控波形發(fā)生器設計方案和硬件波形發(fā)生器設計方案。第三章對本次設計所使用的主要芯片如89C51單片機、8255A3、DAC0832等進行了
24、介紹,并且對這些芯片在系統(tǒng)設計運用的功能給予簡要說明,在本章最后對系統(tǒng)設計所使用的開發(fā)軟件予以介紹。第四章對系統(tǒng)兩種設計方案的硬件電路各模塊的設計及工作方法分別進行詳細介紹。第五章對兩種設計方案的各程序模塊的設計及流程圖分別予以詳細的說明。第六章主要分為4個部分,首先對PCB設計進行了簡要說明,然后對系統(tǒng)仿真結果及誤差進行分析,接著對系統(tǒng)實現(xiàn)的功能及不足進行綜合說明,組后對系統(tǒng)的可行性進行分析說明。在文章的最后還附錄了軟件程序、硬件電路圖和PCB圖。第2章 波形發(fā)生器系統(tǒng)方案設計及選擇2.1 總體方案選擇波形發(fā)生器的設計可以通過多種方案來實現(xiàn),在設計之前需要對各種設計方案進行比較和選擇:方案一
25、:采用分立元件構成非穩(wěn)態(tài)的多諧振蕩器,然后根據(jù)所需波形的要求加入積分電路等構成波形發(fā)生器,如圖2-1所示。U0輸出為正弦波、U1輸出為方波、U2輸出為三角波,三種波形輸出頻率相同。通過調(diào)節(jié)第一級運放的RC參數(shù),可以改變頻率。圖2-1 采用分立元件構成的簡易波形發(fā)生器方案二:采用單片機控制的單片函數(shù)發(fā)生器(如8038芯片)來進行波形發(fā)生器的設計。8038可以同時產(chǎn)生方波、三角波和正弦波專用集成電路4。方案三:利用專用直接數(shù)字合成DDS芯片去實現(xiàn)波形發(fā)生器的設計。例如專門用于波形發(fā)生器的集成微處理器8XC196MC/MD單片機可以直接產(chǎn)生高頻率的各種常用信號波形5。方案四:對51單片機進行編程,在
26、單片機ROM中寫入各種波形子程序,使其根據(jù)按鍵設定產(chǎn)生相應的波形數(shù)據(jù),波形數(shù)據(jù)送入D/A轉換芯片DAC0832從而輸出相應的波形。我將此種方法稱作“程控波形發(fā)生器設計”6。方案五:對51單片機進行編程,在生成波形之前單片機將各波形的離散數(shù)據(jù)寫入SRAM中,隨后由外部時鐘控制SRAM將波形數(shù)據(jù)輸送給D/A轉換器從而生成波形。我將此種方法稱作“硬件波形發(fā)生器設計” 7。對以上五個方案進行比較,可以得出如下結論:方案一由于采用分立元件,模擬信號容易受到干擾難以保證高的精度(如放大器有飽和失真、截止失真、交越失真,集成電路難免有零點漂移),且結構復雜,設備體積較大,不便于波形參數(shù)的調(diào)節(jié)。方案二簡單易行
27、,但是8038產(chǎn)生的波形容易寄生高次諧波分量,且頻率的穩(wěn)定性差。方案三雖然集成度高,生成的波形質量高,但是硬件成本較高。方案四和方案五基于51單片機設計軟硬件結合,硬件成本低,軟件起點低,優(yōu)化型相對比較好,設計時間短,成本低,可靠性高,且滿足設計要求。方案四“程控波形發(fā)生器設計”8是運用軟件編寫波形子程序,并通過單片機將數(shù)據(jù)向D/A轉換器的傳輸。這種方案如1.2節(jié)所說只能產(chǎn)生不高于10KHz的波形,因此只可用于低頻波形發(fā)生器的設計。但是此種方案所生成的波形完全由程序實現(xiàn),所以峰峰值和頻率在一定范圍內(nèi)連續(xù)可調(diào),而且可以添加鍵盤和顯示功能模塊來提高人機交互性,這使得此種方案設計更接近于一個完整的系
28、統(tǒng)?;谶@些考慮,此種設計產(chǎn)品仍有很大的應用前途,例如,用于實驗教學的信號源或低頻段的工業(yè)設計。方案五“硬件波形發(fā)生器設計”9首先它運用單片機將波形數(shù)據(jù)寫入SRAM中,然后由外部時鐘源控制SRAM向D/A轉換器輸送數(shù)據(jù)進行轉換。這種方案生在單片機寫入波形數(shù)據(jù)到SRAM后就解放了工作任務,剩下的波形輸出任務完全由外部時鐘源控制,所以輸出波的頻率由外部時鐘決定。因此只要外部時鐘源允許就可以生成任意頻率的波形。但是這也就帶來了一個問題:如果要求對波的頻率進行調(diào)節(jié)就需要更換外部時鐘源。由于這個問題也就造成了此種方案無法像方案四中那樣實現(xiàn)頻率的連續(xù)可調(diào)。但是考慮到在實際的工業(yè)設計中所需的波形頻率是有限的
29、,針對特定的系統(tǒng)我們可以通過分頻得到多個頻率來滿足系統(tǒng)的要求。并且本方案中單片機在后期處于閑置狀態(tài),這時單片機作為控制器可以去完成更多的功能,如時鐘顯示功能,可見此種方案具有很好的可擴展性?;谶@些考慮,本方案的設計適于作為一個大系統(tǒng)中的波形發(fā)生器子系統(tǒng),如雷達系統(tǒng)的波形發(fā)生器。綜上所述,本次設計采用方案四和方案五進行兩種不同應用領域的波形發(fā)生器設計。兩種設計方案的具體實施在下文中將會分別予以介紹。2.2 子系統(tǒng)模塊方案選擇本節(jié)對本次設計中起主要作用的控制器、調(diào)頻模塊、調(diào)幅模塊、按鍵模塊、顯示模塊、D/A轉換器和SRAM的設計方案和選型方法進行了具體的闡述。下面分別予以介紹。2.2.1 控制器
30、的選擇本次設計中提供了三種控制器方案,具體闡述如下:方案一:選用89C51單片機作為控制器。方案二:選用FPGA、CPLD等可編程器件組合構成控制模塊10。方案三:選用專用于波形發(fā)生器的集成微處理器8XC196MC/MD作為控制器。對以上方案綜合比對,可以得出如下結論:方案二中的FPGA可以實現(xiàn)各種復雜的邏輯功能,且具有密度高、速度快、穩(wěn)定性好等優(yōu)點。但是FPGA在掉電后會丟失當前數(shù)據(jù),需要增加額外的程序開銷。并且FPGA具有數(shù)字邏輯器件所共有的問題競爭和冒險,所以設計時必須考慮抗干擾性。另外FPGA相對于單片機的編程起點較高,增加編程的難度。方案三中的專用處理器生成的波形頻段寬,穩(wěn)定性好,精
31、度高,執(zhí)行速度快,且編程簡單,不需要外圍硬件電路,但是芯片價格昂貴。方案一中51單片機使用靈活,軟件起點低,功耗低,價格低廉,但是必須配合一定的外圍硬件電路才能實現(xiàn)波形發(fā)生器的功能(其實外圍電路并不復雜)。從電路結構復雜程度和成本角度及綜合性價比考慮,確定選擇方案一。2.2.2 調(diào)頻方案設計本次設計提供了兩種調(diào)頻方案的構思,具體闡述如下:方案一:通過硬件電路控制離散波形數(shù)據(jù)的輸出速度從而實現(xiàn)頻率的改變。將外部時鐘信號經(jīng)過不同的分頻作為儲存離散波形數(shù)據(jù)的SRAM的輸出譯碼地址,使SRAM按照一定的時間間隔輸出波形數(shù)據(jù)給DAC進行轉換。通過外部時鐘分頻器的設置來選擇波形的頻率檔位。(具體方法參見第
32、四章4.2.3節(jié))方案二:通過對單片機的定時器(具體參見第三章3.1.1節(jié)第3部分)的編程來實現(xiàn)調(diào)頻。將一個周期的波形數(shù)據(jù)離散成256個采樣點數(shù)據(jù)(具體方法見第五章5.2.5節(jié)),然后令微處理器的累加器A自身循環(huán)增加,沒增加一次即向DAC送出一個波形采樣數(shù)據(jù),并啟用一次定時器延時。當8位累加器A的內(nèi)容達到最大的計數(shù)值255時在自增一次就變成最小值零,然后可以繼續(xù)增加。如此,周而復始就可以從DAC得到要求的波形輸出。當然通過對定時器初值的設定可以改變波形的頻率。例如,單片機的晶振頻率fOSC=12MHz,定時器采用方式1,若產(chǎn)生周期為T的波形,定時器初值的計算方法如下:單片機機械周期Tmec為:
33、 (2-1)定時器初值TC為: (2-2)定時器初值高位TCH為: (2-3)定時器初值低位TCL為: (2-4)當要獲得1Hz的波形時,按照上述方法可以算出:TC=61630, TCH=240, TCL=190但是此種方案最大計數(shù)值為65536,最小計數(shù)值為1,所以決定了此種方法所能得到的波形的上限頻率fMAX為: (2-5)下限頻率fMIN為: (2-6)需要說明的是以上上限下限頻率是對于將一周期波形離散成256個數(shù)據(jù)點的正弦波和鋸齒波而言的。對于三角波本次設計是將一個周期的波形離散成512個波形數(shù)據(jù),所以能得到的波形的上限頻率fMAX為: (2-7)下限頻率fMIN為: (2-8)對于方
34、波本次設計是將一個周期的波形離散成2個波形數(shù)據(jù)(0和255),所以能得到的波形的上限頻率fMAX為: (2-9)下限頻率fMIN為: (2-10)可見方波輸出的下限頻率過高,所以進行方波的低頻輸出時需要進行特別的程序處理,具體參見第五章5.2.5節(jié)方波子程序部分。對以上方案綜合比對,可以得出如下結論:方案一主要是靠硬件實現(xiàn)調(diào)頻,無上限頻率和下限頻率的限制,且頻率的誤差度可以忽略不計,但是頻率的選擇只可是外部時鐘源的整倍數(shù)分頻(如2分頻、4分頻等),不可實現(xiàn)頻率的連續(xù)可調(diào)。方案二是靠軟件來實現(xiàn)調(diào)頻,綜合可以看出此種方案的有效頻段為0.06Hz到1953Hz,在此范圍內(nèi)輸出波形頻率連續(xù)可調(diào)。但是由
35、于輸出高頻時受到軟件執(zhí)行(例如對定時器的重新賦值指令需要占用4個機械周期,一周期波形需要進行256次再賦值操作,所以一個周期也就引入了的誤差)的影響,在高于1KHz時得到波形頻率與期望頻率誤差較大,且得出低于0.1Hz波形的意義不大,故設定有效調(diào)頻范圍為0.1Hz1KHz。如2.1節(jié)所述,硬件波形發(fā)生器設計選擇方案一,程控波形發(fā)生器設計選擇方案二。2.2.3 調(diào)幅方案設計在此之前,首先需要說明DAC0832的輸出電壓的計算方法: (2-11)其中Vref為DAC0832的基準電壓,N為單片機送給DAC0832的8位數(shù)字量。方案一:將DAC0832的RFB引腳接一個滑動變阻器來改變DAC0832
36、的基準電壓Vref,從而通過改變基準電壓Vref來改變DAC0832的輸出電壓Vo,即實現(xiàn)波形幅度的改變。方案二:為了將DAC0832輸出的電流信號轉化為電壓信號,需要在DAC的電流輸出接運放。在運放的電壓輸出端加滑動變阻器可以實現(xiàn)輸出波形幅值的調(diào)節(jié)。方案三:采用兩片DAC0832串接在一起,即第一片DAC的電壓輸出接第二片DAC的基準電壓Vref引腳。單片機通過程序改變送給第一片DAC0832的數(shù)字量來改變其輸出電壓,即第二片DAC的參考電壓Vref,從而改變幅值。方案一和方案二相比,方案二在改變輸出電壓的過程中,實際的電壓與預期的電壓會有一個紋波的差別,所以方案一更好。方案一與方案三相比,
37、雖然方案三增加了額外的硬件和軟件的開銷,但是可以通過按鍵對程序參數(shù)進行設定來改變輸出幅值,不需要對硬件滑動變阻器進行手動調(diào)節(jié),具有優(yōu)越的人機交互性。綜合考慮而言,硬件波形發(fā)生器設計選擇方案一,程控波形發(fā)生器設計選擇方案三。2.2.4 按鍵方案設計方案一:采用獨立按鍵。方案二:采用矩陣鍵盤。方案一按鍵的數(shù)目少,結構簡單,編程容易,執(zhí)行效率高。方案二可以節(jié)省單片機的I/O口資源,但是其編程方法(行掃描法和反轉掃描法)難度較大。由于我們需求的按鍵數(shù)目較少,功能比較簡單且對執(zhí)行效率的要求較高,所以采用獨立按鍵。2.2.5 顯示模塊方案設計方案一:采用LED七段數(shù)碼管對波形類型、頻率和幅度進行顯示。方案
38、二:采用LCD1602液晶顯示相關信息。方案三:采用LCD1286液晶圖文顯示相關信息。方案一占用較多的I/O口資源,需要添加額外的I/O擴展電路和譯碼電路,但是此方案硬件價格低廉,編程起點低。方案二運用液晶顯示可以顯示點陣字母和數(shù)字信息,速度快,功耗低,體積小,但是硬件價格較貴,且編程相對于LED較難。方案三的液晶可以顯示漢字和圖形,這些功能在本次設計中用不到。綜合考慮,程控波形發(fā)生器設計并不需要顯示復雜的信息,所以選擇方案一。硬件波形發(fā)生器設計不準備加入顯示模塊,主要是因為此種方案適用于生成特定波形的系統(tǒng)中,使用人員并不需要經(jīng)常對波形的頻率和幅值進行更改,所以顯示模塊在此種方案中顯得冗余。
39、2.2.6 D/A轉換器的選擇D/A轉換器的轉換時間是指模數(shù)轉換器完成一個轉換所需的時間,是D/A轉換器的一個重要參數(shù)。在本次設計中DAC的轉換時間直接影響到輸出波形的上限頻率。按轉換速度去劃分現(xiàn)有的DAC可以分為低速(建立時間大于100)、中速(建立時間1100)、高速(建立時間0.150ns)和超高速(建立時間小于50ns)四種。因此本次設計最初對D/A轉換器的選擇提供了如下兩種方案:方案一:采用8位高速D/A轉換器(如DAC908,TLC7524)進行設計。方案二:采用常用的8位D/A轉換器DAC0832進行設計。方案一轉換器的轉換上限頻率fMAX至少為: (2-12)方案二中選用的DA
40、C0832為中速轉換器,其轉換速度為1us,所以其轉換的上限頻率fMAX為: (2-13)可見使用DAC0832產(chǎn)生的波形由于硬件的限值上限頻率只有4KHz左右。但是在隨后使用的仿真軟件Proteus的元件庫所提供的D/A轉換器只有DAC0832這類中速轉換器,所以在后面的仿真介紹中我們選用DAC0832芯片作為系統(tǒng)的轉換器去仿真低頻波形,而在制作PCB板時我們選用轉換速度更高的DAC908芯片作為轉換器以滿足高頻要求。2.2.7 靜態(tài)RAM的選擇根據(jù)前文的介紹可知在硬件波形發(fā)生器設計中需要用到SRAM去存儲離散的波形數(shù)據(jù)。以下是對SRAM進行選擇的兩種方案:方案一:采用普通的6116型號的S
41、RAM。方案二:采用雙端口RAM(如IDT7132芯片)。由于此次設計是將波形離散成256個波形數(shù)據(jù),所以對RAM容量的要求大于256B即可。硬件波形發(fā)生器設計的設計中首先需要單片機將數(shù)據(jù)寫入RAM中,然后需要RAM將數(shù)據(jù)發(fā)送給DAC進行轉換,這就意味著RAM即要從單片機接受數(shù)據(jù)又要輸出數(shù)據(jù)給DAC。基于這種考慮首先想到的是使用雙口RAM IDT7132解決這一問題,因為7132芯片有兩組數(shù)據(jù)端口可以分別用于輸入和輸出。但是考慮到IDT7132芯片的價格昂貴,且Proteus仿真軟件也沒有提供此類軟件,所以我選擇用普通的6116RAM解決問題。由于設計時RAM的輸入和輸出不是同步進行的,可以運
42、用鎖存器去控制不同執(zhí)行階段數(shù)據(jù)的傳輸方向,具體方法請參見第四章4.2.4節(jié)。2.3 系統(tǒng)總體框圖如前文所述,本次設計采用兩種設計方案以滿足兩種不同領域的波形發(fā)生器設計。以下分別對這兩種設計的系統(tǒng)框圖予以介紹。2.3.1 程控波形發(fā)生器系統(tǒng)框圖本系統(tǒng)由單片機最小系統(tǒng)(由51單片機、晶振電路和復位電路組成),鍵盤電路,LED顯示模塊,兩片DAC0832構成的調(diào)幅模塊和電源供電模塊以及用于擴展I/O口的8255A芯片組成。圖2-2 程控波形發(fā)生器系統(tǒng)框圖在使用過程中用戶首先通過鍵盤輸入波形的類型、頻率和幅值,單片機通過按鍵輸入動作計算頻率和幅值,然后執(zhí)行程序驅動LED顯示器顯示當前波形的類型、頻率和
43、幅值信息,同時產(chǎn)生波形數(shù)據(jù)送于D/A轉換器并通過放大器輸出波形。2.3.2 硬件波形發(fā)生器設計框圖本系統(tǒng)由單片機最小系統(tǒng),鍵盤電路,數(shù)模轉換模塊,串行通信模塊,USB供電模塊,由外部時鐘和分頻電路組成的調(diào)頻模塊以及8255A芯片,SRAM芯片組成。圖2-2 硬件波形發(fā)生器系統(tǒng)框圖在使用過程中,用戶先通過鍵盤設定要輸出波形的類型和分頻選擇。隨后在系統(tǒng)運行初期51單片機將波形數(shù)據(jù)通過8255A寫入SRAM中,然后將外部時鐘經(jīng)設定的分頻電路的信號作為SRAM的地址信息從SRAM中讀取數(shù)據(jù)送入數(shù)模轉換模塊生成波形。同時系統(tǒng)中擴展了RS232串行通信模塊用于與上位機通信,可以從上位機獲取波形數(shù)據(jù)。2.4
44、 系統(tǒng)可行性分析系統(tǒng)地電源部分我們選用7805、7815、7915三個三端集成穩(wěn)壓器得到+5V、+15V、15V的電壓,然后再將這三個集成穩(wěn)壓器輸出的電壓值供給整個系統(tǒng);通過DAC0832或DAC908進行數(shù)模轉換;集成運放OP05進行電壓放大;運用8255A芯片進行I/O擴展;撥碼開關組成按鍵系統(tǒng);程控波形發(fā)生器設計的顯示模塊還用到一片74LS138、兩篇7404反相器和8組LED;硬件波形發(fā)生器設計額外用到一片SRAM6116,兩片74LS373鎖存器,一片555作外部時鐘源,三片74161作分頻譯碼電路,一個MAX232和一個9針插口組成串行通信模塊。以上這些器件在市場上都很普及,價格低
45、廉,容易獲得,因此器件的選擇經(jīng)濟可行。14第3章 主要芯片及設計軟件介紹3.1 主要芯片介紹為了便于對下章硬件電路進行說明,本節(jié)將對設計中起主要作用的一些芯片進行介紹,如89C5111、8255A12、DAC083213、DAC908、55514、74161。3.1.1 89C51單片機STC89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROMFlash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS8位微處理器,俗稱單片機。單片機的可擦除只讀存儲器可以反復擦除100次。該器件采用高密度非易失存儲器制造技術制造,與工
46、業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中, 89C51是一種高效微控制器,89C2051是它的一種精簡版本。89C單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。1. 主要特性l 與MCS-51 兼容l 4K字節(jié)可編程閃爍存儲器l 壽命:1000寫/擦循環(huán)l 數(shù)據(jù)保留時間:10年l 全靜態(tài)工作:0Hz-24MHzl 三級程序存儲器鎖定l 1288位內(nèi)部RAMl 32可編程I/O線l 兩個16位定時器/計數(shù)器l 5個中斷源l 可編程串行通道l 低功耗的閑置和掉電模式l 片內(nèi)振蕩器和時鐘電路2. 管腳說明圖3-1 89C51單片機引腳
47、說明圖(1) 電源和晶振VCC:運行和程序校驗時加+5V電壓。GND:接地。XTAL1:輸入到振蕩器的反向放大器。XTAL2:方向放大器的輸出,輸入到內(nèi)部時鐘發(fā)生器。(2) I/O口89C51單片機有4組8位的I/O口,共32根口線。P0口:8位漏級開路雙向I/O口。當P0口的管腳第一次寫1時,被定義為高阻輸入。當使用片外存儲器(RAM或RAM)時,作地址和數(shù)據(jù)總線分時復用。在程序校驗期間,輸出指令字節(jié)(這時需要加外部上拉電阻)。P0口(作為總線時)能驅動8個LSTTL負載。P1口:8位準雙向I/O口,具有內(nèi)部上拉電阻。在編程/校驗期間,用作輸入低位字節(jié)地址。P1口能驅動4個LSTTL負載。P
48、2口:8位準雙向I/O口,具有內(nèi)部上拉電阻。當使用片外存儲器(RAM或RAM)時,輸出高位地址。在編程/校驗期間,接收高位字節(jié)地址。P2口可以驅動4個LSTTL負載。P3口:8位準雙向I/O口,具有內(nèi)部上拉電阻。P3口可以驅動4個LSTTL負載。P3還提供了各種替代功能。在提供這些替代功能時,其輸出鎖存器應由程序置1。具體功能表述如下:P3.0 RXD,串行輸入口,輸入。P3.1 TXD,串行輸出口,輸出。P3.2 ,外部中斷0,輸入。P3.3 ,外部中斷1,輸入。P3.4 T0,定時/計數(shù)器0的外部輸入端,輸入。P3.5 T1,定時/計數(shù)器1的外部輸入端,輸入。P3.6 ,低電平有效,輸出,
49、片外數(shù)據(jù)存儲器寫選通。P3.7 ,低電平有效,輸出,片外數(shù)據(jù)存儲器讀選通。(3) 控制線RST:復位輸入信號,高電平有效。在振蕩器工作時,在RST上作用兩個機器周期以上的高電平,將器件復位。/VPP:片外程序存儲器訪問允許信號,低電平有效。在編程時,其上施加12V的編程電壓。ALE/:地址鎖存允許信號,輸出。用作片外存儲器訪問時,低字地址鎖存。ALE以1/6的振蕩頻率穩(wěn)定速率輸出,可用作對外輸出的時鐘或用于定時。在編程期間,作輸入。輸入編程脈沖()。ALE可以驅動8個LSTTL負載。:片外程序存儲器選通信號,低電平有效。從片外程序存儲器取指令期間,在每個機器周期中,當有效時,程序存儲器的內(nèi)容被
50、送上P0口(數(shù)據(jù)總線)。可以驅動8個LSTTL負載。由于在此次設計中運用了單片機的定時中斷功能,所以現(xiàn)在對單片機的定時器/計數(shù)器系統(tǒng)和中斷系統(tǒng)進行簡要說明15。3. 定時器/計數(shù)器系統(tǒng)89C51單片機包含有2個16位的定時器/計數(shù)器:T0和T1。定時器/計數(shù)器的核心是一個加1計數(shù)器。在單片機的T0、T1引腳施加一個1到0的跳變,計數(shù)器加1,即為計數(shù)功能;在單片機內(nèi)部對機器周期或其分頻進行計數(shù),從而得到定時,這就是定時功能。定時器/計數(shù)器T0和T1由計數(shù)器TH0、TL0和TH1、TL1;特殊功能寄存器TMOD和TCON;時鐘分頻器;輸入引腳T0、T1、和組成。(1) 方式寄存器TMOD方式寄存器
51、TMOD是一個逐位定義的8位寄存器,字節(jié)地址為89H,其格式如下:位D7D6D5D4D3D2D1D0位功能GATEC/M1M0GATEC/M1M0其中低4為定義T0,高4位定義T1,各位的意義如表3-1所示。表3-1 方式寄存器TMOD各位功能位名稱功能D7GATE定時器/計數(shù)器T1門控位D6C/定時器/計數(shù)器T1功能選擇位:C/=1為計數(shù)器,C/=0為定時器D5M1定時器/計數(shù)器T1方式選擇位D4M0定時器/計數(shù)器T1方式選擇位D3GATE定時器/計數(shù)器T0門控位D2C/定時器/計數(shù)器T0功能選擇位:C/=1為計數(shù)器,C/=0為定時器D1M1定時器/計數(shù)器T1方式選擇位D0M0定時器/計數(shù)器
52、T1方式選擇位(2) 控制寄存器TCON控制寄存器TCON是一個逐位定義的8位寄存器,即可字節(jié)尋址也可位尋址,字節(jié)地址為88H,位尋址的地址為88H-8FH,其格式如下:位地址8FH8EH8DH8CH8BH8AH89H88H位功能TF1TR1TF0TR0IE1IT1IE0IT0各位的意義如表3-2所示。表3-2 控制寄存器TCON各位功能位名稱功能D7TF1定時器/計數(shù)器T1的溢出標志D6TR1定時器/計數(shù)器T1的運行控制位D5TF0定時器/計數(shù)器T0的溢出標志D4TR0定時器/計數(shù)器T1的運行控制位D3IE1外部中斷1請求標志位D2IT1外部中斷1請求標志位出發(fā)類型選擇D1IE0外部中斷0請
53、求標志位D0IT0外部中斷0請求標志位出發(fā)類型選擇(3) 數(shù)據(jù)寄存器TH1、TL1和TH0、TL0T0、T1各有1個16位的數(shù)據(jù)寄存器,它們都是由高8位寄存器和低8位寄存器組成,這四個寄存器的地址如表3-3所示。表3-3定時器/計數(shù)器T0、T1的數(shù)據(jù)寄存器的字節(jié)地址寄存器名稱字節(jié)地址TH1T1的高8位數(shù)據(jù)寄存器8DHTL1T1的低8位數(shù)據(jù)寄存器8BHTH0T0的高8位數(shù)據(jù)寄存器8CHTL0T0的低8位數(shù)據(jù)寄存器8AH(4) 工作方式根據(jù)對TMOD的M1和M0的設定,T0、T1可選擇4種不同的工作方式。如表3-4所示。表3-4定時器/計數(shù)器T0、T1的工作方式M1M0工作方式計數(shù)器配置00方式0
54、13為計數(shù)器01方式116位計數(shù)器10方式2自動再裝入的8位計數(shù)器11方式3T0分為兩個8位計數(shù)器,T1作為波特率發(fā)生器本次設計中只用到了定時器的方式1,在此只對方式1進行介紹,其他幾種工作方式的具體介紹請參見15相應章節(jié)。方式1時的結構圖如圖3-2。圖3-2 定時器/計數(shù)器T0、T1的結構圖計數(shù)時,TLx的低8位一處后向THx進位,THx溢出后將TFx置位,并向CPU申請中斷。當GATE=0時,A點為高電平,定時器/計數(shù)器的啟動/停止由TRx決定。當GATE=1時,A點的電位由決定,B點的電位由TRx和決定,即定時器/計數(shù)器的啟動/停止由TRx和兩個條件決定。計數(shù)溢出時,TFx置位。如果中斷允許,CPU響應中斷并轉入中斷服務子程序,由內(nèi)部硬件清TFx。TFx也可由程序查詢和清
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年08月江蘇2024屆江蘇銀行連云港分行秋季校園招考筆試歷年參考題庫附帶答案詳解
- 2025至2031年中國腈棉提花產(chǎn)品行業(yè)投資前景及策略咨詢研究報告
- 2024年旋轉油封項目可行性研究報告
- 2025至2031年中國玉米田除草劑行業(yè)投資前景及策略咨詢研究報告
- 2024年08月江蘇2024屆平安銀行校園招考(無錫)筆試歷年參考題庫附帶答案詳解
- 2025至2031年中國氟橡膠涂覆玻纖布行業(yè)投資前景及策略咨詢研究報告
- 課題申報參考:“后真相”語境下網(wǎng)絡社會思潮對大學生政治信任的影響研究
- 《簡政放權》課件
- 2025至2031年中國三門文件柜行業(yè)投資前景及策略咨詢研究報告
- 管理學習題及答案第九章激勵理論
- 2025年考研政治全套復習題庫及答案(全冊完整版)
- 3《歡歡喜喜慶國慶》說課稿-2024-2025學年道德與法治二年級上冊統(tǒng)編版
- 蓄勢聚能籌遠略揚帆破浪啟新航-在2025年務虛會上的講話提綱
- 先進集體發(fā)言稿
- 學生寒假心理健康教育心理調(diào)試過健康寒假課件
- 八年級地理(下冊星球版)復習提綱
- 新建3000只肉羊養(yǎng)殖基地建設項目可行性研究報告
- 山東省濟南市2023-2024學年高二上學期期末考試生物試題 附答案
- DB32T 3292-2017 大跨徑橋梁鋼橋面環(huán)氧瀝青混凝土鋪裝養(yǎng)護技術規(guī)程
- GB/T 44819-2024煤層自然發(fā)火標志氣體及臨界值確定方法
- 《MATLAB編程及應用》全套教學課件
評論
0/150
提交評論