電子系統(tǒng)設(shè)計基礎(chǔ)講義_第1頁
電子系統(tǒng)設(shè)計基礎(chǔ)講義_第2頁
電子系統(tǒng)設(shè)計基礎(chǔ)講義_第3頁
電子系統(tǒng)設(shè)計基礎(chǔ)講義_第4頁
電子系統(tǒng)設(shè)計基礎(chǔ)講義_第5頁
已閱讀5頁,還剩133頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、電子系統(tǒng)設(shè)計基礎(chǔ)講義吉林化工學院信控學院電工電子教學與實驗中心劉剛2009-3-29目錄第一部分msp430單片機基礎(chǔ)31msp430系列單片機簡介31.1 msp430系列單片機的特點31.2 msp430單片機結(jié)構(gòu)概述31.3 msp430f41x41.4 msp430f413存儲器和地址空間分配72c語言程序調(diào)試環(huán)境103低功耗結(jié)構(gòu)及各功能模塊173.1 低功耗結(jié)構(gòu)173.2 pio端口183.3 看門狗定時器193.4 定時器a203.4.1 定時器a特性203.4.2 定時器a結(jié)構(gòu)203.4.3 定時器工作模式213.4.4 輸出單元213.4.5 timer_a實現(xiàn)pwm223.5

2、 液晶驅(qū)動模塊24第二部分msp430單片機應(yīng)用實例25第一講 msp430系列單片機結(jié)構(gòu)25第二講 時鐘小系統(tǒng)程序設(shè)計31第三講 直流電機變速驅(qū)動小系統(tǒng)40第四講 單相正弦逆變電源設(shè)計46第五講 msp430f169小系統(tǒng)和波形發(fā)生器50第六講 msp430f169控制的尋跡電動小車55第八講 電子系統(tǒng)設(shè)計編程基礎(chǔ)65第九講 a/d轉(zhuǎn)換器adc0804與msp430f413接口電路及程序設(shè)計72第十講 a/d轉(zhuǎn)換器7135與msp430f413接口電路及程序設(shè)計78第七講 相位差測量儀79第六講 直流電機自動調(diào)速系統(tǒng)93第六講 -型a/d轉(zhuǎn)換器設(shè)計、ad7135讀入方法93第七講 msp43

3、0f413控制電動避障小車設(shè)計94第八講msp430f413與點陣顯示器lcm12864接口100第九講 電阻測溫儀設(shè)計108第十講 msp430f449控制的電動小車108第十一講 雙路正弦(任意)波形發(fā)生器108第十二講 頻率計設(shè)計111附錄1直流電機變速驅(qū)動小系統(tǒng)程序程序清單111附錄2雙路移相交流信號發(fā)生器程序115附錄3單相逆變電源程序清單120附錄4交流電源供電直流電機調(diào)速控制程序清單124附錄5 msp430f169交變信號發(fā)生器程序清單129附錄6 逆變與dc_dc控制程序清單132第一部分msp430單片機基礎(chǔ)1msp430系列單片機簡介1.1 msp430系列單片機的特點m

4、sp430系列單片機是德州儀器公司于上世紀九十年代開發(fā)出的產(chǎn)品,已在許多領(lǐng)域得到了廣泛應(yīng)用。msp430系列單片機具有以下主要特點:l 超低功耗。 l 強大的處理能力。 l 高性能模擬技術(shù)及豐富的片上外圍模塊。 l 方便高效的開發(fā)環(huán)境。l 系列化產(chǎn)品。msp430系列單片機的各系列產(chǎn)品型號、研發(fā)順序如圖1.1.1所示: 圖1.1.1 msp430系列單片機各系列產(chǎn)品1.2 msp430單片機結(jié)構(gòu)概述msp430系列單片機結(jié)構(gòu)框圖如圖1.2.1所示,其結(jié)構(gòu)特點如下:l 16位cpu通過總線連接到存儲器和外圍模塊。 l 直接嵌入仿真處理,具有jtag接口。 l 16位數(shù)據(jù)寬度,數(shù)據(jù)處理更為有效。

5、圖1.2.1 msp430系列單片機結(jié)構(gòu)框圖msp430系列單片機包含以下主要功能部件: l cpu:msp430系列單片機的cpu和通用微處理器基本相同,只是在設(shè)計上采用了面向控制的結(jié)構(gòu)和指令系統(tǒng)。msp430的內(nèi)核cpu結(jié)構(gòu)是按照精簡指令集和高透明的宗旨而設(shè)計的,使用的指令有硬件執(zhí)行的內(nèi)核指令和基于現(xiàn)有硬件結(jié)構(gòu)的仿真指令。這樣可以提高指令執(zhí)行速度和效率,增強了msp430的實時處理能力。 l 存儲器:存儲程序、數(shù)據(jù)以及外圍模塊的運行控制信息。分為程序存儲器和數(shù)據(jù)存儲器。對程序存儲器訪問總是以字的形式取得代碼,而對數(shù)據(jù)可以用字或字節(jié)方式訪問。其中msp430各系列單片機的程序存儲器有rom、

