c语言实现星三角启动程序,用单片机控制电机星三角启动 - c51编程(单片机的c语言) - 51单片机学习论坛 www.51c51.com - Powered by Discuz!...

回复 4# 明白 的帖子

明白老师好!代码我改了下可无法延时转三角运行

请再给看看

#include

#define deda 20

unsigned int demp;

unsigned char   Deda=0;

unsigned char   m0_flag;

unsigned char          t0_flag;

unsigned char   time0_flag;

unsigned char         t0_teep;

sbit Y7=P2^7;

sbit Y6=P2^6;

sbit Y5=P2^5;

sbit Y4=P2^4;

sbit Y3=P2^3;

sbit Y2=P2^2;

sbit Y1=P2^1;

sbit Y0=P2^0;

sbit X0=P1^0;

sbit X1=P1^1;

sbit X2=P1^2;

sbit X3=P1^3;

void initflag(void)

{

P0=0xff;

P2=0xff;

P1=0xff ;

P3=0xff;

m0_flag=1;

t0_flag=1;

time0_flag=1;

t0_teep=0;

}

void init_timer ()

{

TMOD=0X01;

TH0=0X4C;

TL0=0X10;

IE=0X82;

TR0=1;

}

void time8()interrupt 1 using 3

{

TH0=0x4C;

TL0=0X00;

Deda++;

if(Deda==20);

Deda=0;

//定时器1程序

if(t0_flag==0)

{

t0_teep++;

if(t0_teep>=5)

{

time0_flag=0;

t0_flag=1;

t0_teep=0;

}

}

}

void main()

{

initflag();

init_timer();

while(1)

{

//********启动条件************

if(!X1 && !X0)        //电机启动

{

m0_flag=0;        //启动内部辅助触点动作

t0_flag=0;//转三角定时器动作

Y7=0;

}

//主接触器

if((!m0_flag || !Y0) && !X0 && Y3 && Y4)//运行条件成立

{

Y0=0 ;                 //电机启动内部触点动作

m0_flag=1;        //启动内部辅助复位

time0_flag =1;

}

else

{

Y0=1;

Y1=1;

Y2=1;

Y5=1;

} //运行条件不成立

///星形

if ((!Y0 && time0_flag && Y2))Y1= 0;//星形触点动作

else(Y1=1); //星形触点复位

//三角形

if ((!Y0 && !time0_flag && Y1))//三角形动作条件,定时时间到

{

Y1=1;

Y2=0;

}

}

}

[本帖最后由 hnzlf 于 2012-6-26 18:09 编辑]

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值