導航:首頁 > 操作系統 > 51單片機獨立按鍵

51單片機獨立按鍵

發布時間:2022-05-20 01:58:17

A. 獨立按鍵與51單片機相連為什麼有的需要接電源,有的則不用

一般不需接電源,將獨立按鍵接於單片機IO管腳和地(電源負極)之間,讓單片機管腳輸出高電平,當有按鍵按下時,讀得結果為低電平 如下圖中 S2 S3 S4

如果想讓平時讀得為低電平,按鍵按下為高電平,需外接一下拉電阻(阻值小於10K),將單片機輸出的高電平拉低,按鍵接於正電源和IO口之間,當按鍵按下時又讀出高電平 如下圖中S5

顯然這種方法比較麻煩,並且如果程序不小心錯誤地讓該IO口輸出0,恰巧又按下按鍵就會損壞單片機

B. 51單片機獨立式按鍵程序

#include<reg52.h>
unsignedcharID;
sbitk1=P3^7;//定義按鍵埠
voiddelay()
{
TMOD=0x10;//定時器的工作方式
TH1=0xd8;
TL1=0xf0;
TR1=1;
while(!TF1);//這里錯了,是定時器1
TF1=0;
}
voidmain()
{
while(1)
{
if(k1==0)
{
delay();//去抖動
if(k1==0)//檢測按鍵確實按下,進行按鍵處理
{
ID++;
if(ID==0)
{
ID=0;
}
while(!k1);//這里錯了,多餘的加了==0
}
}
switch(ID)
{
case0:P1=0x3f;break;
case1:P1=0x06;break;
case2:P1=0x5b;break;
case3:P1=0x4f;break;
case4:P1=0x66;break;
case5:P1=0x6d;break;
case6:P1=0x7d;break;
case7:P1=0x07;break;
case8:P1=0x7f;break;
case9:P1=0x6f;break;
default:break;
}
}
}

C. 51單片機中獨立按鍵控制數碼管時當每個鍵按下去之後松開又恢復原狀態

只要程序和硬體沒有問題,那麼每一個獨立按鍵按下,都應該顯示該獨立按鍵所對應的東東,不應該恢復到之前的顯示值。
所以出現你所說的狀態,一種情況是程序有問題,另一種情況是硬體有問題。具體如何要看你的代碼才能確定。

D. 51單片機獨立按鍵,怎麼組合實現某個功能

配合顯示器選擇不同的功能。
如:
按鍵啟動選擇功能,顯示器依次顯示1,2,3。。。。表示功能,每個數字顯示10秒,等待按鍵確認,進入下一個菜單。
循環顯示2次,沒有接收到確認按鍵,自動退出此模塊,返回上一層菜單。

E. 51單片機獨立按鍵中,按一下和一直按的區別

按一下松開這個LED一直亮:

if(key==0)
{
while(key==0);
led=0;
}

按一下松開就亮一下:

if(key==0)
{
led=0;
while(key==0);
led=1;
}

F. 51單片機為什麼要先按獨立按鍵才能正常工作

51(開發板)中的數碼管一次只能顯示一位數,屬於硬體限制,不能同時顯示兩位。在數碼管上顯示多位數只能靠高頻率的刷新顯示,在視覺上顯示多位。所以可以定義一個變數i,按鍵i自加,然後用循環顯示,循環次數為i。

根據提供的函數,表明你的板子LED是共陽極連接的,即LED陽極接到一起,每個LED陰極接IO口,這樣當IO口為低電平時燈就點亮了。所以,程序一開始是亮燈而不是滅燈。sbit BY1=P3^4是一個位定義,意思是把單片機的P3.4口定義為BY1,以後對BY1進行操作就是對P3.4進行操作。

單片機

也被稱為單片微控器,屬於一種集成式電路晶元。在單片機中主要包含CPU、只讀存儲器ROM和隨機存儲器RAM等,多樣化數據採集與控制系統能夠讓單片機完成各項復雜的運算,無論是對運算符號進行控制,還是對系統下達運算指令都能通過單片機完成。 由此可見,單片機憑借著強大的數據處理技術和計算功能可以在智能電子設備中充分應用。

G. 51單片機獨立按鍵控制門禁密碼