6、otp、eprom和flash型。 l 外圍模塊(片內(nèi)外設(shè)):經(jīng)過mab、mdb、中斷服務(wù)及請求線與cpu相連。msp430不同系列產(chǎn)品所包含外圍模塊的種類及數(shù)目可能不同。它們分別是以下一些外圍模塊的組合:時鐘模塊、看門狗模塊、定時器a、定時器b、比較器a、串口0、1、硬件乘法器、液晶驅(qū)動器、模數(shù)轉(zhuǎn)換器、數(shù)模轉(zhuǎn)換器、輸入輸出端口、基本定時器、dma控制器等。 1.3 msp430f41x msp430x41x系列單片機結(jié)構(gòu)框圖如圖1.3.1所示,外型如圖1.3.2所示: 圖1.3.1 msp430x41x系列單片機結(jié)構(gòu)框圖圖1.3.2 msp430x41x系列單片機外形圖現(xiàn)以msp430f41

7、3為例說明芯片引腳定義。msp430f413各引腳定義如表1.3.1所示。表1.3.1 msp430f413引腳定義引腳名稱引腳編號i/o描述avcc64模擬正電源端,向電壓檢測電路,晶體振蕩電路,所頻環(huán)電路,比較器a,端口1,以及液晶分壓電阻網(wǎng)絡(luò)供電,上電不必早于dvcc。avss62內(nèi)部連接于dvss。dvcc1數(shù)字正電源端,提供所有部件電源(由avcc供電的除外)。dvss63數(shù)字地,所有部件的接地端(由avcc/avss供電的除外)。nc7、10、11空腳p1.0/ta053i/o通用數(shù)字i/o;定時器_a,捕獲方式:ccioa輸入;比較方式:out0輸出。p1.1/ta0/mclk5

8、2i/o通用數(shù)字i/o;定時器_a,捕獲方式:cciob輸入;mclk輸出。注意:在這個引腳上ta0只能輸入。p1.2/ta151i/o通用數(shù)字i/o;定時器_a,捕獲方式:cci1a輸入;比較方式:out1輸出。p1.3/svsout50i/o通用數(shù)字i/o;svs:svs比較輸出端。p1.449i/o通用數(shù)字i/o。p1.5/taclk/aclk48i/o通用數(shù)字i/o;定時器_a輸入時鐘;aclk輸出。p1.6/ca047i/o通用數(shù)字i/o;比較器_a輸入端。p1.7/ca146i/o通用數(shù)字i/o;比較器_a輸入端。p2.0/ta245i/o通用數(shù)字i/o;定時器_a,捕獲方式:cc

9、i2a輸入;比較方式:out2輸出。p2.144i/o通用數(shù)字i/o。p2.2/s2335i/o通用數(shù)字i/o;lcd段23輸出端(見注1)。p2.3/s2234i/o通用數(shù)字i/o;lcd段22輸出端(見注1)。p2.4/s2133i/o通用數(shù)字i/o;lcd段21輸出端(見注1)。p2.5/s2032i/o通用數(shù)字i/o;lcd段20輸出端(見注1)。p2.6/caout/s1931i/o通用數(shù)字i/o;比較器a輸出端;lcd段19輸出端(見注1)。p2.7/s1830i/o通用數(shù)字i/o;lcd段18輸出端(見注1)。p3.0/s1729i/o通用數(shù)字i/o;lcd段17輸出端(見注1)

10、。p3.1/s1628i/o通用數(shù)字i/o;lcd段16輸出端(見注1)。p3.2/s1527i/o通用數(shù)字i/o;lcd段15輸出端(見注1)。p3.3/s1426i/o通用數(shù)字i/o;lcd段14輸出端(見注1)。p3.4/s1325i/o通用數(shù)字i/o;lcd段13輸出端(見注1)。p3.5/s1224i/o通用數(shù)字i/o;lcd段12輸出端(見注1)。p3.6/s1123i/o通用數(shù)字i/o;lcd段11輸出端(見注1)。p3.7/s1022i/o通用數(shù)字i/o;lcd段10輸出端(見注1)。p4.0/s921i/o通用數(shù)字i/o;lcd段9輸出端(見注1)。p4.1/s820i/o通

11、用數(shù)字i/o;lcd段8輸出端(見注1)。p4.2/s719i/o通用數(shù)字i/o;lcd段7輸出端(見注1)。p4.3/s618i/o通用數(shù)字i/o;lcd段6輸出端(見注1)。p4.4/s517i/o通用數(shù)字i/o;lcd段5輸出端(見注1)。p4.5/s416i/o通用數(shù)字i/o;lcd段4輸出端(見注1)。p4.6/s315i/o通用數(shù)字i/o;lcd段3輸出端(見注1)。p4.7/s214i/o通用數(shù)字i/o;lcd段2輸出端(見注1)。p5.0/s113i/o通用數(shù)字i/o;lcd段1輸出端(見注1)。p5.1/s012i/o通用數(shù)字i/o;lcd段0輸出端(見注1)。com036o

