⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sifu_temp2.c

📁 伺服马达控制的C51程序。 文件: sifu*.c sifu*.Uv2 sifu*.hex 等相关文件。
💻 C
📖 第 1 页 / 共 2 页
字号:
/****************************************************************/
/*Module: New technic
/*Creator: lianghaodang
/*Date: 11/19/2007   
/*Description: creat a pulse
/****************************************************************/
#include<AT892051.h>
#include<stdio.h>
#include<math.h>
#include<intrins.h>

sbit  Sig_x = P3^4;
sbit  Sig_y = P1^2;
sbit  KEY = P3^7;
sbit  PULS_x = P3^5;
sbit  PULS_y = P1^3;
unsigned int Counter_x,Counter_y,x_size,y_size;
void Delayms(unsigned char ms);
//----------------------------------------
void time0(void) interrupt 1
{	//PULS_x = ~PULS_x;
	//Counter_x++;
	PULS_y = ~PULS_y;
	Counter_y++;
	TH0 = 0xFF;
	TL0 = 0xB0;
}

void time1(void) interrupt 3
{
	PULS_x = ~PULS_x;
	Counter_x++;
	//PULS_y = ~PULS_y;
	//Counter_y++;
	TH1 = 0xFF;
	TL1 = 0xB0;
}

//----------------------------------------
void main(void)
{  
 //   bit Flag;
	P1 = 0XFF;
    P3 = 0XFF;
    PULS_x = 0;
	PULS_y = 0;
    TMOD = 0x11;
	IT0 = 1; 
	PCON=0X00;
	ET0 = 1;
	ET1 = 1;
	
	PT1 = 1;	//Time1 First the time0						
    TH0 = 0xFF;
	TL0 = 0xB0; 
    TH1 = 0xFF;
	TL1 = 0xB0;

    TR0 = 0;								
	TR1 = 0;
	EA = 1;

 while(1)
  {
/***********mark0 go to mark1 ******************/
	Sig_x = 0;
	Delayms(50);
	do   //x action 1
		{
		TR1 = 1;
		}while(Counter_x<3000);
    TR1 = 0;
	Counter_x = 0;
	PULS_x = 0;
/**********************************************/
/******************************************************/
	//First Sig_x = 1; Sig_y = 0;
/*****************************************************/
/************* dot 1(x=300,y=1000)**************/
	Sig_x = 1;
	Sig_y = 0;
	Delayms(50);
	TR0 = 1;
	TR1 = 1;
	do   //x & y action 1
		{
		if(Counter_x==300) TR1 = 0;
		if(Counter_y==1000) TR0 = 0;
		
		}while(Counter_x<300||Counter_y<1000);
		TR1 = 0;
		TR0 = 0;
	    Counter_x = 0;
		Counter_y = 0;
	PULS_y = 0;
	PULS_x = 0;
/**********************************************/

/************* dot 2(x=300,y=500)**************/
	TR0 = 1;
	TR1 = 1;
	do  
		{
		if(Counter_x==300) TR1 = 0;
		if(Counter_y==500) TR0 = 0;
		
		}while(Counter_x<300||Counter_y<500);
		TR1 = 0;
		TR0 = 0;
	    Counter_x = 0;
		Counter_y = 0;
	PULS_y = 0;
	PULS_x = 0;
/**********************************************/

/************* dot 3(x=300,y=450)**************/
	TR0 = 1;
	TR1 = 1;
	do  
		{
		if(Counter_x==300) TR1 = 0;
		if(Counter_y==450) TR0 = 0;
		
		}while(Counter_x<300||Counter_y<450);
		TR1 = 0;
		TR0 = 0;
	    Counter_x = 0;
		Counter_y = 0;
	PULS_y = 0;
	PULS_x = 0;
/**********************************************/

/************* dot 4(x=300,y=300)**************/
	TR0 = 1;
	TR1 = 1;
	do  
		{
		if(Counter_x==300) TR1 = 0;
		if(Counter_y==300) TR0 = 0;
		
		}while(Counter_x<300||Counter_y<300);
		TR1 = 0;
		TR0 = 0;
	    Counter_x = 0;
		Counter_y = 0;
	PULS_y = 0;
	PULS_x = 0;
/**********************************************/

/************* dot 5(x=300,y=250)**************/
	TR0 = 1;
	TR1 = 1;
	do  
		{
		if(Counter_x==300) TR1 = 0;
		if(Counter_y==250) TR0 = 0;
		
		}while(Counter_x<300||Counter_y<250);
		TR1 = 0;
		TR0 = 0;
	    Counter_x = 0;
		Counter_y = 0;
	PULS_y = 0;
	PULS_x = 0;
/**********************************************/

/************* dot 6(x=300,y=150)**************/
	TR0 = 1;
	TR1 = 1;
	do  
		{
		if(Counter_x==300) TR1 = 0;
		if(Counter_y==150) TR0 = 0;
		
		}while(Counter_x<300||Counter_y<150);
		TR1 = 0;
		TR0 = 0;
	    Counter_x = 0;
		Counter_y = 0;
	PULS_y = 0;
	PULS_x = 0;
/**********************************************/

/************* dot 7(x=300,y=100)**************/
	TR0 = 1;
	TR1 = 1;
	do  
		{
		if(Counter_x==300) TR1 = 0;
		if(Counter_y==100) TR0 = 0;
		
		}while(Counter_x<300||Counter_y<100);
		TR1 = 0;
		TR0 = 0;
	    Counter_x = 0;
		Counter_y = 0;
	PULS_y = 0;
	PULS_x = 0;
/**********************************************/

/************* dot 8(x=300,y=90)**************/
	TR0 = 1;
	TR1 = 1;
	do  
		{
		if(Counter_x==300) TR1 = 0;
		if(Counter_y==90) TR0 = 0;
		
		}while(Counter_x<300||Counter_y<90);
		TR1 = 0;
		TR0 = 0;
	    Counter_x = 0;
		Counter_y = 0;
	PULS_y = 0;
	PULS_x = 0;
/**********************************************/

/************* dot 9(x=300,y=80)**************/
	TR0 = 1;
	TR1 = 1;
	do  
		{
		if(Counter_x==300) TR1 = 0;
		if(Counter_y==80) TR0 = 0;
		
		}while(Counter_x<300||Counter_y<80);
		TR1 = 0;
		TR0 = 0;
	    Counter_x = 0;
		Counter_y = 0;
	PULS_y = 0;
	PULS_x = 0;
/**********************************************/

/************* dot 10(x=300,y=80)**************/
	TR0 = 1;
	TR1 = 1;
	do  
		{
		if(Counter_x==300) TR1 = 0;
		if(Counter_y==80) TR0 = 0;
		
		}while(Counter_x<300||Counter_y<80);
		TR1 = 0;
		TR0 = 0;
	    Counter_x = 0;
		Counter_y = 0;
	PULS_y = 0;
	PULS_x = 0;
/**********************************************/

/***********************************************/
		//TWO// Sig_x = 1; Sig_y = 1;
/***********************************************/
/************* dot 10(x=300,y=80)**************/
	Sig_x = 1;
	Sig_y = 1;
	Delayms(50);
	TR0 = 1;
	TR1 = 1;
	do  
		{
		if(Counter_x==300) TR1 = 0;
		if(Counter_y==80) TR0 = 0;
		
		}while(Counter_x<300||Counter_y<80);
		TR1 = 0;
		TR0 = 0;
	    Counter_x = 0;
		Counter_y = 0;
	PULS_y = 0;
	PULS_x = 0;
/*********************************************/
/************* dot 9(x=300,y=80)**************/
	TR0 = 1;
	TR1 = 1;
	do  
		{
		if(Counter_x==300) TR1 = 0;
		if(Counter_y==80) TR0 = 0;
		
		}while(Counter_x<300||Counter_y<80);
		TR1 = 0;
		TR0 = 0;
	    Counter_x = 0;
		Counter_y = 0;
	PULS_y = 0;
	PULS_x = 0;
/**********************************************/
/************* dot 7(x=300,y=100)**************/
	TR0 = 1;
	TR1 = 1;
	do  
		{
		if(Counter_x==300) TR1 = 0;
		if(Counter_y==100) TR0 = 0;
		
		}while(Counter_x<300||Counter_y<100);
		TR1 = 0;
		TR0 = 0;
	    Counter_x = 0;
		Counter_y = 0;
	PULS_y = 0;
	PULS_x = 0;
/**********************************************/
/************* dot 6(x=300,y=150)**************/
	TR0 = 1;
	TR1 = 1;
	do  
		{
		if(Counter_x==300) TR1 = 0;
		if(Counter_y==150) TR0 = 0;
		
		}while(Counter_x<300||Counter_y<150);
		TR1 = 0;
		TR0 = 0;
	    Counter_x = 0;
		Counter_y = 0;
	PULS_y = 0;
	PULS_x = 0;
/**********************************************/
/************* dot 5(x=300,y=250)**************/
	TR0 = 1;
	TR1 = 1;
	do  
		{
		if(Counter_x==300) TR1 = 0;
		if(Counter_y==250) TR0 = 0;
		
		}while(Counter_x<300||Counter_y<250);
		TR1 = 0;
		TR0 = 0;
	    Counter_x = 0;
		Counter_y = 0;
	PULS_y = 0;
	PULS_x = 0;
/**********************************************/
/************* dot 4(x=300,y=300)**************/
	TR0 = 1;
	TR1 = 1;
	do  
		{
		if(Counter_x==300) TR1 = 0;
		if(Counter_y==300) TR0 = 0;
		
		}while(Counter_x<300||Counter_y<300);
		TR1 = 0;
		TR0 = 0;
	    Counter_x = 0;
		Counter_y = 0;
	PULS_y = 0;
	PULS_x = 0;
/**********************************************/
/************* dot 3(x=300,y=450)**************/
	TR0 = 1;
	TR1 = 1;
	do  
		{
		if(Counter_x==300) TR1 = 0;
		if(Counter_y==450) TR0 = 0;
		
		}while(Counter_x<300||Counter_y<450);
		TR1 = 0;
		TR0 = 0;
	    Counter_x = 0;
		Counter_y = 0;
	PULS_y = 0;
	PULS_x = 0;
/**********************************************/
/************* dot 2(x=300,y=500)**************/
	TR0 = 1;
	TR1 = 1;
	do  
		{
		if(Counter_x==300) TR1 = 0;
		if(Counter_y==500) TR0 = 0;
		
		}while(Counter_x<300||Counter_y<500);
		TR1 = 0;
		TR0 = 0;
	    Counter_x = 0;
		Counter_y = 0;
	PULS_y = 0;
	PULS_x = 0;
/**********************************************/
/************* dot 1(x=300,y=1000)**************/
	TR0 = 1;
	TR1 = 1;
	do   //x & y action 1
		{
		if(Counter_x==300) TR1 = 0;
		if(Counter_y==1000) TR0 = 0;
		
		}while(Counter_x<300||Counter_y<1000);
		TR1 = 0;
		TR0 = 0;
	    Counter_x = 0;
		Counter_y = 0;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -