zlts.c

来自「L298N直流电机步进电机两用驱动器」· C语言 代码 · 共 81 行

C
81
字号
#include<reg52.h>
#define uchar unsigned char

unsigned char N=0;
unsigned char X=20;	//占空比初始值为20%

int a,b;

sbit PWM=P3^6;	//PWM输出脚

sbit P3_0=P3^0;//正传
sbit P3_1=P3^1;//反转
sbit P3_2=P3^2;//加速
sbit P3_3=P3^3;//减速

sbit P1_0=P1^0;//M1
sbit P1_1=P1^1;//M1
sbit P1_2=P1^2;//M2
sbit P1_3=P1^3;//M2


void scjs(void)interrupt 3
{
TH1=0Xff;
TL1=0x17;
b++;
}

main()
{
TMOD=0x00;
IE=0X88;
TH1=0Xff;
TL1=0X17;
TR0=1;
TR1=1;
a=0;
b=0;


while(1)
{
 PWM=1;
 while(1)
 {
 b=0;
 while(!b);
 if (N==X)
 PWM=0;
 if (N==100)break;
 N++;

 if(P3_0==0)//正传
         {
          P1_0=1;
	      P1_1=0;
		  P1_2=1;
	      P1_3=0;
          }
 if(P3_1==0)//反转
          {
          P1_0=0;
	      P1_1=1;
		  P1_2=0;
	      P1_3=1;
          }
 if(P3_3==0)   	//速度加
           { 
                X++; 
			 
           }
 if(P3_3==0)	 //速度减
           {
                X--;	 
           }
      }
            N=0;
    }

  }

⌨️ 快捷键说明

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