打印

新手请教, 灯为什么不亮?电平为什么无法拉高?

[复制链接]
2424|21
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主








程序如下:

#include<reg52.h>
sbit k0=P1^0;
sbit k1=P1^1;
sbit k3=P3^2;
sbit mc1=P2^0;
sbit mc2=P2^1;

void delay(int i)           //延时
{
        for(i>0;i;i--)
        {
                int j=120;
                --j;
        }
}

void k3_INT0() interrupt 0           //中断急停
{
        delay(50);
        if(k3==0)
        {
                mc1=1;
                mc2=0;
                P0=0xcc;
        }
}

/*void key()                           //按键扫描
{
       
}        */

void main()
{
        P0=0x00;                                  //初始化
        mc1=1;
        mc2=0;
        EA=1;
        EX0=1;
        IT0=1;
        while(1)
        {
        if(k0==0)
        {
                delay(100);                        //去抖动
                if(k0==0)
                {
                        P0=0x10;                  //1亮,向右转
                        mc1=0;
                        mc2=0;
                }
        }
        else
        {
                P0=0x00;
        //        mc1=1;
        //        mc2=0;
        }

        if(k1==0)
        {
                delay(100);                  //去抖
                if(k1==0)
                {
                        P0=0xff;                        //2亮,向左转
                        mc1=1;
                        mc2=1;
                }
        }
        else
        {
                P0=0x00;
        //        mc1=1;
        //        mc2=0;
        }
        }
}



按键K0/K1按下时,P0口一直无法拉高,这是为什么?   请教

相关帖子

沙发
北斗小星|  楼主 | 2015-1-22 11:54 | 只看该作者
原本想法是:k0按下时有一个灯亮,k2按下时接好的灯全亮。
现在问题是按键按下后,P0口没有置1,灯无法点亮。

使用特权

评论回复
板凳
eydj2008| | 2015-1-22 12:31 | 只看该作者
DEBUG呀  

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
北斗小星 + 1 感谢指点
地板
戈卫东| | 2015-1-22 16:00 | 只看该作者
看起来很简单。
。。。。。。。

使用特权

评论回复
5
北斗小星|  楼主 | 2015-1-22 16:47 | 只看该作者
eydj2008 发表于 2015-1-22 12:31
DEBUG呀

我把灯的型号改了,然后  亮了

使用特权

评论回复
6
北斗小星|  楼主 | 2015-1-22 16:54 | 只看该作者
戈卫东 发表于 2015-1-22 16:00
看起来很简单。
。。。。。。。

就是一个电机正反转,加亮灯

使用特权

评论回复
受到警告 7
robin7513| | 2015-1-22 16:55 | 只看该作者
本帖最后由 dirtwillfly 于 2015-1-22 22:07 编辑

估计是Proteus内部的原件驱动特性引起的。之前发现过运放和三极管出现过类似问题。毕竟是仿真软件,不能当真。。。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
北斗小星 + 1 感谢指点
8
北斗小星|  楼主 | 2015-1-22 17:00 | 只看该作者
robin7513 发表于 2015-1-22 16:55
估计是Proteus内部的原件驱动特性引起的。之前发现过运放和三极管出现过类似问题。毕竟是仿真软件,不能当 ...

原来如此,谢谢大师

使用特权

评论回复
9
北斗小星|  楼主 | 2015-1-22 17:04 | 只看该作者
robin7513 发表于 2015-1-22 16:55
估计是Proteus内部的原件驱动特性引起的。之前发现过运放和三极管出现过类似问题。毕竟是仿真软件,不能当 ...

我就是把灯的型号由模拟改成了数字,然后就亮了

使用特权

评论回复
10
dirtwillfly| | 2015-1-22 22:09 | 只看该作者
北斗小星 发表于 2015-1-22 17:04
我就是把灯的型号由模拟改成了数字,然后就亮了



proteus仿真的结果有时候不能全当真

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
北斗小星 + 1 感谢指点
11
北斗小星|  楼主 | 2015-1-23 16:31 | 只看该作者
怎么无法结贴呢?

使用特权

评论回复
12
xbyu520| | 2015-1-23 19:58 | 只看该作者
我来迟了,恭喜你解决了问题

使用特权

评论回复
13
chenchangbiao| | 2015-1-25 18:07 | 只看该作者
路过 学习了

使用特权

评论回复
14
北斗小星|  楼主 | 2015-1-26 08:55 | 只看该作者
xbyu520 发表于 2015-1-23 19:58
我来迟了,恭喜你解决了问题

:lolthank you

使用特权

评论回复
15
北斗小星|  楼主 | 2015-1-26 08:56 | 只看该作者
chenchangbiao 发表于 2015-1-25 18:07
路过 学习了

:handshake

使用特权

评论回复
16
icekoor| | 2015-1-26 09:10 | 只看该作者
Proteus有专门的论坛,里面相关的帖子会更多些
http://proteus.haotui.com/bbs.php

使用特权

评论回复
17
dianziyangshu| | 2015-1-26 18:50 | 只看该作者

使用特权

评论回复
18
嗅嗅匆匆| | 2015-1-26 19:58 | 只看该作者

使用特权

评论回复
19
ywzqdpj| | 2015-1-26 20:27 | 只看该作者
仿真真的代替不了实际

使用特权

评论回复
20
北斗小星|  楼主 | 2015-1-27 08:48 | 只看该作者
icekoor 发表于 2015-1-26 09:10
Proteus有专门的论坛,里面相关的帖子会更多些
http://proteus.haotui.com/bbs.php

谢谢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

40

帖子

0

粉丝