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

📄 zhenghe.c

📁 六足机器人程序
💻 C
字号:
/*-----------------------------------------------
  名称:定时器1
  日期:2009.5
  修改:无
  内容:通过定时让LED灯闪烁
------------------------------------------------*/
#include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义

sbit PWM=P1^0;    //定义LED端口
sbit PWM1=P1^1;
sbit PWM2=P1^2;


/*------------------------------------------------
                    定时器初始化子程序
------------------------------------------------*/
void Init_Timer1(void)
{
 TMOD |= 0x10;	  //使用模式1,16位定时器,使用"|"符号可以在使用多个定时器时不受影响 
 TH1=0xFF;      //给定初值,这里使用定时器最大值从0开始计数一直到65535溢出
 TL1=0xA3;
 EA=1;            //总中断打开
 ET1=1;           //定时器中断打开
 TR1=1;           //定时器开关打开
}

void delay(unsigned int j)
{

while(--j);}



int a,m,n,o;
int flag;



void main()

{
Init_Timer1();
PWM=0;
PWM1=0;
PWM2=0;

PWM=0;
PWM1=0;
PWM2=0;


a=0;
while(1)
{


if(m==100&&n==100&&o==100)
{
m=0;
n=0;
o=0;
}




if(m<100)
{
 if(a<5)
{
PWM1=1;
PWM=1;



}

else if (a>5&&a<25)
{
PWM=0;
PWM1=1;
}
else if (a>25&&a<200)
{
PWM=0;
PWM1=0;
}
else if (a==200)
   {
a=0;
m++;
  }
}

else if (m==100)
{


if (n<100)

{
if(a<5)
{
PWM=1;
PWM2=1;
}
else if (a>5&&a<25)
{
PWM=1;
PWM2=0;
}
else if (a>25&&a<200)
{
PWM=0;
PWM2=0;
}
else if (a==200)
   {
a=0;
n++;
  }
}

else if (n==100)
{
if (o<100)
{

if(a<5)
{
PWM1=1;
PWM2=1;
}
else if (a>5&&a<25)
{
PWM1=0;
PWM2=1;
}
else if (a>25&&a<200)
{
PWM1=0;
PWM2=0;
}
else if (a==200)
   {
a=0;
o++;
  }

else if (o==100)

{
a=0;
m=0;
n=0;
o=0;

}



}





}



}







}
}



/*------------------------------------------------
                 定时器中断子程序
------------------------------------------------*/
void Timer1_isr(void) interrupt 3 using 1
{
 TH1=0xFF;		 //中赂持

⌨️ 快捷键说明

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