標(biāo)題:
單片機(jī)按鍵控制步進(jìn)電機(jī)的程序修改
[打印本頁(yè)]
作者:
egsresrhtrhrtst
時(shí)間:
2023-2-21 14:59
標(biāo)題:
單片機(jī)按鍵控制步進(jìn)電機(jī)的程序修改
寫(xiě)了個(gè)按鍵控制步進(jìn)電機(jī)的程序,按鍵控制正反轉(zhuǎn)和停止,但是因?yàn)橛昧搜訒r(shí)導(dǎo)致按鍵不太好用,各位給看看要是用定時(shí)器實(shí)現(xiàn),需要怎么改一下,或者有什么更好,更簡(jiǎn)潔的方法
單片機(jī)源程序如下:
#include "reg52.h" //此文件中定義了單片機(jī)的一些特殊功能寄存器
#define uchar unsigned char
#define uint unsigned int
sbit MOTOA = P1^0; //定義A極
sbit MOTOB = P1^1; //定義B極
sbit MOTOC = P1^2; //定義C極
sbit MOTOD = P1^3; //定義D極
sbit key1 = P0^0;
sbit key2 = P0^1;
sbit key3 = P0^2;
sbit key4 = P0^3;
void keyscan();
#define SPEED 400
void delay(uint i) //延時(shí)函數(shù)
{
while(i--);
}
void main()
{
P1=0X00;
while(1)
{
keyscan();
}
}
void keyscan()
{
if(key1==0)
{
delay(10);
if(key1==0)
{
while(1)
{
MOTOA = 0;
MOTOB = 0;
MOTOC = 0;
MOTOD = 0;
delay(SPEED);//延時(shí)
MOTOA = 0;
MOTOB = 0;
MOTOC = 0;
MOTOD = 0;
delay(SPEED);
MOTOA = 0;
MOTOB = 0;
MOTOC = 0;
MOTOD = 0;
delay(SPEED);
MOTOA = 0;
MOTOB = 0;
MOTOC = 0;
MOTOD = 0;
delay(SPEED);
if(key2==0||key3==0||key4==0)break;
}
}
}
if(key2==0)
{
delay(10);
if(key2==0)
{
while(1)
{
MOTOA = 0;
MOTOB = 1;
MOTOC = 1;
MOTOD = 1;
delay(SPEED);//延時(shí)
MOTOA = 1;
MOTOB = 0;
MOTOC = 1;
MOTOD = 1;
delay(SPEED);
MOTOA = 1;
MOTOB = 1;
MOTOC = 0;
MOTOD = 1;
delay(SPEED);
MOTOA = 1;
MOTOB = 1;
MOTOC = 1;
MOTOD = 0;
delay(SPEED);
if(key1==0||key3==0||key4==0)break;
}
}
}
if(key3==0)
{
delay(10);
if(key3==0)
{
while(1)
{
MOTOA = 1;
MOTOB = 1;
MOTOC = 1;
MOTOD = 0;
delay(SPEED);//延時(shí)
MOTOA = 1;
MOTOB = 1;
MOTOC = 0;
MOTOD = 1;
delay(SPEED);
MOTOA = 1;
MOTOB = 0;
MOTOC = 1;
MOTOD = 1;
delay(SPEED);
MOTOA = 0;
MOTOB = 1;
MOTOC = 1;
MOTOD = 1;
delay(SPEED);
if(key1==0||key2==0||key4==0)break;
}
}
}
if(key4==0)
{
delay(10);
if(key4==0)
{
while(1)
{
MOTOA = 1;
MOTOB = 1;
MOTOC = 1;
MOTOD = 1;
delay(SPEED);//延時(shí)
MOTOA = 1;
MOTOB = 1;
MOTOC = 1;
MOTOD = 1;
delay(SPEED);
MOTOA = 1;
MOTOB = 1;
MOTOC = 1;
MOTOD = 1;
delay(SPEED);
MOTOA = 1;
MOTOB = 1;
MOTOC = 1;
MOTOD = 1;
delay(SPEED);
if(key1==0||key2==0||key3==0)break;
}
}
}
}
作者:
人中狼
時(shí)間:
2023-2-21 16:26
步進(jìn)電機(jī)控制放到定時(shí)器里
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1