




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、實驗名稱:基本時鐘和低功耗模式姓名: 學(xué)號:實驗班號: 機(jī)器號:一實驗?zāi)康?. 了解MSP430Gxxx基本時鐘模塊的工作原理,掌握其控制方法;2. 掌握利用時鐘信號和中斷技術(shù)實現(xiàn)定時功能的方法;3掌握低功耗模式控制方法。二. 實驗任務(wù)1. 數(shù)字示波器的使用(在實驗5中已完成)1)將信號源的波形在示波器上顯示出來,掌握測量周期、頻率、峰峰值的方法;2)用導(dǎo)線將實驗板的地信號與示波器的地信號相連,測量實驗板上的Vcc電源信號是否正常。2. 測試上電復(fù)位系統(tǒng)ACLK、和SMCLK時鐘頻率,了解基本時鐘模塊控制寄存器各位作用。新創(chuàng)建一個MSP430G2553項目,在給出的main.c基礎(chǔ)上,編程輸出
2、單片機(jī)上電復(fù)位后的ACLK、和SMCLK時鐘,用示波器測量其頻率值,記錄下來。答:上電復(fù)位后的ACLK時鐘頻率為32.77kHz上電復(fù)位后的SMCLK時鐘頻率為1.04MHz程序見程序清單中的程序2.c思考:1) 將實驗板上JP8中間的兩個插針接到:(1) 32.768KH晶振側(cè),如圖6-1;(2) P2.6/P2.7側(cè),如圖6-2。測得ACLK的結(jié)果有何不同? 圖6-1 圖6-2答:接到32.768KH晶振側(cè)時,測得結(jié)果為32.77kHz,接到P2.6/P2.7側(cè),測得結(jié)果為890kHz。2) 在debug下如圖6-3,通過View/Register 更改System Clock模塊控制寄存
3、器值,分別置DIVA1、DIVA0=01、11;DIVS1、DIVS0=10、11;置LFXT1S0、LFXT1S0=00、10,記錄示波器測量得到的ACLK(P1.0輸出)和SMCLK(P1.4輸出)的頻率值,填寫在表6-1、6-2、6-3中,掌握時鐘模塊各控制寄存器相關(guān)位的作用。圖6-3 通過View/Register 更改System Clock模塊控制寄存器值表6-1 DIVAxx與ACLK關(guān)系DIVA1DIVA0ACLK頻率值作用0116.39kHzACLK二分頻114.0963kHzACLK八分頻表6-2 DIVSxx與SMCLK關(guān)系DIVS1DIVS0SMCLK頻率值作用1026
4、.6kHzSMCLK四分頻11133.0kHzSMCLK八分頻表6-3 LFXT1Sxx與ACLK關(guān)系LFXT1S1LFXT1S0ACLK頻率值時鐘來源0032.77kHz外部晶振1011.762kHzVLOCLK3) 分析上電復(fù)位后,CPU工作的時鐘信號MCLK頻率值是多少?答:根據(jù)上電復(fù)位后寄存器的值,可以發(fā)現(xiàn)上電復(fù)位后MCLK頻率值實際上是與SMCLK頻率值相等的(時鐘源均為DCO,且均為一分頻),而上電復(fù)位后測得的SMCLK時鐘頻率為1.04MHz,故上電復(fù)位后MCLK頻率值為1.04MHz。4) (提高)置RSEL3RSEL0=1111;DCO2DCO0=111;記錄當(dāng)前SMCLK的
5、頻率值。這是基本時鐘模塊提供的最高頻率值。 答:SMLCK的值為20.1MHz。3. 掌握基本時鐘模塊的編程控制參看附錄A實驗板原理圖,如圖6-1用跳線將JP8中的插針信號接到晶振32.768Khz側(cè)。編程控制基本時鐘模塊,設(shè)置ACLK分別為下面時鐘頻率,并通過P1.0輸出ACLK,用示波器觀察:1) ACLK=16.384Hz;(外部晶振二分頻,約為32768Hz/2)答:ACLK的頻率為32.77kHz。程序見程序清單中的程序3.1.c。2) ACLK=VLOCLK/8;(內(nèi)部VLOCLK 八分頻,約為12KHz/8)答:ACLK的頻率為1.4243kHz。程序見程序清單中的程序3.2.c
6、。思考:可否通過對時鐘模塊編程在引腳P2.4上輸出ACLK? 為什么?答:不可以,因為引腳P2.4在硬件層面上并未與ACLK的輸出引腳相連,所以無論如何對時鐘模塊進(jìn)行編程都無法做到在引腳P2.4上輸出ACLK。4. DCO出廠校驗值的頻率檢測1) 利用出廠校驗值,編程使DCO分別為1MHz、16MHz,通過P1.4輸出,并用示波器測量實際值。 答:1MHz的實際值為960kHz,16MHz的實際值為15.9MHz。程序見程序清單中的程序4.1.c。2) (提高)在實驗1例程test_2553.c基礎(chǔ)上,分別編程使主系統(tǒng)時鐘工作在 (1) MCLK = 復(fù)位頻率/8 約100KHz;(2) MC
7、LK=DCO=16MHz; 兩種不同MCLK頻率下,觀察燈的亮滅速度有何不同,掌握主系統(tǒng)時鐘的變化對程序執(zhí)行速度的影響。 答:在MCLK = 復(fù)位頻率/8時,燈的亮滅速度較慢,在MCLK=DCO=16MHz時,燈的亮滅速度較快??梢娭飨到y(tǒng)時鐘頻率越高,程序執(zhí)行的速度越快。程序見程序清單中的程序4.2.c。5. 低功耗模式學(xué)習(xí)程序L6_LPM.c見下,用跳線將P2.3與L4短接,將P2.4用長杜邦線與buzz短接,P1.1與K2短接,用示波器分別觀察P1.0、P1.4輸出的ACLK和SMCLK,了解低功耗模式的進(jìn)入和退出。 1) 運行程序,觀察現(xiàn)象,并記錄進(jìn)入低功耗前、進(jìn)入低功耗后、響應(yīng)中斷后、
8、退出中斷后的時鐘、發(fā)光二極管和蜂鳴器狀態(tài),并做分析。答:進(jìn)入低功耗前:LED燈閃亮五次,隨后蜂鳴器鳴響三次,ACLK=32.77kHz,SMCLK=1.09MHz。進(jìn)入低功耗后:LED燈不亮,蜂鳴器不響,ACLK與SMCLK均無信號。響應(yīng)中斷后:LED燈不亮,蜂鳴器鳴響三次,ACLK=32.81kHz,SMCLK=1MHz。退出中斷后:LED燈不亮,蜂鳴器不響,ACLK與SMCLK均無信號。發(fā)生以上現(xiàn)象的原因是在程序執(zhí)行至LPM4前,程序正常執(zhí)行,時鐘有信號;程序執(zhí)行至LPM4后,單片機(jī)進(jìn)入了LPM4,CPU、MCLK、SMCLK、DCO均禁止,故程序不再向下執(zhí)行,時鐘無信號;中斷發(fā)生之后單片
9、機(jī)被喚醒,恢復(fù)活動模式,中斷子程開始執(zhí)行,時鐘有信號;在退出中斷之后單片機(jī)又回到了LPM4,故程序不再向下執(zhí)行,時鐘無信號。2) 如果中斷程序中有LPM4_EXIT 語句,運行的結(jié)果會有什么不同?請分析。答:在退出中斷之后,LED閃亮五次,蜂鳴器不響,ACLK=32.77kHz,SMCLK=1.06MHz,隨后LED燈不亮,蜂鳴器不響,ACLK與SMCLK均無信號。因為中斷子程中關(guān)閉了低功耗模式,所以中斷子程結(jié)束之后單片機(jī)依舊為活動模式,所以程序繼續(xù)向下執(zhí)行,時鐘有信號。不過由于之后程序經(jīng)過循環(huán)體的循環(huán)又執(zhí)行了LPM4;語句,故單片機(jī)又回到了LPM4,故程序不再向下進(jìn)行,時鐘無信號。6. (提
10、高)利用輸出的時鐘信號做中斷源,實現(xiàn)定時功能將任務(wù)3 中P1.0輸出的ACLK=VLOCLK/8時鐘信號,作為P1.7的中斷申請信號,用導(dǎo)線將P1.7與P1.0相連即可,在中斷函數(shù)中設(shè)置一個計數(shù)變量,計數(shù)中斷函數(shù)被執(zhí)行的次數(shù),如果ACLK的頻率值為1.5KHz(實驗時,以實測的為準(zhǔn)),那么中斷函數(shù)每被執(zhí)行1500次表示一秒時間到。利用該定時功能,將8個發(fā)光二級管設(shè)計成一個秒表,顯示秒值,每秒改變一次8個發(fā)光二級管的顯示。答:程序見程序清單中的程序6.1.c。思考:如果要每隔5秒蜂鳴器響一聲,如何在任務(wù)6的基礎(chǔ)上編程實現(xiàn)?答:程序見程序清單中的程序6.2.c。程序清單:程序2.c#include
11、 "io430.h"int main( void ) / Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD;/P1.0輸出時鐘ACLK, P1.4輸出時鐘SMCLK P1SEL |=BIT0+BIT4; P1SEL2 &=(BIT0+BIT4); P1DIR |=BIT0+BIT4; while(1);程序3.1.c#include "io430.h"unsigned int i;int main( void ) / Stop watchdog timer
12、 to prevent time out reset WDTCTL = WDTPW + WDTHOLD;/P1.0輸出時鐘ACLK, P1.4輸出時鐘SMCLK P1SEL |=BIT0+BIT4; P1SEL2 &=(BIT0+BIT4); P1DIR |=BIT0+BIT4; while(IFG1 & OFIFG)!=0) IFG1 &=OFIFG; for(i=0;i<=0xffff;i+); ; BCSCTL3 |= LFXT1S_0; BCSCTL1 |= DIVA_1; while(1);程序3.2.c#include "io430.h&qu
13、ot;int main( void ) / Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD;/P1.0輸出時鐘ACLK, P1.4輸出時鐘SMCLK P1SEL |=BIT0+BIT4; P1SEL2 &=(BIT0+BIT4); P1DIR |=BIT0+BIT4; BCSCTL3 |= LFXT1S_2; BCSCTL1 |= DIVA_3; while(1);程序4.1.c#include "io430.h"int main( void ) / Stop watchd
14、og timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD;/P1.0輸出時鐘ACLK, P1.4輸出時鐘SMCLK P1SEL |=BIT0+BIT4; P1SEL2 &=(BIT0+BIT4); P1DIR |=BIT0+BIT4; /(1)使DCO為1MHz if(CALBC1_1MHZ!= 0xff) BCSCTL1=CALBC1_1MHZ; DCOCTL=CALDCO_1MHZ; /(2)使DCO為16MHz /* if(CALBC1_16MHZ!= 0xff) BCSCTL1=CALBC1_16MHZ; DCOCT
15、L=CALDCO_16MHZ; */ while(1);程序4.2.c#include "io430.h"unsigned int i;int main ( void ) unsigned int j;/定義延時變量WDTCTL = WDTPW + WDTHOLD; /關(guān)閉看門狗/(1)MCLK = 復(fù)位頻率/8BCSCTL2 |= DIVM_3; /(2)MCLK=DCO=16MHz /* if(CALBC1_16MHZ!= 0xff) BCSCTL1=CALBC1_16MHZ; DCOCTL=CALDCO_16MHZ; */ P2SEL &=(BIT2+BIT5
16、); /設(shè)置引腳P2.2和P2.5為基本輸入輸出功能P2SEL2 &=(BIT2+BIT5); P2OUT |=BIT2+BIT5; /設(shè)置引腳P2.2和P2.5輸出的初值為1P2DIR |=BIT2+BIT5; /設(shè)置端口P2.2和P2.5為輸出方向 for (;) /主循環(huán) P2OUT =(BIT2+BIT5); /將P2.2和P2.5的值取反后輸出for (i=0;i<0xffff;i+); /延時;程序L6_LPM.c#include "io430.h"#include "in430.h"void delay( unsigned i
17、nt i) /延時函數(shù) unsigned int k; /定義局部變量 for (k=0;k<i;k+);void Blink( ) /LED閃 unsigned int i; for (i=0;i<5;i+) P2OUT &= BIT3; delay(0xe000); P2OUT |=BIT3; delay(0xe000); ;void Buzz( ) /蜂鳴響 unsigned int i; for (i=0;i<3;i+) P2OUT &= BIT4; delay(0xf800); P2OUT |=BIT4; delay(0xf800); ;int ma
18、in ( void ) WDTCTL = WDTPW + WDTHOLD; /關(guān)閉看門狗/設(shè)置端口P2.3輸出,控制LED,P2.4輸出,控制蜂鳴器 P2SEL &=(BIT3+BIT4); P2SEL2&=(BIT3+BIT4); P2OUT |= BIT3+BIT4; P2DIR |= BIT3+BIT4; /設(shè)置端口P1.1允許中斷 P1SEL &=BIT1;P1SEL2 &=BIT1; P1REN |=BIT1;P1OUT |=BIT1;P1DIR &=BIT1;P1IES |=BIT1;P1IFG &=BIT1;P1IE |=BIT1;
19、 _EINT(); /P1.0輸出時鐘ACLK, P1.4輸出時鐘SMCLKP1SEL |=BIT0+BIT4;P1SEL2 &=(BIT0+BIT4);P1DIR |=BIT0+BIT4;Blink();Buzz();for (;) /主循環(huán) LPM4;/ Blink(); #pragma vector=PORT1_VECTOR _interrupt void port_ISR( )Buzz();P1IFG&=(BIT1); /清中斷標(biāo)志/LPM4_EXIT;程序6.1.c#include "io430.h"#include "in430.h&q
20、uot;int main( void ) / Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD;/P1.0輸出時鐘ACLK P1SEL |=BIT0; P1SEL2 &=BIT0; P1DIR |=BIT0; /設(shè)置輸入輸出 P1SEL&=BIT7; P1SEL2&=BIT7; P1DIR&=BIT7; P1SEL &=BIT1; P1SEL2 &=BIT1; P1DIR |=BIT1; P1OUT |=BIT1; P2SEL = 0x00; P2SEL2
21、 = 0x00; P2DIR = 0xff; /設(shè)置時鐘 BCSCTL3 |= LFXT1S_2; BCSCTL1 |= DIVA_3; /設(shè)置中斷 P1IES|=BIT7; P1IFG&=BIT7; P1IE|=BIT7; _EINT(); LPM0;unsigned int count = 0;unsigned char num = 0;#pragma vector=PORT1_VECTOR/置P1中斷向量_interrupt void LED() count+; if(count=1424)/1424根據(jù)之前的實測值確定 num+; P2OUT=num; count=0; P1IFG&=BIT7;程序6.2.c#include "io430.h"#include "in430
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 藥用包裝材料生產(chǎn)項目可行性研究報告(申請備案案例)
- 中國PBN棒行業(yè)市場全景監(jiān)測及投資前景展望報告
- 中國車間除塵設(shè)備行業(yè)投資潛力分析及行業(yè)發(fā)展趨勢報告
- 2025年 德州慶云縣衛(wèi)生健康系統(tǒng)招聘考試筆試試題附答案
- 2025年 北京大興區(qū)安定鎮(zhèn)委托招聘考試筆試試題附答案
- 年電解水制氫研究分析報告
- 2025年中國汽車用鍍鋅板行業(yè)市場深度分析及投資策略咨詢報告
- 2024年全球及中國儲能服務(wù)行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 民政志愿者培訓(xùn)課件
- 電動毛絨玩具行業(yè)深度研究分析報告(2024-2030版)
- 青春期的婦科知識講座
- 中考語文二輪專題復(fù)習(xí)《詩歌賞析之情感把握復(fù)習(xí)》公開課一等獎創(chuàng)新教學(xué)設(shè)計
- 2023起重機(jī)械安全技術(shù)規(guī)程
- 肺癌腦膜轉(zhuǎn)移治療方案
- 服務(wù)認(rèn)證基礎(chǔ)知識培訓(xùn)
- JJF 2088-2023 大型蒸汽滅菌器溫度、壓力、時間參數(shù)校準(zhǔn)規(guī)范
- SB-T 11238-2023 報廢電動汽車回收拆解技術(shù)要求
- 設(shè)立體育產(chǎn)業(yè)公司可行性研究報告
- 《典型交通事故案例》課件
- 進(jìn)口食品企業(yè)質(zhì)量安全管理制度模版
- 社區(qū)托管班方案
評論
0/150
提交評論