Arduino 数码管 LED 驱动 读位法 16 进制
区别与上两个驱动的方法,用 bitRead()读取位数,代码简洁一点。
1. //设置阴极接口
2. int d1 = 1;
3. int d2 = 2;
4. int d3 = 3;
5. int d4 = 4;
6. int d5 = 5;
7. int d6 = 6;
8. int d7 = 7;
9. //设置阳极接口
10. int a = 8;
11. int b = 9;
12. int c = 10;
13. int d = 11;
14. int e = 12;
15. int f = 13;
16. int g = A0;
17. int h = A1;
18. const unsigned char Yang[] = { a, b, c, d, e, f, g, h };
19. const unsigned char YangCode[]={
20. 0x03, // 0 = 缺水
21. 0x0C, // 1 = 低水位
22. 0x70, // 2 = 定时关机
23. 0x3F, // 3 = 0
24. 0x06, // 4 = 1
25. 0x5B, // 5 = 2
26. 0x4F, // 6 = 3
27. 0x66, // 7 = 4
28. 0x6D, // 8 = 5
29. 0x7D, // 9 = 6
30. 0x07, // 10 = 7
31. 0x7F, // 11 = 8
32. 0x6F, // 12 = 9
33. 0x80, // 13 = 摄氏度符号、睡眠符号
34. };
35. byte gyin[7] = { d1, d2, d3, d4, d5, d6, d7 };
36. byte gong_yin[5][7] = {
37. { 1,1,1,1,1,1,0 }, // 0 = 缺水、低水位、定时关机
38. { 0,1,1,1,1,1,1 }, // 1 = 温度十位、摄氏度符号
39. { 1,0,1,1,1,1,1 }, // 2 = 温度个位、睡眠符号
40. { 0,0,1,1,1,1,1 }, // 3 = 温度个和十位
41. { 1,1,0,0,0,0,1 }, // 4 = 时钟个、十位和两点
42. };