dianji.c
来自「悬挂绘图系统(2005年全国电子设计大赛题目)基于凌阳单片机」· C语言 代码 · 共 141 行
C
141 行
#include "SPCE061V004.H"
#include "hardware.H"
void bujinlift(unsigned int degree);
void bujinright(unsigned int degree);
void bujindergeelift(unsigned int degree);
void bujindergeeright(unsigned int degree);
void meterlift(unsigned int cycle);
void meterright(unsigned int cycle);
void meterdergeelift(unsigned int cycle);
void meterdergeeright(unsigned int cycle);
void bujinlift(unsigned int degree) //左边电机 左转 1cm:20次
{
*P_IOA_Data=0x010c; //保持IOB2,IOB3为高电平c
delay(degree);
*P_IOA_Data=0x0300c;
delay(degree);
*P_IOA_Data=0x020c;
delay(degree);
*P_IOA_Data=0x060c;
delay(degree);
*P_IOA_Data=0x040c;
delay(degree);
*P_IOA_Data=0x0c0c;
delay(degree);
*P_IOA_Data=0x080c;
delay(degree);
*P_IOA_Data=0x090c;
delay(degree);
}
void bujinright(unsigned int degree) //左边电机 右转 1cm:20次
{
*P_IOA_Data=0x090c; //保持IOB2,IOB3为高电平c
delay(degree);
*P_IOA_Data=0x080c;
delay(degree);
*P_IOA_Data=0x0c0c;
delay(degree);
*P_IOA_Data=0x040c;
delay(degree);
*P_IOA_Data=0x060c;
delay(degree);
*P_IOA_Data=0x020c;
delay(degree);
*P_IOA_Data=0x030c;
delay(degree);
*P_IOA_Data=0x010c;
delay(degree);
}
void bujindergeelift(unsigned int degree) //右边电机 左转 1cm:25次
{
*P_IOA_Data=0x100c; //保持IOB2,IOB3为高电平c
delay(degree);
*P_IOA_Data=0x300c;
delay(degree);
*P_IOA_Data=0x200c;
delay(degree);
*P_IOA_Data=0x600c;
delay(degree);
*P_IOA_Data=0x400c;
delay(degree);
*P_IOA_Data=0xc00c;
delay(degree);
*P_IOA_Data=0x800c;
delay(degree);
*P_IOA_Data=0x900c;
delay(degree);
}
void bujindergeeright(unsigned int degree) //右边电机 右转 1cm:25次
{
*P_IOA_Data=0x900c; //保持IOB2,IOB3为高电平c
delay(degree);
*P_IOA_Data=0x800c;
delay(degree);
*P_IOA_Data=0xc00c;
delay(degree);
*P_IOA_Data=0x400c;
delay(degree);
*P_IOA_Data=0x600c;
delay(degree);
*P_IOA_Data=0x200c;
delay(degree);
*P_IOA_Data=0x300c;
delay(degree);
*P_IOA_Data=0x100c;
delay(degree);
}
///////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////
void meterlift(unsigned int cycle) //左边电机 左转 1cm:20次
{
unsigned i=0,meterdegree=0;
for(;cycle>0;cycle--)
{
for(i=0;i<27;i++)
{
meterdegree=10;
bujinlift(meterdegree);
}
}
}
void meterright(unsigned int cycle) //左边电机 右转 1cm:20次
{
unsigned i=0,meterdegree=0;
for(;cycle>0;cycle--)
{
for(i=0;i<27;i++)
{
meterdegree=10;
bujinright(meterdegree);
}
}
}
void meterdergeelift(unsigned int cycle) //右边电机 左转 1cm:20次
{
unsigned i=0,meterdegree=0;
for(;cycle>0;cycle--)
{
for(i=0;i<27;i++)
{
meterdegree=10;
bujindergeelift(meterdegree);
}
}
}
void meterdergeeright(unsigned int cycle) //右边电机 右转 1cm:20次
{
unsigned i=0,meterdegree=0;
for(;cycle>0;cycle--)
{
for(i=0;i<27;i++)
{
meterdegree=10;
bujindergeeright(meterdegree);
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?