tm1629B驱动共阳数码管源码
时间: 2024-06-17 19:03:13 浏览: 11
TM1629B驱动共阳数码管的源码可以分为两部分:驱动代码和显示代码。
驱动代码主要负责与硬件进行通信,包括初始化、发送数据等。在使用TM1629B驱动共阳数码管时,需要先初始化芯片,然后通过发送数据命令来设置芯片的各种参数。具体代码如下:
```
#include <Arduino.h>
#include <TM1629.h>
#define CLK_PIN 2
#define DIO_PIN 3
TM1629 tm(CLK_PIN, DIO_PIN);
void setup() {
tm.init();
tm.setBrightness(3);
}
void loop() {
tm.setLED(0, 0, true);
tm.setLED(1, 1, true);
tm.setLED(2, 2, true);
tm.setLED(3, 3, true);
delay(1000);
tm.clearDisplay();
delay(1000);
}
```
上述代码中,使用了TM1629库,通过`tm.init()`函数来初始化芯片,设置亮度为3。然后在`loop()`函数中循环显示数字0-3,并间隔1秒清空显示。
显示代码主要负责将需要显示的内容转换为相应的数码管显示,包括数码管的位选和段选。在TM1629B中,每个数码管都有8个段(a~g、dp)和一个位选,使用8位二进制数来表示每个数码管应该显示的内容。具体代码如下:
```
void showNumber(int number) {
byte data;
for (int i = 0; i < 4; i++) {
int digit = number % 10;
data[3 - i] = TM1629::DIGIT[digit];
number /= 10;
}
tm.sendData(0xC0, data, 4);
}
void setup() {
tm.init();
tm.setBrightness(3);
}
void loop() {
showNumber(1234);
delay(1000);
showNumber(5678);
delay(1000);
}
```
上述代码中,`showNumber()`函数接受一个整数参数,将其转换为4位数码管显示,并通过`tm.sendData()`函数发送给芯片显示。在`loop()`函数中循环显示数字1234和5678,并间隔1秒切换。
相关推荐
![application/x-zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)