编号:button_cnt
[code]
const int D_0 = 8; //二进制第0位
const int D_1 = 9; //二进制第1位
const int D_2 = 10; //二进制第2位
const int BUTTON = 11; //按键连接管脚
unsigned char cnt; //记录按键次数的变量
void setup() {
// put your setup code here, to run once:
pinMode(D_0, OUTPUT);
pinMode(D_1, OUTPUT);
pinMode(D_2, OUTPUT);
pinMode(BUTTON, INPUT_PULLUP);
cnt = 0;
}
void loop() {
// put your main code here, to run repeatedly:
if(digitalRead(BUTTON) == LOW){ //低电平表示按键被按下
cnt = cnt + 1;
delay(500); //降低电路运行速度
}
digitalWrite(D_0, bitRead(cnt, 0) );
digitalWrite(D_1, bitRead(cnt, 1) );
digitalWrite(D_2, bitRead(cnt, 2) );
}
[/code]
=========================================================================
编号:button_cnt_1
[code]
const int D_0 = 8; //二进制第0位
const int D_1 = 9; //二进制第1位
const int D_2 = 10; //二进制第2位
const int BUTTON = 11; //按键连接管脚
unsigned char cnt; //记录按键次数的变量
bool pre_state; //用来前一时刻的状态
bool state; //用来记录现在状态
void setup() {
// put your setup code here, to run once:
pinMode(D_0, OUTPUT);
pinMode(D_1, OUTPUT);
pinMode(D_2, OUTPUT);
pinMode(BUTTON, INPUT_PULLUP);
cnt = 0;
pre_state = HIGH;
state = HIGH;
}
void loop() {
// put your main code here, to run repeatedly:
pre_state = state; //把旧状态存入前一时刻状态寄存变量
state = digitalRead(BUTTON); //读取新的当前状态
if( (pre_state == HIGH)&& (state == LOW) ){ //低电平表示按键被按下
cnt = cnt + 1;
}
digitalWrite(D_0, bitRead(cnt, 0) );
digitalWrite(D_1, bitRead(cnt, 1) );
digitalWrite(D_2, bitRead(cnt, 2) );
}
[/code]
=========================================================================
编号:button_cnt_2
[code]
const int D_0 = 8; //二进制第0位
const int D_1 = 9; //二进制第1位
const int D_2 = 10; //二进制第2位
const int BUTTON = 11; //按键连接管脚
unsigned char cnt; //记录按键次数的变量
bool pre_state; //用来前一时刻的状态
bool state; //用来记录现在状态
void setup() {
// put your setup code here, to run once:
pinMode(D_0, OUTPUT);
pinMode(D_1, OUTPUT);
pinMode(D_2, OUTPUT);
pinMode(BUTTON, INPUT_PULLUP);
cnt = 0;
pre_state = HIGH;
state = HIGH;
}
void loop() {
// put your main code here, to run repeatedly:
pre_state = state; //把旧状态存入前一时刻状态寄存变量
state = digitalRead(BUTTON); //读取新的当前状态
if( (pre_state == HIGH)&& (state == LOW) ){ //低电平表示按键被按下
delay(200);
cnt = cnt + 1;
}
digitalWrite(D_0, bitRead(cnt, 0) );
digitalWrite(D_1, bitRead(cnt, 1) );
digitalWrite(D_2, bitRead(cnt, 2) );
}
[/code]
=========================================================================
编号:button_cnt_cvt
[code]
const int D_0 = 8; //二进制第0位
const int D_1 = 9; //二进制第1位
const int D_2 = 10; //二进制第2位
const int BUTTON = 11; //按键连接管脚
unsigned char cnt; //记录按键次数的变量
bool pre_state; //用来前一时刻的状态
bool state; //用来记录现在状态
void setup() {
// put your setup code here, to run once:
pinMode(D_0, OUTPUT);
pinMode(D_1, OUTPUT);
pinMode(D_2, OUTPUT);
pinMode(BUTTON, INPUT_PULLUP);
cnt = 0;
pre_state = HIGH;
state = HIGH;
}
void loop() {
// put your main code here, to run repeatedly:
pre_state = state; //把旧状态存入前一时刻状态寄存变量
state = digitalRead(BUTTON); //读取新的当前状态
if( (pre_state == HIGH)&& (state == LOW) ){ //低电平表示按键被按下
delay(200);
cnt = cnt + 1;
}
digitalWrite(D_0, !bitRead(cnt, 0) );
digitalWrite(D_1, !bitRead(cnt, 1) );
digitalWrite(D_2, !bitRead(cnt, 2) );
}
[/code]
=========================================================================
编号:button_cnt_db
[code]
const int D_0 = 8; //二进制第0位
const int D_1 = 9; //二进制第1位
const int D_2 = 10; //二进制第2位
const int BUTTON = 11; //按键连接管脚
unsigned char cnt; //记录按键次数的变量
bool pre_state; //用来前一时刻的状态
bool state; //用来记录现在状态
void setup() {
// put your setup code here, to run once:
pinMode(D_0, OUTPUT);
pinMode(D_1, OUTPUT);
pinMode(D_2, OUTPUT);
pinMode(BUTTON, INPUT_PULLUP);
cnt = 0;
pre_state = HIGH;
state = HIGH;
}
void loop() {
// put your main code here, to run repeatedly:
pre_state = state; //把旧状态存入前一时刻状态寄存变量
state = digitalRead(BUTTON); //读取新的当前状态
if( (pre_state == HIGH)&& (state == LOW) ){ //低电平表示按键被按下
delay(200);
cnt = cnt + 1;
}
digitalWrite(D_0, bitRead(cnt, 1) );
digitalWrite(D_1, bitRead(cnt, 2) );
digitalWrite(D_2, bitRead(cnt, 3) );
}
[/code]