欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
51單片機+步進馬達延時程序問題
[打印本頁]
作者:
dj3365191
時間:
2023-3-5 13:41
標題:
51單片機+步進馬達延時程序問題
下面程序是上電馬達轉動45度后延時10秒再轉動45度,往復循環,我想在馬達停止后延時60秒,我把100000這個值改多大也不能延時60秒,請問這程序該怎么改,請各位給個提示,謝謝!
單片機源程序如下:
#include <reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
uint i,j,k ;
uint N=128; //角度范圍調節,對應于45度,512對應于360度
uchar code single_pos[4]={0x04,0x08,0x10,0x20}; /*單四拍正轉表*/
//uchar code single_rev[4]={0x20,0x10,0x08,0x04}; /*單四拍反轉表*/
void delay(uint z);
void m_single_pos();
//void m_single_rev();
void main()
{
while(1)
{
m_single_pos(); //單四拍正轉45度
delay(100000);
m_single_pos(); //單四拍正轉45度
delay(100000);
}
}
void delay(uint z) /*延時z毫秒*/
{
uint x,y;
for(x=z;x>0;x--)
for(y=300;y>0;y--) ; //轉速調節,數值越大馬達越慢
}
/******************************單四拍驅動正轉(N*45/16)*************************************/
void m_single_pos()
{
for(k=0;k<N;k++)
{
for(i=0;i<4;i++) //單四拍一個脈沖轉子轉動5.625*2=11.625度,四拍共45度
{
P3=single_pos[ i] ;
delay(10) ; //適當延時,保證轉子轉動時間,延時過短會丟拍
}
}
}
作者:
qsssuv
時間:
2023-3-5 15:56
uint在這里最大也只能是65535,超過這個值反而會變小
作者:
人中狼
時間:
2023-3-5 16:21
使用定時器吧
作者:
lkc8210
時間:
2023-3-5 23:11
void main()
{
uchar delay_Cnt = 0;
while(1)
{
if(delay_Cnt==0)
{
m_single_pos(); //單四拍正轉45度
}
delay_Cnt++;
if(delay_Cnt>=60)delay_Cnt=0;
delay(1000);
}
}
復制代碼
作者:
yzwzfyz
時間:
2023-3-6 14:13
很易想到的,將10秒延時,做6次。
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1