新聞中心

        MSP430延時程序

        作者: 時間:2016-11-13 來源:網(wǎng)絡(luò) 收藏
        一:延時程序

        在用單片機(jī)的時候常常會用到延時函數(shù),430也不例外,常見的形式有:
        void delay(unsigned int ms)

        本文引用地址:http://www.104case.com/article/201611/316344.htm

        {

        unsigned int i,j;

        for( i=0;i

        for(j=0;j<1141;j++); //8MHz晶振時

        }
        //以上程序段在要求延時精度不高的場合可以用。

        二:IAR自帶的高精度的延時

        但在 IAR 軟件430的編譯器里面我們可以利用它內(nèi)部的延時子程序來實現(xiàn)我們想要的高精度軟件延時,方法如下:

        (1):將以下這段代碼復(fù)制到你的.C源文件中。
        #define CPU_F ((double)8000000)

        #define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))

        #define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))
        (2):修改
        在 #define CPU_F ((double)8000000) 語句里 8000000 修改成你當(dāng)前MSP430 CPU的主頻頻率,即CPU的MCLK。
        單位為HZ。本例中的8000000為MCLK=8MHZ 的意思。

        (3):使用范例
        delay_us(1); //1 微秒的延時
        delay_ms(1); //1 毫秒的延時
        delay_us(3.5); //延時3.5微秒
        delay_ms(3.5); //延時3.5毫秒
        delay_ms(1000); //延時1秒



        關(guān)鍵詞: MSP430延時程

        評論


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

        關(guān)閉
        主站蜘蛛池模板: 宁武县| 策勒县| 南郑县| 扶风县| 拜城县| 浏阳市| 虹口区| 祥云县| 喀喇沁旗| 邮箱| 嘉定区| 平塘县| 天峻县| 石楼县| 隆昌县| 方山县| 沅陵县| 古浪县| 临城县| 南通市| 吉安市| 利津县| 大理市| 搜索| 吉木萨尔县| 巴青县| 黑水县| 平乐县| 桐城市| 阿荣旗| 安平县| 宕昌县| 巢湖市| 共和县| 绥宁县| 新巴尔虎左旗| 民勤县| 崇礼县| 新郑市| 仪陇县| 和田市|