📄 sifu.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 = P3^2;
sbit KEY = P3^7;
sbit PULS_x = P3^5;
sbit PULS_y = P3^3;
unsigned int Counter_x,Counter_y;
void Delayms(unsigned char ms);
//----------------------------------------
void time0(void) interrupt 1
{ PULS_x = ~PULS_x;
Counter_x++;
TH0 = 0xFE;
TL0 = 0x18;
}
void time1(void) interrupt 3
{
PULS_y = ~PULS_y;
Counter_y++;
TH1 = 0xFE;
TL1 = 0x18;
}
//----------------------------------------
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;
TH0 = 0xFE;
TL0 = 0x18;
TH1 = 0xFE;
TL1 = 0x18;
TR0 = 0;
TR1 = 0;
EA = 1;
while(1)
{
Sig_x = 0;
/****************/
KEY = 1;
while(1)
{while(KEY!=0);
Delayms(5);
if(KEY==0) break;
}
while(KEY==0);
/***************/
do //x action 1
{
TR0 = 1;
}while(Counter_x<12636);
TR0 = 0;
Counter_x = 0;
Delayms(5);
/**************************************************/
Sig_y = 1;
/***************/
do //y action 1
{
TR1 = 1;
}while(Counter_y<1000);
TR1 = 0;
Counter_y = 0;
Delayms(250);
Delayms(250);
/***************/
do //y action 2
{
TR1 = 1;
}while(Counter_y<1000);
TR1 = 0;
Counter_y = 0;
Delayms(250);
Delayms(250);
/***************/
do //y action 3
{
TR1 = 1;
}while(Counter_y<1000);
TR1 = 0;
Counter_y = 0;
Delayms(250);
Delayms(250);
/***************/
do //y action 4
{
TR1 = 1;
}while(Counter_y<1500);
TR1 = 0;
Counter_y = 0;
/*********************************************/
/****************/
/* KEY = 1;
while(1)
{while(KEY!=0);
Delayms(5);
if(KEY==0) break;
}
while(KEY==0);*/
/***************/
do //x action 2
{//TR1 = 1;
TR0 = 1;
}while(Counter_x<454);
//TR1 = 0;
TR0 = 0;
Counter_x = 0;
Delayms(5);
/********************************************/
Sig_y = 1;
/***************/
do //y action 5
{
TR1 = 1;
}while(Counter_y<1500);
TR1 = 0;
Counter_y = 0;
/********************************************/
/****************/
/* KEY = 1;
while(1)
{while(KEY!=0);
Delayms(5);
if(KEY==0) break;
}
while(KEY==0);*/
/***************/
do //x action 3
{//TR1 = 1;
TR0 = 1;
}while(Counter_x<1364);
//TR1 = 0;
TR0 = 0;
Counter_x = 0;
Delayms(5);
/********************************************/
Sig_y = 1;
/***************/
do //y action 6
{
TR1 = 1;
}while(Counter_y<1500);
TR1 = 0;
Counter_y = 0;
/********************************************/
Sig_x = 1;
/****************/
/* KEY = 1;
while(1)
{while(KEY!=0);
Delayms(5);
if(KEY==0) break;
}
while(KEY==0);*/
/***************/
do //x action 4
{//TR1 = 1;
TR0 = 1;
}while(Counter_x<1364);
TR0 = 0;
Counter_x = 0;
Delayms(5);
/********************************************/
Sig_y = 0;
Delayms(5);
/***************/
do //y action 7
{
TR1 = 1;
}while(Counter_y<1500);
TR1 = 0;
Counter_y = 0;
/********************************************/
/****************/
/* KEY = 1;
while(1)
{while(KEY!=0);
Delayms(5);
if(KEY==0) break;
}
while(KEY==0);*/
/***************/
do //x action 5
{//TR1 = 1;
TR0 = 1;
}while(Counter_x<1546);
//TR1 = 0;
TR0 = 0;
Counter_x = 0;
Delayms(5);
/********************************************/
Sig_y = 1;
Delayms(5);
/***************/
do //y action 8
{
TR1 = 1;
}while(Counter_y<1500);
TR1 = 0;
Counter_y = 0;
/********************************************/
/****************/
/* KEY = 1;
while(1)
{while(KEY!=0);
Delayms(5);
if(KEY==0) break;
}
while(KEY==0);*/
/***************/
do //x action 6
{//TR1 = 1;
TR0 = 1;
}while(Counter_x<1456);
//TR1 = 0;
TR0 = 0;
Counter_x = 0;
Delayms(5);
/********************************************/
Sig_y = 0;
Delayms(5);
/***************/
do //y action 9
{
TR1 = 1;
}while(Counter_y<1500);
TR1 = 0;
Counter_y = 0;
Delayms(250);
Delayms(250);
/********************************************/
/********************************************/
Sig_y = 0;
/***************/
do //y action 10
{
TR1 = 1;
}while(Counter_y<1000);
TR1 = 0;
Counter_y = 0;
Delayms(250);
Delayms(250);
/********************************************/
/********************************************/
Sig_y = 0;
/***************/
do //y action 11
{
TR1 = 1;
}while(Counter_y<1000);
TR1 = 0;
Counter_y = 0;
Delayms(250);
Delayms(250);
/********************************************/
/********************************************/
Sig_y = 0;
/***************/
do //y action 12
{
TR1 = 1;
}while(Counter_y<1000);
TR1 = 0;
Counter_y = 0;
Delayms(250);
Delayms(250);
/********************************************/
/********************************************/
Sig_y = 0;
/***************/
do //y action 13
{
TR1 = 1;
}while(Counter_y<1000);
TR1 = 0;
Counter_y = 0;
Delayms(250);
Delayms(250);
/********************************************/
/********************************************/
Sig_y = 0;
/***************/
do //y action 14
{
TR1 = 1;
}while(Counter_y<1000);
TR1 = 0;
Counter_y = 0;
Delayms(250);
Delayms(250);
/********************************************/
/********************************************/
Sig_y = 0;
/***************/
do //y action 15
{
TR1 = 1;
}while(Counter_y<1000);
TR1 = 0;
Counter_y = 0;
/********************************************/
/****************/
/* KEY = 1;
while(1)
{while(KEY!=0);
Delayms(5);
if(KEY==0) break;
}
while(KEY==0);*/
/***************/
do //x action 7
{//TR1 = 1;
TR0 = 1;
}while(Counter_x<1546);
//TR1 = 0;
TR0 = 0;
Counter_x = 0;
Delayms(5);
/****************/
/* KEY = 1;
while(1)
{while(KEY!=0);
Delayms(5);
if(KEY==0) break;
}
while(KEY==0);*/
/***************/
do //x action 8
{//TR1 = 1;
TR0 = 1;
}while(Counter_x<1456);
//TR1 = 0;
TR0 = 0;
Counter_x = 0;
Delayms(5);
/********************************************/
Sig_y = 1;
Delayms(5);
/***************/
do //y action 16
{
TR1 = 1;
}while(Counter_y<1000);
TR1 = 0;
Counter_y = 0;
Delayms(250);
Delayms(250);
/********************************************/
/********************************************/
Sig_y = 1;
/***************/
do //y action 17
{
TR1 = 1;
}while(Counter_y<1000);
TR1 = 0;
Counter_y = 0;
Delayms(250);
Delayms(250);
/********************************************/
/********************************************/
Sig_y = 1;
/***************/
do //y action 18
{
TR1 = 1;
}while(Counter_y<1000);
TR1 = 0;
Counter_y = 0;
Delayms(250);
Delayms(250);
/********************************************/
/********************************************/
Sig_y = 1;
/***************/
do //y action 19
{
TR1 = 1;
}while(Counter_y<1500);
TR1 = 0;
Counter_y = 0;
/********************************************/
Sig_x = 0;
/****************/
/* KEY = 1;
while(1)
{while(KEY!=0);
Delayms(5);
if(KEY==0) break;
}
while(KEY==0);*/
/***************/
do //x action 9
{//TR1 = 1;
TR0 = 1;
}while(Counter_x<1456);
//TR1 = 0;
TR0 = 0;
Counter_x = 0;
Delayms(5);
/********************************************/
Sig_y = 1;
/***************/
do //y action 20
{
TR1 = 1;
}while(Counter_y<1500);
TR1 = 0;
Counter_y = 0;
/********************************************/
Sig_x = 1;
/****************/
/* KEY = 1;
while(1)
{while(KEY!=0);
Delayms(5);
if(KEY==0) break;
}
while(KEY==0);*/
/***************/
do //x action 10
{//TR1 = 1;
TR0 = 1;
}while(Counter_x<1456);
//TR1 = 0;
TR0 = 0;
Counter_x = 0;
Delayms(5);
/********************************************/
Sig_y = 1;
/***************/
do //y action 21
{
TR1 = 1;
}while(Counter_y<1500);
TR1 = 0;
Counter_y = 0;
/********************************************/
/****************/
/* KEY = 1;
while(1)
{while(KEY!=0);
Delayms(5);
if(KEY==0) break;
}
while(KEY==0);*/
/***************/
do //x action 11
{//TR1 = 1;
TR0 = 1;
}while(Counter_x<1818);
//TR1 = 0;
TR0 = 0;
Counter_x = 0;
Delayms(5);
/********************************************/
Sig_y = 0;
Delayms(5);
/***************/
do //y action 22
{
TR1 = 1;
}while(Counter_y<1500);
TR1 = 0;
Counter_y = 0;
Delayms(250);
Delayms(250);
/********************************************/
/********************************************/
Sig_y = 0;
/***************/
do //y action 23
{
TR1 = 1;
}while(Counter_y<1500);
TR1 = 0;
Counter_y = 0;
/********************************************/
/****************/
/* KEY = 1;
while(1)
{while(KEY!=0);
Delayms(5);
if(KEY==0) break;
}
while(KEY==0);*/
/***************/
do //x action 12
{//TR1 = 1;
TR0 = 1;
}while(Counter_x<5268);
//TR1 = 0;
TR0 = 0;
Counter_x = 0;
Delayms(5);
/********************************************/
Sig_y = 0;
/***************/
do //y action 24
{
TR1 = 1;
}while(Counter_y<4500);
TR1 = 0;
Counter_y = 0;
/********************************************/
}
}
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 + -