MSP430 基本時鐘配置

2021-10-24 05:22:55 字數 2406 閱讀 5986

時鐘對於各種型別微控制器而言相當於我們的心臟,重要性不言而喻!

本章 ***菜鳥渃畔***教大家如何配置430的基本時鐘!

使用者指導手冊

晶元管腳手冊

根據使用者知道手冊時鐘**分為3種分別是,lfxt1clk,xt2clk,doc如下圖

1 lfxt1clk 低頻/高頻振盪器 可用於外接32768hz的低頻晶體或者450kzh~8mhz的高頻振盪晶體,可作為aclk(輔助系統時鐘)或者mclk(主系統時鐘)

2 xt2clk 高頻振盪器 外接450khz~8mhz高頻晶振可作為mclk(主系統時鐘)或者smclk(子系統時鐘)

3 dco 具有rc型特性的內部數控振盪器(dco) (沒咋深入了解,也沒咋深入應用)

4 aclk 輔助系統時鐘,主要**是lfxt1clk,使用低頻晶振, 使用divax進行1/2/4/8分頻 ,輔助系統時鐘可作為外設模組的時鐘源

5 mclk 主系統時鐘,又三種時鐘**,分別是 lfxt1clk,xt2clk,doc mclk使用selmx選擇器來確定使用哪種時鐘源,經過divx分頻器選擇1/2/4/8分頻,mclk可作為外設模組的時鐘源

6 smclk 子系統時鐘,有兩種時鐘源,分別是xt1clk和doc,smclk使用sels選擇器來選擇使用哪種時鐘源,然後使用divsx分頻器進行1/2/4/8分頻作為子系統時鐘,smclk可作為外設模組時鐘源。

7 msp430配置時鐘由以下幾個暫存器來實現

<1>dcoctl(dco控制暫存器)

<2>bcsctl1(基本時鐘狀態暫存器1)

<3>bcsctl2(基本時鐘狀態暫存器2)

<4>ie1(中斷使能暫存器)

<5>ifg1(中斷標誌暫存器)

8 那麼我們應該如何配置430系統始終呢?官方給了我們明確的操作步驟

經過puc(上電復位清除)後系統時鐘由dco實現mclk(不過大部分情況下我們使用外接晶振時鐘

mclk可來自於xt2或xt1步驟如下

<1>開啟晶體振盪器。(xt2在系統上電時預設是關閉的)

<2>清除標誌位ofifg。

<3>等待50us(系統啟動需要時間)

<4>測試標誌位ofifg,重複步驟1~4直到標誌位被清除。

注意:所有的操作都應基於官方操作指南

9 接下來進行**實戰吧

這裡我們選擇xt2外接8mhz高頻晶振作為mlck和smclk

/**********渃畔***********/

/*晶元: msp430f169

功能: 配置系統時鐘點亮led

晶元8/9引腳外接8mhz晶振作為時鐘

led接p6.4引腳

*/#include "msp430x14x.h"

void basic_clock(void);

void main( void )

}void basic_clock(void)

while((ifg1&ofifg)!=0);

bcsctl2=0x88; //基本時鐘狀態暫存器2 mclk8mhz 1分頻 smclk 8mhz 1分頻

}

msp430系統時鐘

msp430基礎時鐘模組包含以下3個時鐘輸入源。一 4個時鐘振盪源 1 lfxt1clk 外部晶振或時鐘1 低頻時鐘源 低頻模式 32768hz 高頻模式 400khz 16mhz 2 xt2clk 外部晶振或時鐘2 高頻時鐘源 400khz 16mhz 3 dcoclk 內部數字rc振盪器,復位值...

MSP430最基本的IO配置

一 基本 1 io口可以認為就是那些板子上的管腳。2 在使用io的時候需要先對他們進行配置 3 5529的io每乙個都是單獨可程式設計的,就是說可以對任意乙個io單獨進行配置。4 p1和p2具有中斷功能 5 都具有上下拉電阻 二 暫存器 pxin 輸入,將io配置為輸入,這個時候接受外部數碼訊號。p...

MSP430時鐘源整理

1 在msp430微控制器中,乙個時鐘週期 mclk晶振的倒數。如果mclk是8mhz,則乙個時鐘週期為1 8us。乙個機器週期 乙個時鐘週期,即430每個動作都能完成乙個基本操作。乙個指令週期 1 6個機器週期,具體根據具體指令而定。另外,指令長度只是乙個儲存單位,與時間沒有必然的關係。2 msp...