dekay的C文件:
#include"delay.h"//为什么要加这句#include"delay.h"?是声明函数定义的???
void delay(uint a )
{
uint x,y;
for(x=0;x<a;x++)
for(y=0;y<121;y++)
;
}
delay的H文件:
#ifndef __delay_h
#define __delay_h
#define uint unsigned int
#define uchar unsigned char
void delay(uint a );
#endif
以下为主函数
#include <REG2051.H>
#include "intrins.h"
#include "delay.h"//这里加这个明白
#define uint unsigned int
bit a1,b1,b2;
uint i;
/*-------------------------定时器0-----------------------------------------*/
void dingshi()interrupt 1 using 1
{
static uint x;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
if(a1)
{
i++;
if(i==1000)
{
i=0;
a1=0;
if(b1==0)
TR0=0;
}
}
if(b1)
{
x++;
if(x==300)
P1_4=1;
if(x==400)
{
P1_5=1;
x=0;
TR0=0;
}
}
}
/*------------------------------------------------------------------------*/
void jiance()
{
if(P1_7==0)
{
delay(20);
if(P1_7==0)
{
a1=1;TR0=1;
}
}
if(a1&(P1_6==0))
{
delay(20);
if(a1&(P1_6==0))
{
b1=1;a1=0;i=0;b2=1;
P1_5=0;
P1_4=0;
P1_3=0;
delay(10);
P1_3=1;
}
}
if((~P1_6)&(~b2))
{
if(b1)
{
P1_2=0;
delay(10);
P1_2=1;
b1=0;
}
}
if(P1_6&b2)
{
delay(500);
if(P1_6&b2)
{
b2=0;
}
}
}
/*------------------------------------------------------------------------*/
void main()
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
ET0=1;
TMOD=0x11;
EA=1;
while(1)
{
jiance();
}
}
|