📄 sifu_temp.c
字号:
/****************************************************************/
/*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)
{
/****************/
/* KEY = 1;
while(1)
{while(KEY!=0);
Delayms(5);
if(KEY==0) break;
}
while(KEY==0);*/
/***************/
///////////*******************************************************/
Sig_x = 0;
Delayms(50);
do //x action 1
{
TR1 = 1;
}while(Counter_x<3000);
TR1 = 0;
Counter_x = 0;
PULS_x = 0;
Delayms(250);
Delayms(250);
Delayms(250);
Delayms(250);
/*********************************************/
Sig_y = 0;
Delayms(50);
/***************/
do //y action 1
{
TR0 = 1;
}while(Counter_y<3000);
TR0 = 0;
Counter_y = 0;
PULS_y = 0;
Delayms(250);
Delayms(250);
Delayms(250);
Delayms(250);
/********************************************/
Sig_x = 1;
Sig_y = 1;
Delayms(50);
TR0 = 1;
TR1 = 1;
do //x & y action 1
{
if(Counter_x==3000) TR0 = 0;
if(Counter_y==3000) TR1 = 0;
}while(Counter_x<3000||Counter_y<3000);
TR1 = 0;
TR0 = 0;
Counter_x = 0;
Counter_y = 0;
PULS_y = 0;
PULS_x = 0;
Delayms(250);
Delayms(250);
Delayms(250);
Delayms(250);
/********************************************/
/****************/
/* KEY = 1;
while(1)
{while(KEY!=0);
Delayms(5);
if(KEY==0) break;
}
while(KEY==0);*/
/***************/
Sig_x = 0;
Delayms(50);
do //x action 1
{
TR1 = 1;
}while(Counter_x<3000);
TR1 = 0;
Counter_x = 0;
PULS_x = 0;
Delayms(250);
Delayms(250);
Delayms(250);
Delayms(250);
/*********************************************/
Sig_y = 0;
Delayms(50);
/***************/
do //y action 1
{
TR0 = 1;
}while(Counter_y<1000);
TR0 = 0;
Counter_y = 0;
PULS_y = 0;
Delayms(250);
Delayms(250);
Delayms(250);
Delayms(250);
/********************************************/
Sig_x = 1;
Sig_y = 1;
Delayms(50);
TR0 = 1;
TR1 = 1;
do //x & y action 1
{
if(Counter_x==3000) TR1 = 0;
if(Counter_y==1000) TR0 = 0;
}while(Counter_x<3000||Counter_y<1000);
TR1 = 0;
TR0 = 0;
Counter_x = 0;
Counter_y = 0;
PULS_y = 0;
PULS_x = 0;
Delayms(250);
Delayms(250);
Delayms(250);
Delayms(250);
Delayms(250);
Delayms(250);
Delayms(250);
Delayms(250);
////////////////////************************************************************/
///////////*********************************************************************/
Sig_x = 0;
Delayms(50);
do //x action 1
{
TR1 = 1;
}while(Counter_x<3000);
TR1 = 0;
Counter_x = 0;
PULS_x = 0;
Delayms(250);
Delayms(250);
Delayms(250);
Delayms(250);
/*********************************************/
Sig_y = 1;
Delayms(50);
/***************/
do //y action 1
{
TR0 = 1;
}while(Counter_y<3000);
TR0 = 0;
Counter_y = 0;
PULS_y = 0;
Delayms(250);
Delayms(250);
Delayms(250);
Delayms(250);
/********************************************/
Sig_x = 1;
Sig_y = 0;
Delayms(50);
TR0 = 1;
TR1 = 1;
do //x & y action 1
{
if(Counter_x==3000) TR1 = 0;
if(Counter_y==3000) TR0 = 0;
}while(Counter_x<3000||Counter_y<3000);
TR1 = 0;
TR0 = 0;
Counter_x = 0;
Counter_y = 0;
PULS_y = 0;
PULS_x = 0;
Delayms(250);
Delayms(250);
Delayms(250);
Delayms(250);
/********************************************/
/****************/
/* KEY = 1;
while(1)
{while(KEY!=0);
Delayms(5);
if(KEY==0) break;
}
while(KEY==0);*/
/***************/
Sig_x = 0;
Delayms(50);
do //x action 1
{
TR1 = 1;
}while(Counter_x<3000);
TR1 = 0;
Counter_x = 0;
PULS_x = 0;
Delayms(250);
Delayms(250);
Delayms(250);
Delayms(250);
/*********************************************/
Sig_y = 1;
Delayms(50);
/***************/
do //y action 1
{
TR0 = 1;
}while(Counter_y<1000);
TR0 = 0;
Counter_y = 0;
PULS_y = 0;
Delayms(250);
Delayms(250);
Delayms(250);
Delayms(250);
/********************************************/
Sig_x = 1;
Sig_y = 0;
Delayms(50);
TR0 = 1;
TR1 = 1;
do //x & y action 1
{
if(Counter_x==3000) TR1 = 0;
if(Counter_y==1000) TR0 = 0;
}while(Counter_x<3000||Counter_y<1000);
TR1 = 0;
TR0 = 0;
Counter_x = 0;
Counter_y = 0;
PULS_y = 0;
PULS_x = 0;
Delayms(250);
Delayms(250);
Delayms(250);
Delayms(250);
Delayms(250);
Delayms(250);
Delayms(250);
Delayms(250);
////////////////////************************************************************/
}
}
void Delayms(unsigned char ms)
// relay ms
{ unsigned char i;
while(ms--)
{
for(i = 0; i < 120; i++);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -