out.c
来自「本程序是通过单片机进行电机的控制」· C语言 代码 · 共 344 行
C
344 行
#include <reg51.h>
#include <absacc.h>
#define uint unsigned int
#define uchar unsigned char
#define PORT XBYTE[0xffc0]
void delay(uint x);
sbit temp=P1^7;
sbit wxy1=P1^0;
sbit wxy2=P1^1;
sbit wxy3=P1^2;
sbit wxy4=P1^3;
sbit wxy5=P1^4;
void out(uchar speed,uchar direction,uchar backup){
uchar up=1;
uchar low=0;
if(backup=='y')
{
wxy5=low;
if(direction=='l')
{
wxy1=low;
wxy2=low;
wxy3=low;
wxy4=up;
if(speed=='f'){
temp=low;
PORT=low;
delay(8);
temp=low;
delay(8);
}
if(speed=='a'){
temp=up;
PORT=up;
delay(8);
temp=low;
delay(8);
}
else if(speed=='b'){
temp=up;
PORT=up;
delay(8);
temp=low;
delay(16);
}
else if(speed=='c'){
temp=up;
PORT=up;
delay(8);
temp=low;
delay(24);
}
else if(speed=='d'){
temp=up;
PORT=up;
delay(8);
temp=low;
delay(32);
}
else if(speed=='e'){
temp=up;
PORT=up;
delay(8);
temp=low;
delay(40);
}
}
if(direction=='r')
{
wxy1=up;
wxy2=low;
wxy3=up;
wxy4=low;
if(speed=='f'){
temp=low;
PORT=low;
delay(8);
temp=low;
delay(8);
}
if(speed=='a'){
temp=up;
PORT=up;
delay(8);
temp=low;
delay(8);
}
else if(speed=='b'){
temp=up;
PORT=up;
delay(8);
temp=low;
delay(16);
}
else if(speed=='c'){
temp=up;
PORT=up;
delay(8);
temp=low;
delay(24);
}
else if(speed=='d'){
temp=up;
PORT=up;
delay(8);
temp=low;
delay(32);
}
else if(speed=='e'){
temp=up;
PORT=up;
delay(8);
temp=low;
delay(40);
}
}
if(direction=='s')
{
wxy1=low;
wxy2=up;
wxy3=low;
wxy4=low;
if(speed=='f'){
temp=low;
PORT=low;
delay(8);
temp=low;
delay(8);
}
if(speed=='a'){
temp=up;
PORT=up;
delay(8);
temp=low;
delay(8);
}
else if(speed=='b'){
temp=up;
PORT=up;
delay(8);
temp=low;
delay(16);
}
else if(speed=='c'){
temp=up;
PORT=up;
delay(8);
temp=low;
delay(24);
}
else if(speed=='d'){
temp=up;
PORT=up;
delay(8);
temp=low;
delay(32);
}
else if(speed=='e'){
temp=up;
PORT=up;
delay(8);
temp=low;
delay(40);
}
}
}
//////////////////////////////////////////////////////////////
if(backup=='z')
{
wxy5=up;
if(direction=='l')
{
wxy1=low;
wxy2=low;
wxy3=low;
wxy4=up;
if(speed=='f'){
temp=low;
PORT=low;
delay(8);
temp=low;
delay(8);
}
if(speed=='a'){
temp=up;
PORT=up;
delay(8);
temp=low;
delay(8);
}
else if(speed=='b'){
temp=up;
PORT=up;
delay(8);
temp=low;
delay(16);
}
else if(speed=='c'){
temp=up;
PORT=up;
delay(8);
temp=low;
delay(24);
}
else if(speed=='d'){
temp=up;
PORT=up;
delay(8);
temp=low;
delay(32);
}
else if(speed=='e'){
temp=up;
PORT=up;
delay(8);
temp=low;
delay(40);
}
}
if(direction=='r')
{
wxy1=up;
wxy2=low;
wxy3=up;
wxy4=low;
if(speed=='f'){
temp=low;
PORT=up;
delay(8);
temp=low;
delay(8);
}
if(speed=='a'){
temp=up;
PORT=up;
delay(8);
temp=low;
delay(8);
}
else if(speed=='b'){
temp=up;
PORT=up;
delay(8);
temp=low;
delay(16);
}
else if(speed=='c'){
temp=up;
PORT=up;
delay(8);
temp=low;
delay(24);
}
else if(speed=='d'){
temp=up;
PORT=up;
delay(8);
temp=low;
delay(32);
}
else if(speed=='e'){
temp=up;
PORT=up;
delay(8);
temp=low;
delay(40);
}
}
if(direction=='s')
{
wxy1=low;
wxy2=up;
wxy3=low;
wxy4=low;
if(speed=='f'){
temp=low;
PORT=up;
delay(8);
temp=low;
delay(8);
}
if(speed=='a'){
temp=up;
PORT=up;
delay(8);
temp=low;
delay(8);
}
else if(speed=='b'){
temp=up;
PORT=up;
delay(8);
temp=low;
delay(16);
}
else if(speed=='c'){
temp=up;
PORT=up;
delay(8);
temp=low;
delay(24);
}
else if(speed=='d'){
temp=up;
PORT=up;
delay(8);
temp=low;
delay(32);
}
else if(speed=='e'){
temp=up;
PORT=up;
delay(8);
temp=low;
delay(40);
}
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?