两位数码管是一种常见的电子元件,它能够显示数字和少量字母。两位数码管常用于计数器、时钟、温度计、水平仪等电子设备中。
两位数码管由7条电线组成,每条电线可以将数字的不同部分分别显示出来。通过对不同电线的控制,可以实现所有数字和少量字母的显示。
通常情况下,两位数码管有共阳和共阴两种类型,共阳数码管是指所有数字段的阳极连接在一起,而共阴数码管是指所有数字段的阴极连接在一起。
每个数字都对应一个特定的代码,这些代码通常被称为“段码”。两位数码管的段码共有14个。其中,共阳型数码管的段码值为低电平,而共阴型数码管的段码值为高电平。
下面是两位数码管的代码表:
0:0xC0 1:0xF9 2:0xA4 3:0xB0 4:0x99 5:0x92 6:0x82 7:0xF8 8:0x80 9:0x90
A:0x88 B:0x83 C:0xC6 D:0xA1 E:0x86 F:0x8E
将两位数码管与电子设备连接后,我们需要编程控制它。以Arduino为例,我们可以通过以下代码来控制两位数码管显示数字:
int digit_1 = 9; // 数码管第一位对应Arduino的9号引脚
int digit_2 = 10; // 数码管第二位对应Arduino的10号引脚
int segment_A = 2; // 数码管A段对应Arduino的2号引脚
int segment_B = 3; // 数码管B段对应Arduino的3号引脚
int segment_C = 4; // 数码管C段对应Arduino的4号引脚
int segment_D = 5; // 数码管D段对应Arduino的5号引脚
int segment_E = 6; // 数码管E段对应Arduino的6号引脚
int segment_F = 7; // 数码管F段对应Arduino的7号引脚
int segment_G = 8; // 数码管G段对应Arduino的8号引脚
void setup() {
pinMode(digit_1, OUTPUT);
pinMode(digit_2, OUTPUT);
pinMode(segment_A, OUTPUT);
pinMode(segment_B, OUTPUT);
pinMode(segment_C, OUTPUT);
pinMode(segment_D, OUTPUT);
pinMode(segment_E, OUTPUT);
pinMode(segment_F, OUTPUT);
pinMode(segment_G, OUTPUT);
}
void loop() {
// 显示数字7
digitalWrite(segment_A, HIGH);
digitalWrite(segment_B, HIGH);
digitalWrite(segment_C, HIGH);
digitalWrite(segment_D, LOW);
digitalWrite(segment_E, LOW);
digitalWrite(segment_F, LOW);
digitalWrite(segment_G, LOW);
digitalWrite(digit_1, HIGH);
delay(5);
digitalWrite(digit_1, LOW);
// 显示数字6
digitalWrite(segment_A, LOW);
digitalWrite(segment_B, HIGH);
digitalWrite(segment_C, HIGH);
digitalWrite(segment_D, LOW);
digitalWrite(segment_E, LOW);
digitalWrite(segment_F, LOW);
digitalWrite(segment_G, LOW);
digitalWrite(digit_2, HIGH);
delay(5);
digitalWrite(digit_2, LOW);
1. 在使用共阳型数码管时,要将电位设为高电平;在使用共阴型数码管时,要将电位设为低电平。
2. 控制两位数码管的代码,需要有效地使用延时函数。每次更改数字时,都需要适当地延迟一段时间,否则数码管会闪烁。
3. 在连接数码管时,要注意引脚对应关系。不同的数码管类型,引脚的连接方式也不同。
4. 使用两位数码管时,要正确连接其共阳或共阴端,并且代码和电路要相应匹配。