protues里共阳极数码管的各引脚分别在什么位置
时间: 2024-03-19 15:42:10 浏览: 346
在Proteus中,共阳极数码管的各引脚位置如下:
1. 数码管的共阳极(COM)引脚通常位于最右侧,标注为COM或COM Anode。
2. 数码管的各段(a~g)引脚按照顺序排列,以a~g的字母标识为引脚名称,从左到右依次为a、b、c、d、e、f、g。
3. 数码管的小数点(DP)引脚通常位于最右侧,靠近COM引脚,标注为DP或DP Anode。
需要注意的是,共阳极数码管的引脚位置可能因不同型号而略有不同,因此在具体使用时需要根据实际情况进行确认。如果不确定数码管的引脚位置,可以参考数码管的数据手册或者厂家提供的引脚图来确定。
相关问题
在Protues原理图中放置四位动态显示共阳极数码管7SEG-MPX4-CA,先后两次按下矩阵键盘中数字键,让十位和个位的数码管分别显示十进制十位数和个位数,而千位和百位的数码管一直显示0,按下字符F键,把十位和个位的数码管都熄灭,如果再次按下两个数字键,则数码管再次显示两位十进制数。写出代码
以下是一个基于Arduino的示例代码,可以实现上述功能:
```
#include <Keypad.h>
// 定义矩阵键盘的行列数和按键映射
const byte ROWS = 4;
const byte COLS = 4;
char keys[ROWS][COLS] = {
{'1', '2', '3', 'A'},
{'4', '5', '6', 'B'},
{'7', '8', '9', 'C'},
{'*', '0', '#', 'D'}
};
// 定义数码管引脚
const byte digitPins[] = {2, 3, 4, 5};
const byte segmentPins[] = {6, 7, 8, 9, 10, 11, 12, 13};
// 定义数字数组
int digits[4] = {0, 0, 0, 0};
// 创建 Keypad 对象
Keypad keypad = Keypad(makeKeymap(keys), ROWS, COLS, A0, A1);
void setup() {
// 初始化数码管引脚
for (int i = 0; i < 4; i++) {
pinMode(digitPins[i], OUTPUT);
}
for (int i = 0; i < 8; i++) {
pinMode(segmentPins[i], OUTPUT);
}
// 设置串口通信
Serial.begin(9600);
}
void loop() {
// 读取键盘输入
char key = keypad.getKey();
if (key != NO_KEY) {
// 判断是否为数字键
if (key >= '0' && key <= '9') {
// 将输入的数字放到 digits 数组的末尾
digits[3] = digits[2];
digits[2] = digits[1];
digits[1] = digits[0];
digits[0] = key - '0';
// 设置数码管显示
digitalWrite(digitPins[0], HIGH);
digitalWrite(digitPins[1], HIGH);
digitalWrite(digitPins[2], LOW);
digitalWrite(digitPins[3], LOW);
for (int i = 0; i < 8; i++) {
digitalWrite(segmentPins[i], HIGH);
}
digitalWrite(segmentPins[digits[0]], LOW);
delay(5);
digitalWrite(digitPins[0], LOW);
digitalWrite(digitPins[1], LOW);
digitalWrite(digitPins[2], HIGH);
digitalWrite(digitPins[3], LOW);
for (int i = 0; i < 8; i++) {
digitalWrite(segmentPins[i], HIGH);
}
digitalWrite(segmentPins[digits[1]], LOW);
delay(5);
}
// 判断是否为字符 F
else if (key == 'F') {
// 关闭数码管显示
for (int i = 0; i < 4; i++) {
digitalWrite(digitPins[i], LOW);
}
for (int i = 0; i < 8; i++) {
digitalWrite(segmentPins[i], HIGH);
}
}
}
}
```
这段代码使用 Keypad 库读取矩阵键盘输入,根据输入的数字来控制数码管的显示状态。其中,digits 数组存储当前显示的数字,每次输入一个数字时将其添加到数组末尾,并且将数组中的数字向前移动一位。在显示数字时,根据数组中的数字设置数码管的引脚状态,使其显示对应的数字。按下字符 F 键时,关闭数码管显示。
介绍一下protues中的7seg-mpx1-cc
7seg-mpx1-cc 是 Protues 中的一个七段数码管模型,它可以用于模拟数字显示电路的工作情况。
该模型包含 8 个引脚,其中 COM 引脚是公共引脚,用于控制数码管的点亮方式。其余 7 个引脚分别对应数码管的 a、b、c、d、e、f、g 灯。
在使用该模型时,需要将 COM 引脚连接到控制芯片的输出端口,而其他 7 个引脚则分别连接到芯片的输出引脚。当控制芯片输出特定的信号时,相应的 LED 灯会点亮,从而实现数字的显示。
需要注意的是,该模型只能模拟共阳极的数码管,如果需要模拟共阴极的数码管,需要选择另外一个模型(比如 7seg-mpx1-ca)。
阅读全文