欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
arduino_4*4矩陣鍵盤掃描_oled(i2c)顯示_串口顯示程序
[打印本頁]
作者:
耶耶嘿嘿
時間:
2019-7-18 20:50
標題:
arduino_4*4矩陣鍵盤掃描_oled(i2c)顯示_串口顯示程序
arduino的4*4矩陣鍵盤的掃描程序oled(i2c)的簡單應用顯示
單片機源程序如下:
#include <Wire.h> //oled SCL——A5 SDA——A4
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);
#define NUMFLAKES 10
#define XPOS 0
#define YPOS 1
#define DELTAY 2
#define LOGO16_GLCD_HEIGHT 16
#define LOGO16_GLCD_WIDTH 16
#if (SSD1306_LCDHEIGHT != 64)
#error("Height incorrect, please fix Adafruit_SSD1306.h!");
#endif
int R1 = 4;//行引腳
int R2 = 5;
int R3 = 6;
int R4 = 7;
int C1 = 8;//列引腳
int C2 = 9;
int C3 = 10;
int C4 = 11;
int key_Scan();
void pinHigh();
void setup() {
pinMode(R1, OUTPUT);
pinMode(R2, OUTPUT);
pinMode(R3, OUTPUT);
pinMode(R4, OUTPUT);
pinMode(C1, INPUT_PULLUP);
pinMode(C2, INPUT_PULLUP);
pinMode(C3, INPUT_PULLUP);
pinMode(C4, INPUT_PULLUP);
Serial.begin(115200);
delay(100);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.fillScreen(WHITE);
display.display();
delay(1000);//全屏顯示,檢查是否有壞點
display.fillScreen(BLACK);
display.display();
}
int i;
void loop(){
i = key_Scan();
if(i){
Serial.print("按下第");
Serial.print(i);
Serial.println("個按鍵");
display.clearDisplay();
display.setTextSize(2);
display.setTextColor(WHITE);
display.setCursor(0,0);
display.print("NO.key= ");
display.print(i);
display.display();
}
}
int key_Scan(){
pinHigh();//掃描第一行
digitalWrite(R1, LOW);
if(digitalRead(C1) == LOW){
while(digitalRead(C1) == LOW);
return 1;
}
if(digitalRead(C2) == LOW){
while(digitalRead(C2) == LOW);
return 2;
}
if(digitalRead(C3) == LOW){
while(digitalRead(C3) == LOW);
return 3;
}
if(digitalRead(C4) == LOW){
while(digitalRead(C4) == LOW);
return 4;
}
pinHigh();//掃描第二行
digitalWrite(R2, LOW);
if(digitalRead(C1) == LOW){
while(digitalRead(C1) == LOW);
return 5;
}
if(digitalRead(C2) == LOW){
while(digitalRead(C2) == LOW);
return 6;
}
if(digitalRead(C3) == LOW){
while(digitalRead(C3) == LOW);
return 7;
}
if(digitalRead(C4) == LOW){
while(digitalRead(C4) == LOW);
return 8;
}
pinHigh();//掃描第三行
digitalWrite(R3, LOW);
if(digitalRead(C1) == LOW){
while(digitalRead(C1) == LOW);
return 9;
}
if(digitalRead(C2) == LOW){
while(digitalRead(C2) == LOW);
return 10;
}
if(digitalRead(C3) == LOW){
while(digitalRead(C3) == LOW);
return 11;
}
if(digitalRead(C4) == LOW){
while(digitalRead(C4) == LOW);
return 12;
}
pinHigh();//掃描第四行
digitalWrite(R4, LOW);
if(digitalRead(C1)== LOW){
while(digitalRead(C1) == LOW);
return 13;
}
if(digitalRead(C2) == LOW){
while(digitalRead(C2) == LOW);
return 14;
}
if(digitalRead(C3) == LOW){
while(digitalRead(C3) == LOW);
return 15;
}
if(digitalRead(C4) == LOW){
while(digitalRead(C4) == LOW);
return 16;
}
return 0;
}
void pinHigh(){
digitalWrite(R1, HIGH);
digitalWrite(R2, HIGH);
digitalWrite(R3, HIGH);
digitalWrite(R4, HIGH);
}
復制代碼
所有資料51hei提供下載:
4x4矩陣鍵盤.rar
(25.6 KB, 下載次數: 37)
2019-7-18 20:45 上傳
點擊文件名下載附件
源程序及函數庫
下載積分: 黑幣 -5
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1