




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、 題目名稱: 基于MSP430的信號發(fā)生器設計 姓 名: 彭從鋒 班 級: 電信111 學 號: 日 期: 2014/7/08 摘 要隨著科技的發(fā)展和現(xiàn)代科研的需要,信號發(fā)生器已經(jīng)成為了很多行業(yè)進行研究測試不可或缺的工具。信號發(fā)生器又稱信號源或振蕩器,在生產(chǎn)實踐和科技領域中有著廣泛的應用。各種波形曲線均可以用三角函數(shù)方程式來表示。能夠產(chǎn)生多種波形,如三角波、鋸齒波、矩形波(含方波)、正弦波的電路被稱為函數(shù)信號發(fā)生器。函數(shù)信號發(fā)生器在電路實驗和設備檢測中具有十分廣泛的用途。例如在通信、廣播、電視系統(tǒng)中,都需要射頻(高頻)發(fā)射,這里的射頻波就是載波,把音頻(低頻)、視頻信號或脈沖信號運載出去,就需
2、要能夠產(chǎn)生高頻的振蕩器。在工業(yè)、農(nóng)業(yè)、生物醫(yī)學等領域內(nèi),如高頻感應加熱、熔煉、淬火、超聲診斷、核磁共振成像等,都需要功率或大或小、頻率或高或低的振蕩器。本系統(tǒng)采用MSP430F149單片機為控制核心,利用單片機內(nèi)置的DA芯片,通過按鍵中斷來邏輯選擇要輸出的波形(正弦波、方波、三角波、鋸齒波),再設置其它鍵來控制波形的幅值及頻率,然后通過單片機控制顯示到LCD1602上。波形的產(chǎn)生是通過MSP430單片機執(zhí)行某一波形發(fā)生程序,向D/A轉(zhuǎn)換器的輸入端按一定的規(guī)律發(fā)生數(shù)據(jù),從而在D/A轉(zhuǎn)換電路的輸出端得到相應的電壓波形。在MSP430學習板的鍵盤按鍵,通過軟件編程來選擇各種波形、幅值電壓和頻率,按不
3、同按鍵產(chǎn)生不同波形的信號。此方案的有點是電路原理比較簡單,實現(xiàn)起來比較容易。關鍵字:MSP430,信號發(fā)生器,LCD1602前 言 計算機和集成技術的高速發(fā)展,電子電路的分析與設計及相應專業(yè)課程的教學與實驗所采用的方式與方法都發(fā)生了重大變化,特別是電子設計自動化系統(tǒng)中所包含的測試測量技術已經(jīng)成為現(xiàn)代教育技術的重要組成部分, 在高校的各個電子相關的實驗室中,都需要開發(fā)和測試各種復雜的電路或子系統(tǒng),其通常要求從沒有上市的或很難獲得的元器件或傳感器中提取額外的信號,由此可見信號發(fā)生器已經(jīng)成為了很多行業(yè)進行研究測試不可或缺的工具。信號發(fā)生器既可以構成獨立的信號源,也可以是高性能網(wǎng)絡分析儀、頻
4、譜儀及其它自動測試設備的組成部分。信號發(fā)生器的關鍵技術是多種高性能儀器的支撐技術,因為它能夠提供高質(zhì)量的精密信號源及掃頻源,可使相應系統(tǒng)的檢測過程大大簡化,降低檢測費用并極大地提高檢測精度。1) 美國安捷倫生產(chǎn)的33250A型函數(shù)/任意波形發(fā)生器可以產(chǎn)生穩(wěn)定、精確和低失真的任意波形,其輸出頻率范圍為1Hz80MHz,而輸出幅度為10mVpp10Vpp;該公司生產(chǎn)的8648D射頻信號發(fā)生器的頻率覆蓋范圍更可高達9kHz4GHz。2) 美國泰克生產(chǎn)的DTG5000 信號發(fā)生器的采樣率達到最高3.35 Gb/s(數(shù)據(jù))3) 國產(chǎn)SG1060數(shù)字合成信號發(fā)生器能雙通道同時輸出高分辨率、高精度、高可靠性
5、的各種波形,頻率覆蓋范圍為1Hz60MHz;4) 國產(chǎn)S1000型數(shù)字合成掃頻信號發(fā)生器通過采用新技術、新器件實現(xiàn)高精度、寬頻帶的掃頻源,同時應用DDS和鎖相技術,使頻率范圍從1MHz1024MHz能精確地分辨到100Hz,它既是一臺高精度的掃頻源,同時也是一臺高精度的標準信號發(fā)生器。還有很多其它類型的信號發(fā)生器,他們各有各的優(yōu)點,但是相信信號發(fā)生器總的趨勢將向著寬頻率覆蓋、高頻率精度、多功能、多用途、自動化和智能化方向發(fā)展。目錄第1章 概 述11.1 信號發(fā)生器設計背景11.2信號發(fā)生器的發(fā)展現(xiàn)狀21.3本設計采用的研究方法和技術路線2第2章 芯片介紹42.1 MSP430單片機技術的發(fā)展特
6、點及應用42.1.1MSP430單片機技術的發(fā)展特點42.1.2 單片機的應用62.1.3 MSP430F149單片機的引腳圖72.2 LCD1602液晶顯示器簡介82.2.1LCD1602液晶顯示器的引腳說明82.2.2寄存器選擇控制表92.3 DAC5571簡介92.3.1 DAC5571的引腳說明92.3.2 DAC5571的原理圖及運算方法10第3章 系統(tǒng)硬件設計113.1 基于MSP430F149信號發(fā)生器構成及工作原理113.2信號發(fā)生器的鍵盤電路113.3信號發(fā)生器的LCD1602顯示模塊123.3數(shù)模轉(zhuǎn)換DAC5571電路133.4小結14第4章 系統(tǒng)軟件設計154.1 信號發(fā)
7、生器總流程圖154.2 初始化程序流程圖164.3 按鍵中斷程序流程圖164.4 波形產(chǎn)生程序流程圖174.4.1 正弦波產(chǎn)生程序流程圖174.4.2 方波產(chǎn)生程序流程圖184.4.3 鋸齒波產(chǎn)生程序流程圖194.4.4 三角波產(chǎn)生程序流程圖194.5 小結20結 論21程序:22第1章 概 述1.1 信號發(fā)生器設計背景 隨著計算機和集成技術的高速發(fā)展,電子電路的分析與設計及相應專業(yè)課程的教學與實驗所采用的方式與方法都發(fā)生了重大變化,特別是電子設計自動化系統(tǒng)中所包含的測試測量技術已經(jīng)成為現(xiàn)代教育技術的重要組成部分, 在高校的各個電子相關的實驗室中,都需要開發(fā)和測試各種復雜的電路或子系
8、統(tǒng),其通常要求從沒有上市的或很難獲得的元器件或傳感器中提取額外的信號,由此可見信號發(fā)生器已經(jīng)成為了很多行業(yè)進行研究測試不可或缺的工具。信號發(fā)生器又稱信號源或振蕩器,在生產(chǎn)實踐和科技領域中有著廣泛的應用。各種波形曲線均可以用三角函數(shù)方程式來表示。能夠產(chǎn)生多種波形,如三角波、鋸齒波、矩形波(含方波)、正弦波的電路被稱為函數(shù)信號發(fā)生器。函數(shù)信號發(fā)生器在電路實驗和設備檢測中具有十分廣泛的用途。例如在通信、廣播、電視系統(tǒng)中,都需要射頻(高頻)發(fā)射,這里的射頻波就是載波,把音頻(低頻)、視頻信號或脈沖信號運載出去,就需要能夠產(chǎn)生高頻的振蕩器。在工業(yè)、農(nóng)業(yè)、生物醫(yī)學等領域內(nèi),如高頻感應加熱、熔煉、淬火、超聲
9、診斷、核磁共振成像等,都需要功率或大或小、頻率或高或低的振蕩器。(1)用分立元件組成的函數(shù)發(fā)生器:通常是單函數(shù)發(fā)生器且頻率不高,其工作不很穩(wěn)定,不易調(diào)試。 (2)可以由晶體管、運放IC等通用器件制作,更多的則是用專門的函數(shù)信號發(fā)生器IC產(chǎn)生。(3)利用單片集成芯片的函數(shù)發(fā)生器:能產(chǎn)生多種波形,達到較高的頻率,且易于調(diào)試。(4)利用專用直接數(shù)字合成芯片的函數(shù)發(fā)生器:能產(chǎn)生任意波形并達到很高的頻率,但成本較高。1.2信號發(fā)生器的發(fā)展現(xiàn)狀信號發(fā)生器既可以構成獨立的信號源,也可以是高性能網(wǎng)絡分析儀、頻譜儀及其它自動測試設備的組成部分。信號發(fā)生器的關鍵技術是多種高性能儀器的支撐技術,因為它能夠提供高質(zhì)量
10、的精密信號源及掃頻源,可使相應系統(tǒng)的檢測過程大大簡化,降低檢測費用并極大地提高檢測精度。美國安捷倫生產(chǎn)的33250A型函數(shù)/任意波形發(fā)生器可以產(chǎn)生穩(wěn)定、精確和低失真的任意波形,其輸出頻率范圍為1Hz80MHz,而輸出幅度為10mVpp10Vpp;該公司生產(chǎn)的8648D射頻信號發(fā)生器的頻率覆蓋范圍更可高達9kHz4GHz。美國泰克生產(chǎn)的DTG5000 信號發(fā)生器的采樣率達到最高3.35 Gb/s(數(shù)據(jù))。國產(chǎn)SG1060數(shù)字合成信號發(fā)生器能雙通道同時輸出高分辨率、高精度、高可靠性的各種波形,頻率覆蓋范圍為1Hz60MHz。國產(chǎn)S1000型數(shù)字合成掃頻信號發(fā)生器通過采用新技術、新器件實現(xiàn)高精度、寬
11、頻帶的掃頻源,同時應用DDS和鎖相技術,使頻率范圍從1MHz1024MHz能精確地分辨到100Hz,它既是一臺高精度的掃頻源,同時也是一臺高精度的標準信號發(fā)生器。還有很多其它類型的信號發(fā)生器,他們各有各的優(yōu)點,但是信號發(fā)生器總的趨勢將向著寬頻率覆蓋、高頻率精度、多功能、多用途、自動化和智能化方向發(fā)展。1.3本設計采用的研究方法和技術路線首先去圖書館借閱有關MSP430單片機的書籍資料,了解MSP430單片機的工作原理、內(nèi)部結構、功能模塊、各種寄存器以及匯編語言,從整體上對MSP430單片機的使用方法和編程原理進行理解。然后利用網(wǎng)絡資源查閱單片機的C語言編程實例和視頻講解,對單片機每個功能模塊的
12、使用有所了解。最后根據(jù)自己的題材基于MSP430單片機的信號發(fā)生器設計指定相應的策略想辦法完成編程。波形的產(chǎn)生是通過MSP430單片機執(zhí)行某一波形發(fā)生程序,向D/A轉(zhuǎn)換器的輸入端按一定的規(guī)律發(fā)生數(shù)據(jù),從而在D/A轉(zhuǎn)換電路的輸出端得到相應的電壓波形。在MSP430學習板的鍵盤按鍵,通過軟件編程來選擇各種波形、幅值電壓和頻率,按不同按鍵產(chǎn)生不同波形的信號。此方案的有點是電路原理比較簡單,實現(xiàn)起來比較容易。具體就是系統(tǒng)采用MSP430單片機為控制核心,利用單片機內(nèi)置的AD芯片,通過按鍵中斷來邏輯選擇要輸出的波形(正弦波、方波、三角波、鋸齒波),再設置其它鍵來控制波形的復制及頻率,然后通過單片機控制顯
13、示到LCD1602上。本設計由檢測模塊、顯示模塊和控制模塊組成,其中顯示模塊用LCD顯示實現(xiàn)溫度顯示,控制模塊通過單片機控制繼電器來實現(xiàn)。第2章 芯片介紹2.1 MSP430單片機技術的發(fā)展特點及應用MSP430系列單片機是美國德州儀器(TI)1996年開始推向市場的一種16位超低功耗、具有精簡指令集(RISC)的混合信號處理器(Mixed Signal Processor)。稱之為混合信號處理器,是由于其針對實際應用需求,將多個不同功能的模擬電路、數(shù)字電路模塊和微處理器集成在一個芯片上,以提供“單片”解決方案。該系列單片機多應用于需要電池供電的便攜式儀器儀表中1。2.1.1MSP430單片機
14、技術的發(fā)展特點德州儀器1996年到2000年初,先后推出了31x、32x、33x等幾個系列,這些系列具有LCD驅(qū)動模塊,對提高系統(tǒng)的集成度較有利。每一系列有ROM 型(C)、OTP 型(P)、和 EPROM 型(E)等芯片。2000 年推出了11x/11x1系列。這個系列采用20腳封裝,內(nèi)存容量、片上功能和 I/O 引腳數(shù)比較少,但是價格比較低廉。2000年7月推出了F13x/F14x 系列,在2001年7月到2002年又相繼推出F41x、F43x、F44x。這些全部是 Flash 型單片機。2001年TI 公司又公布了BOOTSTRAP LOADER技術,利用它可在燒斷熔絲以后只要幾根線就可
15、更改并運行內(nèi)部的程序。這為系統(tǒng)軟件的升級提供了又一方便的手段。BOOTSTRAP 具有很高的保密性,口令可達到 32個字節(jié)的長度1。1、處理能力強MSP430系列單片機是一個16位的單片機,采用了精簡指令集(RISC)結構,具有豐富的尋址方式(7 種源操作數(shù)尋址、4 種目的操作數(shù)尋址)、簡潔的 27 條內(nèi)核指令以及大量的模擬指令;大量的寄存器以及片內(nèi)數(shù)據(jù)存儲器都可參加多種運算;還有高效的查表處理指令。這些特點保證了可編制出高效率的源程序。2、運算速度快 MSP430 系列單片機能在25MHz晶體的驅(qū)動下,實現(xiàn)40ns的指令周期。16位的數(shù)據(jù)寬度、40ns的指令周期以及多功能的硬件乘法器(能實現(xiàn)
16、乘加運算)相配合,能實現(xiàn)數(shù)字信號處理的某些算法(如 FFT 等)。3、超低功耗MSP430 單片機之所以有超低的功耗,是因為其在降低芯片的電源電壓和靈活而可控的運行時鐘方面都有其獨到之處。首先,MSP430 系列單片機的電源電壓采用的是1.8-3.6V 電壓。因而可使其在1MHz 的時鐘條件下運行時,芯片的電流最低會在165A左右,RAM 保持模式下的最低功耗只有0.1A。其次,獨特的時鐘系統(tǒng)設計。在 MSP430 系列中有兩個不同的時鐘系統(tǒng):基本時鐘系統(tǒng)、鎖頻環(huán)(FLL 和FLL+)時鐘系統(tǒng)和DCO數(shù)字振蕩器時鐘系統(tǒng)??梢灾皇褂靡粋€晶體振蕩器(32768Hz),也可以使用兩個晶體振蕩器。由系
17、統(tǒng)時鐘系統(tǒng)產(chǎn)生 CPU 和各功能所需的時鐘。并且這些時鐘可以在指令的控制下,打開和關閉,從而實現(xiàn)對總體功耗的控制。由于系統(tǒng)運行時開啟的功能模塊不同,即采用不同的工作模式,芯片的功耗有著顯著的不同。在系統(tǒng)中共有一種活動模式(AM)和五種低功耗模式(LPM0LPM4)。在實時時鐘模式下,可達2.5A ,在RAM 保持模式下,最低可達0.1A 。4、片內(nèi)資源豐富MSP430 系列單片機的各系列都集成了較豐富的片內(nèi)外設。它們分別是看門狗(WDT)、模擬比較器A、定時器A0(Timer_A0)、定時器A1(Timer_A1)、定時器B0(Timer_B0)、UART、SPI、I2C、硬件乘法器、液晶驅(qū)動
18、器、10位/12位ADC、16位- ADC、DMA、I/O端口、基本定時器(Basic Timer)、實時時鐘(RTC)和USB控制器等若干外圍模塊的不同組合。其中,看門狗可以使程序失控時迅速復位;模擬比較器進行模擬電壓的比較,配合定時器,可設計出 A/D 轉(zhuǎn)換器;16 位定時器(Timer_A 和 Timer_B)具有捕獲/比較功能,大量的捕獲/比較寄存器,可用于事件計數(shù)、時序發(fā)生、 PWM 等;有的器件更具有可實現(xiàn)異步、同步及多址訪問串行通信接口可方便的實現(xiàn)多機通信等應用;具有較多的 I/O 端口,P0、P1、P2 端口能夠接收外部上升沿或下降沿的中斷輸入;10/12位硬件 A/D 轉(zhuǎn)換器
19、有較高的轉(zhuǎn)換速率,最高可達200kbps ,能夠滿足大多數(shù)數(shù)據(jù)采集應用;能直接驅(qū)動液晶多達 160 段;實現(xiàn)兩路的 12 位 D/A 轉(zhuǎn)換;硬件I2C串行總線接口實現(xiàn)存儲器串行擴展;以及為了增加數(shù)據(jù)傳輸速度,而采用的DMA模塊。MSP430 系列單片機的這些片內(nèi)外設為系統(tǒng)的單片解決方案提供了極大的方便。5、方便高效的開發(fā)環(huán)境MSP430 系列有 OPT 型、 FLASH 型和 ROM 型三種類型的器件,這些器件的開發(fā)手段不同。對于 OPT 型和 ROM 型的器件是使用仿真器開發(fā)成功之后燒寫或掩膜芯片;對于 FLASH 型則有十分方便的開發(fā)調(diào)試環(huán)境,因為器件片內(nèi)有 JTAG 調(diào)試接口,還有可電擦
20、寫的 FLASH 存儲器,因此采用先下載程序到 FLASH 內(nèi),再在器件內(nèi)通過軟件控制程序的運行,由 JTAG 接口讀取片內(nèi)信息供設計者調(diào)試使用的方法進行開發(fā)。這種方式只需要一臺 PC 機和一個 JTAG 調(diào)試器,而不需要仿真器和編程器。開發(fā)語言有匯編語言和 C 語言。2.1.2 單片機的應用MSP430單片機具有體積小,功耗低,易于產(chǎn)品化,面向控制,抗干擾能力強,適用溫度范圍寬,它廣泛應用于儀器儀表、家用電器、醫(yī)用設備、航空航天、專用設備的智能化管理及過程控制等領域,大致可分如下幾個范疇:1、在智能儀器儀表上的應用單片機的體積小、功耗低、控制功能強、擴展靈活、微型化和使用方便等優(yōu)點,使其廣泛
21、應用于儀器儀表中。采用單片機控制使得儀器儀表數(shù)字化、智能化、微型化,且功能比起采用電子或數(shù)字電路更加強大。例如精密的測量設備(功率計,示波器,各種分析儀)。2、在工業(yè)控制中的應用單片機可以方便的實現(xiàn)多機和分布式控制,用單片機可以構成形式多樣的控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)。例如工廠流水線的智能化管理,電梯智能化控制、各種報警系統(tǒng),與計算機聯(lián)網(wǎng)構成二級控制系統(tǒng)等。3、在家用電器中的應用可以這樣說,現(xiàn)在的家用電器基本上都采用了單片機控制,從電飯煲、洗衣機、電冰箱、空調(diào)機、彩電、其他音響視頻器材、再到電子秤量設備,無所不在。4、在計算機網(wǎng)絡和通信領域中的應用現(xiàn)代的單片機普遍具備通信接口,可以很方便地與計算機
22、進行數(shù)據(jù)通信,為在計算機網(wǎng)絡和通信設備間的應用提供了極好的物質(zhì)條件,現(xiàn)在的通信設備基本上都實現(xiàn)了單片機智能控制,從小型程控交換機、樓宇自動通信呼叫系統(tǒng)、再到日常工作中隨處可見的移動電話,集群移動通信,無線電對講機等。 5、單片機在醫(yī)用設備領域中的應用單片機在醫(yī)用設備中的用途亦相當廣泛,例如醫(yī)用呼吸機,各種分析儀,監(jiān)護儀,超聲診斷設備及病床呼叫系統(tǒng)等等。此外,單片機在工商,金融,科研、教育,國防航空航天等領域都有著十分廣泛的用途。2.1.3 MSP430F149單片機的引腳圖MSP430F149單片機的引腳如圖2-1所示。圖2-1 MSP430F149單片機的引腳圖2.2 LCD1602液晶顯示
23、器簡介工業(yè)字符型液晶,能夠同時顯示16x02即32個字符(16列2行)。1602字符型LCD通常有14條引腳線或16條引腳線的LCD,多出來的2條線是背光電源線VCC(15腳)和地線GND(16腳),其控制原理與14腳的LCD完全一樣2.2.1LCD1602液晶顯示器的引腳說明LCD1602液晶顯示器的引腳說明如表2-1所示。表2-1 LCD1602的引腳功能說明引腳符號功能說明1VSS一般接地2VDD接電源(+5V)3V0液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地電源時對比度最高(對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比度)。4RSRS為寄存器選擇,高電平
24、1時選擇數(shù)據(jù)寄存器、低電平0時選擇指令寄存器。5R/WR/W為讀寫信號線,高電平(1)時進行讀操作,低電平(0)時進行寫操作。6EE(或EN)端為使能(enable)端,下降沿使能。7DB0低4位三態(tài)、 雙向數(shù)據(jù)總線 0位(最低位)8DB1低4位三態(tài)、 雙向數(shù)據(jù)總線 1位9DB2低4位三態(tài)、 雙向數(shù)據(jù)總線 2位10DB3低4位三態(tài)、 雙向數(shù)據(jù)總線 3位11DB4高4位三態(tài)、 雙向數(shù)據(jù)總線 4位12DB5高4位三態(tài)、 雙向數(shù)據(jù)總線 5位13DB6高4位三態(tài)、 雙向數(shù)據(jù)總線 6位14DB7高4位三態(tài)、 雙向數(shù)據(jù)總線 7位(最高位)(也是busy flag)15BLA背光電源正極16BLK背光 電源
25、負極2.2.2寄存器選擇控制表控制寄存器的控制指令說明如表2-2所示。表2-2 控制寄存器的控制表RSR/W操作說明00寫入指令寄存器(清除屏等)01讀busy flag(DB7),以及讀取位址計數(shù)器(DB0DB6)值10寫入數(shù)據(jù)寄存器(顯示各字型等)11從數(shù)據(jù)寄存器讀取數(shù)據(jù)注:關于E=H脈沖開始時初始化E為0,然后置E為1,再清0。 busy flag(DB7):在此位為被清除為0時,LCD將無法再處理其他的指令要求。2.3 DAC5571簡介2.3.1 DAC5571的引腳說明DAC5571的引腳說明如表2-3所示。表2-3 DAC5571的引腳說明引腳名稱描述1VOUT模擬輸出電壓2GN
26、D所有地面參考3VDD模擬供電電壓輸入4SDA串行數(shù)據(jù)輸入5SCL串行時鐘輸入6A0設備地址選擇2.3.2 DAC5571的原理圖及運算方法DAC5571的原理圖及運算方法分別如圖2-2和圖2-3所示。圖2-2 DAC5571的工作原理圖圖2-3 DAC5571的工作運算方法第3章 系統(tǒng)硬件設計3.1 基于MSP430F149信號發(fā)生器構成及工作原理信號發(fā)生器電路主要由MSP430F149系統(tǒng)、鍵盤電路、LCD1602顯示電路、DAC5571芯片、電源電路等組成。系統(tǒng)原理方框圖如圖3-1所示。顯示電路鍵盤電路數(shù)模轉(zhuǎn)換MSP430F149電 源 圖3-1系統(tǒng)原理方框圖系統(tǒng)工作原理:本系統(tǒng)采用MS
27、P430單片機為控制核心,利用單片機內(nèi)置的DA芯片,通過按鍵中斷來邏輯選擇要輸出的波形(正弦波、方波、三角波、鋸齒波),再設置其它鍵來控制波形的復制及頻率,然后通過單片機控制顯示到LCD1602上。波形的產(chǎn)生是通過MSP430單片機執(zhí)行某一波形發(fā)生程序,向D/A轉(zhuǎn)換器的輸入端按一定的規(guī)律發(fā)送數(shù)據(jù),從而在D/A轉(zhuǎn)換電路的輸出端得到相應的電壓波形。在MSP430學習板的鍵盤按鍵,通過軟件編程來選擇各種波形、幅值電壓和頻率,按不同按鍵產(chǎn)生不同波形的信號。3.2信號發(fā)生器的鍵盤電路本系統(tǒng)所需要的鍵盤有8個,經(jīng)過分析覺得使用獨立式鍵盤更為合適,但是手上有現(xiàn)有的4*4矩陣鍵盤,因此使用了4*4矩陣鍵盤。連
28、接電路如圖3-2所示。圖3-2 鍵盤模塊電路現(xiàn)在具體分析鍵盤的工作原理:鍵盤初始化使得單片機P1的P1.0P1.3設置為輸入狀態(tài), P1.4P1.7設置為輸出狀態(tài),然后令P1.4P1.7輸出低電平,P1.0P1.3下降沿觸發(fā)中斷,并開中斷。進入中斷子程序后進行掃描并獲得鍵值,最后根據(jù)按鍵的不同分別跳到對應的子程序中。在掃描的子程序中,當在P1.7管腳上輸出低電平,并且行線的其他管腳上輸出高電平時,如果“K1”鍵被按下,則P1.0為低電平;如果“K2”鍵被按下,則P1.1為低電平;如果“K3”鍵被按下,則P1.2為低電平;如果“K4”鍵被按下,則P1.3為低電平。通過設置一條行線的輸出就可以獲取
29、列線上的相應狀態(tài),從而獲得鍵盤輸入的值。同理,依次在其他列線上輸出低電平,就可以獲取其他鍵的輸入值。通過這樣的掃描方式,可以實現(xiàn)鍵盤的輸入。3.3信號發(fā)生器的LCD1602顯示模塊LCD1602液晶顯示器的電路圖如圖3-2所示。本電路的功能是顯示當前輸出的波形及該波形的幅值及頻率。指令集如表3-1所示。表3-1 LCD1602的控制指令集寫指令38H對1602進行復位操作寫指令08H對1602進行顯示關閉操作寫指令01H對1602進行顯示清屏操作寫指令06H寫字符時整體不移動寫指令0cH顯示開,不開游標,不閃爍圖3-2 LCD1602電路圖3.3數(shù)模轉(zhuǎn)換DAC5571電路本DAC5571實現(xiàn)單
30、片機的數(shù)字信號轉(zhuǎn)換成模擬信號并輸出,電路圖如圖3-3所示。圖3-3 DAC5571電路圖3.4小結本章在上一章的基礎上,結合MSP430單片機信號發(fā)生器的基本功能介紹了它的工作流程、硬件組成和工作原理,設計了鍵盤電路、LCD1602顯示電路、DAC5571芯片等,各電路根據(jù)需要連接到MSP430F149單片機的接口上,就構成了一個功能強大的基于MSP430單片機的信號發(fā)生器設計。第4章 系統(tǒng)軟件設計信號發(fā)生器的順利工作,需要合適的軟件來協(xié)調(diào)系統(tǒng)的各個硬件組成部分,根據(jù)信號發(fā)生器系統(tǒng)的工作需要來工作,從而達到特定的功能。本章主要設計信號發(fā)生器系統(tǒng)的各個硬件組成部分的程序流程圖。4.1 信號發(fā)生器
31、總流程圖系統(tǒng)總程序流程圖如圖4-1所示。系統(tǒng)初始化后,當有按鍵按下是就會產(chǎn)生按鍵中斷,然后按鍵掃描獲得鍵值并根據(jù)鍵值跳轉(zhuǎn)到不同的子程序,產(chǎn)生不同的波形。圖4-1 信號發(fā)生器的程序總流程圖4.2 初始化程序流程圖初始化程序流程圖如圖4-2所示。進入初始化階段,信號發(fā)生器的各個部分依次初始化,為后期的程序執(zhí)行做好準備。圖4-2 初始化程序流程圖4.3 按鍵中斷程序流程圖按鍵中斷程序流程圖如圖4-3所示。當有按鍵按下是就會產(chǎn)生按鍵中斷,然后按鍵掃描獲得鍵值并根據(jù)鍵值跳轉(zhuǎn)到不同的子程序,產(chǎn)生不同的波形。圖4-3 按鍵中斷程序流程圖4.4 波形產(chǎn)生程序流程圖4.4.1 正弦波產(chǎn)生程序流程圖本程序的波形產(chǎn)
32、生原理是將一個波形周期分割成n等份,每加上一個偏移量然后對輸出量求正弦值,并寫到DAC5571中,原理圖如圖4-4所示。圖4-4 正弦波程序流程圖4.4.2 方波產(chǎn)生程序流程圖方波的產(chǎn)生程序是根據(jù)波形的頻率要求計算出每次幅值躍變的時間,等到定時器A的計時時間到時進入中斷進行一次躍變,流程圖如圖4-5所示。圖4-5 方波程序流程圖4.4.3 鋸齒波產(chǎn)生程序流程圖鋸齒波的產(chǎn)生程序根據(jù)波形的頻率要求計算出每次幅值變化的時間,等到定時器A的計時時間到時進入中斷進行一次增值,如圖4-6所示。圖4-6 鋸齒波程序流程圖4.4.4 三角波產(chǎn)生程序流程圖三角波的產(chǎn)生程序跟鋸齒波的產(chǎn)生程序是同一個原理,根據(jù)波形
33、的頻率要求計算出每次幅值變化的時間,等到定時器A的計時時間到時進入中斷進行一次增值另設一個計數(shù)變量,用于判斷幅值增減的分割點,流程圖如圖4-7所示。圖4-7 三角波程序流程圖4.5 小結本章首先設計了信號發(fā)生器系統(tǒng)程序的總流程圖,并在系統(tǒng)程序的總流程圖的框架下有序地設計了初始化程序流程圖、按鍵中斷程序流程圖、正弦波程序流程圖、方波程序流程圖、鋸齒波程序流程圖及三角波程序流程圖,并就各個部分的主要功能作了進一步的介紹和說明。結 論信號發(fā)生器已經(jīng)成為了很多行業(yè)進行研究測試不可或缺的工具。 本文主要介紹了信號發(fā)生器的硬件電路結構及其中的原理。所設計的信號發(fā)生器可以產(chǎn)生正弦波、方波、鋸齒波、三角波以及
34、每種波形的幅值及頻率的增減功能。信號發(fā)生器的產(chǎn)生的波形幅值2V,頻率10HZ,結合所用的MSP430F149芯片,具有低功耗的特點。波形的產(chǎn)生是通過MSP430單片機執(zhí)行某一波形發(fā)生程序,向D/A轉(zhuǎn)換器的輸入端按一定的規(guī)律發(fā)生數(shù)據(jù),從而在D/A轉(zhuǎn)換電路的輸出端得到相應的電壓波形。在MSP430學習板的鍵盤按鍵,通過軟件編程來選擇各種波形,按不同按鍵產(chǎn)生不同波形的信號。此方案的有點是電路原理比較簡單,實現(xiàn)起來比較容易。隨著信號發(fā)生器信號整合相關技術的不斷完善,數(shù)字化、智能化、小型化的信號發(fā)生器必將為各領域的科學研究帶來極大的便利,信號發(fā)生器的發(fā)展前景也必將更加廣闊。程序:#include <
35、;msp430x14x.h>#include "IIC.h"#include "IIC.c"#include "cry1602.h"#include "cry1602.c"#include "Keypad.h"#include "Keypad.c"#include <math.h>#define pai 3.14uchar DAC_Val; /DAC輸出數(shù)據(jù)uchar fuzhi;char m=0;char data_Sin128=128,134,140,1
36、47,153,159,165,171,177,182,188,193,199,204,209,213, 218,222,226,230,234,237,240,243,245,248,250,251,253,254,254,255, 255,255,254,254,253,251,250,248,245,243,240,237,234,230,226,222, 218,213,209,204,199,193,188,182,177,171,165,159,153,147,140,134, 128,122,116,109,103,97,91,85,79,74,68,63,57,52,47,43,
37、38,34,30,26, 22,19,16,13,11,8,6,5,3,2,2,1,1,1,2,2,3,5,6,8,11,13,16,19,22,26,30, 34,38,43,47,52,57,63,74,79,85,91,97,103,109,116,122;uchar pinlv;int vcc; /da上加的電壓uchar boxing; double bianliang;uchar biaozhi;int pianyi;double shuchu;void zengfu(void);void jianfu(void);void zengpin(void);void jianpin(v
38、oid);void xianshi(void);void chansheng2(void);void chansheng1(void);void chansheng3(void);void chansheng4(void);void chansheng5(void);unsigned int time; /定時uchar s1 = "zhengxian:"uchar s2 = "fangbo:"uchar s3 = "juchi:"uchar s4 = "sanjiao:"uchar Write_DAC(uchar
39、 wdata);/*主函數(shù)*/void main(void) bianliang = 2 * pai / 12; fuzhi = 0x02; pinlv = 10; WDTCTL = WDTPW + WDTHOLD; /停止看門狗 P6DIR |= BIT2;P6OUT |= BIT2; /關閉電平轉(zhuǎn)換 P6DIR |= BIT7;P6OUT |= BIT7; /關閉蜂鳴器 P6DIR |= BIT3;P6OUT |= BIT3; /開液晶背光 P2DIR |= 0x03; /設置DAC的控制IO為輸出狀態(tài) P2OUT = 0x03; P1IE |=0xff; /允許P1.2和P1.3中斷 v
40、cc=3; LcdReset(); biaozhi=1; DAC_Val = 148; time=3276; Init_Keypad(); CCTL0=CCIE; CCR0=280; TACTL=TASSEL_1+MC_1; _EINT(); while(1) LPM0; /* 函數(shù)名稱:xianshi功 能:讓液晶顯示程序中液晶顯示的主框架參 數(shù):返回值 :*/void xianshi(void) LcdWriteCommand(0x01, 1); /清除顯示 Disp1Char(0,1,0x46); /顯示F Disp1Char(1,1,0x3d); /顯示= Disp1Char(3,1,
41、0x56); /0x56是字符V的ASCII碼值 Disp1Char(5,1,0x50); /顯示P Disp1Char(6,1,0x3d); /顯示= Disp1Char(9,1,0x48); /0x48是字符H的ASCII碼值 Disp1Char(10,1,0x5a); /0x5a是字符Z的ASCII碼值/*函數(shù)名稱:Port1_ISR功 能:端口P1的中斷服務函數(shù)參 數(shù):無返回值 :無*/#pragma vector=PORT1_VECTOR_interrupt void Port1_ISR(void) _DINT(); Key_Event(); /檢測按鍵,并獲取鍵值 P1IFG =
42、0; P1OUT = 0; /清中斷標志 switch(key_val) case 1: boxing=1; xianshi(); DispNChar(0,0,10,s1); /顯示正弦波 Disp1Char(2,1,0x30 + fuzhi); /顯示幅值 數(shù)字的ASCII碼值等于其本身數(shù)值加上0x30 Disp1Char(7,1,0x30 + pinlv / 10); /顯示頻率十位 Disp1Char(8,1,0x30); /顯示頻率各位 break; case 2: boxing=2; xianshi(); DispNChar(0,0,7,s2); /顯示方波 Disp1Char(2,
43、1,0x30 + fuzhi); /顯示幅值 數(shù)字的ASCII碼值等于其本身數(shù)值加上0x30 Disp1Char(7,1,0x30 + pinlv / 10); /顯示頻率十位 Disp1Char(8,1,0x30); /顯示頻率各位 break; case 3: boxing=3; xianshi(); DispNChar(0,0,6,s3); /顯示鋸齒波 Disp1Char(2,1,0x30 + fuzhi); /顯示幅值 數(shù)字的ASCII碼值等于其本身數(shù)值加上0x30 Disp1Char(7,1,0x30 + pinlv / 10); /顯示頻率十位 Disp1Char(8,1,0x3
44、0); /顯示頻率各位 break; case 4: boxing=4; xianshi(); DispNChar(0,0,8,s4); /顯示三角波 Disp1Char(2,1,0x30 + fuzhi); /顯示幅值 數(shù)字的ASCII碼值等于其本身數(shù)值加上0x30 Disp1Char(7,1,0x30 + pinlv / 10); /顯示頻率十位 Disp1Char(8,1,0x30); /顯示頻率各位 case 5: zengfu(); break; /增加幅值 case 6: jianfu(); break; /減小幅值 case 7: zengpin(); break; /增大頻率
45、即選擇20hz case 8: jianpin(); break; /減小頻率 即選擇10hz default: _NOP(); break; P1IFG = 0x00; /清中斷標志 key_Flag = 0; _EINT(); /*函數(shù)名稱:Write_DAC功 能:向DAC中寫入輸出電壓數(shù)據(jù)參 數(shù):無返回值 :寫入結果:1-成功,0-失敗*/uchar Write_DAC(uchar wdata) start();write1byte(0x98); /DAC的設備地址if(check() write1byte(wdata >> 4); /寫控制模式和電壓數(shù)據(jù)的高四位else
46、return 0;if(check() write1byte(wdata << 4); /寫電壓數(shù)據(jù)的低四位else return 0;if(check() stop();else return 0;return 1; /*函數(shù)名稱:chansheng1功 能:輸出正弦波參 數(shù):無返回值 :無*/void chansheng5(void)if(biaozhi = 12) biaozhi = 0; if(biaozhi < 12) biaozhi += 1; shuchu = 0xff * (fuzhi * sin(biaozhi * bianliang)+1.5) / vcc; Write_DAC(shuchu); /寫入DAC void chansheng1(void) m+; Write_DAC(
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 河池市宜州區(qū)特崗教師招聘筆試真題2024
- 2024年新疆地方金融監(jiān)督管理局下屬事業(yè)單位真題
- 石大學前兒童保育學課件5-2提高保教活動質(zhì)量促進幼兒健康發(fā)展
- 2025年社區(qū)工作者理論試題
- MoS2-MXene@CNTs-nZVI活化過硫酸鹽去除水中二嗪農(nóng)的研究
- 基于深度學習的乳腺影像分割-洞察闡釋
- 促進體育文化與全民健身服務的融合發(fā)展
- 綠色園區(qū)社會責任與企業(yè)形象塑造
- 深化產(chǎn)學研合作加速技術應用轉(zhuǎn)化
- 家庭教育服務與社區(qū)互動的優(yōu)化策略
- 廣州市人力資源和社會保障局事業(yè)單位招聘工作人員【共500題含答案解析】模擬檢測試卷
- CD唱機原理課件
- 露天礦礦建竣工驗收資料
- 心電監(jiān)護操作評分標準
- 電子印鑒卡講解
- 生命體征PPT精品課件
- 異步電動機轉(zhuǎn)差頻率間接矢量控制matlab仿真
- Q∕SY 02098-2018 施工作業(yè)用野營房
- 深基坑工程安全檢查表范本
- 高中必備古詩文75篇高中古詩大全必背
- 聲門下吸引技術ppt課件
評論
0/150
提交評論