欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5203|回復: 0
上一主題 下一主題
收起左側

基于51單片機的8個流水燈的按鍵控制

[復制鏈接]
跳轉到指定樓層
樓主
ID:364977 發表于 2018-7-4 16:56 來自觸屏版 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit key1 =P2^0; //按鍵1
sbit key2 =P2^1; //按鍵2
sbit key3 =P2^2; //按鍵3
uchar flag1=0,flag2=0,flag3=0;
void delay_ms(uint z)
{
uint i,j;
for(i=0;i<z;i++);
for(j=0;j<110;j++);
}
void O_to_E() //1,3,5,7與2,4,6,8交替閃爍
{
P0=0Xaa;
delay_ms(200);
P0=~0Xaa;
delay_ms(200);
}
void key_scan() //鍵盤掃描
{
if(!key1)
{
delay_ms(10); //延時消抖
if(!key1)
flag1=1;
}
if(!key2)
{
delay_ms(10); //延時消抖
if(!key2)
flag2=1;
}
if(!key3)
{
delay_ms(10); //延時消抖
if(!key3)
flag3=1;
}
}
void main()
{
uchar i;
while(1)
{
key_scan();
if(flag1) //按鍵一按下?
{
for(i=0;i<8;i++) //從左至右亮,每次一盞
{
P0=~(0x80>>i);
delay_ms(100);
key_scan(); //按鍵掃描
if(flag2||flag3){flag1=0;break;} //如果有其它按鍵按下響應其它按鍵
}
}
if(flag2) //按鍵一按下?
{
for(i=0;i<8;i++) //從右至左亮,每次一盞
{
P0=~(0x01<<i);
delay_ms(100);
key_scan();
if(flag1||flag3){flag2=0;break;}
}
}
if(flag3)
{
O_to_E(); //奇偶交替閃爍
key_scan();
if(flag1||flag2)flag3=0;
}
}
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:551656 發表于 2019-5-31 11:51 來自觸屏版
又isis的圖嘛?

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表