12、lcd公共輸出端com0 p5.2/com137i/o通用數(shù)字i/o;lcd公共輸出端com1。p5.3/com238i/o通用數(shù)字i/o;lcd公共輸出端com2。p5.4/com339i/o通用數(shù)字i/o;lcd公共輸出端com3。r0340ilcd模擬電平第四極輸入端(最低電平v5)。p5.5/r1341i/o通用數(shù)字i/o;lcd模擬電平第三極輸入端(最低電平v3或v4)。p5.6/r2342i/o通用數(shù)字i/o;lcd模擬電平第二極輸入端(最低電平v2)。p5.7/r3343i/o通用數(shù)字i/o;lcd模擬電平第一極輸入端(最低電平v1)。p6.059i/o通用數(shù)字i/o。p6.16

13、0i/o通用數(shù)字i/o。p6.261i/o通用數(shù)字i/o。p6.32i/o通用數(shù)字i/o。p6.43i/o通用數(shù)字i/o。p6.54i/o通用數(shù)字i/o。p6.65i/o通用數(shù)字i/o。p6.76i/o通用數(shù)字i/o。res/nmi58 i撫慰輸入或非屏蔽中斷輸入端。tck57i測試時鐘端。tck是芯片編程和測試的時鐘輸入端。tdi55i測試數(shù)據(jù)輸入端。tdi用作數(shù)據(jù)輸入,芯片的保護熔絲與tdi相連。tdo/tdi54i/o測試數(shù)據(jù)輸出端,tdo/tdi用作數(shù)據(jù)輸出或編程數(shù)據(jù)輸入端。tms56i測試模式選擇端。tms在芯片編程和測試時是輸入端。xin8i基本振蕩器xt1輸入端??梢赃B接標準晶體

14、或晶體振蕩器。xout/tclk9i/o晶體振蕩器xt1輸出端或測試時鐘輸入端。注1:當lcd模塊控制位置位,不需要pxsel位設(shè)置,lcd功能自動被選擇。1.4 msp430f413存儲器和地址空間分配對于msp430系列產(chǎn)品中不同型號的單片機,地址空間分配也不相同。但都包含以下幾個部分:程序存儲器、信息存儲器、引導存儲器、數(shù)據(jù)存儲器、外圍模塊寄存器和特殊功能寄存器等。l 程序存儲器:存儲程序、中斷向量。對程序存儲器訪問總是以字的形式取得代碼。其中msp430各系列單片機的程序存儲器有rom、otp、eprom和flash型。程序存儲器地址由0ffffh指向低位地址。msp430系列產(chǎn)品中不

15、同型號單片機,程序存儲器空間大小不同。msp430f413、msp430f449存儲器和地址空間分配如表1.5.1所示。表1.4.1 msp430f413、msp430f449的存儲器和地址空間分配表存儲器名稱存儲器大小存儲器起止地址msp430f413msp430f449msp430f413msp430f449程序存儲器(flash)8k byte60k byte0ffffh-0e000h0ffffh-01100h中斷向量存儲區(qū)(flash)32 byte32 byte0ffffh-0ffe0h0ffffh-0ffe0h信息存儲器(flash)256 byte256 byte010ffh-0

16、1000h010ffh-01000h引導存儲區(qū)(rom)1k byte1k byte0fffh-0c00h0fffh-0c00h數(shù)據(jù)存儲區(qū)(ram)256 byte1k byte02ffh-0200h09ffh-0200h外圍模塊寄存器240 byte240 byte01ffh-010h01ffh-010h特殊功能寄存器16 byte16 byte0fh-0h0fh-0hl 中斷向量存儲區(qū):msp430系列產(chǎn)品中不同型號的單片機,中斷向量隨所含外圍模塊不同而不同,但每一模塊的中斷向量地址基本固定不變。都定義在程序存儲器的0ffe0h-0ffffh地址區(qū)間,msp430f413中斷向量定義如表1

17、.4.2所示。表1.4.2 msp430f413的中斷向量 (由 0xffe0偏移)#define basictimer_vector (0 * 2) /* 0xffe0 基本定時器 */#define port2_vector (1 * 2) /* 0xffe2 pio端口2 */#define port1_vector (4 * 2) /* 0xffe8 pio端口 1 */#define timera1_vector (5 * 2) /* 0xffea 定時器timer a cc1-2 */#define timera0_vector (6 * 2) /* 0xffec 定時器timer

