時鐘對於各種型別微控制器而言相當於我們的心臟,重要性不言而喻!
本章 ***菜鳥渃畔***教大家如何配置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...