版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、電設(shè)工作小結(jié)之MSP430G2553學(xué)習(xí)筆記2接上一篇: (四),ADC10 1,ADC10是十位的AD,在g2553上有A0A7八個可以外接的AD通道,A10接到片上的溫度傳感器上,其他的通道都接在內(nèi)部的V或GND上。因為是為的所以計算公式如下: 2 ,ADC參考電壓的選擇:ADC的參考電壓可以為: 由ADC控制寄存器0 ADC10CTL0控制。但是要提高ADC的精度的話,盡量不要用內(nèi)部的參考電壓,最好外接一個比較穩(wěn)定的電壓作為參考電壓,因為內(nèi)部的產(chǎn)生的參考電壓不是特別穩(wěn)定或精度不是特別的高。例如我在使用時遇到的情況如下:Vref設(shè)為2.5V
2、; 但實際的值大概為2.475V, 選擇VCC VSS作為參考,用電壓表測得大概為3.58V 還是不小的偏差的。另外,在有可能的情況下,盡量采用較大的VR+和VR-,以減小紋波對采樣結(jié)果的影響。 3,ADC10的采樣方式有:單通道單次采樣,單通道多次采樣,多通道單次采樣,多通道多次采樣。4,DTC:因為ADC10只有一個采樣結(jié)果存儲寄存器ADC10MEM,所以除了在單通道單次采樣的模式下,其他的三個模式都必須使用DCT,否則轉(zhuǎn)換結(jié)果會不停地被新的結(jié)果給覆蓋。DTC是轉(zhuǎn)換結(jié)果傳送控制,也就是轉(zhuǎn)換結(jié)
3、果可以不用CPU的干預(yù),就可以自動地存儲在指定的存儲空間內(nèi)。使用這種方式轉(zhuǎn)換速度快,訪問方便,適用于高速采樣模式中。DTC的使用可以從下面的例子中很容易看明白:#include <msp430g2553.h>#include "ser_12864.h"uchar s1="DTC:"uchar s2="2_cha_2_time_DTC"void ADC_init() ADC10CTL1 = CONSEQ_3 + INCH_1; / 2通道多次轉(zhuǎn)換, 最大轉(zhuǎn)換
4、通道為A1 ADC10CTL0 = ADC10SHT_2 + MSC + ADC10ON + ADC10IE; / ADC10ON, interrupt enabl 參考電壓選默認(rèn)值VCC和VSS /采樣保持時間為16 x ADC10CLKs,ADC內(nèi)核開,中斷使能 MSC多次轉(zhuǎn)換選擇開 /如果MSC置位,則第一次開始轉(zhuǎn)換時需要觸發(fā)源觸發(fā)一次,以后的轉(zhuǎn)換會自動進行 中斷使能 /使用DTC時,當(dāng)一個塊傳送結(jié)束,產(chǎn)生中斷 &
5、#160;/數(shù)據(jù)傳送控制寄存器0 ADC10DTC0設(shè)置為默認(rèn)模式:單傳送塊模式,單塊傳送完停止 ADC10DTC1 = 0x04; /數(shù)據(jù)傳送控制寄存器1 4 conversions 定義在每塊的傳送數(shù)目 一共采樣4次 所以單塊傳送4次 /以后就停止了傳送 因為是兩通道的,所以是每個通道采樣數(shù)據(jù)傳送2次 ADC10AE0 |= BIT0+BIT1; / P1.0 P1.1 ADC
6、 option select 使能模擬輸入腳A0 A1 /不知道為什么,當(dāng)P10 P11都懸空時,采樣值不同,用電壓表測得懸空電壓不同,但是當(dāng)都接上采樣源的時候, /采樣是相同的 void main(void)uint adc_sample8=0; /存儲ADC序列采樣結(jié)果WDTCTL = WDTPW+WDTHOLD; BCSCTL1 = CALBC1_12MHZ; /設(shè)定cpu時鐘DCO頻率
7、為12MHz DCOCTL = CALDCO_12MHZ; P2DIR |=BIT3+BIT4; /液晶的兩條線 init_lcd(); ADC_init(); wr_string(0,0,s1); wr_string(0,3,s2);
8、60; for (;) ADC10CTL0 &= ENC; /ADC不使能 其實這句話可以放在緊接著CPU喚醒之后的,因為CPU喚醒了,說明我們想要的 /轉(zhuǎn)換數(shù)據(jù)傳送完成了,如果ADC繼續(xù)轉(zhuǎn)換,那么轉(zhuǎn)換結(jié)果也不再傳輸,是無用的。所以緊接著放在CPU喚醒之后 /計時關(guān)閉
9、ADC,有利于降低功耗 while (ADC10CTL1 & BUSY); / Wait if ADC10 core is active 等待忙 ADC10SA = (unsigned int)adc_s
10、ample; /數(shù)據(jù)傳送開始地址寄存器 設(shè)置DTC的開始地址 Data buffer start /設(shè)置數(shù)據(jù)開始傳送的地址為數(shù)組adc_sample的首地址,因為寄存器ADC10SA和轉(zhuǎn)換結(jié)果都是16位的,所以要把 /地址強制轉(zhuǎn)換為16位的int或unsigned int &
11、#160; /應(yīng)該也可以用指針直接訪問DTC的存儲區(qū),還沒試過 /例如:前面定義了單塊傳送4次數(shù)據(jù),所以每次傳送完成了一個塊,也就是4次,就會把中斷標(biāo)志位置位,產(chǎn)生中斷 /因為上面設(shè)置的地址為數(shù)組adc_sample的首地址,所以每次轉(zhuǎn)換的結(jié)果就會傳送到該數(shù)組的前4位上,所以如果 /一切正常的話
12、,數(shù)組里應(yīng)該是前4位為轉(zhuǎn)換的結(jié)果,后4位為初始值0 通過下面的顯示,驗證轉(zhuǎn)換是正確的 /一次觸發(fā)首先對A1、A0采樣,放入a0和a1中,再對A1、A0采樣,放入a2和a3中。如此循環(huán)下去。 /驗證得知,當(dāng)多通道采樣時,先采高的通道,再采低的通道。如上面每次采樣時,先采A1 再A0 /因為一共采樣
13、傳送4次,所以數(shù)組的后4位為初始值0 ADC10CTL0 |= ENC + ADC10SC; / Sampling and conversion start ADC使能,開始轉(zhuǎn)換 ADC10SC為采樣觸發(fā)源 /不需要cpu的干預(yù),DTC就可以把采樣結(jié)果存儲到指定的存儲區(qū)中
14、;_bis_SR_register(CPUOFF + GIE); / LPM0, ADC10_ISR will force exit 如果轉(zhuǎn)換結(jié)果傳送完成, /就會進入中斷,CPU喚醒 繼續(xù)往下運行 wr_int(2,0,adc_sample0); /顯示轉(zhuǎn)換結(jié)果 A1
15、60; wr_int(6,0,adc_sample1); /A0 wr_int(0,1,adc_sample2); /A1 wr_int(3,1,adc_sample3); /A0
16、 wr_int(6,1,adc_sample4); wr_int(0,2,adc_sample5); wr_int(3,2,adc_sample6); wr_int(6,2,adc_sample7);
17、/ ADC10 interrupt service routine#pragma vector=ADC10_VECTOR_interrupt void ADC10_ISR(void) /中斷響應(yīng)以后,中斷標(biāo)志位自動清零 _bic_SR_register_on_exit(CPUOFF); / Clear CPUOFF bit from 0(SR)上面的例子是把存儲結(jié)果存儲在了uint型的數(shù)組中。也可以用指針直接指定要存放的地址,然后再用指針進行訪問(理論上可以
18、,但還沒有試過)。也可以把存儲結(jié)果直接存放在一個16位的寄存器中,如:ADC10SA = (unsigned int)&TACCR1; / Data transfer location 把轉(zhuǎn)換結(jié)果存儲在TACCR1所在的 /位置處,就相當(dāng)于存儲在TACCR1中 因為ADC轉(zhuǎn)換結(jié)果和寄存器TACCR1都是16位的,所以要把地址強制轉(zhuǎn)換為16位的 /int 或 unsigned int
19、型 5,ADC采樣注意事項:用片上的ADC10進行采樣,如果外部分壓電路的電阻過大(比如幾K以上),AD引腳會把電壓拉高,使采樣結(jié)果發(fā)生很大的偏差。應(yīng)換成小電阻(幾十幾百歐),如果要求更精確的話,要加運放進行電壓跟隨。 6,AD采樣交流信號:一般是50Hz,100Hz,1000Hz。方法是在交流信號的一個周期內(nèi)采樣多次(如40次,30次等),然后利用公式可以求出交流信號的有效值,平均值等。 7,片上溫度傳感器ADC的A10通道接片上的溫度傳感器,MSP430內(nèi)嵌的溫度傳感器實際上就是一個輸出電壓隨環(huán)境溫度而變化的溫度二極管。當(dāng)使用片上溫度傳
20、感器時,采樣周期必須大于30us 片上溫度傳感器的偏移很大,所以精確測量需要進行校準(zhǔn)。選擇片上溫度傳感器INCH_10,ADC其他的設(shè)置都和外部通道的設(shè)置相同,包括參考電壓源的選擇和轉(zhuǎn)換存儲的選擇選擇了片上溫度傳感器,會自動地打開片上參考電壓源發(fā)生器作為溫度傳感器的電壓源,但是這并不會時能VREF+輸出,也不會影響AD轉(zhuǎn)換參考源的選擇,轉(zhuǎn)換參考源的選擇和其他通道的選擇相同公式為:VTEMP=0.00355(TEMPC)+0.986片上溫度傳感器的校準(zhǔn),可以參見我的溫度傳感器校準(zhǔn)程序,也可以參考其他的論文。下面只給出程序的一部分:void ADC_i
21、nit()ADC10CTL0 = ADC10SHT_2 + ADC10ON + ADC10IE; / ADC10ON, interrupt enabled 參考電壓選默認(rèn)值VCC和VSS/采樣保持時間為16 x ADC10CLKs,ADC開,中斷使能ADC10CTL1 = INCH_10; / ADC輸入通道選擇A10,為內(nèi)部的溫度傳感器/其他是默認(rèn),采樣觸發(fā)輸入源選擇為ADC10SC,采樣輸入信號不翻轉(zhuǎn),轉(zhuǎn)換時鐘選擇內(nèi)部時鐘源:ADC10OSC,3.76.3MHz/不分頻,單通道單次轉(zhuǎn)換/ADC10AE0 |=
22、 0x02; / PA.1 ADC option select 使能模擬輸入腳A1/P1DIR |= 0x01;
23、; / Set P1.0 to output direction /所以是P11為ADC輸入腳,P10控制led (五),通用串行通信接口(USCI) 1,USCI_A:支持UART, IrDA, SPI USCI_B:支持I2C, SPI &
24、#160;2,UART 這個模塊沒什么好說的,和其他的一寫處理器如S12,ARM等差不多。只要設(shè)置好幾個控制寄存器,波特率,寫幾個收發(fā)函數(shù)就可以了。下面就給出msp430g2553于PC用UART通信的基本程序:#include "msp430g2553.h"unsigned char rev;char *string1="Helloworld!"char string2="Get it!n" /n是換行符void putchar(u
25、nsigned char c) /發(fā)送字符函數(shù)while (!(IFG2&UCA0TXIFG); / USCI_A0 TX buffer ready? 等待TX buffer為空UCA0TXBUF = c;
26、60; / TX -> RXed character 發(fā)送字符cvoid putstr(char *s) /發(fā)送字符串函數(shù)IE2 &= UCA0RXIE; /發(fā)送時先關(guān)閉接收中斷,不接收while(*s)!='0') /如果沒有發(fā)完,就繼續(xù)循環(huán)發(fā)送putchar(*s);/ putchar('n');
27、; /發(fā)送換行符s+;IE2 |= UCA0RXIE; /發(fā)送完了打開接收中斷void main(void) WDTCTL = WDTPW + WDTHOLD; / Stop WDT P1DIR=BIT0; BCSCTL1 = CALBC1_1MHZ;
28、 / Set DCO 為1MHz DCOCTL = CALDCO_1MHZ; P1SEL = BIT1 + BIT2 ;
29、60; / P1.1 = RXD, P1.2=TXD P1SEL2 = BIT1 + BIT2; /第二外圍模式選擇/ UCA0CTL1 |= UCSSEL_2; / SMCLK 其他默認(rèn):軟件復(fù)位使能 USCI邏輯保持在復(fù)位狀態(tài),用于設(shè)置串口 /UCA0CTL0全部為默認(rèn)狀態(tài):無奇偶校驗,LSB first,
30、8bit_data,一位停止位,UART模式,異步模式/ UCA0BR0 = 8; / SMCLK 1MHz 115200 8/ UCA0BR1 = 0
31、; / 1MHz 115200/ UCA0MCTL = UCBRS2 + UCBRS0;
32、 / Modulation UCBRSx = 5 /下面是選擇ACLK,波特率設(shè)置為固定的 UCA0CTL1 |= UCSSEL_1; /ACLK UCA0BR0 = 3;
33、60; / ACLK 32768Hz 9600 32768Hz/9600 = 3.41 UCA0BR1 = 0; &
34、#160; / 32768Hz 9600 UCA0MCTL = UCBRS1 + UCBRS0; / Modulation UCBRSx = 3 UCA0CTL1 &= UCSWRST;
35、60; / *Initialize USCI state machine* 初始化釋放,可以操作 IE2 |= UCA0RXIE; / Enable USCI_A0
36、 RX interrupt 接收中斷使能 _bis_SR_register(LPM0_bits + GIE); / Enter LPM0, interrupts enabled/ Echo back RXed character, confirm TX buffer is ready first#pragma vector=USCIAB0RX_VECTOR_interrupt void USCI0RX_ISR(void) while (!(IFG2
37、&UCA0TXIFG); / USCI_A0 TX buffer ready? 等待TX buffer為空 UCA0TXBUF = UCA0RXBUF;
38、 / TX -> RXed character 發(fā)送接收到是數(shù)據(jù) rev=UCA0RXBUF; if(rev&0x01) P1OUT |= BIT0; putstr(string1); putstr(string2); else P1OUT &= BIT0;注意:關(guān)于波特率的設(shè)置這一塊還沒有看懂,但上面的例子總的設(shè)置是對的值得說明的是:可以用
39、定時器來實現(xiàn)串口通信功能,例子還沒有看。 3,對于SPI和I2C,有時有可能會用于g2553和其他的一些芯片、設(shè)備的通信用,還沒沒仔細看。 (六),比較器A Comparator_A+ 1,是一個模擬電壓比較器,主要功能是指出兩個輸入電壓CA0和CA1的大小關(guān)系,然后由輸出信號CAOUT輸出。 2,輸出:如果正端輸入電壓大于負(fù)端輸入電壓,輸入為1。如果負(fù)端輸入電壓大于正端輸入電壓,輸出為0; 3,最終輸出信號的上升沿或下降沿可以設(shè)置為具有中斷能力,中斷
40、響應(yīng)后,硬件會自動清除中斷標(biāo)志位CAIFG,也可以被軟件清除。 4,Comparator_A+支持精密的斜坡AD轉(zhuǎn)換,供電電壓檢測和監(jiān)視外部模擬信號。 5,比較器的其中一路可以接參考電壓,有0.25VCC, 0.5VCC, 三極管的閥值電壓0.55V也可以兩路信號都接外部的模擬信號。 6,更詳細的內(nèi)容,參見用戶只能,下面的例子是簡單的用比較器A比較兩個輸入模擬電壓的高低,有CAOUT輸出:/主要功能是比較兩個輸入信號的大小關(guān)系#include <msp430g2553.h>void delay(
41、void); / Software delayvoid main (void) WDTCTL = WDTPW + WDTHOLD;
42、60; / Stop WDT CACTL2 = P2CA4; / CA1/P1.1 = +comp 正輸入端信號選擇CA1,負(fù)輸入端信號不連接外部輸入信號 /其他位的設(shè)置為默認(rèn):比較器輸出不濾波 , CAOUT為比較器的輸出結(jié)果 CCTL0 = CCIE;
43、60; / CCR0 interrupt enabled TACTL = TASSEL_2 + ID_3 + MC_2; / SMCLK/8, cont-mode _EINT();
44、0; / enable interrupts while (1)
45、 / Loop /比較器A控制寄存器1 CACTL1采用的是默認(rèn)設(shè)置:參考電壓源VCAREF加到比較器的正輸入端,內(nèi)部參考源關(guān),比較器關(guān),/中斷不使能 CACTL1 = 0x00;
46、60; / No reference voltage _BIS_SR(LPM0_bits); / Enter LPM0
47、0; CACTL1 = CAREF0 + CAON; / 參考源為0.25*Vcc, Comp. on _BIS_SR(LPM0_bits);
48、0; / Enter LPM0 CACTL1 = CAREF1 + CAON; / 參考源為0.5*Vcc, Comp. on _BIS_SR(LPM0_bits);
49、; / Enter LPM0 CACTL1 = CAREF1 + CAREF0 + CAON; /參考源為三極管的閥值電壓 0.55V, Comp. on _BIS_SR(LPM0_bits);
50、60; / Enter LPM0 / Timer A0 interrupt service routine#pragma vector=TIMER0_A0_VECTOR_interrupt void Timer_A (void) _BIC_SR_IRQ(LPM0_bits);
51、60; / Clear LPM0 bits from 0(SR) 7,也可以用比較器A監(jiān)視供電電壓,用0.25VCC和三極管的閥值電壓0.55V進行比較,從而監(jiān)視供電電壓的高低,如果電壓低于某個值時,可以做某種動作比如報警電池電量過低等。 (七),低功耗模式1,TI msp430單片機是一個特別強調(diào)超低功耗的單片機系列。對于低功耗的實現(xiàn),豐富的中斷和合理的時鐘系統(tǒng)是必須的,另外相對獨立的外設(shè),可以不在CPU的干
52、預(yù)下獨立地工作,這樣減小了CPU的工作時間,也大幅降低了系統(tǒng)功耗。2,msp430能夠用中斷迅速把CPU從低功耗模式中喚醒,喚醒時間小于1us。這就保證了系統(tǒng)的低功耗。讓CPU工作在脈沖狀態(tài),最大限度地讓CPU處于休眠狀態(tài),只有在一些需要CPU干預(yù)的操作或計算時,才把CPU喚醒。另外,把一些無關(guān)的外圍模塊也都關(guān)閉,使一些需要的模塊盡量單獨工作,從而可以把CPU休眠。合理地利用中斷,在需要的時間喚醒cpu。 3,msp430應(yīng)用系統(tǒng)價格和電流消耗等因素會影響CPU與外圍模塊對時鐘的需求,所以系統(tǒng)使用不同的時鐘信號:ACLK, MCLK, SMCLK。
53、用戶通過程序可以選擇低頻或高頻,這樣可以根據(jù)實際需要來選擇合適的系統(tǒng)時鐘頻率,這3種不同的頻率的時鐘輸出給出不同的模塊,從而更合理地利用系統(tǒng)的電源,實現(xiàn)整個系統(tǒng)的超低功耗。4,單片機的工作模式有:活動模式是(AM),低功耗模式0(LPM0)低功耗模式4(LPM4)。不同的低功耗模式禁止不同的模塊,適應(yīng)不同的需求。5,各種低功耗模式的配置有控制位:SCG1,SCG2,OscOff, CPUOff由軟件來配置。而各種低功耗模式又可通過中斷的方式會到活動模式。在CCS的編譯系統(tǒng)中,已經(jīng)做好了各種低功耗模式的宏定義,在軟件中直接調(diào)用就可以了,宏定義如下:#ifdef _ASM_HEADER_#defi
54、ne LPM0 (CPUOFF)#define LPM1 (SCG0+CPUOFF)#define LPM2
55、160; (SCG1+CPUOFF)#define LPM3 (SCG1+SCG0+CPUOFF)#define LPM4 &
56、#160; (SCG1+SCG0+OSCOFF+CPUOFF)#else#define LPM0_bits (CPUOFF)#define LPM1_bits &
57、#160; (SCG0+CPUOFF)#define LPM2_bits (SCG1+CPUOFF)#define LPM3_bits (SCG1+SCG0+CPUOFF)#define LPM4_bits
58、160; (SCG1+SCG0+OSCOFF+CPUOFF)#include "in430.h"#define LPM0 _bis_SR_register(LPM0_bits) #define LPM0_EXIT _
59、bic_SR_register_on_exit(LPM0_bits)#define LPM1 _bis_SR_register(LPM1_bits) #define LPM1_EXIT _bic_SR_register_on_exit(LPM1_bits)#define LPM2 &
60、#160; _bis_SR_register(LPM2_bits) #define LPM2_EXIT _bic_SR_register_on_exit(LPM2_bits)#define LPM3 _bis_SR_register(LPM3_bits)
61、60; #define LPM3_EXIT _bic_SR_register_on_exit(LPM3_bits)#define LPM4 _bis_SR_register(LPM4_bits) #define LPM4_EXIT _bic_SR_register_on_exit(LPM4_bit
62、s)#endif 6,具體的例子就不再舉了,就是在CPU不需要工作的時候進入低功耗模式,在需要工作的時候,通過中斷喚醒。下面說說一般的低功耗的原則: (1),最大化LPM3的時間,用32KHz晶振作為ACLK時鐘,DCO用于CPU激活后的突發(fā)短暫運行。 (2),用接口模塊代替軟件驅(qū)動功能。 (3),用中斷控制程序運行。 (4),用可計算的分支代替標(biāo)志位測試產(chǎn)生的分支。 (5),用快速查表代替冗長的軟件計算。 (6),在冗長的軟件計
63、算中使用單周的CPU寄存器。 (7),避免頻繁的子程序和函數(shù)調(diào)用。 (8),盡可能直接用電池供電。此外,在設(shè)計外設(shè)時還有一些常規(guī)原則: (1),將不用的FETI輸入端連接到Vss。 (2),JTAG端口TMS, TCK和TDI不要連接到Vss。 (3),CMOS輸入端不能有浮空節(jié)點,將所有輸入端接適當(dāng)?shù)碾娖健?#160; (4),不論對于內(nèi)核還是對于各外圍模塊,選擇盡可能低的運行頻率,如果不影響功能應(yīng)設(shè)計自動關(guān)機。 (八),看門狗定時器1,單片機的看門狗
64、定時器的原始功能是防止程序出錯跑飛,但是在系統(tǒng)的研發(fā)階段,一般不使用看門狗的。2,msp的看門狗可以工作在看門狗模式和間隔定時器模式,在間隔定時器模式下,就可以當(dāng)一個普通的定時器使用。其中工作模式的宏定義如下:#define _MSP430_HAS_WDT_ SFR_16BIT(WDTCTL);
65、60; #define WDTIS0 (0x0001)#define WDTIS1
66、60; (0x0002)#define WDTSSEL (0x0004)#define WDTCNTCL (0x0
67、008)#define WDTTMSEL (0x0010)#define WDTNMI (0x0020)#define WDTNMIES
68、 (0x0040)#define WDTHOLD (0x0080)#define WDTPW (0x5
69、A00)#define WDT_MDLY_32 (WDTPW+WDTTMSEL+WDTCNTCL) #define WDT_MDLY_8
70、 (WDTPW+WDTTMSEL+WDTCNTCL+WDTIS0) #define WDT_MDLY_0_5 (WDTPW+WDTTMSEL+WDTCNTCL+WDTIS1)
71、 #define WDT_MDLY_0_064 (WDTPW+WDTTMSEL+WDTCNTCL+WDTIS1+WDTIS0) #define WDT_ADLY_1000 (WDTPW+WDTTMSEL+WDTC
72、NTCL+WDTSSEL) #define WDT_ADLY_250 (WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL+WDTIS0) #define WDT_ADLY_16
73、0; (WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL+WDTIS1) #define WDT_ADLY_1_9 (WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL+WDTIS1+WDTIS0) #define WDT_MRST_32
74、0; (WDTPW+WDTCNTCL) #define WDT_MRST_8
75、 (WDTPW+WDTCNTCL+WDTIS0) #define WDT_MRST_0_5 (WDTPW+WDTCNTCL+WDTIS1)
76、 #define WDT_MRST_0_064 (WDTPW+WDTCNTCL+WDTIS1+WDTIS0)
77、160; #define WDT_ARST_1000 (WDTPW+WDTCNTCL+WDTSSEL) #defi
78、ne WDT_ARST_250 (WDTPW+WDTCNTCL+WDTSSEL+WDTIS0) #define WDT_ARST_16 (WDTPW+WDTCNTCL+WDTSSEL+W
79、DTIS1) #define WDT_ARST_1_9 (WDTPW+WDTCNTCL+WDTSSEL+WDTIS1+WDTIS0) 下面舉一個看門狗工作于間隔定
80、時器模式下的例子:#include <msp430g2553.h>void main(void) WDTCTL = WDT_MDLY_32; / Set Watchdog Timer interval to 30ms SMCLK計時 IE1 |= WDTIE;
81、 / Enable WDT interrupt 間隔定時器模式中斷使能 P1DIR |= 0x01;
82、 / Set P1.0 to output direction _BIS_SR(LPM0_bits + GIE); / Enter LPM0 w/ interrupt/ Watchdog Timer interrupt service routine#pragma vector=WDT_VECTOR_interrupt void watchdog_timer(void) /WDTIFG中斷標(biāo)志自動清除 &
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版英語八年級下冊 Unit 1 單元復(fù)習(xí)
- 半導(dǎo)體收音機產(chǎn)業(yè)深度調(diào)研及未來發(fā)展現(xiàn)狀趨勢
- 兒童自行車用輪胎市場需求與消費特點分析
- 高一數(shù)學(xué)說課稿10篇
- 城市電力與通信管道施工方案
- 制造業(yè)設(shè)備安全操作管理方案
- 抗感染藥物產(chǎn)業(yè)運行及前景預(yù)測報告
- 增濕器產(chǎn)業(yè)規(guī)劃專項研究報告
- 頭帶服裝產(chǎn)業(yè)運行及前景預(yù)測報告
- 發(fā)動機汽缸產(chǎn)業(yè)規(guī)劃專項研究報告
- 人工智能兒童科普
- 產(chǎn)品經(jīng)濟性設(shè)計與分析報告
- 基于核心素養(yǎng)初中數(shù)學(xué)跨學(xué)科教學(xué)融合策略
- 200TEU 長江集裝箱船設(shè)計
- 智慧能源管理平臺建設(shè)項目解決方案
- RFJ 006-2021 RFP型人防過濾吸收器制造與驗收規(guī)范(暫行)
- 2024年高中語文學(xué)業(yè)水平過關(guān)測試四-名句名篇默寫積累過關(guān)訓(xùn)練(全國通用)學(xué)生版
- 內(nèi)蒙古的特色美食
- 招投標(biāo)-招投標(biāo)管理
- 醫(yī)學(xué)類-教學(xué)查房異位妊娠(宮外孕)
- 售后工程師熱水系統(tǒng)維護培訓(xùn)
評論
0/150
提交評論