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

單片機鍵控

發布時間:2022-01-29 08:46:01

⑴ 51單片機按鍵控制點燈

按鍵 PIN1接電阻 電阻上拉到VCC ,PIN2接地,PIN1接到51的IO口1
燈接在51的IO 口2,假設能夠驅動
1:設置IO口1為輸入
2:設置IO口2為輸出
3:循環檢測IO口1是否為低電平0
4:如果是0,則寫IO口2為1,設置為高電平點燈
5:while循環空指令,根據指令周期,計算500ms要多少個指令
6:5的while循環結束後,寫IO口2為0,滅燈
7:重復到步驟3

⑵ 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;
}
}
}
}

⑶ 51單片機鍵控信號發生器

發現我去年做了一個這樣的,不過我只弄了3種波形,頻率方波的2K這樣,正弦波就比較小了,250HZ以內。按鍵控制波形切換、頻率增減,幅度增減

⑷ 單片機怎麼用簡單按鍵控制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++);
}

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

⑸ 單片機中怎樣定義一個按鍵控制轉換三個模式

參考如下: 假設按鍵按下為低電平; if(key1==0) { while(key1==0);//彈起後執行 { 按鍵1需要執行的功能; } } if(key2==0) { while(key2==0);//彈起後執行 { 按鍵2需要執行的功能; } }

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

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

⑺ 求單片機按鍵控制數碼管程序

實現方法有挺多種的,下面介紹一種:
1、按鍵子程序:
實現按第一個鍵使鍵值keyvalue=1,第二個鍵使鍵值keyvalue=2,第三個鍵使鍵值keyvalue=3
2、顯示子程序
定義3個位元組的顯示緩存,如dispbuf1,dispbuf2,dispbuf3
使dispbuf1的數字顯示在第一個數碼管上,dispbuf2的數字顯示在第2個數碼管上,dispbuf3的數字顯示在第3個數碼管上
3、主程序:
初始化按鍵次數keycount為0

檢測按鍵,任意一個鍵(比如說是第2個鍵)被按後,keycount 加1,並將keyvalue值(2)送給dispbuf1(則第一個數碼管將會顯示2),再有任意一個按鍵按下後,keycount 加1,並將keyvalue值送給dispbuf2,再有任意一個按鍵按下後,keycount 加1,並將keyvalue值送給dispbuf3

⑻ 單片機按鍵控制LED匯編程

30s 之內,又有按鍵按下,LED 應該怎麼變化?

參考一下:

http://hi..com/do_sermon/item/21321b80887395d25e0ec1f8

⑼ 單片機怎麼用簡單按鍵控制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單片機 怎麼用按鍵控制循環語句

while(1)語句只能用在主程序,而且只要用一次。如果子程序也用,必須有條件判斷語句,跟一個return語句返回。
再說你的三個子程序,既然用for控制了循環次數了,為什麼要用while(1)呢?而且明明知道是死循環還用?三個子程序都把那個while(1)刪掉就行了!

閱讀全文

與單片機鍵控相關的資料

熱點內容
單片機清理 瀏覽:658
東風景逸空調壓縮機 瀏覽:156
天津程序員炒股 瀏覽:228
pcl源碼目錄 瀏覽:966
python分類數據轉換 瀏覽:106
wordpdf不能復制 瀏覽:960
快捷方式參數命令 瀏覽:109
cmd命令復制粘貼文件 瀏覽:582
ug實體快速修剪的命令是什麼 瀏覽:121
軟體工程對演算法的要求 瀏覽:933
元史pdf 瀏覽:95
如何讓伺服器卡爆不用tnt 瀏覽:799
兵器pdf 瀏覽:925
雲伺服器怎麼限制cpu 瀏覽:166
學信網用的什麼app 瀏覽:878
linux重啟命令apache 瀏覽:753
半夜解壓有什麼壞處 瀏覽:426
linux代理命令 瀏覽:639
調用tasking的編譯器編譯 瀏覽:294
青檸app是什麼 瀏覽:868