久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

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

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3663|回復(fù): 15
打印 上一主題 下一主題
收起左側(cè)

獨(dú)立按鍵的問(wèn)題,請(qǐng)幫忙看看。

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:63752 發(fā)表于 2014-7-12 13:11 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
    獨(dú)立按鍵控制LED亮和滅,按下按鍵,LED亮,再按下,LED滅。因?yàn)槲覀兒芏喽际前赐臧存I,松開(kāi)手LED才亮。 我現(xiàn)在是想一按按鍵,LED就亮或滅,這個(gè)又怎么寫(xiě)呢?While(!D)這句是松手之后,LED亮或滅,但是,如果去掉這一句松手檢測(cè),那按鍵就不靈活了,有時(shí)行,有時(shí)不行,有時(shí)要按很多次才亮或者滅,請(qǐng)朋友們幫幫忙,要怎樣改才正確?謝謝。下面是程序
void main()
{
    static bit temp;
BZ=1;
D=1;
temp=BZ;
while(1)
  {
    if(D==0)
    {
    Delay(10);
     if(D==0)
        {
        temp=~temp;
     while(!D);
     Delay(10);
     BZ=temp;
     }
    }
   
  }
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:2318 發(fā)表于 2014-7-12 20:26 來(lái)自手機(jī) | 只看該作者
把延時(shí)涵數(shù)增加一點(diǎn)時(shí)間看看
回復(fù)

使用道具 舉報(bào)

板凳
ID:63918 發(fā)表于 2014-7-12 22:31 | 只看該作者
加一個(gè)標(biāo)志位
回復(fù)

使用道具 舉報(bào)

地板
ID:63752 發(fā)表于 2014-7-13 11:31 來(lái)自手機(jī) | 只看該作者
如何加標(biāo)志位?能說(shuō)清楚嗎?
回復(fù)

使用道具 舉報(bào)

5#
ID:61506 發(fā)表于 2014-7-17 08:37 | 只看該作者
說(shuō)實(shí)話,你的程序我看的很是模糊。如果你能把你的變量都加上注釋,這樣更方便我們給你解答。
回復(fù)

使用道具 舉報(bào)

6#
ID:63752 發(fā)表于 2014-7-18 13:03 | 只看該作者
涅磐廣廣 發(fā)表于 2014-7-17 08:37
說(shuō)實(shí)話,你的程序我看的很是模糊。如果你能把你的變量都加上注釋,這樣更方便我們給你解答。

D是按鍵,BZ是LED的IO口。temp是一個(gè)靜太標(biāo)志位,程序就這三個(gè)參數(shù)了。
回復(fù)

使用道具 舉報(bào)

7#
ID:19715 發(fā)表于 2014-7-26 10:44 | 只看該作者
小錯(cuò)誤,更換一下語(yǔ)句位置就好
void main()
{
  static bit temp;
  BZ=1;
  D=1;
  temp=BZ;
while(1)
  {
    if(D==0)
    {
      Delay(10);
      if(D==0)
        {
        temp=~temp;
        BZ=temp;
        while(!D);
        }
    }   
  }
}
回復(fù)

使用道具 舉報(bào)

8#
ID:19715 發(fā)表于 2014-7-26 10:45 | 只看該作者
標(biāo)志位設(shè)置,
bit temp;
回復(fù)

使用道具 舉報(bào)

9#
ID:63752 發(fā)表于 2014-7-26 12:41 | 只看該作者
問(wèn)題已解決,謝謝~~
回復(fù)

使用道具 舉報(bào)

10#
ID:183120 發(fā)表于 2017-4-17 08:43 | 只看該作者
XUSHENG 發(fā)表于 2014-7-26 12:41
問(wèn)題已解決,謝謝~~

請(qǐng)問(wèn)樓主是怎么解決的,求教
回復(fù)

使用道具 舉報(bào)

11#
ID:17109 發(fā)表于 2017-10-29 21:12 | 只看該作者
明白 發(fā)表于 2014-7-26 10:44
小錯(cuò)誤,更換一下語(yǔ)句位置就好
void main()
{

#include <reg52.h>
//定義一下,方便使用
#define uchar unsigned char
#define uint  unsigned int
sbit key1=P2^4;                //按鍵1定義
sbit key2=P2^5;                //按鍵2定義
sbit key3=P2^6;                //按鍵3定義
sbit key4=P2^7;                //按鍵4定義
sbit led1=P3^0;                //led1端口
sbit led2=P3^1;                //led2端口
sbit led3=P3^2;                //led3端口
sbit led4=P3^3;            //led4端口
/**************************臨時(shí)變量定義****************************/
uchar keyflag_1=0;   //按鍵標(biāo)志位       
uchar keyflag_2=0;   //按鍵標(biāo)志位       
uchar keyflag_3=0;   //按鍵標(biāo)志位       
uchar keyflag_4=0;   //按鍵標(biāo)志位         
/*************************毫秒延時(shí)函數(shù)****************************/
void delayms(uint z)
{
        uint x,y;
        for(x=0;x<=76;x++)
                for(y=0;y<=z;y++);
}
/**************************按鍵掃描子程序****************************/
void keyscan()
{
        if(key1==0)                                //第一個(gè)按鍵按下
        {
                delayms(5);                        //進(jìn)行短暫延時(shí)消除按鍵的抖動(dòng)
                if(key1==0)                        //第一個(gè)按鍵確實(shí)按下
                {
               
                        keyflag_1++;   //鍵一按下,標(biāo)志位加一
                        while(!key1);        //松手檢測(cè)
                }
        }
        if(keyflag_1==1){led1=0;} //點(diǎn)亮LED1       
        if(keyflag_1==2){led1=1;keyflag_1=0; } //關(guān)閉LED1

        if(key2==0)                                //第二個(gè)按鍵按下
        {
                delayms(5);                        //進(jìn)行短暫延時(shí)消除按鍵的抖動(dòng)
                if(key2==0)                        //第二個(gè)按鍵確實(shí)按下
                {
                           keyflag_2++;   //鍵一按下,標(biāo)志位加一
                        while(!key2);        //松手檢測(cè)
                }
        }
    if(keyflag_2==1){led2=0;} //點(diǎn)亮LED2       
        if(keyflag_2==2){led2=1;keyflag_2=0; } //關(guān)閉LED2

        if(key3==0)                                //第三個(gè)按鍵按下
        {
                delayms(5);                        //進(jìn)行短暫延時(shí)消除按鍵的抖動(dòng)
                if(key3==0)                        //第三個(gè)按鍵確實(shí)按下
                {
                        keyflag_3++;   //鍵一按下,標(biāo)志位加一
                        while(!key3);        //松手檢測(cè)
                }
        }
        if(keyflag_3==1){led3=0;} //點(diǎn)亮LED3       
        if(keyflag_3==2){led3=1;keyflag_3=0; } //關(guān)閉LED3

        if(key4==0)                                //第四個(gè)按鍵按下
        {
                delayms(5);                        //進(jìn)行短暫延時(shí)消除按鍵的抖動(dòng)
                if(key4==0)                        //第四個(gè)按鍵確實(shí)按下
                {
                        keyflag_4++;   //鍵一按下,標(biāo)志位加一
                        while(!key4);        //松手檢測(cè)
                }
        }
        if(keyflag_4==1){led4=0;} //點(diǎn)亮LED4       
        if(keyflag_4==2){led4=1;keyflag_4=0; } //關(guān)閉LED4
}
void main()
{
        while(1)        //程序循環(huán)執(zhí)行
        {
                keyscan();                //按鍵掃描,子函數(shù)

        }
}
回復(fù)

使用道具 舉報(bào)

12#
ID:17109 發(fā)表于 2017-10-29 21:16 | 只看該作者
明白 發(fā)表于 2014-7-26 10:44
小錯(cuò)誤,更換一下語(yǔ)句位置就好
void main()
{

獨(dú)立按鍵控制LED亮和滅,按下按鍵,LED亮,再按下,LED滅。因?yàn)槲覀兒芏喽际前赐臧存I,松開(kāi)手LED才亮。 我現(xiàn)在是想一按按鍵,LED就亮或滅,這個(gè)又怎么寫(xiě)呢?請(qǐng)朋友們幫幫忙,要怎樣改才正確?謝謝。下面是程序
回復(fù)

使用道具 舉報(bào)

13#
ID:244052 發(fā)表于 2017-10-29 23:27 | 只看該作者
加標(biāo)志位
回復(fù)

使用道具 舉報(bào)

14#
ID:244229 發(fā)表于 2017-10-30 15:33 | 只看該作者
說(shuō)實(shí)話,你的程序我看的很是模糊。如果你能把你的變量都加上注釋,這樣更方便我們給你解答
回復(fù)

使用道具 舉報(bào)

15#
ID:244279 發(fā)表于 2017-10-30 17:25 | 只看該作者
把延時(shí)涵數(shù)增加一點(diǎn)時(shí)間看看
回復(fù)

使用道具 舉報(bào)

16#
ID:204609 發(fā)表于 2017-10-31 12:13 | 只看該作者
ll13536121668 發(fā)表于 2017-10-29 21:12
#include
//定義一下,方便使用
#define uchar unsigned char

你的程序有問(wèn)題,每次都是松手之后,才開(kāi)始判斷驅(qū)動(dòng)燈亮還是燈滅,while(!key);去掉。led4=0;后加keyflag=0;
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 一级全黄少妇性色生活免费看 | 国产乱码精品一区二区三区五月婷 | 婷婷久| 国产精品日韩欧美一区二区 | 免费三级网站 | 韩国精品在线 | 欧洲一区二区视频 | 国产视频中文字幕 | 天天射网站 | 国产成人区| 激情小说综合网 | 久久亚洲综合 | 九九九视频在线 | 国产精品久久久久久久久久久免费看 | 日日夜夜精品视频 | 亚洲激情综合网 | 秋霞精品| 国产午夜精品一区二区 | 在线观看中文字幕 | 围产精品久久久久久久 | 欧美激情va永久在线播放 | 天堂亚洲网 | 久久影音先锋 | 亚洲电影一区 | 成人在线一区二区 | 日韩视频免费看 | 精品久久国产视频 | 国产精品99999 | 日本免费黄色 | 午夜免费电影院 | 91深夜福利视频 | 九色国产 | www.日韩 | 99精品视频一区二区三区 | 久久精品亚洲 | 亚洲一区国产精品 | 亚洲免费在线观看 | 国产在线资源 | 欧美福利 | 国产精品视频在线观看 | 亚洲欧美aⅴ|