18、 a cc0 */#define wdt_vector (10 * 2) /* 0xfff4 看門狗定時器 */#define comparatora_vector (11 * 2) /* 0xfff6 比較器 a */#define nmi_vector (14 * 2) /* 0xfffc 非屏蔽中斷*/#define reset_vector (15 * 2) /* 0xfffe 系統(tǒng)復位 */l 數(shù)據(jù)存儲器:存儲數(shù)據(jù),對數(shù)據(jù)可以用字或字節(jié)方式訪問。對于msp430系列產(chǎn)品中不同型號的單片機,數(shù)據(jù)存儲器空間大小可能不同。但數(shù)據(jù)存儲器地址都是由200h指向高位地址。l 外圍模塊寄存器:列于

19、存儲器地址10h至1ffh區(qū)間。對于msp430系列產(chǎn)品中不同型號單片機所包含外圍模塊的種類及數(shù)目可能不同,它們分別是以下一些外圍模塊的組合:時鐘模塊、看門狗、定時器a、定時器b、比較器a、串口0、1、硬件乘法器、液晶驅(qū)動器、模數(shù)轉(zhuǎn)換、數(shù)模轉(zhuǎn)換、端口、基本定時器、dma控制器等。但各模塊在msp430不同型號單片機中的地址基本不變。外圍模塊通過數(shù)據(jù)、地址和控制總線與cpu相連接。通過所有存儲器操作指令可以很容易地對它們進行控制。l 特殊功能寄存器:msp430系列單片機最低16字節(jié)存儲器(地址0h至0fh區(qū)間)用于特殊功能寄存器地址。對于msp430系列產(chǎn)品中不同型號單片機所包含特殊功能寄存器

20、及特殊功能寄存器中控制位的種類、數(shù)目及定義可能不同。2c語言程序調(diào)試環(huán)境l msp430開發(fā)工具連接方法采用隔離型仿真器將pc機與目標系統(tǒng)連接,如圖2.2.1所示。使用iar systems軟件將目標程序下載到目標系統(tǒng)中聯(lián)機運行,或在pc機上仿真運行,或拔下仿真器讓系統(tǒng)實時運行。圖2.1 pc機經(jīng)仿真器與目標系統(tǒng)連接l 建立msp430c語言項目文件和文本文件在pc機上裝入iar systems軟件后,點擊iar embeworkbench 圖標,進入開發(fā)系統(tǒng),如圖2.2所示。點擊filenew,如圖2.3所示,將出現(xiàn)文件類型選擇框,如圖2.4所示。 圖2.2 圖2.3 圖2.4 圖2.5點擊

21、確定后,會出現(xiàn)new project窗口,輸入項目名稱、點擊create按鈕存儲項目,如圖2.5所示。之后會出現(xiàn)圖2.6所示界面,在此基礎(chǔ)上點擊projectnew group建立項目組文件,如圖2.7所示。 圖2.6 圖2.7將出現(xiàn)圖2.8所示對話框,輸入新項目組名,點擊ok建立新的項目組。重新點擊filenew,將出現(xiàn)文件類型選擇框,如圖2.9所示。 圖2.8 圖2.9點擊“確定”按鈕,將會出現(xiàn)圖2.10所示的文本窗口,如圖2.11所示將其另存為后綴為“.c”的c語言文件,如圖2.12所示。 圖2.10 圖2.11 圖2.12在文本文件中輸入程序如圖2.13所示。 圖2.13必須將文本文件

22、與項目文件連接。操作方法:點擊projectfile將出現(xiàn)如圖2.14所示project file窗口。選中要連接的文本文件,點擊add按鈕,文本文件將會被加入files in group對話框中,如圖2.15所示。點擊done按鈕,完成連接操作,如圖2.16所示。 圖2.14 圖2.15l 編譯和調(diào)試程序如圖2.17所示,點擊projectcompile執(zhí)行編譯命令,將會出現(xiàn)編譯信息界面,如圖2.18所示。并引導出編譯、連接公共符號信息文件msp430x41x.h和in430.h,如圖2.19所示。 圖2.16 圖2.17 圖2.18 圖2.19點擊projectbuild all命令,如圖

23、2.20所示完成程序連接,將會出現(xiàn)連接信息窗口,如圖2.21所示。 圖2.20 圖2.21l 選擇仿真工具、進行實時仿真如圖2.22所示,點擊projectoptions,將會出現(xiàn)路競選擇窗口options for target“debug”,如圖2.23所示,選擇cscy,在setup標簽狀態(tài)下選擇開發(fā)工具:simlator由系統(tǒng)機仿真;flash emulation tool下載到芯片仿真。 圖2.22圖 2.23若選中flash emulation tool,如圖2.24所示,點擊projectdebugger,程序下載到芯片,如圖2.25所示。 圖2.24 圖2.25在此基礎(chǔ)上可進行實

