欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2948|回復: 9
打印 上一主題 下一主題
收起左側

關于STC15單片機步進電機轉一圈的程序運行有點小問題

[復制鏈接]
跳轉到指定樓層
樓主
ID:482449 發表于 2019-3-12 16:33 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
//——————————————單四拍        ————————————————————
        for(j=0;j<64;j++)//內部電機轉64圈=輸出軸轉1圈
        {
        for(i=0;i<16;i++)//16×4=64,64個脈沖內部電機轉一圈
        {
                        for(index=0;index<3;index++)//一輪4個脈沖
                        {
                                        switch(index)
                                        {
                                                        case 0:MOTOA=1;MOTOB=0;MOTOC=0;MOTOD=0;break;
                                                        case 1:MOTOA=0;MOTOB=1;MOTOC=0;MOTOD=0;break;  
                                                        case 2:MOTOA=0;MOTOB=0;MOTOC=1;MOTOD=0;break;
                                                        case 3:MOTOA=0;MOTOB=0;MOTOC=0;MOTOD=1;break;
                                        }
                                delay(4);        
                        }
                }
        }
這是步進電機轉一圈的程序,問題是我這延時4毫秒,總延時有4*4*16*64毫秒大約等于16秒,但電機轉一圈只花了11秒,為什么呀,光光延時就要16秒,都沒算上程序運行的時間,是芯片問題還是步進電機的問題,電機型號是28BYJ48。
想不通想不通,暈了


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:404160 發表于 2019-3-12 18:33 | 只看該作者
軟件延時精度不夠。
回復

使用道具 舉報

板凳
ID:479969 發表于 2019-3-12 20:08 | 只看該作者
for(index=0;index<3;index++)//一輪4個脈沖
回復

使用道具 舉報

地板
ID:479969 發表于 2019-3-12 20:11 | 只看該作者
for(index=0;index<3;index++)//一輪4個脈沖
改為
for(index=0;index<4;index++)//一輪4個脈沖
不然index只要0,1,2這3個狀態。當然時間少啦!能轉就不錯了,正常丟相不能轉動。
回復

使用道具 舉報

5#
ID:332366 發表于 2019-3-12 21:10 | 只看該作者
能不能看看你的延時函數?
回復

使用道具 舉報

6#
無效樓層,該帖已經被刪除
7#
ID:265635 發表于 2019-3-12 22:41 | 只看該作者
延時跟晶振有關系。
回復

使用道具 舉報

8#
ID:482449 發表于 2019-3-13 16:59 | 只看該作者
飛云居士 發表于 2019-3-12 18:33
軟件延時精度不夠。

我試過了,延時大了不轉,延時小了也不轉,現在這個范圍差不多剛好
回復

使用道具 舉報

9#
ID:482449 發表于 2019-3-13 17:00 | 只看該作者
ly143 發表于 2019-3-12 21:10
能不能看看你的延時函數?

void delay(unsigned int t)
{
  unsigned int i, j;
  for(i=0; i<t; i++)
  {
    for(j=845;j>0;j--);
  }
}
晶振使用內部晶振12M,請問我這個對嗎
回復

使用道具 舉報

10#
ID:482449 發表于 2019-3-13 17:01 | 只看該作者
liu_kl 發表于 2019-3-12 22:41
延時跟晶振有關系。

晶振是12M,程序在樓上,希望大佬指點迷津
回復

使用道具 舉報

11#
ID:482449 發表于 2019-3-13 17:09 | 只看該作者

原來如此,太久沒用接觸編程真的忘了好多,感謝
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表