12.23 msp430 lec2

一 ?實(shí)驗(yàn)?zāi)康?/b>

1.培養(yǎng)從示例代碼、用戶手冊(cè)快速學(xué)習(xí)相應(yīng)功能使用方法的能力。

2.學(xué)會(huì)偷懶,讓代碼更容易修改、提高可讀性。

3.學(xué)習(xí)msp430中的時(shí)鐘系統(tǒng)(UCS)與定時(shí)器(WDT、Timer)。

4.初步掌握msp430中12位ADC的使用。

二 ADC12

ADC的概念在Arduino中已經(jīng)介紹過(guò)了。本節(jié)課我們使用口袋版上的撥碼電位器作為模擬信號(hào)輸入,原理圖p2。

先學(xué)習(xí)msp430使用ADC的主要步驟與設(shè)置:分別閱讀example/adc12文件夾下的adc12_a_ex1_avccRef.c,?adc12_a_ex2_intRef.c,?adc12_a_ex3_extRef.c 講一下能看懂多少。注:GPIO_setAsPeripheralModuleFunctionInputPin是將該引腳設(shè)為使用外置功能,要不然這個(gè)引腳只是在簡(jiǎn)單的GPIO數(shù)字開(kāi)關(guān)的工作狀態(tài)。(參考ppt第三講.p75~p78)

初步認(rèn)識(shí)寄存器:

1.通過(guò)中斷函數(shù)中出現(xiàn)的ADC12IV,看一下寄存器用戶手冊(cè)中的介紹。(開(kāi)始接觸用戶手冊(cè))

2.通過(guò)加中斷,在debug模式中查看ADCMEM0的值。

實(shí)驗(yàn)內(nèi)容:

撥動(dòng)撥碼電位器,LED1~LED6順序點(diǎn)亮,ADC讀到的值越大亮的燈越多。

不使用ADCMEM0區(qū)塊儲(chǔ)存,換用其他區(qū)塊,改寫(xiě)程序中參數(shù)設(shè)置部分和中斷case部分,重新實(shí)現(xiàn)上面的實(shí)驗(yàn)。

*.改變硬件接法,將麥克風(fēng)MIC與運(yùn)放OPA_IN相連,OPA_OUT連接到另一個(gè)ADC輸入端口,繼續(xù)使用上面的程序,觀察現(xiàn)象。

三 了解UCS內(nèi)部時(shí)鐘系統(tǒng)

介紹:

實(shí)驗(yàn)內(nèi)容:

直接使用ucs_ex3_XT1SourcesACLK.c的代碼,用示波器觀察。

*.參考上面的例程,自己查找硬件接線原理圖,找到XT2晶振XT2IN和XT2OUT的GPIO復(fù)用引腳,同時(shí)找到SMCLK時(shí)鐘輸出的GPIO復(fù)用引腳,輸出XT2晶振信號(hào)??纯词遣皇?MHz

四 看門(mén)狗

用亍在“程序跑飛”時(shí),WDT就會(huì)產(chǎn)生溢出,從而產(chǎn)生系統(tǒng)復(fù)位,CPU需要重新運(yùn)行用戶程序,這樣程序就可以又回到正常運(yùn)行狀態(tài)。計(jì)數(shù)模式看ppt第二講p31以后。

實(shí)驗(yàn)內(nèi)容:

運(yùn)行wdt_a_ex3_watchdogACLK.c,分析現(xiàn)象

改變WDT_A_initWatchdogTimer函數(shù)中的CLOCKDIVIDER參數(shù),觀察現(xiàn)象,了解不同分頻的影響

*.改變WDT_A_initWatchdogTimer函數(shù)中的CLOCKSOURCE參數(shù),用示波器觀察現(xiàn)象?

五 計(jì)數(shù)器

計(jì)數(shù)器輸出模式在ppt第二講p63~p66。timer_a_ex2_continousModeOperationWithCCR0Interrupt.c

實(shí)驗(yàn)內(nèi)容:

用計(jì)數(shù)器定時(shí)功能實(shí)現(xiàn)跑馬燈。思考這種“延遲”方法和__delay_cycles的區(qū)別。已知例程中默認(rèn)使用的SMCLK時(shí)鐘頻率約為1.045MHz,而計(jì)數(shù)寄存器(也就是函數(shù)參數(shù)要設(shè)置的值)param.timerPeriod是16位的(可以看到類(lèi)型為uint16_t),也就是最大計(jì)數(shù)值為2^16-1,按默認(rèn)設(shè)置計(jì)數(shù)到65536/1045000秒的時(shí)候就會(huì)溢出,但是我們想觀察到明顯的跑馬燈現(xiàn)象,每個(gè)燈亮滅之間延時(shí)起碼要在0.1s以上,可以怎么實(shí)現(xiàn)呢?(tips:改用更慢的時(shí)鐘源、分頻、代碼里加計(jì)數(shù)變量)