24、時仿真運行,如圖2.26所示。圖2.26如圖2.27所示,點擊“togglesuorce/disassembly”按鈕,將會出現(xiàn)如圖2.28所示的編譯、連接后的代碼程序。圖2.27圖2.283低功耗結(jié)構(gòu)及各功能模塊3.1 低功耗結(jié)構(gòu)l msp430有5種省電工作模式,msp430各工作模式耗電情況如圖3.1.1所示。圖3.1.1為了充分利用cpu低功耗性能,可以讓cpu工作于突發(fā)狀態(tài)。在通常情況下,根據(jù)需要使用軟件將cpu設(shè)定到某一種低功耗工作模式下,在需要時使用中斷將cpu從休眠狀態(tài)中喚醒,完成工作之后又可以進入相應(yīng)的休眠狀態(tài),用縮短活動時間的方法進一步減小msp430的功耗,如圖3.1.2

25、所示。圖3.1.2l 低功耗模式的定義由sr寄存器中4-7位決定, c語言定義符號如下:/* c語言的定義 */#define lpm0_bits (cpuoff) /* 低功耗模式0 */#define lpm1_bits (scg0+cpuoff) /* 低功耗模式1 */#define lpm2_bits (scg1+cpuoff) /* 低功耗模式2 */#define lpm3_bits (scg1+scg0+cpuoff) /* 低功耗模式3 */#define lpm4_bits (scg1+scg0+oscoff+cpuoff) /* 低功耗模式4 */3.2 pio端口l 類

26、型豐富: p1,p2,p3,p4,p5,p6,s和com。l 功能豐富:i/o,中斷能力,其它片內(nèi)外設(shè)功能,驅(qū)動液晶。l 寄存器豐富:p1與p2各有7個寄存器,p3、p4、p5、p6有四個寄存器。具有中斷功能的數(shù)據(jù)輸入、輸出端口p1和p2 (port1/2)各寄存器符號、地址和功能如下所述(以p1口為例):#define p1in_ (0x0020) /* port 1 輸入寄存器 */#define p1out_ (0x0021) /* port 1 輸出寄存器 */#define p1dir_ (0x0022) /* port 1 方向選擇寄存器,為1位輸出,為0位輸入 */#define

27、 p1ifg_ (0x0023) /* port 1 中斷標志寄存器 */#define p1ies_ (0x0024) /* port 1 中斷觸發(fā)沿選擇寄存器 */#define p1ie_ (0x0025) /* port 1 中斷使能寄存器 */#define p1sel_ (0x0026) /* port 1 功能選擇寄存器 */不有中斷功能的數(shù)據(jù)輸入、輸出端口p3、p4、p5和p6各寄存器符號、地址和功能如下所述(以p3口為例):#define p3in_ (0x0018) /* port 3 輸入寄存器 */#define p3out_ (0x0019) /* port 3 輸出

28、寄存器 */#define p3dir_ (0x001a) /* port 3 方向選擇寄存器 */#define p3sel_ (0x001b) /* port 3 功能選擇寄存器 */3.3 看門狗定時器l 看門狗定時器的使用是通過設(shè)定看門狗定時器控制寄存器控制字來完成,各控制字符號、置位的控制位及含義如下:/* wdt由輔助時鐘faclk 驅(qū)動(設(shè)為 32khz) */#define wdt_adly_1000 (wdtpw+wdttmsel+wdtcntcl+wdtssel) /* 1000ms間隔*/#define wdt_adly_250 (wdtpw+wdttmsel+wdtcn

29、tcl+wdtssel+wdtis0) /* 250ms間隔*/#define wdt_adly_16 (wdtpw+wdttmsel+wdtcntcl+wdtssel+wdtis1) /* 16ms間隔*/#define wdt_adly_1_9 (wdtpw+wdttmsel+wdtcntcl+wdtssel+wdtis1+wdtis0) /* 1.9ms間隔*/l 看門狗定時器應(yīng)用舉例:例3.3.1 msp430f413演示程序:基于32khz(alck)時鐘源的看門狗定時器wdt觸發(fā)p5.1/*/ 說明:用看門狗中斷服務(wù)程序定時觸發(fā)p5.1?;谀J的dco/smclk時鐘源,觸發(fā)速率