#include "reg51.h"

#include "display_7seg_4.h"


sbit KEY1 = P1^0;

sbit KEY2 = P1^1;

sbit KEY3 = P1^2;

sbit KEY4 = P1^3;

sbit KEY5 = P3^0;

sbit KEY6 = P3^1;

sbit KEY7 = P3^2;

sbit KEY8 = P3^3;

sbit KEY9 = P3^4;

sbit KEY0 = P3^5;

sbit KEYE = P3^6;

sbit LED = P1^5;


unsigned int count=0;



void main(void)

{

unsigned char keyvalue;

unsigned char i=0;

unsigned char dis[4]={10,10,10,10};

unsigned int password;

LED = 0;

while(1)

{

keyvalue = 20;

if(KEY1 == 0)

{

while(!KEY1);

keyvalue = 1;

}

if(KEY2 == 0)

{

while(!KEY2);

keyvalue = 2;

}

if(KEY3 == 0)

{

while(!KEY3);

keyvalue = 3;

}

if(KEY4 == 0)

{

while(!KEY4);

keyvalue = 4;

}

if(KEY5 == 0)

{

while(!KEY5);

keyvalue = 5;

}

if(KEY6 == 0)

{

while(!KEY6);

keyvalue = 6;

}

if(KEY7 == 0)

{

while(!KEY7);

keyvalue = 7;

}

if(KEY8 == 0)

{

while(!KEY8);

keyvalue = 8;

}

if(KEY9 == 0)

{

while(!KEY9);

keyvalue = 9;

}

if(KEY0 == 0)

{

while(!KEY0);

keyvalue = 0;

}

if(KEYE == 0)

{

while(!KEYE);

keyvalue = 10;

}

if(keyvalue != 20)

{

if(keyvalue == 10)

{

i=0;

password = dis[0]*1000+dis[1]*100+dis[2]*10+dis[3];

if(password == 1234)

{

LED = 1;

}

else

{

LED = 0;

}

dis[0] = 10;

dis[1] = 10;

dis[2] = 10;

dis[3] = 10;

}

else

{

dis[i] = keyvalue;

i++;

}

}

display_seg(dis);

}

}

H. 51單片機獨立按鍵的程序

51單片機獨立按鍵的程序獨立按鍵的程序的話,這個可以從一些一些具體的方面來進行一些查看。

I. 51單片機控制數碼管顯示時鍾,獨立按鍵怎麼弄

獨立按鍵處理起來是非常簡單的,一般都是IO口單獨控制,所以只需要消抖和判斷按鍵按下抬起狀態就好。比如:
sbitkey=P1^0;
if(key==0)
{
delay(10);
if(key==0)
{
keyval=1;
while(key==0);
}
}

J. 用51單片機怎麼通過獨立按鍵實現串口通信

這個是單片機雙機通訊,其實很簡單,關注這個公眾號吧,單片機模擬,裡面有。其實大致思路就是按鍵按下一個單片機發送數據到串口,另外一個單片機配置串口中斷,你在中斷里放一個buf,讓他收到一個位元組自加一就可以了。

閱讀全文

與51單片機獨立按鍵相關的資料

熱點內容
程序員下載歌曲 瀏覽:893
編譯未檢測到模擬器 瀏覽:807
壓縮機每次啟動12分鍾就停 瀏覽:729
creo復制曲面命令 瀏覽:959
程序員戀上女碩士 瀏覽:669
ansys的get命令 瀏覽:988
國外dns蘋果伺服器地址 瀏覽:430
國家職業技術資格證書程序員 瀏覽:652
奇瑞租車app是什麼 瀏覽:99
系統源碼安裝說明 瀏覽:420
命令行加殼 瀏覽:96
解壓時顯示防失效視頻已加密 瀏覽:295
蘋果簡訊加密發送 瀏覽:446
天翼私有雲伺服器租用 瀏覽:733
貴州雲伺服器屬於哪個上市公司 瀏覽:58
編程聯動教程 瀏覽:481
小天才app怎麼升級v242 瀏覽:545
簡單手工解壓玩具製作大全 瀏覽:928
免費編程電子書 瀏覽:870
想玩游戲什麼app最合適 瀏覽:560