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 + -
显示快捷键?