導航:首頁 > 操作系統 > 單片機按鍵控制

單片機按鍵控制

發布時間:2022-01-11 18:42:22

單片機怎麼用簡單按鍵控制LED

#include "reg52.h"

#define uchar unsigned char
#define uint unsigned int

sbit led =P1^0;//假設燈在P1.0

sbit key1=P2^0;//假設按鍵在P2.0和P2.1
sbit key2=P2^1;//

void delay_1s(uint x)//延時
{
uint y;
uint z; //如果延時不夠長可以把z的值加大
while(x--)
{
for(y=0;y<50000;y++)
{
z=200;;
while(z--);
}
}
}

void main(void)

{
led=1; //不亮

while(1)
{
if(key1==0 && key2==1)//按鍵1按下,按鍵2沒按
{
led=0; //亮
}
else if(key1==1 ) //按鍵1釋放或未按時,燈滅
{
led=1; //滅
}

if(key2==0 && key1==1) //按鍵2按下,按鍵1沒按
{
led=0; //先亮
delay_1s(30); //等30秒
led =1 ; //30秒後滅
}

}
}

⑵ 51單片機按鍵控制

#include<reg52.h>
sbit key=你接按鈕的埠;
sbit led=你接LED的埠;
void delay(unsigned int ms)
{
unsigned int x,y;
for(x=ms;x>0:x--)
for(y=100;y>0;y--);
}

void main()
{
while(1)
{
if(key==0)//判斷鍵是否按下
{
delay(10);//10ms延遲
if(key==0)//消抖
{
led=1;//如果共陽極led=0;
delay(500);
led=0;
}
}
}
}

⑶ 單片機用一個按鍵隨意切換控制三種模式

#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int

uchar time,sec,keyval;

sbit D1=P3^3;
sbit D2=P3^4;
sbit KEY=P3^5;

void t0isr() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
time++;
if(time>=20)sec++;
}
main()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
ET0=1;
EA=1;
keyval=0;
while(1)
{
switch(keyval)
{
case 0: TR0=1;sec=0;
if(sec<30){D1=0;D2=1;}
else {D1=1;D2=1;}
break;
case 1: TR0=1;sec=0;
if(sec<30){D1=1;D2=0;}
else {D1=1;D2=1;}
break;
case 2: TR0=1;sec=0;
if(sec<30){D1=0;D2=1;}
if(sec>=30 && sec<60){D1=1;D2=0;}
else {D1=1;D2=1;}
break;
default:break;
}

}
}

⑷ 單片機怎麼用簡單按鍵控制LED

給你個C語言的
#include<stc.h> //頭文件
sbit jian=P1^0;
sbit LED=P1^1;
void ys(unsigned int ); //聲明延時函數
void main()
{
while(1)
{
LED=1; //讓LED點亮,其實這條語句可以不寫,因為單片機的IO口默認就是高電平
if(jian==0) //判斷按鍵是否按下
{
ys(1000); //延時消抖
if(jian==0) //再次判斷按鍵是否按下,這條語句很有必要。
{
LED==0; //LED 熄滅
}
}
}
}
/*延時函數*/
void ys(unsigned int i)
{
unsigned x;
for(x=0;x<5000;x++)
for(x=0;x<a;x++);
}

程序是在這里編寫的,不是用編譯器,可能存在語法錯誤

⑸ 單片機按鍵功能

按鍵按照結構原理可分為兩類,一類是觸點式開關按鍵,如機械式開關、導電橡膠式開關等;另一類是無觸點式開關按鍵,如電氣式按鍵,磁感應按鍵等。前者造價低,後者壽命長。目前,微機系統中最常見的是觸點式開關按鍵。


2.輸入原理



在單片機應用系統中,除了復位按鍵有專門的復位電路及專一的復位功能外,其它按鍵都是以開關狀態來設置控制功能或輸入數據的。當所設置的功能鍵或數字鍵按下時,計算機應用系統應完成該按鍵所設定的功能,鍵信息輸入是與軟體結構密切相關的過程。

對於一組鍵或一個鍵盤,總有一個介面電路與CPU相連。CPU可以採用查詢或中斷方式了解有無將鍵輸入,並檢查是哪一個鍵按下,將該鍵號送入累加器ACC,然後通過跳轉指令轉入執行該鍵的功能程序,執行完後再返回主程序

⑹ 51單片機如何用一個按鍵控制一段程序的運行與停止

1、創建項目文件。

6、當按下一個按鍵時,關閉燈,整個程序運行,再按一次,程序停止。

⑺ 單片機如何實現多按鍵同時控制

單片機內核決定了只能是單任務,如果使用實時系統的話,通過時間片可以實現虛擬多任務,不過效率不高。象你這種情況其實,循環掃描按鍵就可以了

⑻ 單片機一個按鍵控制一個程序

你把幾種方式寫成幾個子程序,然後主程序調用按鍵檢測,根據檢測到的鍵值調用對應的子函數即可

⑼ 單片機按鍵控制小燈程序

用c給你編一下
#include<reg52.h>//89s52單片機頭文件
#define
K1
=
P0^0
;
//用宏定義定義按鍵1
#define
K2
=
P0^1
;
//用宏定義定義按鍵2
#define
LED
=
P3^7
;
//用宏定義定義小燈
void
LED_shuanshuo
(char
a
);
void
main
(void)
{
char
a
;
while(1)
{
if(k1)
a
=
5;
//此處的值可以從0
-
255
次之間閃爍
if(k2)
a
=
10
;//此處的值可以從0
-
255
次之間閃爍
LED_shuanshuo
(a
);
}
}
void
LED_shuanshuo
(char
a
)
{
char
b;
for(b
=
0
;
b
<
a
*
2
;
b
++)
{
LED
^=
1
;
}
LED
=
1
;
//1
代表燈亮
0
代表燈滅
}

⑽ 單片機按鍵控制led燈

假設led連在P0口,高電平點亮,按鍵在P3.0口,低電平有效,則

MAIN:
MOV P0,#00
MOV R0,#00

LOOP:

MOV A,R0
MOV P0,A

JB P3.0,LOOP ;按鍵

LKEY1:
JB P3.0,L2;;等待彈起
MOV A,R0
MOV P0,A
AJMP LKEY1
L2:
MOV A,R0
CJNE A,#0FFH,L3
MOV A,#0
AJMP L4
L3:

MOV A,R0
SETB C

RLC A ;循環左移1位,逐位點亮
L4:
MOV R0,A
MOV P0,A

AJMP LOOP

閱讀全文

與單片機按鍵控制相關的資料

熱點內容
如何用路由器訪問公司伺服器 瀏覽:524
dosrd命令 瀏覽:675
玩子君手作解壓丸子 瀏覽:252
php上傳php文件出錯 瀏覽:688
群暉盤陣建ftp子文件夾 瀏覽:546
天空都市伺服器地址 瀏覽:433
c游戲編程入門教程pdf 瀏覽:672
php框架安全 瀏覽:715
夢里和程序員談戀愛 瀏覽:175
特價伺服器什麼意思 瀏覽:379
程序員交接不想接怎麼辦 瀏覽:873
vb文件夾怎麼選擇 瀏覽:118
公眾號驗證碼登陸源碼 瀏覽:524
居民樓用電量與電纜演算法 瀏覽:357
安裝mysql步驟linux 瀏覽:192
模擬器開app卡頓是怎麼回事 瀏覽:432
安卓手機如何將應用安裝到sd卡 瀏覽:1002
調取命令符 瀏覽:720
核酸檢測報告怎麼能加密 瀏覽:96
單片機燒錄是什麼意思 瀏覽:454