欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
關于單片機按鍵控制小燈,一個按鍵如何控制多個程序?
[打印本頁]
作者:
坐在分頭調戲鬼
時間:
2019-1-1 15:11
標題:
關于單片機按鍵控制小燈,一個按鍵如何控制多個程序?
想實現一個按鍵控制多個程序應該怎么辦 每按下一次 更換一個程序 但是用的同一個按鍵
作者:
畫流星
時間:
2019-1-1 16:09
可以定義一個變量,按鍵按下去后變量加一,然后后面寫if語句,當變量為0時執行什么程序,當變量為1時執行什么程序,以此類推,這樣就可以用一個按鍵更換程序了
作者:
微揚
時間:
2019-1-1 16:19
可以使用中斷嵌套
作者:
HC6800-ES-V2.0
時間:
2019-1-1 16:25
可以嘛——用switch語句。
按鍵只計數,再通過switch語句選擇不同的函數,就可以了。
例如:
if(k1==0)//掃描鍵盤k1
{
Delay10ms(1);
if(k1==0)
{
j++;
if (j>5)
{
j=0;
}
while((i<50)&&(k1==0))
{
Delay10ms(1);
i++;
}
i=0;
}
switch(j) //位選,選擇點亮的數碼管,
{
case(0):
ONE(); break;
case(1):
TWO(); break;
case(2):
......; break;
case(3):
......; break;
case(4):
......; break;
case(5):
......; break;
}
作者:
jll586
時間:
2019-1-1 16:40
創建標志位,一個值對應一個程序
作者:
sadwdawdasd
時間:
2019-1-1 16:59
#include <reg51.h>
#define uchar unsigned char
sbit key = P1^0;
sbit led0 = P1^1;
sbit led1 = P1^2;
uchar count = 0;
void delayms (uchar time)//延時
{
for(time; time>0; time--)
{
TMOD |= 0x01;
TH0 = 0xfc;
TL0 = 0x18;
TR0 = 1; //啟動計數器0
while(TF0!=1);//計數溢出
TF0 = 0;
TR0 = 0;
}
}
void scan_key (void)
{
if (!key)
{
delayms (5);
if (!key)
{
delayms (1);
while (!key);
count++;
if (count==3)
{
count = 0;
}
}
}
}
void main (void)
{
P1 = 0xff;
while (1)
{
scan_key ();
if (count==0)
{
led0 = 1;
led1 = 1;
}
if (count==1)
{
led0 = 0;
led1 = 1;
}
if (count==2)
{
led0 = 1;
led1 = 0;
}
}
}
作者:
h124020135
時間:
2019-1-1 17:05
控制多個程序 首先程序是你自己寫的 執行完一個動作倒是可以進行下一個 但是按鈕就是個開關而已 所以按鍵切換不了程序 程序簡單或復雜自己寫入
作者:
xuyaqi
時間:
2019-1-1 17:25
可以設個標記,按一下標記+1,標記數不變后,執行標記數對應的程序。
作者:
25Hzzz
時間:
2019-1-1 17:50
定義一個變量,每按一次按鍵變量自加1,然后判斷變量的值,根據變量的值跳轉程序,當變量自增到一定的值就重新給變量賦值1,希望能幫到你
作者:
坐在分頭調戲鬼
時間:
2019-1-3 14:41
sadwdawdasd 發表于 2019-1-1 16:59
#include
#define uchar unsigned char
sbit key = P1^0;
但是怎樣才可以將程序快速的跳出延時函數呢 我想用break 但是應該怎么加呢
作者:
qazwsx12379
時間:
2019-1-3 15:36
#include<reg52.h> #define uint unsigned int #define uchar unsigned char #define LED P0 sbit S1=P1^0; 按鍵1 void delay(uint i) { uchar x,j; for(j=0;j<i;j++) for(x=0;x<=148;x++); } void main() { if(s1==0) { delay(2); if(s1==0) { LED=0; } } }
作者:
Zidone
時間:
2019-1-3 19:10
可以使用狀態機
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1