欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
51單片機加按鍵控制led花樣閃爍程序(非用中斷)
[打印本頁]
作者:
automation007
時間:
2019-12-25 20:05
標題:
51單片機加按鍵控制led花樣閃爍程序(非用中斷)
51單片機加按鍵控制LED花樣閃爍(非用中斷),51中用一個main主函數來控制led花樣閃爍,實現和用中斷控制差不多的效果...
單片機源程序如下:
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
#define lei unsigned char
lei q=0;
sbit KEY=P3^2;
uchar before=0;
int temp=0;
//延遲---還會用于消抖
void Delay(uint x) {
uchar i;
while(x--){
for(i=0;i<120;i++);
}
}
//延遲1
void delay_1() {
unsigned char i,j;
for(i=0;i<250;i++)
{
if(KEY==0)
break;
for(j=0;j<250;j++);
}
}
//樣式2 按下之前的流水燈
void a1(){
P2=0xff;
if(temp>7)
temp=0;
if(before==1){
temp+=2;
before=0;
}
P2&=~(1<<(temp++));
Delay(150);
}
//樣式3
void a2() {
P2=0xff;
if(temp<0)
temp=7;
if(before==1){
temp-=2;
before=0;
}
P2&=~(128>>(7-temp--));
Delay(150);
}
//樣式4 往外兩端亮去
void a3(){
P2=0xff;
P2=0xcc;
delay_1();
P2=0xff;
P2=0x33;
delay_1();
}
//按下次數
char Key_Scan(){
if(KEY==0){
Delay(4);
while(KEY==0);
before=1;
q++;
if(q==3)
q=0;
}
return q;
}
void main(){
P2=0xff;
while(1){
while(1){
Key_Scan();
switch(q%3){
case 0: a1();break;
case 1: a2();break;
case 2: a3();break;
//case 3: a4();break;
}
}
}
}
復制代碼
所有資料51hei提供下載:
甭中斷之key control led 花樣閃.rar
(63.41 KB, 下載次數: 13)
2019-12-25 20:05 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1