亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標題:
51單片機8個獨立按鍵分別控制8盞燈的開和關源程序
[打印本頁]
作者:
6313
時間:
2021-7-3 21:55
標題:
51單片機8個獨立按鍵分別控制8盞燈的開和關源程序
網上找了好久,都沒有找到多個獨立按鍵分別獨立控制燈的程序,于是自己寫了一個程序,8個按鍵獨立控制8個燈的開關程序
單片機源程序如下:
#include <reg51.h>
#define uint unsigned int
#define uchar unsigned char
//定義按鍵端口
sbit key1 = P1^0;//定義按鍵端口1
sbit key2 = P1^1;
sbit key3 = P1^2;
sbit key4 = P1^3;//定義按鍵端口4
sbit key5 = P1^4;
sbit key6 = P1^5;
sbit key7 = P1^6;
sbit key8 = P1^7;
sbit led1 = P2^0; //定義LED燈1
sbit led2 = P2^1;
sbit led3 = P2^2;
sbit led4 = P2^3; //定義LED燈4
sbit led5 = P2^4;
sbit led6 = P2^5;
sbit led7 = P2^6;
sbit led8 = P2^7;
//延時函數聲明
void delay(uint xms);
//程序入口
void main(){
while(1){
//第一次判斷
if(key1 == 0){
//延時20ms 消除抖動
delay(20);
//第二次判斷
if(key1 == 0){
led1 = ~led1;// 燈亮
}
while(!key1); //當按鍵未松開時,key為0,執行該死循環。
//等待按鍵被松開
}
if(key2 == 0){
//延時20ms 消除抖動
delay(20);
//第二次判斷
if(key2 == 0){
led2 = ~led2; //燈亮
}
//等待按鍵被松開
while(!key2); //當按鍵未松開時,key為0,執行該死循環。
}
if(key3 == 0){
//延時20ms 消除抖動
delay(20);
//第二次判斷
if(key3 == 0){
//燈亮
led3 = ~led3;
}
//等待按鍵被松開
while(!key3); //當按鍵未松開時,key為0,執行該死循環。
}
if(key4 == 0){
//延時20ms 消除抖動
delay(20);
//第二次判斷
if(key4 == 0){
led4 = ~led4;// 燈亮
}
while(!key4); //當按鍵未松開時,key為0,執行該死循環。
//等待按鍵被松開
}
if(key5 == 0){
//延時20ms 消除抖動
delay(20);
//第二次判斷
if(key5 == 0){
led5 = ~led5; //燈亮
完整代碼請下載附件:
新建文件夾 (9).zip
(8.15 KB, 下載次數: 41)
2021-7-3 22:10 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
游俠(單片機開
時間:
2021-7-5 09:49
while(!key1); //當按鍵未松開時,key為0,執行該死循環。
盡量少用這種方法,當按著按鍵不放時,單片機什么事也做不了,特別是有顯示屏lcd或者OLED時,信息不會實時刷新的,最好用中斷或者狀態機
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1