发新帖我要提问
123
返回列表
打印

能帮忙编个程序吗?如下图能使开关按5下灯泡亮一下,开关再按5下,灯泡灭一下

[复制链接]
楼主: wuyua
手机看帖
扫描二维码
随时随地手机跟帖
41
21CHdwLHR| | 2015-5-29 23:14 | 只看该作者 回帖奖励 |倒序浏览
21CHdwLHR 发表于 2015-5-29 13:17
#include
#define uchar unsigned char
#define uint unsigned  int

好的,没问题!!!

使用特权

评论回复
42
21CHdwLHR| | 2015-5-29 23:53 | 只看该作者
wuyua 发表于 2015-5-29 14:13
谢谢,不过要求用的是计数器,中断方式2的
你这个用的是延时函数吧
能否用工作方式2写下? ...

#include <reg52.h>
#define uchar unsigned char
#define uint unsigned  int
sbit key1=P3^4;
sbit led=P1^0;
uint i,j=0;

void main()
{
        TMOD=0x01;*/初值自己改下,定时器T0工作在模式2方式*/
        TH0=0x38;
        TL0=0x38;
        EA=1;
        ET0=1;
       
        while(1)
{
                if(key1==0)
        {
       
        TR0=1;
        while(!key1);
        TR0=0;
       
        j++;
       
if(j==5)
led=0;
if(j==10)
led=1;
               

}

}

}

使用特权

评论回复
43
wuyua|  楼主 | 2015-5-30 00:00 | 只看该作者
感谢各位大神,明天好好想想:)

使用特权

评论回复
44
吕工程| | 2015-5-30 08:40 | 只看该作者
表达非常详细,直得跟大家学习。

使用特权

评论回复
45
wuyua|  楼主 | 2015-5-30 12:36 | 只看该作者
21CHdwLHR 发表于 2015-5-29 23:53
#include
#define uchar unsigned char
#define uint unsigned  int

这个程序我试了下,按5下确实亮了(不过一直亮着),再按5下灭了。
但是再按5下就没反应了。。。没有循环吧还是,我不太懂

使用特权

评论回复
46
love_872072322| | 2015-5-30 18:05 | 只看该作者
whtwhtw 发表于 2015-5-28 19:17
设一个计数器,按一下计数器加一,加到5,执行led=!led;计数器清零,然后再计数。 ...

大神妙解!:loveliness:

使用特权

评论回复
47
21CHdwLHR| | 2015-5-30 23:11 | 只看该作者
wuyua 发表于 2015-5-30 12:36
这个程序我试了下,按5下确实亮了(不过一直亮着),再按5下灭了。
但是再按5下就没反应了。。。没有循环吧 ...

对啊,就没有循环。我只是给你写了单个的,你加一个循环就好了。

使用特权

评论回复
48
wang168506| | 2015-6-1 15:50 | 只看该作者
hgjinwei 发表于 2015-5-29 18:24
看来大家都很闲啊

装死尾巴居然还动

使用特权

评论回复
49
hjh2008303| | 2015-6-2 09:15 | 只看该作者
yuandf 发表于 2015-5-29 09:15
if( ! ((++keyCount)%5)     )
{
      led=!led;

十五楼高手

使用特权

评论回复
50
czghn1| | 2015-6-2 14:25 | 只看该作者
PIC  单片机  我来帮你编  看到联系

使用特权

评论回复
51
wxw5766| | 2015-6-2 14:39 | 只看该作者
抛开电路不说。15L代码,简洁明了

使用特权

评论回复
52
深圳铭伟科技| | 2015-6-3 12:57 | 只看该作者
涨姿势了!好多大神

使用特权

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

本版积分规则