欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
我想讓按鍵按下LED一直循環閃亮,松開就滅,要怎么去修改單片機程序求大神指教
[打印本頁]
作者:
風一樣的壞蛋
時間:
2019-8-16 13:54
標題:
我想讓按鍵按下LED一直循環閃亮,松開就滅,要怎么去修改單片機程序求大神指教
#include "reg52.h"
typedef unsigned int u16;
typedef unsigned char u8;
sbit k1 =P1^0; //定義按鍵輸入端口
sbit led1=P1^4; //定義led輸出端口
sbit led2=P1^3;
sbit led3=P1^2;
sbit led4=P1^1;
sbit led5=P0^5;
sbit led6=P0^4;
sbit led7=P2^7;
sbit led8=P2^6;
/*------------------------------------------------
yanshi
------------------------------------------------*/
void delay500ms(void) //誤差 0us
{
unsigned char a,b,c;
for(c=205;c>0;c--)
for(b=116;b>0;b--)
for(a=9;a>0;a--);
}
void keypros()
{
if(k1==0)
{
if(k1==0)
{
led1=0;
led2=0;
delay500ms();
led3=0;
led4=0;
delay500ms();
led5=0;
led6=0;
delay500ms();
led7=0;
led8=0;
}
else
{
led1=1;
led2=1;
led3=1;
led4=1;
led5=1;
led6=1;
led7=1;
led8=1;
}
}
}
作者:
hmgqljz111
時間:
2019-8-17 07:24
程序沒傳完
作者:
wulin
時間:
2019-8-17 08:10
按你的意圖改寫,但松手后要等一輪循環結束才全熄滅。如果想松手立即全熄滅就要用定時器中斷:
#include "reg52.h"
typedef unsigned int u16;
typedef unsigned char u8;
sbit k1 =P1^0; //定義按鍵輸入端口
sbit led1=P1^4; //定義led輸出端口
sbit led2=P1^3;
sbit led3=P1^2;
sbit led4=P1^1;
sbit led5=P0^5;
sbit led6=P0^4;
sbit led7=P2^7;
sbit led8=P2^6;
/*------------------------------------------------
yanshi
------------------------------------------------*/
void delay500ms(void) //誤差 0us
{
unsigned char a,b,c;
for(c=205;c>0;c--)
for(b=116;b>0;b--)
for(a=9;a>0;a--);
}
void keypros()
{
if(k1==0)
{
led1=0;
led2=0;
led3=1;
led4=1;
led5=1;
led6=1;
led7=1;
led8=1;
delay500ms();
led1=1;
led2=1;
led3=0;
led4=0;
led5=1;
led6=1;
led7=1;
led8=1;
delay500ms();
led1=1;
led2=1;
led3=1;
led4=1;
led5=0;
led6=0;
led7=1;
led8=1;
delay500ms();
led1=1;
led2=1;
led3=1;
led4=1;
led5=1;
led6=1;
led7=0;
led8=0;
delay500ms();
}
else
{
led1=1;
led2=1;
led3=1;
led4=1;
led5=1;
led6=1;
led7=1;
led8=1;
}
}
void main()
{
while(1)
{
keypros();
}
}
作者:
hantu
時間:
2019-8-17 08:38
你的8顆led不在同一個P口上,不能簡單地通過位操作來循環亮滅每顆燈,所以建議用一個函數來封裝對它們的操作,只需要傳送的參數是第n顆燈以及要它亮或滅就行了。
因為要對按鍵作出即時的反應,所以,對燈的操作應在中斷里進行,而按鍵的檢測輪詢和中斷都可以。
作者:
yzwzfyz
時間:
2019-8-17 09:18
1、將顯示與按鍵分開編寫。
2、按鍵:做個標記B_KEY,按下時=1,反之為0。
3、編寫一個循環閃亮程序,在B_KEY=1時執行它。
4、在B_KEY=0,時滅燈。
作者:
WR111222
時間:
2019-8-19 08:46
沒有main函數啊怎么會亮呢
作者:
CZ1
時間:
2019-8-19 15:19
把else的內容放到最外一個if那里就ok
作者:
月之光芒
時間:
2019-8-27 10:14
設定一個標記位,按鍵按住時一直將其置1,松開后置0,然后在定時器中斷里添加一個循環點燈程序,在標記位為1時調用,標記位為0時將所有燈熄滅
作者:
tyrl800
時間:
2019-8-27 22:04
void main()
{while(1)
{if(!key)
{ P1=~P1;
Delayms(500);
}
else P1=0xff;
}
}
作者:
aaaaabangw
時間:
2019-8-28 00:10
循環檢測按鍵狀態,分別把一位一位的值置一,其他置零,就能夠達到循環閃爍效果,按鍵狀態為松開時,直接全部置零退出就行了。
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1