




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 China University of Petroleum 單片機(jī)及通信接口實(shí)驗(yàn)報(bào)告 通信09-3班 實(shí)驗(yàn)二MSP43基本時(shí)鐘模塊及低功耗結(jié)構(gòu) 一、實(shí)驗(yàn)?zāi)康?掌握MSP430單片機(jī)基本時(shí)鐘模塊的原理及使用方法 二、實(shí)驗(yàn)原理 3.1 MSP430X1XX系列時(shí)鐘模塊 Hole: XT2 Otd laior The XT2 Os曰怙til is tkJL (jlracrl.曲 JASP+SOaIIxa ur M3P430 1 2m wven The LFXT1CLK 祖 sed in pltcc of KT2OJC 從圖中可以看出,它有3個(gè)時(shí)鐘輸入源: (1) LFXT1CLK由低頻時(shí)鐘晶體產(chǎn)生
2、的低頻時(shí)鐘源,由標(biāo)準(zhǔn)高頻晶體或陶 瓷諧振器產(chǎn)生的高頻時(shí)鐘源以及外接時(shí)鐘信號(hào)源。 XT2CLK由標(biāo)準(zhǔn)晶體或陶瓷諧振器產(chǎn)生,外接450KHz8MF時(shí)鐘信號(hào)源。 (3) DCOCLK片內(nèi)可以數(shù)字控制的RC振蕩器。 基礎(chǔ)時(shí)鐘模塊可以提供3種時(shí)鐘信號(hào): (1) ACL(輔助時(shí)鐘)ACL是LFXT1CL信號(hào)經(jīng)1, 2, 4, 8分頻后得到的。分 頻系數(shù)可選,有參數(shù)DIVA控制oALCI可由軟件選作各個(gè)外圍模塊的時(shí)鐘信號(hào)。 (2) MCLJ系統(tǒng)主時(shí)鐘)MCLK由軟件選擇來自LFXT1CL,T2CL,COCL三 者之一,然后經(jīng)1, 2, 4, 8分頻得到。分頻系數(shù)由DIVM控制。MCL主要用 于CPI和系統(tǒng)
3、(3)SML(子系統(tǒng)時(shí)鐘)可由軟件選擇來自LFXT1CLI,XT2CLK DCOCLK三 者之一,然后經(jīng)1, 2, 4, 8分頻得到。分頻系數(shù)由DIVS控制。MCL主要用于 各 外圍模塊。 3.2低速晶體振蕩 器 低速晶體振蕩器在 MSP430FLAS系列的每一個(gè)器件中都能找到。一般是指 32768HZ勺時(shí)鐘晶體,同時(shí)將所需兩個(gè)小電容也集成在內(nèi)部。 這樣可降低系統(tǒng)成 本,同時(shí)降低系統(tǒng)功耗。LFXT振蕩器在發(fā)生有效的PU(后開始工作,一次有效的 PUC言號(hào)可以將SR寄存器(狀態(tài)寄存器)的OscOff位復(fù)位,即允許LFXT1作。 LFXT1CLI信號(hào)沒有用作SMCL或MCL信號(hào),則可以用軟件將 O
4、scOff位置 以禁 止LFXT1T作。LFXT1的結(jié)構(gòu)如下圖所示: F1XX系列的LFXT1振蕩 器 當(dāng)使用32768Hz的晶體時(shí)只須連到相應(yīng)的引腳,兩個(gè)小電容已經(jīng)集成在 芯 片內(nèi)部。應(yīng)注意:這時(shí)LFXT1工作在低頻模式,XTS位應(yīng)復(fù)位。同時(shí)LFXT1振 蕩 器也可以外接頻率較高的高速晶體振蕩器或陶瓷振蕩器,以工作在高速模 式;這 時(shí)XTS位置位,同時(shí)兩個(gè)引腳還要外接電容,電容大小根據(jù)晶體或振蕩器 的特性來選擇。 3.3高速晶體振蕩 器 高速振蕩器主要存在于F13X, F14X, F4XX等器件,一般稱之為第二振蕩器 XT2,它產(chǎn)生時(shí)鐘信號(hào)XT2CLK它的工作特性與LFXT1振蕩器工作在高頻
5、模式是 類似。下圖是TX2振蕩器的控制邏輯。如果XT2CLK信號(hào)沒用做MDLK SMCL時(shí)鐘 信號(hào),則可以用XT2Off控制位關(guān)閉XT2;如果CPUOff=0, SELM=2則XT2CLK用 做MDLK寸鐘;如果 SCG仁且SELS=1, XT2CLI用做SMCL時(shí)鐘。 XT2OT XT20ff cpuofr SELM.1 SELMO SCG1 SELS 3.4 DCO振蕩器 XT2振蕩器的控制邏輯 MSP430FLAS系列的兩個(gè)外部振蕩器產(chǎn)生的時(shí)鐘信號(hào)都可以經(jīng)1 , 2, 4,8 分頻后用作系統(tǒng)主時(shí)鐘 MCLK當(dāng)振蕩器失效時(shí),DCOS蕩器會(huì)自動(dòng)被選做MCLK 的時(shí)鐘源;上電復(fù)位時(shí),不對時(shí)鐘模
6、塊進(jìn)行任何設(shè)置,不加外部振蕩器,DC振 蕩器也會(huì)選做MCLK勺時(shí)鐘源,頻率在800K左右。 DC振蕩器實(shí)質(zhì)上是一個(gè)可數(shù)字控制的RC振蕩器。因?yàn)镽C振蕩器的頻率會(huì) 隨著溫度和工作電壓的變化而變化,所以同一型號(hào)芯片產(chǎn)生的頻率有所不同。 但 同時(shí)DC瀕率可通過DCO MOD Rsel等控制位用軟件調(diào)節(jié),這又增加了振 蕩器頻率的穩(wěn)定性。 三、實(shí)驗(yàn)設(shè) 備 名稱 指標(biāo) 數(shù)量 微機(jī) 1臺(tái) JTAG下載器(帶并口下載線) 1套 MSP430系統(tǒng)最小板 1個(gè) 萬用表 1個(gè) 工具 1盒 四、實(shí)驗(yàn)內(nèi) 容 1用低頻晶振產(chǎn)生輔助時(shí)鐘 ACLK并輸出,用示波器觀察輸出波形并記錄其波 形和頻率。 設(shè)MCLK=XT1將ACL
7、由 P2.0輸出程序如下: #i nclude void ma in (void) un sig ned int i; WDTCTL = WDTPW + WDTHOLD停/止 看門狗 P2DIR |= 0X01; / 設(shè)置 P2.0 為輸出 P2SEL |= 0X01; / 設(shè)置 P2.0 為 MCL 輸出 BCSCTL1 /設(shè)置XTS為有效 低頻輸出 do IFG1 /清除振蕩器失效標(biāo)志 for(i = OxFF;iO;i-); /穩(wěn)定時(shí)間 2用高速晶體振蕩器產(chǎn)生系統(tǒng)時(shí)鐘 MCLI并輸出,用示波器觀察輸出波形并記 錄其波形和頻率。 設(shè)MCLK=XT2將MCL由5.4輸出程序如下: #i nc
8、lude void ma in (void) un sig ned int i; WDTCTL = WDTPW + WDTHOLD停/止看門狗 P5DIR |= 0X10; / 設(shè)置 P5.4 為輸出 P5SEL |= 0X10; / 設(shè)置 P5.4 為 MCL 輸出 BCSCTL1 設(shè)置 XT2為有效 do IFG1 /清除振蕩器失效標(biāo)志 for(i = 0 xFF;i0;i-); /穩(wěn)定時(shí)間 while(IFG1 /如果振蕩器失效標(biāo)志存在則繼續(xù)循環(huán)。 BCSCTL2 |= SELM1; / 設(shè)置 MCLK = XT2 for(;); 3用高速晶體振蕩器產(chǎn)生子系統(tǒng)時(shí)鐘 SMCLI并輸出,用示
9、波器觀察輸出波形 并記錄其波形和頻率。 設(shè)SMCLK=XT2將MCL由5.5輸出程序如下: #i nclude void ma in (void) un sig ned int i; WDTCTL = WDTPW + WDTHOLD停/止 看門狗 P5DIR |= 0X11; / 設(shè)置 P5.5 為輸出 P5SEL |= 0X11; / 設(shè)置 P5.5 為 SMCL輸出 BCSCTL1 設(shè)置 XT2為有效 do IFG1 /清除振蕩器失效標(biāo)志 for(i = 0 xFF;i0;i-); /穩(wěn)定時(shí)間 while(IFG1 /如果振蕩器失效標(biāo)志存在則繼續(xù)循環(huán)。 BCSCTL2 |= SELM1;
10、/ 設(shè)置 MCLK = XT2 for(;); 4用DCO作為系統(tǒng)時(shí)鐘MCLK并輸出,用示波器觀察輸出波形并記錄其波形和頻 率。固定 MDD.0MOD.it 0100, Rsel.0Rsel.2 為010,觀察 DCO的改變對 DCO振 蕩器產(chǎn)生頻率的影響。并填寫下表: DCO 000 001 010 011 100 101 110 111 頻率(kHz) 5用DCO作為系統(tǒng)時(shí)鐘MCLK并輸出,用示波器觀察輸出波形并記錄其波形和頻 率。固定 DCO.ODCO.為 010, Rsel.0Rsel.2 為 010,觀察 MO的改變對 DCO振 蕩器產(chǎn)生頻率的影響。并填寫下表: MOD 0000 0
11、001 0010 0011 0100 0101 0110 0111 頻率(kHz) MOD :1000 1001 1010 1011 1100 M101 1110 1111: 頻率(kHz) 6用DCO作為系統(tǒng)時(shí)鐘MCLK并輸出,用示波器觀察輸出波形并記錄其波形和頻 率。固定 DCO.0DCO.為 010, MOD.0MOD為 0100,觀察 Rsel 的改變對 DCO振 蕩器產(chǎn)生頻率的影響。并填寫下表: Rsel 000 001 010 011 100 101 110 111 頻率(kHz) 實(shí)驗(yàn)三 MSP430端口和看門狗定時(shí)器實(shí) 驗(yàn) 一、實(shí)驗(yàn)?zāi)康?1掌握MSP430 I/O 端口的原理和
12、用 法。 2掌握MSP430看門狗定時(shí)器的原理和用 法。 二、試驗(yàn)原理 3.1、MSP430 I/O 端口的基本 原理 1.端口 P1和P2這些端口都具有中斷能力,且每個(gè)端口的八個(gè)引腳共用一 個(gè)中斷向量。P1DIR , P2DIRP1和P2端口輸入/輸出方向寄存器 P1IN, P2IN P1和P2端口輸入寄存器 P1DIR, P2DIRP1和P2端口輸出寄存器P1OUT P2OUTP1和P2端口中斷使能寄存器 P1IES , P2IESP1和P2端 口中斷觸發(fā)沿選擇寄存器 P1IFG , P2IFG P1和P2端口中斷標(biāo)志寄存器 P1SEL, P2SEL P1和P2端口功能選擇寄存器 2 端口
13、 P3,P4,P5 和P6 這些端口沒有中斷能力,其余功能與P1和P2 一樣,能實(shí)現(xiàn)輸入/輸出功能 和外圍模塊功能。每個(gè)端口有4個(gè)寄存器供用戶使用。用戶可通過這4個(gè)寄存器 對他們進(jìn)行訪問和控制。 PnDIR Pn端口輸入/輸出方向寄存 器Pn IN Pr端口輸入寄存器 Pn OUT Pn端口輸出寄存器 PnSEL Pn端口功能選擇寄存 器 3.2、MSP430看門狗定時(shí)器的基本原 理 主要功能是:當(dāng)程序發(fā)生故障時(shí)能使受控系統(tǒng)重新啟動(dòng)。 如果WDT超過 所 規(guī)定的時(shí)間,即發(fā)生系統(tǒng)復(fù)位。如果系統(tǒng)不需要看門狗功能,也可將他當(dāng)定 時(shí)器 使用,當(dāng)?shù)竭_(dá)WDT所定時(shí)的時(shí)間定時(shí)器模式將產(chǎn)生中斷請求時(shí),能產(chǎn)生中
14、 斷. (1)看門狗模式 可通過VDTCT寄存器中的TMSE控制位設(shè)置TMLEL=1工作在看門狗模式。 看門狗的原理:看門狗定時(shí)器設(shè)置一定時(shí)時(shí)間,此時(shí)間是所有用戶程序執(zhí)行 完該程序的一個(gè)時(shí)間,設(shè)置好定時(shí)時(shí)間之后,所有用戶程序必須在該時(shí)間內(nèi)將 看 門狗計(jì)數(shù)器的值清零,使計(jì)數(shù)器重新計(jì)數(shù);如果CPU執(zhí)行程序正確,則看門 狗計(jì) 數(shù)器時(shí)鐘能在規(guī)定的時(shí)間內(nèi)被用戶程序清零;而當(dāng)CPU執(zhí)行程序跑飛 (PC值指 向用戶程序之外),看門狗計(jì)數(shù)器得不到清零,發(fā)生溢出,導(dǎo)致CPU復(fù)位,CPU 又會(huì)重新運(yùn)行用戶程序。所以,使用時(shí),以防止超過設(shè)定的定時(shí)時(shí)間,用戶軟 件 必須周期性地在WDTCT的CNTC位寫1,使得看門狗
15、計(jì)數(shù)器復(fù)位。 (2)定時(shí)器模式 設(shè)置TMSEL=1,WD!作在定時(shí)器模式。定時(shí)時(shí)間可用軟件對VDTTC寄存器 的CNTC置位進(jìn)行初始化,WD將按設(shè)定的周期產(chǎn)生中斷請求,中斷請求得到服 務(wù)后,中斷標(biāo)志將自動(dòng)清除。 (3)關(guān)閉看門狗模式 當(dāng)系統(tǒng)不需要WDT寸設(shè)置HOLD=1可關(guān)閉WDT,這時(shí)看門狗計(jì)數(shù)器停止工作, 可節(jié)省功耗。 三、實(shí)驗(yàn)設(shè) 備 名稱 指標(biāo) 數(shù)量 微機(jī) 1臺(tái) JTAG下載器(帶并口下載線) 1套 MSP430系統(tǒng)最小板 1個(gè) 萬用表 1個(gè) 工具 1盒 四、試驗(yàn)內(nèi)容 1利用P3.1產(chǎn)生方波,并用P1.7接收P3.1產(chǎn)生的方波來產(chǎn)生中斷。中斷內(nèi)容 為使P3.3閃爍 #i nclude v
16、oid ma in (void) WDTCTL=WDTPW+WDTHOLD; P3OUT =0 x00; P3引腳低電平 P3DIR |=0 xff; P3方向輸出 P1OUT=0 x00; P1IES |=0 x00; / 上升沿觸發(fā) P1IFG= 0 x00; /因?yàn)镻1IES設(shè)置會(huì)使中斷標(biāo)志置位,故清零。 P1IE |=0 xff; / P1 模塊中斷允許 _EINT(); /系統(tǒng)中斷允許 int i; for(;) for(i=1;i=32000;i+); P3OUT A=0 x02; /P3.1每隔8000個(gè)機(jī)器指令周期產(chǎn)生一次跳變 #pragma vector = PORT1_VE
17、CTOR _in terrupt void P1_I nterrupt(void) 廠_ if (P1IFG=0 x80) / 如果 P1.7 中斷 P1IFG=0 x00; /中斷標(biāo)志清除 P3OUT a= 0 x08; / P3.3 輸出變化 else P1IFG=0 x00; / 非p1.7 中斷處理 2利用看門狗的定時(shí)器功能產(chǎn)生一方波,周期為 0.5S,占空比為1: 1。 #i nclude Un sig ned char coun t=0; void ma in (void) WDTCTL = WDT_MDLY_0_5; IE1 |= WDTIE; P1DIR |=0 x01; _E
18、INT(); for(;) _BIS_SR(CPUOff); _NOP(); #pragmavector = WDT_VECTOR _in terrupt void watchdog_timer(void) 廠_ coun t+; if(cou nt=500) P1OUT A= 0 x01; coun t=0; 3利用看門狗的看門狗功能產(chǎn)生一方波。分別使用ACLK和SMCL作為看門狗的 時(shí)鐘。 #i nclude Un sig ned char coun t=0; void ma in (void) WDTCTL = WDT_MRST_0_5; IE1 |= WDTIE; P1DIR |=0
19、x01; _EINT(); for(;) _BIS_SR(CPUOff); _NOP(); #pragmavector = WDT_VECTOR _in terrupt void watchdog_timer(void) 廠_ MOV #WDTPW+WDTHOLD, if(cou nt=500) P1OUT a= 0 x01; coun t=0; 實(shí)驗(yàn)四MSP430 16位定時(shí)器A實(shí)驗(yàn) 一、實(shí)驗(yàn)?zāi)康?1掌握定時(shí)器A的定時(shí)器功能及4種工作模式 2掌握定時(shí)器A的捕獲/比較模塊功能 3掌握定時(shí)器A的輸出單元和8種輸出模式 二、實(shí)驗(yàn)原理 結(jié)構(gòu)原理圖4.1中,可以將Timer_A分解成:計(jì)數(shù)器、捕獲/比
20、較寄存器及 輸 出單元。其中,計(jì)數(shù)器部分完成時(shí)鐘源的選擇與分頻、模式控制及計(jì)數(shù)等功能;捕 獲/比較寄存器用于捕獲事件發(fā)生或產(chǎn)生的時(shí)間間隔;輸出單元用于產(chǎn)生用戶 需要的輸出信號(hào)。 1 Timer_A的寄存器 圖4.1 Timer_A的結(jié)構(gòu)原理圖 (1)TACTI控制寄存器 TACT寄存器中含有全部的Timer_A控制位。該寄存器在POR言號(hào)后全部復(fù) 位,但在PUC言號(hào)后不受影響。該寄存器眾各位的定義如下: 15 10 9 8 7 6 5 4 3 2 1 0 未用 SSEL1 SSEL0 ID1 ID0 MC1 MC0 未用 CLR TAIE TAIFG (2)TAR 16位計(jì)數(shù)器內(nèi)容 執(zhí)行計(jì)數(shù)的
21、單元,是計(jì)數(shù)器的主體。可讀可寫,但要注意:當(dāng)計(jì)數(shù)時(shí)鐘不 是MCLK寸,寫入應(yīng)該在計(jì)數(shù)器停止時(shí)寫,因?yàn)樗c CPU寸鐘不同步。 (3)CCTL捕獲/比較寄存器 X為捕獲/比較模塊序號(hào),在寄存器中各位名稱中的 X也一樣。該寄存器在 po信號(hào)后全部復(fù)位,但在puC言號(hào)后不受影響 該寄存器的各位定義如下: 1514 1312 11 10 9 8 7 6 5 4 3 2 1 0 CAPTMOD10 CCIS1 0 SCS SCCI CAP OUTMOD XCCIEX CCIX OUT COV CCIFGX (4) CCRX捕獲/比較寄存器 在捕獲/比較寄存器模塊中,可讀可寫。在捕獲方式時(shí),硬件自動(dòng)將計(jì)數(shù)
22、 器TAR中的數(shù)據(jù)寫入該寄存器。在比較方式時(shí),用戶程序根據(jù)需要定時(shí)時(shí)間長 短,配合定時(shí)器工作方式及定時(shí)器輸入信號(hào),寫入該寄存器相應(yīng)的數(shù)據(jù)。 (5)TAIV中斷向量寄存器 該寄存器用于確定中斷 請求的中斷源。各位定義如下: 15 - 5 41 0 0 -0 中斷向量 0 2定時(shí)器模式 Timer_A共有4種工作模式,由控制寄存器TACTI中MD0和MC1兩位決定。 (1)停止模式 (2)增計(jì)數(shù)模式 (3)連續(xù)計(jì)數(shù)模式 (4)增/減計(jì)數(shù)模式 3捕獲比較模塊 用CCTL沖的CAPX選擇捕獲模式或比較模式,用CCMX和CCMX選擇捕獲 條 件。捕獲/比較模塊的結(jié)構(gòu)如圖4.13所示。 CCIx 圖4.1
23、3捕獲/比較模塊的邏輯結(jié)構(gòu) (1)捕獲模式 (2)比較模式 4輸出單元 每個(gè)捕獲/比較模塊都包含一個(gè)輸出單元,用于產(chǎn)生輸出信 號(hào)。每個(gè)輸出單 元有8種工作模式,可產(chǎn)生基于EQUX勺多種信號(hào)。所有的輸出模式如下: 輸出模式0 輸出模式。輸出模式1置位模式。 輸出模式2 PWM翻轉(zhuǎn)/復(fù)位模式。 輸出模式3 PWM置位/復(fù)位模式 輸出模式4翻轉(zhuǎn)模式。 輸出模式5 復(fù)位模式。 輸出模式6 PWM翻轉(zhuǎn)/復(fù)位模式。 輸出模式7 PWM復(fù)位/置位模式 三、實(shí)驗(yàn)設(shè)備 名稱 指標(biāo) 數(shù)量 微機(jī) 1臺(tái) JTAG下載器(帶并口下載線) 1套 MSP430系統(tǒng)最小板 1個(gè) 萬用表 1個(gè) 工具 1盒 330歐姆電阻 DI
24、P 若干 細(xì)導(dǎo)線 若干 四、試驗(yàn)內(nèi)容 1用增計(jì)數(shù)模式產(chǎn)生一個(gè)周期為0.5S的方波 #i nclude Un sig ned char coun t=0; void ma in (void) WDTCTL = WDTPW + WDTHOLD;停止看門狗 P3DIR |= 0 x06; / P3.1設(shè)置為輸出 CCTL0 = CCIE; / CCR0 中斷允許 CCR0 = 20000; TACTL = TASSEL_2 + TACLR +MC_1; /定時(shí)器A寸鐘源為SMCL,計(jì)數(shù)器清零, 增計(jì)數(shù)模式 _BIS_SR(LPM0_bits + GIE); / En ter LPM0 w/ in t
25、errupt #pragma vector=TIMERA0_VECTOR _in terrupt void Timer_A (void) coun t+; If(cou nt=10) P3OUT A= 0 x02; / P3.1 取反 coun t=0; 2用連續(xù)計(jì)數(shù)模式同時(shí)產(chǎn)生兩個(gè)周期分別為 0.1S和1S的方波。 #i nclude un sig ned int coun t=0; void ma in (void) WDTCTL = WDTPW + WDTHOLD停 止看門狗 P3DIR |= 0 x06; / P3.1、P3.2設(shè)置為輸出。 CCTL0 = CCIE; / CCR0 中
26、斷允許 CCR0 = 40000; TACTL = TASSEL_2 + TACLR + MC_2 + TAIE; / 定時(shí)器 A時(shí)鐘源為 SMCLK 計(jì)數(shù) 器清零,連續(xù)計(jì)數(shù)模式,溢出中斷允許。 _BIS_SR(LPM3_bits + GIE); r #pragma vector=TIMERAO_VECTOR _in terrupt void Timer_A (void) 廠_ P3OUT A= 0 x02; / P3.1 取反 #pragma vector=TIMERA1_VECTOR _in terrupt void Timer_A(void) 廠_ switch( TAIV ) case
27、 2: break; case 4: break; case 10: coun t+; if(coun t=6) coun t=0; P3OUT a= 0 x04; /P3.2 取反 break; 3用增減計(jì)數(shù)模式產(chǎn)生一個(gè)周期為0.5S的對稱方波。 #i nclude un sig ned int coun t=5; void ma in (void) WDTCTL = WDTPW + WDTHOLD停 止看門狗 P3DIR |= 0 x06; / P3.1、P3.2設(shè)置為輸出。 CCTL0 = CCIE; / CCR0 中斷允許 CCR0 = 20000; TACTL = TASSEL_2
28、+ TACLR + MC_3 + TAIE; / 定時(shí)器 A時(shí)鐘源為 SMCLK 計(jì)數(shù) 器清零,增減計(jì)數(shù)模式,溢出中斷允許。 _BIS_SR(LPM3_bits + GIE); r #pragma vector=TIMERA1_VECTOR _in terrupt void Timer_A(void) 廠_ switch( TAIV ) case 2: break; case 4: break; case 10: coun t+; if(coun t=5) coun t=0; P3OUT A= 0 x04; /P3.2 取反 break; 4使用P3.1產(chǎn)生一個(gè)周期小于0.1S的方波,并使用定
29、時(shí)器A的捕獲功能測量其 頻率。 #i nclude un sig ned in t lastCCR0,lastCCR1 unsigned int j=0; /測得信號(hào)周期為 j*(1/100K) un sig ned int k=0; /測得信號(hào)占空比為:k/j un sig ned in t lastCCR0=0; unsigned int lastCCR1=0; void ma in (void) WDTCTL=WDTPW+WDTHC停DW 門狗 TACTL =TASSEL_2+ID_3+MC_2+TACLR; MCL分頻,連續(xù)模式,計(jì)數(shù)器清空 CCTL0=CM_3 + CCIS_0 +
30、SCS + CAP + CCIE; /上升沿和下降沿均捕獲,異步捕 獲,捕獲模式,捕獲中斷允許 CCTL1=CM_1 + CCIS_1 + SCS + CAP + CCIE; / 上升沿,異步,捕獲,捕獲中斷 允許 lastCCR0 = 0; lastCCRI = 0; P1DIR=0 x00; P1SEL=0 xff; P3DIR=0 xFF; P3OUT=0 x00; _EINT(); for(;) for(i=0;i10000;i+) _NOP(); P3OUTA=0 x02; /產(chǎn)生捕獲信號(hào)源 #pragma vector=TIMERA1_VECTOR /定時(shí)器中斷捕獲 _in ter
31、rupt void TIMER_A(void) 廠_ switch(TAIV) case 2:P3OUD=0 x04; j=CCR1-lastCCR1; /兩次上升沿間隔 lastCCRI = CCR1; break; case 4: break; case 10: P3OUTA=0 x02; break; #pragma vector=TIMERA0_VECTOR CCF捕獲產(chǎn)生中斷 _in terrupt void TIMER_cc(void) 廠_ /如果輸入信號(hào)為低電平,則表明是下降沿產(chǎn)生的捕獲,前一次捕獲的是上升沿, 這一次捕獲和上一次捕獲之差即為高電平的時(shí)間。 if(SCCI0 /
32、上下升沿間隔 lastCCR0 = CCR0; 5利用Timer_A輸出周期為512 /32768 = 15.625ms、占空比分別為75唏口 25%的 PW矩形波。 #i nclude void ma in (void) WDTCTL = WDTPW +WDTHOL 停止看門狗 TACTL = TASSEL0 + TACLR; / ACLK,清除 TAR CCTL0=0 x00; /默認(rèn)值,比較器模式 CCTL仁0 x00; /默認(rèn)值,比較器模式 CCR0 = 512-1; / PWM 周期 CCTL1 = OUTMOD_7; CCR1 = 384; / 占空比 384/512=0.75 C
33、CTL2 = OUTMOD_7; CCR2 = 128; / 占空比 128/512=0.25 P1DIR |= 0 x04; / P1.2 輸出 P1SEL |= 0 x04; / P1.2 TA1 out P2DIR |= 0 x01; / P2.0 輸出 P2SEL |= 0 x01; / P2.0 TA2 out TACTL |= MC0; / Timer_A增計(jì)數(shù)模式 for (;) _BIS_SR(LPM3_bits); / 進(jìn)入 LPM3 _NOP(); 實(shí)驗(yàn)五MSP43比較器A實(shí)驗(yàn) 一、實(shí)驗(yàn)?zāi)康?掌握MSP43比較器A的原理和用法。 二、實(shí)驗(yàn)原理 比較器A(Comparator
34、_A)是一個(gè)實(shí)現(xiàn)模擬電壓比較的外圍模塊,可實(shí)現(xiàn)模數(shù)轉(zhuǎn)換 的功能。它有一個(gè)模擬比較器、參考電壓發(fā)生器和輸出濾波器、兩個(gè)模擬量輸入端 CA0 和CA1及一些控制單元組成。 比較器A由3個(gè)寄存器控制,如下表。寄存器被安排在字節(jié)空間,因此必須使用字 節(jié)方式予以訪問。 寄存器縮寫類型地址初始狀態(tài) 控制寄存器1 CACTL1讀/寫059h復(fù)位 控制寄存器2 CACTL2讀/寫05Ah復(fù)位 端口禁止寄存器CAPD讀/寫05Bh復(fù)位 (1)CACTL1控制寄存器1 7 6 5 (4) 3 2 1 0 CAEX CARSE L CAREF 1(0) CAON CAIES CAIE CAIFG (2)CACTL2
35、控制寄存器2 7 6 5 4 3 2 1 0 CACTL2.7 CACTL2. 6 CACTL2. 5 CACTL2. 4 P2CA1 P2CA0 CAF CAOUT (3)CAPD端口禁止寄存器。 三、實(shí)驗(yàn)設(shè)備 名稱指標(biāo)數(shù)量 微機(jī)1臺(tái) JTAGF載器(帶并口下載線)1套 MSP43系統(tǒng)最小板1個(gè) 萬用表1個(gè) 工具1盒 示波器1臺(tái) 四、試驗(yàn)內(nèi)容 1輸出模擬比較器的參考電壓源。 2電壓檢測:P2.3輸入的未知電壓接到比較器 A正端,片內(nèi)參考電壓0.25VCC接到比 較 器A負(fù)端,如果未知電壓大于0.25Vcc,P1.0置位,否則P1.0復(fù)位。 五、試驗(yàn)程序 利用比較器A的中斷,實(shí)現(xiàn)當(dāng)輸入P2.3
36、的電壓高于0.5VCC時(shí),使P3.3置位,亮,當(dāng)P2.3 的電 壓低于0.5VCC時(shí),使P3.3復(fù)位,滅。 #i nclude MSP430 x14x.h void main (void) WDTCTL = WDTPW + WDTHOLDf停止看門狗 P2SEL |= 0 x08; /P2.3設(shè)置為比較器輸入 CA1 P3DIR |= 0 x08; /P3.3設(shè)置為輸出 P3OUT /P3.3 輸出低電平 CACTL1 = CARSEL +CAEX+CAREF1 + CAON ; 0.5Vc加到正端,打開比較器 CACTL2 = P2CA0; /P2.3加到比較器負(fù)端 while(1) if(
37、CAOUT else P3OUT 實(shí)驗(yàn)六MSP430 FLASH存儲(chǔ)器讀寫實(shí)驗(yàn) 一、實(shí)驗(yàn)?zāi)康?掌握MSP430FLAS存儲(chǔ)器讀寫的方法。 二、實(shí)驗(yàn)原理 FLASH存儲(chǔ)器模塊是FLASH型器件都有的一個(gè)模塊,它主要用作程序代碼、數(shù)據(jù) 表格以及用戶信息等的存儲(chǔ),可多次擦除和寫入數(shù)據(jù),也可在系統(tǒng)寫入或在應(yīng)用中 寫 入。塊寫入可用于在FLAS H段中的一個(gè)連續(xù)存儲(chǔ)區(qū)域?qū)懭胍幌盗械臄?shù)據(jù)。一個(gè)塊為 64 字節(jié)長度。開始在0XX00H 0XX40H, 0XX80H和0XXC0等地址,結(jié)束在0XX3FH, 0XX3FH 0XXBFH和0XXFFH等地址。 對FLASH模塊有3種操作:讀,擦除,寫。其中讀很簡單
38、,可使用各種尋址方 式,借助指令就可輕松完成。而擦除和寫入就不一樣了,需要按其固有的操作過程, 通過控制FLASH模塊的3個(gè)控制字中的相應(yīng)位完成,只有控制位的唯一組合才能實(shí) 現(xiàn) 相應(yīng)的功能。下表所示為正確的控制位組合。 表 編程與擦除控制位 功能BLKWR T WRT Meras Erase BUSY WAIT Lock 字或字節(jié)寫入0 1 0 0 0 0 0 塊寫入1 1 0 0 0 1 0 段擦除并寫入0 0 0 1 0 0 0 擦除AB以夕卜段0 0 1 0 0 0 0 全部擦除并寫入0 0 1 1 0 0 在上表以外的控制位組合下操作 FLASH模塊會(huì)引起非法訪問,將標(biāo)志位 ACCVI
39、FG置位。在表中所列各功能被執(zhí)行期間(BUSY=1,對FLASH進(jìn)行讀操作,都是不對的, 這時(shí)出現(xiàn)在數(shù)據(jù)總線的數(shù)總是3FFFH FLASH模塊在POR信號(hào)后,處于缺省的讀模式, 不需對控制位作任何操作,就可讀出其中數(shù)據(jù)。 注意:在進(jìn)行FLASH操作期間一定要關(guān)閉看門狗定時(shí)器和所有中斷。 程序一:判斷標(biāo)志位后寫入數(shù)據(jù)。 TEST_BUSY1 BIT #BUSY,等待不忙 MOV #FWKEY清除 Lock 位 MOV #(FWKEY+WRT設(shè)置允許編程位 MOV 保存轉(zhuǎn)換結(jié)果 TEST_BUSY2 BIT #BUSY,復(fù)位允許編程位 XOR #(FXKEY+LOCK)鎖定,保護(hù)數(shù)據(jù) 程序二:不用
40、判斷標(biāo)志位直接寫入數(shù)據(jù)序列。 #i nclude “ msp430 x11x1.h” ;/主程序 / RESET MOV #300H SP ;定義堆棧指針 StopWDT MOV #WDTPW+WDTHOLDDTCTL 關(guān)閉看門狗 Main Loop: CALL #WRITE_SEGA調(diào)用子程序:將內(nèi)存地 ;址240H后32字節(jié)寫入段A ;/寫 段 A 子 程 序 / WRITE_SEGA DINT ;禁止中斷 TIMING MOV #FWKEY+FSSEL0+FN定義 MCL,2分頻 ERASE_SEGAMOV #FWKE,空寫啟動(dòng)擦除 PROG_SEGAMOV #FWKEY+WR允許寫 F
41、LASH MOV #240H R6 ;將要寫的源數(shù)據(jù)的開始地址 MOV #1080H R5 ;將要寫入的目的開始地址 PROG_LI MOV.B 0(R6),0(R5);將源數(shù)據(jù)寫入到目的地址 INC R5 ;增加目的地址 INC R6 ;增加源地址 CMP #(1080H+32), R5 ;寫完了嗎? JNE PROG_L1;沒有完則繼續(xù) MOV #FWKEY+LOC Lock=1 所定寫入的數(shù)據(jù) EINT ;開中斷 RET ;/中 斷 向 量 表 / ORG 0FFFEH DW RESET END 程序三:段擦除舉例。實(shí)際段擦除在“程序二”中已用到。 ; / / TIMING MOV #F
42、WKEY+FSSELO+FN定義 MCLK 2分頻 ERASE_SEGAMOV #FWKEY Lock=0 MOV #FWKEY+ERAS允許擦除 MOV #0 空寫啟動(dòng)擦除,1080H ;為信息段A的起始地址 ;/擦除信息段 AB以外的其他全部段 / TIMING MOV #FWKEY+FSSEL0+FN定義 MCL,2 分頻 ERASE_SEGAMOV #FWKE, Lock=0 MOV #FWKEY+MERASZCTL1 ;允許擦除 MOV #0 空寫啟動(dòng)擦除 ;/擦 除 所 有 全 部 段 / TIMING MOV #FWKEY+FSSEL0+FN定義 MCL,2 分頻 ERASE_SEGAMOV #FWKE, Lock=0 MOV #FWKEY+MERAS+E, CTL; 允許擦除 MOV #0 空寫啟動(dòng)擦除 三、實(shí)驗(yàn)設(shè)備 名稱指標(biāo)數(shù)量 微機(jī)1臺(tái) JTAGF載器(帶并口下載線)1套 MSP43系統(tǒng)最小板1個(gè) 萬用表1個(gè) 工具1盒 示波器1臺(tái) 四、試驗(yàn)內(nèi)容 1先擦除信息段A,再將段A全寫0,然后擦除段B,再將段A中的所有數(shù)據(jù)傳到段 Bo #i nclude double data8; int add; void write_S
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 五年級數(shù)學(xué)下冊教案《確定位置(一)》北師大版
- 《百分?jǐn)?shù)-百分?jǐn)?shù)的認(rèn)識(shí)》教學(xué)設(shè)計(jì)-2024-2025學(xué)年六年級上冊數(shù)學(xué)北師大版
- 蘇教版三年級上冊期中考試數(shù)學(xué)試卷-(含解析)
- 2025年廣西電力職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫1套
- 2025年貴州電子信息職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫審定版
- Unit1 Making friends (教學(xué)設(shè)計(jì))-2024-2025學(xué)年人教PEP版(2024)英語三年級上冊
- 2024年全息投影項(xiàng)目資金籌措計(jì)劃書代可行性研究報(bào)告
- 2025年廣西機(jī)電職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性測試題庫附答案
- 2024年飼用天然有效成分制劑項(xiàng)目資金籌措計(jì)劃書
- 第二章 有理數(shù)及其運(yùn)算單元教學(xué)設(shè)計(jì) -2024-2025學(xué)年魯教版(五四制)數(shù)學(xué)六年級上冊
- 第四屆檔案職業(yè)技能競賽理論試題庫資料-上(選擇題)
- 文獻(xiàn)研讀課件
- 監(jiān)理大綱工程監(jiān)理方案技術(shù)標(biāo)投標(biāo)方案
- 住宅小區(qū)工程施工組織設(shè)計(jì)范本
- QBT 2460-1999 聚碳酸酯(PC)飲用水罐
- GA/T 1466.3-2023智能手機(jī)型移動(dòng)警務(wù)終端第3部分:檢測方法
- 【女性勞動(dòng)力就業(yè)歧視問題探究11000字(論文)】
- 2024年江蘇農(nóng)牧科技職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫含答案
- 小學(xué)二年級語文下冊《古詩二首》課件
- 綠色供應(yīng)鏈管理培訓(xùn)
- 針刺傷的預(yù)防和處理
評論
0/150
提交評論