|
- /*
- Eagler8系列實(shí)驗(yàn)程序列表
- 第10類 擴(kuò)展實(shí)驗(yàn)
- 21、TM1637四位數(shù)碼管(數(shù)碼管和點(diǎn)陣類,接擴(kuò)展板數(shù)字D7/D8接口)
- 項(xiàng)目:TM1637驅(qū)動(dòng)四位數(shù)碼管顯示
- 要點(diǎn):初始化必需加載二個(gè)庫(IDE-工具-管理庫-搜索-下載)
- TM1637Display.h
- */
- #include <Arduino.h>
- #include <TM1637Display.h>
- #define CLK 7
- #define DIO 8
- #define TEST_DELAY 2000
- const uint8_t SEG_DONE[] = {
- SEG_B | SEG_C | SEG_D | SEG_E | SEG_G,
- SEG_A | SEG_B | SEG_C | SEG_D | SEG_E | SEG_F,
- SEG_C | SEG_E | SEG_G,
- SEG_A | SEG_D | SEG_E | SEG_F | SEG_G
- };
- TM1637Display display(CLK, DIO);
- void setup()
- {
- }
- void loop()
- {
- int k;
- uint8_t data[] = { 0xff, 0xff, 0xff, 0xff };
- uint8_t blank[] = { 0x00, 0x00, 0x00, 0x00 };
- display.setBrightness(0x0f);
- display.setSegments(data);
- delay(TEST_DELAY);
- data[0] = display.encodeDigit(0);
- data[1] = display.encodeDigit(1);
- data[2] = display.encodeDigit(2);
- data[3] = display.encodeDigit(3);
- display.setSegments(data);
- delay(TEST_DELAY);
- display.clear();
- display.setSegments(data+2, 2, 2);
- delay(TEST_DELAY);
- display.clear();
- display.setSegments(data+2, 2, 1);
- delay(TEST_DELAY);
- display.clear();
- display.setSegments(data+1, 3, 1);
- delay(TEST_DELAY);
- display.showNumberDec(0, false);
- delay(TEST_DELAY);
- display.showNumberDec(0, true);
- delay(TEST_DELAY);
- display.showNumberDec(1, false);
- delay(TEST_DELAY);
- display.showNumberDec(1, true);
- delay(TEST_DELAY);
- display.showNumberDec(301, false);
- delay(TEST_DELAY);
- display.showNumberDec(301, true);
- delay(TEST_DELAY);
- display.clear();
- display.showNumberDec(14, false, 2, 1);
- delay(TEST_DELAY);
- display.clear();
- display.showNumberDec(4, true, 2, 2);
- delay(TEST_DELAY);
- display.showNumberDec(-1, false);
- delay(TEST_DELAY);
- display.showNumberDec(-12);
- delay(TEST_DELAY);
- display.showNumberDec(-999);
- delay(TEST_DELAY);
- display.clear();
- display.showNumberDec(-5, false, 3, 0);
- delay(TEST_DELAY);
- display.showNumberHexEx(0xf1af);
- delay(TEST_DELAY);
- display.showNumberHexEx(0x2c);
- delay(TEST_DELAY);
- display.showNumberHexEx(0xd1, 0, true);
- delay(TEST_DELAY);
- display.clear();
- display.showNumberHexEx(0xd1, 0, true, 2);
- delay(TEST_DELAY);
-
- for(k=0; k <= 4; k++) {
- display.showNumberDecEx(0, (0x80 >> k), true);
- delay(TEST_DELAY);
- }
- for(k = 0; k < 4; k++)
- data[k] = 0xff;
- for(k = 0; k < 7; k++) {
- display.setBrightness(k);
- display.setSegments(data);
- delay(TEST_DELAY);
- }
-
- for(k = 0; k < 4; k++) {
- display.setBrightness(7, false);
- display.setSegments(data);
- delay(TEST_DELAY);
- display.setBrightness(7, true);
- display.setSegments(data);
- delay(TEST_DELAY);
- }
- display.setSegments(SEG_DONE);
- while(1);
- }
復(fù)制代碼
|
|