新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > MSP430時鐘分析

        MSP430時鐘分析

        作者: 時間:2016-11-13 來源:網絡 收藏
        最近開始學習MSP430,在所有單片機學習中,時鐘的設置無疑是最基本的一項工作! 尤其對于現在的單片機,外部有低速,高速兩種晶振,內部還有PLL的內部時鐘源,設置好系統工作的時鐘則是工作完美開始的表現。
        我一共用了兩種系列的430單片機,MSP430F149和MSP430F437,系列的不同,時鐘的設置也略有不同,下面從149的時鐘一步一步來說吧!
        在f149中,基礎時鐘是被叫做basic clock module,
        其一共有三個時鐘源:
        一個LFXT1CLK,為低速/高速晶振源,通常接32.768khz,也可以接(400khz~8Mhz)
        一個為XT2CLK,外接標準高速晶振,通常是接8Mhz,也可以接(400khz~8Mhz)
        還有一個叫DCOCLK,為內部晶振,有RC震蕩回路構成。
        在430內部一共有三個時鐘系統
        一個為ACLK,通常由LFXT1CLK作為時鐘源,可以通過軟件控制改時鐘的分頻系樹。
        一個為MCLK,即Main CLK,一聽就知道是主時鐘單元,為系統內核提供時鐘,它可以通過軟件從三個時鐘源選擇,
        一個為SMCLK,稱作輔助主時鐘,也是可以由軟件選擇時鐘源。
        Basic Clock Module Registers(基礎時鐘寄存器)
        DCO control register DCOCTL
        Basic clock system control 1 BCSCTL1
        Basic clock system control 2 BCSCTL2
        SFR interrupt enable register 1 IE1
        SFR interrupt flag register 1 IFG1
        DCOCTL寄存器是用來配置DCOCLK的,這里暫且不提
        BCSCTL1 與BCSCTL2 寄存器則顯得比較重要,這兩個寄存器控制了你整個系統中430的工作時鐘系統。
        BCSCTL1寄存器:
        7 6 54 3 210
        XT2OFF XTS DIVAx XT5V RSELx
        XT20FF: 用來控制XT2晶振的開啟和關閉,置1時關閉,置0時,開啟
        XTS: 用來選擇低速晶體的工作模式(可忽略)
        DIVAx: 用來選擇ACLK的分頻系數
        XT5V: 無用
        RSELx: 選擇電阻(沒用過,一般置0)
        BCSCTL2
        7 6 5 4 3 2 1 0
        SELMx DIVMx SELS DIVSx DOCR
        SELMx:選擇MCLK的時鐘源,
        00 DCOCLK
        01 DCOCLK
        10 XT2CLK
        11 LFX1CLK
        DIVMx: MCLK的分頻
        00 1分頻
        01 2分頻
        10 4分頻
        11 8分頻
        SELS:SMCLK的時鐘源,0時為內置DCO,1時為外置高速XT2
        DIVSx:SMCLK的分頻,同MCLK分頻
        DCOR:控制頻率的電阻是內部還是外部(沒用過)
        實例初始化程序
        void Init_CLK(void)
        {
        unsigned int i;
        BCSCTL1=0x00;//XT2開啟,LFXTCLK為低頻模式,ACLK分頻為0
        do
        {
        IFG1&=~OFIFG;
        for(i=0x20;i>0;i--);
        }
        while((IFG1&OFIFG)==OFIFG); //當OSCFault=1 即晶振不起振則等待
        BCSCTL2=0X00;
        BCSCTL2|=SELM1; //MCLK 時鐘為XT2,
        BCSCTL2|=SELS; //SMCLK時鐘為XT2
        }


        關鍵詞: MSP430時鐘分

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 丰镇市| 固始县| 涟水县| 社会| 思南县| 崇仁县| 长沙县| 肥乡县| 登封市| 威远县| 台江县| 剑川县| 西盟| 手游| 浑源县| 凌云县| 蓬安县| 辰溪县| 广昌县| 长乐市| 新野县| 乐昌市| 资兴市| 陇西县| 阿图什市| 隆子县| 瓦房店市| 乡宁县| 衡东县| 凤城市| 唐山市| 西峡县| 修文县| 东乌珠穆沁旗| 五河县| 富锦市| 阳西县| 绵阳市| 伽师县| 饶河县| 英山县|