中科因仑“3+1”工程特种兵精英论坛

标题: 直流电机外接位置开关调速正反转控制程序 [打印本页]

作者: 张衍波    时间: 2015-5-11 16:36
标题: 直流电机外接位置开关调速正反转控制程序
#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;
    }

  }

[attach]2946[/attach]







欢迎光临 中科因仑“3+1”工程特种兵精英论坛 (http://bbs.enlern.com/) Powered by Discuz! X3.4