?? chengxu.c
字號:
////////////////////////匯誠科技////////////////////
//////////////////http://www.ourhc.cn///////////////
///////////////////步進電機調試程序/////////////////
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar Y=10; //初始化速度
/********************************************************
控制位定義
********************************************************/
sbit shi_neng=P1^0; // 使能控制位
sbit fang_shi=P1^1; // 工作方式控制位
sbit fang_xiang=P1^2;// 旋轉方向控制位
sbit mai_chong=P1^3; // 脈沖控制位
sbit zheng_zhuan=P2^0; // 正轉
sbit fan_zhuan=P2^1; // 反轉
sbit jia_su=P2^2; // 加速
sbit jian_su=P2^3; // 減速
/********************************************************
延時函數
********************************************************/
void delay(uchar i)//延時函數
{
uchar j,k;
for(j=0;j<i;j++)
for(k=0;k<180;k++);
}
/********************************************************
加速函數
********************************************************/
void jia()
{
Y=Y-1;
if(Y<=1){Y=1;}//如果速度值小于等于1,值保持不變
}
/********************************************************
減速函數
********************************************************/
void jian()
{
Y=Y+1;
if(Y>=100){Y=100;}
}
/********************************************************
主函數
********************************************************/
main()
{
shi_neng=0; // 使能控制位
fang_shi=1; // 工作方式控制位
fang_xiang=1;// 旋轉方向控制位
mai_chong=1; // 脈沖控制位
while(1)
{
if(zheng_zhuan==0){shi_neng=1;fang_xiang=1;}
if(fan_zhuan==0){shi_neng=1;fang_xiang=0;}
if(jia_su==0){delay(10);while(!jia_su);jia();}
if(jian_su==0){delay(10);while(!jian_su);jian();}
mai_chong=~mai_chong; //輸出時鐘脈沖
delay(Y); //延時(括號內數值越小,電機轉動速度越快)
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -