關於MSP430的學習總結

    最近爲了參加TI的競賽,學習了一下MSP430F149這款混合信號處理芯片。說白了還是一個單片機,因爲有了以前的基礎學期他來也就快了很多。

     初識430:首先是要知道他有哪些共能,我所用的149芯片有一個看門狗、兩個定時器、兩個串口、ADC12、硬件乘法器等等。

     接下來就是要知道他的寄存器的使用:第一個是普通的IO使用,程序的一開始就要設置自己的IO情況,具體包括:選擇方向,是否選擇第二功能,是否開中斷。單片機上電後默認的是輸入,普通IO,關中斷。在所有引腳中只有P1和P2的兩個8位具有中斷功能,關於各管腳的第二功能一看他的器件框圖就知道了;第二是定時器的使用:看門狗定時器默認的是打開的,所以如果要是不使用看門狗的話,程序一開始一定要關狗,另外看門狗定時器可以當做普通的16位定時器使用。除此之外還有兩個定時器TimerA和TimerB,兩個都是16位的定時器,這兩個定時器的功能很強大,一些基本信號的產生都要依靠他們,比如:PWM信號,定時,ADC採樣觸發信號,UART的波特率產生,比較器觸發信號等。另外一個比較重要的就是ADC12的使用:通過設置相應的寄存器完成序列的採樣。關於430內置硬件乘法器的使用,說白了還是寄存器的操作,送進去兩個操作數出來結果,很簡單。其他的像串口之列的和51一樣,也很簡單。另外一些擴展接口比如LCD、IIC了,在51基礎源代碼上一改就行了。

      在430中幾乎每個引腳都是複用的,如果要使用它的第二功能就必須進行相應的設置。程序一開始要做的主要工作主要有:是否關狗,選擇時鐘源,設置各端口的功能,完成端口的初始化,初始化各外圍模塊。在編寫程序中經常用到的語句主要有:

      設置管腳的方向:PnDIR |= BITx   :設置成輸出

                              PnDIR &= ~BITx   :設置成輸入:默認的就是輸入

      選擇第二功能: PnSEL  |= BITx   :使用相應的第二功能

                             PnSEL  &= ~BITx   :不使用相應的第二功能

      使能管腳中斷:  PnIE   | =  BITx   :使能相應的管腳中斷

      關閉看門狗  :WDTCTL |= WDTPW + WDTHOLD

      打開系統總中段:_EINT();

      關閉系統總中斷:_DINT();

      中斷服務函數的編寫: #pragma vector = XXXX_VERTOR

                                     __interrupt void xxxxISR(void)

     

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章