Тактовая частота и полубайт
Использовать для мигания светодиодов микроконтроллер – это какое-то неспортивное решение. Понятно, что с его помощь можно мигать чем угодно и как угодно. Потому я решила поиграться с отдельными микросхемами.
Тактовая частота процессора это один из основных параметров, определяющих скорость работы любого компьютера.
Здесь:
https://blog.bulki.me/stm32/hal/arduino/lcd/2017/12/20/Create-lib-for-stm32-LCD.html
… описано как информация загоняется в LCD –дисплей:
Своеобразным таймером, определяющим скорость происходящего, тут работает сигнал E. Только тогда он тикает, считывается информация, записанная в D4, D5, D6, D8. А по этим линиям (D4, D5, D6, D8) идут нули и единицы (выключено и включено) – единственное, что может передаваться с цифровой передаче данных. Комбинация нулей и единиц задаёт число «01» = 1, «10» = 2, «11» =3.
В случае передачи данных, конечно, всё синхронизировано и чтобы было быстрее, по всем линиям надо передавать быстрее.
Но есть компоненты, которые выполняют действия со скоростью, приходящих на них импульсов. Например, приход каждого следующего тика может добавлять единицу к хранимому значению.
Про микросхему NE555:
https://www.chipdip.ru/product/ne555p
… написано, что она – «Прецизионный таймер». Вот она-то и будет задавать тактовую частоту, с которой у меня будут выполняться действия.
Ещё мне потребовался счетчик (SN74HC393N):
https://www.chipdip.ru/product/sn74hc393n
… который на каждом тике-такте будет прибавлять единицу к хранимому в нем двоичному числу. В байте 8 бит, а счётчик у меня 4-битовый, т.е на полбайта.
При подключение таймера за основы была взята схема мультивибратора отсюда:
https://ledjournal.info/spravochnik/ne555-datasheet.html
Резисторы R1 и R2 позволяют задавать отдельно время импульса (t1) и паузы (t2). Вычисляется этот всё так (если не врут))) ::
У меня резистора R1 и R2 взяты по 33 кОм, а конденсатор C=10uF.
Схема из таймера и суммирующего счётчика получилась такая:
Выход таймера передаётся на один из входов микросхемы счётчика. Прицепленные к счётчику (на контакты Q0, Q1, Q2, Q3) светодиоды здесь не нарисованы, но это самые обычные светодиоды, ток на которых ограничен резисторами:
Чтобы все не было обмотано проводами лучше для соединения купить такие штуки:
https://amperkot.ru/spb/catalog/nabor_zhestkih_soedinitelnyih_dzhamperov__peremyichek_eicjl_dlya_maketnoy_platyi-23813249.html
Вот так эта штука мигает:
https://youtu.be/mjPj5zW6Uwo
… На каждом такте зажигается синий светодиод. А красные образуют двоичное число, их последовательность такая:
Двоичное
|
Число
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
1
|
0
|
0
|
1
|
0
|
2
|
0
|
0
|
1
|
1
|
3
|
0
|
1
|
0
|
0
|
4
|
0
|
1
|
0
|
1
|
5
|
0
|
1
|
1
|
0
|
6
|
0
|
1
|
1
|
1
|
7
|
1
|
0
|
0
|
0
|
8
|
1
|
0
|
0
|
1
|
9
|
1
|
0
|
1
|
0
|
10
|
1
|
0
|
1
|
1
|
11
|
1
|
1
|
0
|
0
|
12
|
1
|
1
|
0
|
1
|
13
|
1
|
1
|
1
|
0
|
14
|
1
|
1
|
1
|
1
|
15
|
Когда цикл заканчивается счётчик переполняется и обнуляется (светодиоды гаснут). Тикающий синий таймер пришлось прицепить через транзистор (иначе он слишком тускло горел). Интересно, что если ничего не прицепить на базу транзистора то он, видимо, слишком сильно открывается и ток не идёт на микросхему – счётчик.
|