2019年6月17日 星期一
4x4鍵盤
const byte colPins[4] = {9, 8, 7, 6}; // 設定「行」腳位
const byte rowPins[4] = {13, 12, 11, 10}; // 設定「列」腳位
const char keymap[4][4] = { // 設定按鍵的「行、列」代表值
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
byte i, j; // 暫存迴圈的索引數字
byte scanVal; // 暫存掃描到的按鍵值
void setup(){
Serial.begin(9600);
for (i = 0; i < = 3; i++) {
pinMode(rowPins[i], INPUT);
pinMode(colPins[i], OUTPUT);
digitalWrite(colPins[i], HIGH);
digitalWrite(rowPins[i], HIGH);
}
}
void loop() {
for (i = 0; i <= 3; i++) {
for (j = 0; j <= 3; j++) {
digitalWrite(colPins[j], LOW);
scanVal = digitalRead(rowPins[i]);
if (scanVal == LOW) { // 如果輸入值是「低電位」…
Serial.println(keymap[i][j]); // 輸出按鍵代表的字元
delay(200); // 掃描按鍵的間隔時間
digitalWrite(colPins[j], HIGH);
break; // 跳出迴圈
}
digitalWrite(colPins[j], HIGH);
}
}
}
練習
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int m,n;
int a[4][4]={
{0,1,2,3},
{4,5,6,7},
{8,9,10,11},
{12,13,14,15}
};
for(m=0;m<4;m++)
for(n=0;n<4;n++)
printf("\na[%d][%d]=%d",m,n,a[m][n]);
return 0;
}
訂閱:
張貼留言 (Atom)
algorithm
#include <iostream> #include <string.h> using namespace std; int main(int argc, char** argv) { for(int j=2;j<=100;j++)//j...
-
本文旨在補充《 超圖解Arduino互動設計入門 》第18章「RFID無線識別裝置與問答遊戲製作」單元,書本採用的RFID讀卡機模組是採用9600bps, TTL序列通訊介面,RFID的通訊頻率為125KHz。這種模組的接線和程式都很簡單,每當感測到RFID卡,讀卡機就把...
-
3.Keil C 幫我們寫好 程式:#include <reg51.h> vs c語言 #include <stdio.h> //幫您宣告 P0=0x80 有相對的記憶體以十六進位表示,它定義定reg51.h,我們直接拿來用他的代碼即可 P1=0...
-
四位數七段顯示器 如果不想要自行接線路,那麼市面上有已經銜接好的二合一、四合一等各種位數的七段顯示器,以四合一的七段顯示器為例,由於每個七段顯示器會需要 8 個腳位控制其上的 LED,再加上各 4 個共陰或共...
沒有留言:
張貼留言