[Home] [Назад] | [Donate!] [Контакты] |
Простая, в одном слое без пересечений разводка для подключения семисегментного индикатора к микроконтроллеру приводит к тому, что оказываются задействованы разрозненные биты разных портов ввода-вывода. В качестве иллюстрации приведём вымышленный вариант такой разводки.
Вид со стороны микроконтроллера, индикатор размещён на противоположной стороне.
В данном случае выводы индикатора и микроконтроллера соединяются (через токозадающие резисторы) следующим образом.
Микроконтроллер | Индикатор | ||
---|---|---|---|
# | Функция | # | Функция |
33 | PB12 | 12 | DIG1 |
34 | PB13 | 11 | A |
35 | PB14 | 10 | F |
36 | PB15 | 1 | E |
37 | PC6 | 2 | D |
38 | PC7 | 3 | DP |
39 | PC8 | 4 | C |
40 | PC9 | 5 | G |
41 | PA8 | 6 | DIG4 |
42 | PA9 | 9 | DIG2 |
43 | PA10 | 8 | DIG3 |
44 | PA11 | 7 | B |
Если упорядочить соединения по именам сегментов индикатора, получим:
Индикатор | Микроконтроллер |
---|---|
A | PB13 |
B | PA11 |
C | PC8 |
D | PC6 |
E | PB15 |
F | PB14 |
G | PC9 |
DP | PC7 |
DIG1 | PB12 |
DIG2 | PA9 |
DIG3 | PA10 |
DIG4 | PA8 |
Такое подключение несколько усложняет программу, но это более предпочтительный вариант, чем простая программа и сложная разводка. По меньшей мере, это удешевляет устройство в целом.
Это общий подход - если какая то проблема может быть решена программно, а не аппаратно, то её и решают программно.