<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 汽車(chē)電子 > 設計應用 > 在HCS08系列MCU上用軟件實(shí)現儀表步進(jìn)電機的驅動(dòng)

在HCS08系列MCU上用軟件實(shí)現儀表步進(jìn)電機的驅動(dòng)

作者:傅志強 飛思卡爾半導體成都分公司 時(shí)間:2010-05-21 來(lái)源:電子產(chǎn)品世界 收藏

  

本文引用地址:http://dyxdggzs.com/article/109228.htm

  本為應用程序提供的接口函數有三個(gè):

  1.InitStepper:初始化函數,對驅動(dòng)所用到的I/O口和定時(shí)器進(jìn)行設置,并讓轉到初始位置——使儀表的指針指到零點(diǎn)的位置。

  函數原型:void InitStepper(void);

  參數:無(wú);

  返回值:無(wú)。

  2.SetStepperTarget:設定的目標位置,也就是要讓儀表的指針轉到哪個(gè)位置(以相對于零點(diǎn)的角度來(lái)表示),整個(gè)轉動(dòng)的過(guò)程(如需要轉多少步,往哪個(gè)方向轉等)應用程序無(wú)需知道,而且應用程序可以指定任意目標位置。

  函數原型:void SetStepperTarget(word wTargetDegree);

  參數:word wTargetDegree,目標位置相對于零點(diǎn)的角度,其值是以(1/12)度(等于微步方式下的步距)為單位的;

  返回值:無(wú)。

  3.GetStepperCurrent:得到步進(jìn)電機的當前位置。

  函數原型:word GetStepperCurrent(void);

  參數:無(wú);

  返回值:返回儀表的指針當前所指的位置(以相對于零點(diǎn)的角度來(lái)表示),其值也以(1/12)度(等于微步方式下的步距)為單位。

  另外,在頭文件Stepper.h中定義了選擇驅動(dòng)方式的宏,使用者修改宏定義就可以選擇分步驅動(dòng)方式或微步驅動(dòng)方式,如下:

  #define STEPPER_PARTIAL_MODE 0

  #define STEPPER_MICRO_MODE !STEPPER_PARTIAL_MODE

  如前所述,驅動(dòng)信號的變化速度不能太快,每次變化后都必須保持一段時(shí)間不變,為了讓占用的CPU的處理時(shí)間更少,就需要用到一個(gè)定時(shí)器。除了上面的三個(gè)接口函數外,驅動(dòng)程序的其余部分都在定時(shí)器的中斷服務(wù)程序中運行。

  在驅動(dòng)程序中,用兩個(gè)靜態(tài)變量來(lái)保存步進(jìn)電機的目標位置和當前位置,其值是到零點(diǎn)的步數。定時(shí)器中斷由SetStepperTarget函數使能,在中斷服務(wù)程序中根據目標位置和當前位置的差值來(lái)決定步進(jìn)電機轉動(dòng)的方向和步數,然后根據選擇的驅動(dòng)方式執行相應的轉動(dòng)程序。

pwm相關(guān)文章:pwm是什么




評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>