<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > MSP430簡(jiǎn)介及G2231IO寄存器說(shuō)明

          MSP430簡(jiǎn)介及G2231IO寄存器說(shuō)明

          作者: 時(shí)間:2016-11-13 來(lái)源:網(wǎng)絡(luò) 收藏
          MSP430上電復(fù)位后, IO 默認(rèn)為輸入狀態(tài),看門(mén)狗開(kāi)啟。一般來(lái)說(shuō)諸如 默認(rèn)為輸入狀態(tài),看門(mén)狗開(kāi)啟。一般來(lái)說(shuō)諸如 那些,復(fù)位后默認(rèn)看門(mén)狗是禁止的而 MSP430則默認(rèn)是開(kāi)啟看門(mén)狗的 ,與 C8051F類似 。對(duì) 于我們開(kāi)發(fā)調(diào)試 過(guò)程 來(lái)說(shuō), 前期都 是禁止看門(mén)狗 居多 ,所以一般新建 ,所以一般新建 ,所以一般新建 430工程,都會(huì) 工程,都會(huì) 有下面 語(yǔ)句:
          WDTCTL = WDTPW + WDTHOLD;
          WDTCTL是看門(mén)狗 的控制寄存器,長(zhǎng)度為 16 位,其高 位,其高 8位是看門(mén)狗口令,固定為 位是看門(mén)狗口令,固定為 0x5A, 對(duì) WDTCTL進(jìn)行寫(xiě)操作時(shí),必須使用該口令 進(jìn)行寫(xiě)操作時(shí),必須使用該口令 WDTPWWDTPWWDTPWWDTPW ,寫(xiě)錯(cuò)口令會(huì)導(dǎo)致系統(tǒng)復(fù)位。
          WDTHOLD是對(duì)看門(mén)口控制寄存器的第八位寫(xiě) 1,禁止看門(mén)狗時(shí)鐘,停計(jì)數(shù)。系統(tǒng)復(fù)位 默認(rèn)值為 0,即開(kāi)啟看門(mén)狗計(jì)數(shù) 。
          MSP430G2231的 IO 是不支持位尋址的,如果之前有 是不支持位尋址的,如果之前有 51 使用經(jīng)驗(yàn),剛上手 430 可能覺(jué)得 很別扭。 因?yàn)閷?duì)于 51 ,用 sbit LED = P1^0;定義之后,可以非常方便使用賦值語(yǔ)句 定義之后,可以非常方便使用賦值語(yǔ)句 LED = 0;或者 LED = 1; 對(duì) P1.0 口進(jìn)行電平控制。而對(duì) 430的特定管腳控制時(shí)候,卻要通過(guò)一些與或非等運(yùn) 的特定管腳控制時(shí)候,卻要通過(guò)一些與或非等運(yùn) 算來(lái)實(shí)現(xiàn),如 P1OUT |= 0x01; 或者 P1OUT &= 0xfe;對(duì)于引腳特定位置或清零, 不采用 P1OUT = 0x01; 或者 P1OUT = 0x00;,道理是顯而易見(jiàn) 的, 因?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 那 些,很多都是不支持位尋址的通過(guò)上述與或 非等運(yùn)算來(lái)處理的。
          當(dāng)然,對(duì)于類似的操作我們可以通過(guò)定義宏方式來(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é)沒(méi)有介紹 它的時(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)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();