Учебный курс AVR. Таймер - счетчик Т0. Режим CTC. Ч2
Следующий режим работы таймера Т0 - это режим CTC (Clear Timer on Compare) или "сброс при совпадении". Таймер в этом режиме работает следующим образом.
При инициализации таймера мы очищаем счетный регистр TCNT0, а в регистр сравнения OCR0 загружаем число. Затем устанавливаем режим СТС и требуемый коэффициент предделителя.
Таймер начинает работу. По каждому импульсу тактового сигнала счетный регистр увеличивает свое значение на единицу. Когда значение счетного регистра совпадет с регистром сравнения, установится флаг OCF0, счетный регистр сбросится и счет продолжится с нуля.
Eagle Cad. Создание компонента. Ч2
Рассмотрим создание более сложного библиотечного компонента, например, микросхемы 74HC00. Это логическая микросхема, состоящего из четырех элементов И-НЕ.
Стабилитрон
Стабилитрон - это специальный полупроводниковый диод, работающий в режиме пробоя и предназначенный для стабилизации напряжения. В зарубежной литературе стабилитрон называют диодом Зенера (Zener diode), по имени Кларенса Зенера, который открыл один из механизмов электрического пробоя. Вообще существует тунельный, лавинный и тепловой пробои. На первых двух стабилитроны работают, а от последнего они выходят из строя. Но о пробоях мы рассуждать не будем, нам нужно понять, что такое стабилитрон, каков принцип его работы и как его можно использовать.
Учебный курс AVR. Таймер - счетчик Т0. Режим Normal. Ч2
По сути, таймер микроконтроллера - это цифровой счетчик, только "навороченый". На вход счетчика подается тактовый сигнал, по каждому импульсу которого счетчик увеличивает свое значение. При возникновении событий - переполнение счетчика или совпадение его значения с заданным - генерируется запрос на прерывание.
Давайте разберем, как пользоваться таймером Т0 в режиме Normal. В этом режиме таймер считает от какого-то начального значения счетного регистра до максимально возможного (до 255 или 0xFF). Когда таймер Т0 досчитывает до максимума, то в следующий такт таймера возникает переполнение счетного регистра TCNT0 - он обнуляется и устанавливается флаг TOV0. Если в программе разрешены прерывания глобально (флаг I регистра SREG) и прерывание таймера Т0 по переполнению (флаг TOIE0 регистра TIMSK), то микроконтроллер вызовет соответствующий обработчик. Если значение счетного регистра совпадет с регистром сравнения OCR0, то установится флаг OCF0 и при разрешенном прерывании по событию совпадение, запустится его обработчик.
Управление FT232RL с компьютера
Микросхема FT232RL имеет интересный режим работы - bit-bang mode. В этом режиме восемь выводов микросхемы превращаются в 8-ми разрядный порт общего назначения. Используя библиотеку фирмы ftdi, можно управлять этим портом с компьютера - читать и записывать в него данные. Также можно управлять в режиме бит банга выводами CBUS, но для этого нужно разрешать данный режим работы в EEPROM`e.
Как выяснилось на практике, управлять выводами FT232RL совсем не сложно. Я научился этому буквально за полчаса, хотя совсем не занимаюсь программированием для компа. В этом посте я расскажу о полученном опыте.