Nội dung chính
Sơ đồ nguyên lý #
Code #
// Khai báo chân cho LED 7 đoạn const int segA = 2; const int segB = 3; const int segC = 4; const int segD = 5; const int segE = 6; const int segF = 7; const int segG = 8; const int segDP = 9; // Khai báo chân cho các digit const int digit1 = 10; const int digit2 = 11; // Mảng lưu trữ các mẫu hiển thị số int numbers[10][7] = { {1,1,1,1,1,1,0}, // 0 {0,1,1,0,0,0,0}, // 1 {1,1,0,1,1,0,1}, // 2 {1,1,1,1,0,0,1}, // 3 {0,1,1,0,0,1,1}, // 4 {1,0,1,1,0,1,1}, // 5 {1,0,1,1,1,1,1}, // 6 {1,1,1,0,0,0,0}, // 7 {1,1,1,1,1,1,1}, // 8 {1,1,1,1,0,1,1} // 9 }; // Hàm hiển thị số void displayNumber(int num) { digitalWrite(segA, numbers[num][0]); digitalWrite(segB, numbers[num][1]); digitalWrite(segC, numbers[num][2]); digitalWrite(segD, numbers[num][3]); digitalWrite(segE, numbers[num][4]); digitalWrite(segF, numbers[num][5]); digitalWrite(segG, numbers[num][6]); } void setup() { // Khởi tạo chân output cho LED 7 đoạn pinMode(segA, OUTPUT); pinMode(segB, OUTPUT); pinMode(segC, OUTPUT); pinMode(segD, OUTPUT); pinMode(segE, OUTPUT); pinMode(segF, OUTPUT); pinMode(segG, OUTPUT); pinMode(segDP, OUTPUT); // Khởi tạo chân output cho các digit pinMode(digit1, OUTPUT); pinMode(digit2, OUTPUT); // Khởi tạo ban đầu digitalWrite(digit1, LOW); digitalWrite(digit2, LOW); } void loop() { for (int i = 0; i < 100; ++i) { int tens = i / 10; // Chữ số hàng chục int ones = i % 10; // Chữ số hàng đơn vị // Hiển thị chữ số hàng chục digitalWrite(digit1, HIGH); displayNumber(tens); delay(50); digitalWrite(digit1, LOW); // Hiển thị chữ số hàng đơn vị digitalWrite(digit2, HIGH); displayNumber(ones); delay(50); digitalWrite(digit2, LOW); } }