1712131502
级别: 论坛先锋
精华主题: 0
发帖数量: 175 个
工控威望: 1989 点
下载积分: 933 分
在线时间: 158(小时)
注册时间: 2012-04-05
最后登录: 2024-06-27
查看1712131502的 主题 / 回贴
楼主  发表于: 2012-09-08 16:45
偶今天折腾了好久,搞了个正反转的程序,竟然不执行,求指点
#include <reg52.h>
sbit s4=P3^6;
sbit s5=P3^7;
sbit km1=P1^3;
sbit km2=P1^5;
void main()

km1=1;
km2=1;
while(1){
if (s4==0)
{
km1=0;
km2=1;
}
if (s5==0){
km1=1;
km2=0;
}  
}
}
像蚂蚁一样工作,像蝴蝶一样生活
shi2999
不管学什么,兴趣是最好的老师,能赚钱是最强劲的动力
级别: 网络英雄

精华主题: 0
发帖数量: 2680 个
工控威望: 7394 点
下载积分: 3002 分
在线时间: 606(小时)
注册时间: 2010-12-26
最后登录: 2023-05-29
查看shi2999的 主题 / 回贴
1楼  发表于: 2012-09-13 20:44
可以用,帮你顶一个。
#include <reg52.h>
sbit s2=P3^4;//停止
sbit s4=P3^6;//正
sbit s5=P3^7;//反
sbit km1=P1^3;
sbit km2=P1^5;
void delay();
void main()
{  
km1=1;
km2=1;
while(1)
{
if (s2==0)
{
delay();
if(s2==0)
{
km1=1;
km2=1;
} }

if (s4==0)
{
delay();
if(s4==0)
{
km1=0;
km2=1;
}}
if (s5==0)
{
delay();
if(s5==0)
{
km1=1;
km2=0;
}}

}
}
void delay(void)   //误差 0us,延时50微秒
{
    unsigned char a,b;
    for(b=1;b>0;b--)
        for(a=22;a>0;a--);
}   
楼主留言:
好贴!老师可以帮我写个星三角降压启动麽
本帖最近评分记录:
  • 下载积分:+5(1712131502) 感谢!老师可以教我麽
    shi2999
    不管学什么,兴趣是最好的老师,能赚钱是最强劲的动力
    级别: 网络英雄

    精华主题: 0
    发帖数量: 2680 个
    工控威望: 7394 点
    下载积分: 3002 分
    在线时间: 606(小时)
    注册时间: 2010-12-26
    最后登录: 2023-05-29
    查看shi2999的 主题 / 回贴
    2楼  发表于: 2012-09-13 22:57
    引用
    引用第17楼supermax于2012-09-12 09:43发表的  :
    这样就可以啦!我已试过OK
    #include <reg52.h>
    sbit s2=P3^4;//停止
    sbit s4=P3^6;//正
    sbit s5=P3^7;//反
    .......

    void delay(void)   //误差 0us,延时50微秒
    {
        unsigned char a,b;
        for(b=1;b>0;b--)
            for(a=22;a>0;a--);
    }

    时间上,可能不是太准,

    只不过,利用一些计算,,推迟一些时间,
    你试下把 delay(),, 改成sleep(50) 看看,可以提高效率。
    楼主留言:
    感谢!可是老师啊,按住S2的时候,再按S4和S5依然可以启动,这个可以解决麽