MSP430簡(jiǎn)介及G2231IO寄存器說(shuō)明
WDTCTL = WDTPW + WDTHOLD;
WDTCTL是看門狗 的控制寄存器,長(zhǎng)度為 16 位,其高 位,其高 8位是看門狗口令,固定為 位是看門狗口令,固定為 0x5A, 對(duì) WDTCTL進(jìn)行寫操作時(shí),必須使用該口令 進(jìn)行寫操作時(shí),必須使用該口令 WDTPWWDTPWWDTPWWDTPW ,寫錯(cuò)口令會(huì)導(dǎo)致系統(tǒng)復(fù)位。
WDTHOLD是對(duì)看門口控制寄存器的第八位寫 1,禁止看門狗時(shí)鐘,停計(jì)數(shù)。系統(tǒng)復(fù)位 默認(rèn)值為 0,即開啟看門狗計(jì)數(shù) 。
MSP430G2231的 IO 是不支持位尋址的,如果之前有 是不支持位尋址的,如果之前有 51 使用經(jīng)驗(yàn),剛上手 430 可能覺得 很別扭。 因?yàn)閷?duì)于 51 ,用 sbit LED = P1^0;定義之后,可以非常方便使用賦值語(yǔ)句 定義之后,可以非常方便使用賦值語(yǔ)句 LED = 0;或者 LED = 1; 對(duì) P1.0 口進(jìn)行電平控制。而對(duì) 430的特定管腳控制時(shí)候,卻要通過一些與或非等運(yùn) 的特定管腳控制時(shí)候,卻要通過一些與或非等運(yùn) 算來(lái)實(shí)現(xiàn),如 P1OUT |= 0x01; 或者 P1OUT &= 0xfe;對(duì)于引腳特定位置或清零, 不采用 P1OUT = 0x01; 或者 P1OUT = 0x00;,道理是顯而易見 的, 因?yàn)?如果采用后者直接賦值,那么整個(gè)端口的電平狀態(tài)可能都會(huì)改變。而通常情況我 如果采用后者直接賦值,那么整個(gè)端口的電平狀態(tài)可能都會(huì)改變。而通常情況我 如果采用后者直接賦值,那么整個(gè)端口的電平狀態(tài)可能都會(huì)改變。而通常情況我 如果采用后者直接賦值,那么整個(gè)端口的電平狀態(tài)可能都會(huì)改變。而通常情況我 如果采用后者直接賦值,那么整個(gè)端口的電平狀態(tài)可能都會(huì)改變。而通常情況我4 / 12
們都只是想對(duì)特定位操作,其它引腳電平不應(yīng)受到影響。
當(dāng)然,這僅是對(duì)習(xí)慣 51 的人提個(gè)醒,要習(xí)慣 的人提個(gè)醒,要習(xí)慣 運(yùn)用 這種表示方法,因?yàn)橄?AVR、ARM 那 些,很多都是不支持位尋址的通過上述與或 非等運(yùn)算來(lái)處理的。
當(dāng)然,對(duì)于類似的操作我們可以通過定義宏方式來(lái)處理如:
#define LEDON() P1OUT |= 0x01
#define LEDOFF() P1OUT &= 0xfe
這樣,我們使用的時(shí)候就直接 LEDON(); 或者 LEDOFF(); 來(lái)實(shí)現(xiàn) LED的亮滅控制,進(jìn)行代 碼移植的時(shí)候,也會(huì)方便很多。
MSP430的低功耗,很大一部分是得益于它靈活時(shí) 的低功耗,很大一部分是得益于它靈活時(shí) 鐘配置,之所以在這一章節(jié)沒有介紹 它的時(shí)鐘,而采用了默認(rèn)設(shè)置( DCO 1MHz),是因?yàn)?),是因?yàn)?),是因?yàn)?它太靈活了,所以顯得復(fù)雜。 先點(diǎn)燈, 學(xué)會(huì) IO 操作,激發(fā)學(xué)習(xí)興趣。
IO 操作 主要涉及以下幾個(gè)寄存器:
P1REN :上下拉電阻使能寄存器 :上下拉電阻使能寄存器 ,用于配置管腳輸入時(shí)的上下拉電阻 ,用于配置管腳輸入時(shí)的上下拉電阻 ,用于配置管腳輸入時(shí)的上下拉電阻 ,1使能,此時(shí)與 使能,此時(shí)與 P1OUT配合選擇上拉或者下, 1為上拉, 0位下拉 。
P1SEL:功能選擇寄存器 ,1為引腳 配置為使用 外圍模塊功能。
P1IE :中斷使能寄存器 ,1使能引腳中斷。
P1IES :中斷觸發(fā)沿選擇寄存器 ,1為下降沿觸發(fā), 0為上升沿觸發(fā)。
P1IFG :中斷標(biāo)志寄存器 ,發(fā)生中斷事件時(shí)相應(yīng)位置 ,發(fā)生中斷事件時(shí)相應(yīng)位置 1。
P1DIR :方向寄存器 ,1為輸出, 0為輸入,復(fù)位默認(rèn)狀態(tài)。 為輸入,復(fù)位默認(rèn)狀態(tài)。
P1OUT :輸出寄存器 ,1時(shí)引腳輸出高電平, 0時(shí)輸出低電平。
P1IN :輸入寄存器 ,用于讀取 IO 電平 狀態(tài)。
評(píng)論