思考:接著上面的實(shí)驗(yàn),實(shí)現(xiàn)一個(gè)和第一節(jié)課delayms函數(shù)功能相似的“延時(shí)”函數(shù)。注意時(shí)鐘源的選擇。

應(yīng)用:PWM:ppt第二講p69~p72。timer_a_ex1_pwmSingle.c。由于沒(méi)有示波器,就用頻率較慢的(32.768kHz)的ACLK時(shí)鐘,手動(dòng)從P2.0接一條線出來(lái)到之前Arduino時(shí)候用的LED模塊上面,實(shí)現(xiàn)大概亮0.75s滅0.25s的閃爍。參考參數(shù)TIMER_PERIOD為32768(周期為1s,所以和時(shí)鐘頻率相等),DUTY_CYCLE為32768*0.75。成功之后再嘗試改變param.clockSourceDivider參數(shù),看看亮滅時(shí)間有什么變化。

參考我發(fā)的adc+timer(PWMled).zip(不過(guò)我之前好像使用寄存器法寫(xiě)的...),寫(xiě)一個(gè)用撥碼電位器或者麥克風(fēng)控制大LED的亮度的程序

大功率LED驅(qū)動(dòng)

在init初始化函數(shù)中:

//LED H-bridge 電路圖見(jiàn)原理圖p5直流電機(jī)模塊

//P2.4->TA2.1 P2.5->TA2.2 接到了TimerA2.1和2.2為了用PWM輸出

//P1.5 NLSLEEP 高電平時(shí)模塊工作

//GPIO的寄存器說(shuō)明在ppt1的p87

P1DIR |= BIT5; //將P1.5設(shè)置為輸出,|=為或操作,把某一位置1時(shí)用到

P2DIR |= BIT4 + BIT5; //將P2.4,P2.5口設(shè)置為輸出

P2SEL |= BIT4 + BIT5; //將P2.4,P2.5口設(shè)置為使用外置功能

在開(kāi)關(guān)LED時(shí):

P1OUT |= BIT5; // NLSLEEP high to enable ,開(kāi)

P1OUT &=~ BIT5; //關(guān),&=與運(yùn)算,~非運(yùn)算

位運(yùn)算舉例:

xxxxxxxx |= 00100000 = xx1xxxxx

xxxxxxxx & ~(00100000) =xxxxxxxx &11011111 = xx0xxxxx

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 專(zhuān)業(yè)考題類(lèi)型管理運(yùn)行工作負(fù)責(zé)人一般作業(yè)考題內(nèi)容選項(xiàng)A選項(xiàng)B選項(xiàng)C選項(xiàng)D選項(xiàng)E選項(xiàng)F正確答案 變電單選GYSZ本規(guī)程...
    小白兔去釣魚(yú)閱讀 10,558評(píng)論 0 13
  • 樹(shù)莓派GPIO最入門(mén)教程:先從控制一個(gè)LED小燈開(kāi)始 玩轉(zhuǎn)樹(shù)莓派2017-07-09 00:00 點(diǎn)亮LED 概述...
    玩轉(zhuǎn)樹(shù)莓派閱讀 32,623評(píng)論 0 73
  • 來(lái)看一下每個(gè)模塊都是干什么的: 官方固件下載: (機(jī)翻簡(jiǎn)單校對(duì), 有些模塊我也不太懂) 中文說(shuō)明 https://...
    Zszen閱讀 23,235評(píng)論 2 54
  • 選擇題部分 1.(),只有在發(fā)生短路事故時(shí)或者在負(fù)荷電流較大時(shí),變流器中才會(huì)有足夠的二次電流作為繼電保護(hù)跳閘之用。...
    skystarwuwei閱讀 14,379評(píng)論 0 7
  • 2017.4.3,寫(xiě)下時(shí)間是為了方便回憶,在清明假期即將結(jié)束的現(xiàn)在,明天就要離開(kāi)家啟程回學(xué)校的自己,此刻會(huì)是什么心...
    horizonmo閱讀 307評(píng)論 0 0

友情鏈接更多精彩內(nèi)容