<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于DSP芯片TMS320F240的步進(jìn)電機的調(diào)焦系統(tǒng)設(shè)計

          基于DSP芯片TMS320F240的步進(jìn)電機的調(diào)焦系統(tǒng)設(shè)計

          作者: 時間:2010-09-13 來源:網(wǎng)絡(luò) 收藏

            int table[ ]= { 25,800,255, //第1行

            . . . . . . } //第n行

            其中25為步數(shù);800為定時器周期寄存器值;255每兩步間所要進(jìn)入定時器中斷的次數(shù)。實現(xiàn)準(zhǔn)確地控制控制器關(guān)鍵在于由F240 I/O口產(chǎn)生規(guī)定的脈沖信號,提供給控制器從而驅(qū)動電機正確轉(zhuǎn)動,程序中包括F240初始化、電機正轉(zhuǎn)、等待、電機反轉(zhuǎn)幾個程序模塊。程序流 程圖如圖2所示:

            

            圖2 程序流程圖

            以下是實現(xiàn)電機正轉(zhuǎn)的程序。程序中變量解釋:step:用于存儲數(shù)組中電機步數(shù);every step:用于存儲數(shù)組中每兩步間所要進(jìn)定時中斷的次數(shù);flag:數(shù)組行數(shù)標(biāo)志(程序假設(shè)需正轉(zhuǎn)36組)。

            void interrupt INT2_ISR()

            { while (*EVIVRA==0x0027) //是否是定時器中斷

            { if(flag36) //用來完成正轉(zhuǎn)

            {

            if (steptotal==step) //是否走完數(shù)組每行規(guī)定的步數(shù)

            { flag++; //數(shù)組行標(biāo)志加1

            steptotal=0; //電機轉(zhuǎn)動步數(shù)清零

            step=table[++j]; //更新電機運行步數(shù)數(shù)據(jù)

            *T1PR=table[++j]; //更新定時器定時周期

            everystep=table[++j]; //更新需要進(jìn)入定時器中斷次數(shù)

            *T1CNT=0; } //從零開始計時,啟動定時器

            i++; //循環(huán)標(biāo)志位加1

            if(i==1) *PADATDIR=0xff05; // 提供下降沿,正轉(zhuǎn),不脫機

            else{ if (i==everystep)



          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();