找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2318|回復(fù): 4
收起左側(cè)

菜鳥求助51單片機(jī)C語(yǔ)言

[復(fù)制鏈接]
ID:90307 發(fā)表于 2015-9-17 00:24 | 顯示全部樓層 |閱讀模式
正在學(xué)習(xí)51單片機(jī),想實(shí)現(xiàn)按K1開關(guān),led燈向右移動(dòng),按K2,led燈向左移動(dòng),當(dāng)長(zhǎng)按某K1或K2時(shí),led燈延遲500ms的向指定方向移動(dòng),現(xiàn)在的問題是按住K1或K2時(shí),led燈并沒有延遲移動(dòng),程序哪里有問題,求解答。
#include<reg51.h>
#include<intrins.h>
#include"delay10ms.h"

#define GPIO_LED P2
sbit K1=P0^0;
sbit K2=P0^1;

void main()
{
    unsigned int i,j;
    j=0x01;
    while(1)
    {
        GPIO_LED=j;
        if((K1==0)||(K2==0))
        {
            delay10ms();
            if(K1==0) j=_cror_(GPIO_LED,1);
            else if(K2==0)        j=_crol_(GPIO_LED,1);
        }
                          while((i<50)&&((K1==0)));
            {
                delay10ms();
                i++;
            }
            i=0;
    }
}

回復(fù)

使用道具 舉報(bào)

ID:79544 發(fā)表于 2015-9-17 15:28 | 顯示全部樓層
               if((i<50)&&((K1==0)));
            {
          這樣改試試
     j=_crol_(GPIO_LED,1);
                delay10ms();
                i++;
               if(i==50)
               i=0;
            }
            i=0;
回復(fù)

使用道具 舉報(bào)

ID:79908 發(fā)表于 2015-9-17 16:11 | 顯示全部樓層
本帖最后由 電子愛好者life 于 2015-9-17 16:34 編輯

沒有看明白你的題目,你是按下K1連續(xù)移動(dòng)還是按一次移動(dòng)一次
回復(fù)

使用道具 舉報(bào)

ID:66287 發(fā)表于 2015-9-17 17:03 | 顯示全部樓層
改成:
while((i<50)&&((K1==0)));
             {
                 delay10ms();
                 i++;
             }
if(i==49) j=_cror_(GPIO_LED,1);
i=0;
while((i<50)&&((K2==0)));
             {
                 delay10ms();
                 i++;
             }
if(i==49)  j=_crol_(GPIO_LED,1);
i=0;
回復(fù)

使用道具 舉報(bào)

ID:66287 發(fā)表于 2015-9-17 17:28 | 顯示全部樓層
c:\1.jpg
if(i==50)這句永遠(yuǎn)不成立
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表