30、約/ 為250ms。/ aclk = lfxt1 = 32768,aclk需要外部時鐘晶振接于xin、xout;mclk = smclk = dco/ msp430f413/ -/ | xin|- / | | 32khz/ -|rst xout|-/ | |/ | p5.1|-led/*#include void main(void) wdtctl = wdt_adly_250; / wdt間隔時間為250ms(aclk) ie1 |= wdtie; / 使能wdt中斷 p5dir |= 0x02; / 設(shè)定p5.1方向為輸出 _eint(); / 使能中斷 for (;) _bis_sr(l

31、pm3_bits); / 進入低功耗模式lpm3 _nop(); / 僅為c-spy所需 / 看門狗定時器中斷服務(wù)程序interruptwdt_vector void watchdog_timer(void) p5out = 0x02; / 是用異或指令觸發(fā)p5.13.4 定時器a3.4.1 定時器a特性l 輸入時鐘可以有多種選擇,可以是慢時鐘,快時鐘以及外部時鐘 l 雖然沒有自動重載時間常數(shù)功能,但產(chǎn)生的定時脈沖或 pwm(脈寬調(diào)制)信號沒有軟件帶來的誤差。 l 完善的中斷服務(wù)功能 l 4種計數(shù)功能選擇 l 8種輸出方式選擇 3.4.2 定時器a結(jié)構(gòu)圖3.4.1定時器a功能模塊、結(jié)構(gòu)框圖如圖

32、3.4.1所示,主要包括:l 計數(shù)器部分:輸入的時鐘源具有4種選擇,所選定的時鐘源又可以1、2、4或8分頻作為計數(shù)頻率,timer_a可以通過選擇4種工作模式靈活的完成定時/計數(shù)功能。 l 捕獲/比較器:用于捕獲事件發(fā)生的時間或產(chǎn)生時間間隔,捕獲比較功能的引入主要是為了提高i/o 端口處理事務(wù)的能力和速度。不同的msp430單片機,timer_a模塊中所含有的捕獲/比較器的數(shù)量不一樣,每個捕獲/比較器的結(jié)構(gòu)完全相同,輸入和輸出都決定于各自所帶的控制寄存器的控制字,捕獲/比較器相互之間工作完全獨立。 l 輸出單元:具有可選的8種輸出模式,用于產(chǎn)生用戶需要的輸出信號,支持pwm。3.4.3 定時器

33、工作模式 定時器模式設(shè)置框圖如圖3.7.4所示。圖3.7.4l 增計數(shù)模式捕獲/比較寄存器ccr0用作timer_a增計數(shù)模式的周期寄存器,因為ccr0為16位寄存器,所以該模式適用于定時周期小于65 536的連續(xù)計數(shù)情況。計數(shù)器tar可以增計數(shù)到ccr0的值,當計數(shù)值與ccr0的值相等(或定時器值大于ccr0的值)時,定時器復位并從0開始重新計數(shù)。增計數(shù)模式的計數(shù)過程如圖3.7.5所示。圖3.7.5增計數(shù)模式的中斷標志位設(shè)置如圖3.7.6所示。圖3.7.63.4.4 輸出單元l 輸出模式 輸出模式0 輸出模式:輸出信號outx由每個捕獲/比較模塊的控制寄存器cctlx中的outx位定義,并在

34、寫入該寄存器后立即更新。最終位outx直通。 輸出模式1 置位模式:輸出信號在tar等于ccrx時置位,并保持置位到定時器復位或選擇另一種輸出模式為止。 輸出模式2 pwm翻轉(zhuǎn)/復位模式:輸出在tar的值等于ccrx時翻轉(zhuǎn),當tar的值等于ccr0時復位。 輸出模式3 pwm置位/復位模式:輸出在tar的值等于ccrx時置位,當tar的值等于ccr0時復位。 輸出模式4 翻轉(zhuǎn)模式:輸出電平在tar的值等于ccrx時翻轉(zhuǎn),輸出周期是定時器周期的2倍。 輸出模式5 復位模式:輸出在tar的值等于ccrx時復位,并保持低電平直到選擇另一種輸出模式。 輸出模式6 pwm翻轉(zhuǎn)/置位模式:輸出電平在tar

35、的值等于ccrx時翻轉(zhuǎn),當tar值等于ccr0時置位。 輸出模式7 pwm復位/置位模式:輸出電平在tar的值等于ccrx時復位,當tar的值等于ccr0時置位。 例3.7.1增計數(shù)模式輸出實例,如圖3.7.17所示:圖3.7.173.4.5 timer_a實現(xiàn)pwm l pwm信號示意如圖3.7.22所示:圖3.7.22l timer_a產(chǎn)生pwm示意圖如圖3.7.23所示:圖3.7.23例3.7.4 timer_a實現(xiàn)pwm舉例: 設(shè)aclk = taclk = lfxt1 = 32768, mclk = smclk = dcoclk = 32aclk = 1.048576mhz,利用ti

36、mer_a輸出周期為512 /32768 = 15.625ms、占空比分別為75%和25%的pwm矩形波。#include void main(void) wdtctl = wdtpw +wdthold; fll_ctl0 |= xcap14pf; tactl = tassel0 + taclr; / aclk, 清除 tar ccr0 = 512-1; / pwm周期 cctl1 = outmod_7; ccr1 = 384; /占空比 384/512=0.75 cctl2 = outmod_7; ccr2 = 128; /占空比128/512=0.25 p1dir |= 0x04; / p

37、1.2 輸出 p1sel |= 0x04; / p1.2 ta1 p2dir |= 0x01; / p2.0 輸出 p2sel |= 0x01; / p2.0 ta2 tactl |= mc0; / timer_a 增計數(shù)模式 for (;) _bis_sr(lpm3_bits); / 進入 lpm3 _nop(); l 調(diào)整pwm信號占空比示意圖如圖3.7.24:圖3.7.24pwm信號經(jīng)濾波輸出波形如圖3.7.25所示:圖3.7.263.5 液晶驅(qū)動模塊l 4mux驅(qū)動:驅(qū)動連接圖如圖3.9.1所示。圖3.9.1l 液晶顯示緩存器各個位與液晶的段一一對應(yīng)。存儲位置位則可以點亮對應(yīng)的液晶段,

38、存儲位復位液晶段變暗。段、公共極輸出控制能夠自動從顯示緩存器讀取數(shù)據(jù),送出相應(yīng)信號到液晶玻璃片上。因為不同器件驅(qū)動液晶的段數(shù)不同,所以液晶顯示緩存器的數(shù)量也不一樣。數(shù)量越大,驅(qū)動能力越強,顯示的內(nèi)容就越多。采用4mux驅(qū)動方法的顯示器段線與顯示寄存器關(guān)系表如圖3.9.3所示。圖3.9.3第二部分msp430單片機應(yīng)用實例第一講 msp430系列單片機結(jié)構(gòu)單片機也稱為控制器(mcu),有多種系列產(chǎn)品。msp430就是其中較新的一個系列,其特點是微功耗,適用于電池供電的電子產(chǎn)品。msp430系列單片機簡介msp430系列單片機是美國德州儀器公司于上世紀九十年代開發(fā)出的產(chǎn)品,已在許多領(lǐng)域得到了廣泛應(yīng)

39、用。msp430系列單片機具有以下主要特點:超低功耗;強大的處理能力;高性能模擬技術(shù)及豐富的片上外圍模塊;方便高效的開發(fā)環(huán)境;系列化產(chǎn)品。msp430單片機結(jié)構(gòu)概述(msp430f413為例)msp430f413單片機結(jié)構(gòu)框圖如圖1-1所示,主要包含以下功能部件: (1)cpu:msp430單片機的cpu和通用微處理器基本相同,處理數(shù)據(jù)位數(shù)為16位。 (2)存儲器:存儲程序、數(shù)據(jù)以及外圍模塊的運行控制信息。分為程序存儲器和數(shù)據(jù)存儲器。程序存儲器為flash型。 (3)外圍模塊(片內(nèi)外設(shè)):經(jīng)過mab、mdb、中斷服務(wù)及請求線與cpu相連。msp430不同系列產(chǎn)品所包含外圍模塊的種類及數(shù)目不同。

40、msp430f413所含模塊有時鐘模塊、液晶驅(qū)動器、看門狗模塊、定時器a、比較器a、輸入輸出端口、基本定時器等。圖1-1msp430f413單片機片內(nèi)外設(shè)模塊功能上電復位:高電平程序運行;低電平程序停止,回到初始狀態(tài)。電路如圖1-2所示。振蕩器系統(tǒng)時鐘:由32768晶振接xin和xout/tclk引腳構(gòu)成振蕩電路,產(chǎn)生單片機所需時鐘信號。時鐘電路如圖1-3所示。(1)msp430單片機芯片時鐘輸入源分為以下幾種:lfxt1clk:低頻時鐘源,需外接晶體振蕩電路。實際電路中選32768hz晶振。dco:數(shù)字控制rc振蕩器,由芯片內(nèi)部電路構(gòu)成。 圖1-2 復位電路 圖1-3時鐘電路(2)時鐘輸出信

41、號分為以下幾種:aclk 輔助時鐘:驅(qū)動片內(nèi)或片外慢速外設(shè);mclk主系統(tǒng)時鐘:驅(qū)動cpu和系統(tǒng);smclk子系統(tǒng)時鐘:驅(qū)動片內(nèi)或片外快速外設(shè)。 根據(jù)實際連接情況,使用片內(nèi)外設(shè)時,可通過控制字選擇、確定aclk、smclk和mclk作為時鐘源。aclk只能來源于lfxt1。 msp430f4xx系列單片機振蕩器控制邏輯增加了fll+功能,可通過aclk產(chǎn)生穩(wěn)定的mclk。例1-1-1:時鐘模塊應(yīng)用舉例:使用fll+電路自動設(shè)定內(nèi)部dco在8mhz頻率下工作。使用一個外部32khz 時鐘晶振支持aclk=lfxt=32768hz,mclk = smclk = dcoclk = (n+1) x 2

42、 x aclk。具體c語言程序如下:#include msp430x41x.hvoid main(void) wdtctl = wdtpw + wdthold; /關(guān)看門狗定時器 scfi0 |= fn_4; /設(shè)dco為8mhz scfqctl = 121; / (121+1) x 32768 x 2 = 7.99 mhz fll_ctl0 = dcoplus + xcap18pf; / dco+ set so freq = xtal x d x n+1 p1dir = 0x22; / p1.1 & p1.5 輸出方向 p1sel = 0x22; / p1.1 & p1.5 輸出 mclk

43、& aclk while(1); /本地循環(huán) jtak接口:寫入程序時與開發(fā)系統(tǒng)連接,cpu讓出總線控制權(quán),由開發(fā)系統(tǒng)控制片內(nèi)各模塊,并可在線仿真運行;完成程序?qū)懭?、仿真后,拔下接頭,則片內(nèi)模塊由cpu控制執(zhí)行寫入程序。4kflash存儲器:存儲程序和常量數(shù)據(jù)。256字節(jié)ram:存儲變量數(shù)據(jù)、數(shù)組。pio端口p1p6:基本功能是并行輸入數(shù)字信號或輸出高、低電平;第二功能見引腳說明。p1、p2端口具有中斷功能??撮T狗定時器:看門狗功能是當程序跑飛時自動回到初始狀態(tài);定時功能是當設(shè)定時間間隔到時,自動產(chǎn)生中斷。定時器a:定時器功能、自動產(chǎn)生pwm信號功能、捕獲上升沿功能。比較器:比較兩輸入引腳電壓

44、高低功能?;径〞r器:定時器功能和自動產(chǎn)生lcd驅(qū)動交變信號功能。lcd顯示器驅(qū)動模塊:自動產(chǎn)生lcd段碼和com端驅(qū)動信號。msp430f413單片機引腳結(jié)構(gòu) msp430f413芯片引腳如圖1-4所示,各引腳說明見表1-1。圖1-4表1-1 msp430f413引腳定義引腳名稱引腳編號i/o描述avcc64模擬正電源端,向電壓檢測電路,brownout,晶體振蕩電路,所頻環(huán)電路,比較器a,端口1,以及液晶分壓電阻網(wǎng)絡(luò)供電,上電不必早于dvcc。avss62內(nèi)部連接于dvcc。dvcc1數(shù)字正電源端,提供所有部件電源(由avcc供電的除外)。dvss63數(shù)字地,所有部件的接地端(由avcc/

45、avss供電的除外)。nc7、10、11空腳p1.0/ta053i/o通用數(shù)字i/o;定時器_a,捕獲方式:ccioa輸入;比較方式:out0輸出。p1.1/ta0/mclk52i/o通用數(shù)字i/o;定時器_a,捕獲方式:cciob輸入;mclk輸出。注意:在這個引腳上ta0只能輸入。p1.2/ta151i/o通用數(shù)字i/o;定時器_a,捕獲方式:cci1a輸入;比較方式:out1輸出。p1.3/svsout50i/o通用數(shù)字i/o;svs:svs比較輸出端。p1.449i/o通用數(shù)字i/o。p1.5/taclk/aclk48i/o通用數(shù)字i/o;定時器_a輸入時鐘;aclk輸出。p1.6/c

46、a047i/o通用數(shù)字i/o;比較器_a輸入端。p1.7/ca146i/o通用數(shù)字i/o;比較器_a輸入端。p2.0/ta245i/o通用數(shù)字i/o;定時器_a,捕獲方式:cci2a輸入;比較方式:out2輸出。p2.144i/o通用數(shù)字i/o。p2.2/s2335i/o通用數(shù)字i/o;lcd段23輸出端(見注1)。p2.3/s2234i/o通用數(shù)字i/o;lcd段22輸出端(見注1)。p2.4/s2133i/o通用數(shù)字i/o;lcd段21輸出端(見注1)。p2.5/s2032i/o通用數(shù)字i/o;lcd段20輸出端(見注1)。p2.6/caout/s1931i/o通用數(shù)字i/o;比較器a輸出

47、端;lcd段19輸出端(見注1)。p2.7/s1830i/o通用數(shù)字i/o;lcd段18輸出端(見注1)。p3.0/s1729i/o通用數(shù)字i/o;lcd段17輸出端(見注1)。p3.1/s1628i/o通用數(shù)字i/o;lcd段16輸出端(見注1)。p3.2/s1527i/o通用數(shù)字i/o;lcd段15輸出端(見注1)。p3.3/s1426i/o通用數(shù)字i/o;lcd段14輸出端(見注1)。p3.4/s1325i/o通用數(shù)字i/o;lcd段13輸出端(見注1)。p3.5/s1224i/o通用數(shù)字i/o;lcd段12輸出端(見注1)。p3.6/s1123i/o通用數(shù)字i/o;lcd段11輸出端(見注1)。p3.7/s1022i/o通用數(shù)字i/o;lcd段10輸出端(見注1)。p4.0/s921i/o通用數(shù)字i/o;lcd段9輸出端(見注1)。p4.1/s820i

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論