Следующий режим работы таймера Т0 - это режим CTC (Clear Timer on Compare) или "сброс при совпадении". Таймер в этом режиме работает следующим образом. 

При инициализации таймера мы очищаем счетный регистр TCNT0, а в регистр сравнения OCR0 загружаем число. Затем устанавливаем режим СТС и требуемый коэффициент предделителя. 

Таймер начинает работу. По каждому импульсу тактового сигнала счетный регистр увеличивает свое значение на единицу. Когда значение счетного регистра совпадет с регистром сравнения, установится флаг OCF0, счетный регистр сбросится и счет продолжится с нуля.

Tagged under

Рассмотрим создание более сложного библиотечного компонента, например, микросхемы 74HC00. Это логическая микросхема, состоящего из четырех элементов И-НЕ.

   Стабилитрон - это специальный полупроводниковый диод, работающий в режиме пробоя и предназначенный для стабилизации напряжения. В зарубежной литературе стабилитрон называют диодом Зенера (Zener diode), по имени Кларенса Зенера, который открыл один из механизмов электрического пробоя. Вообще существует тунельный, лавинный и тепловой пробои. На первых двух стабилитроны работают, а от последнего они выходят из строя. Но о пробоях мы рассуждать не будем, нам нужно понять, что такое стабилитрон, каков принцип его работы и как его можно использовать. 

По сути, таймер микроконтроллера -  это цифровой счетчик, только "навороченый". На вход счетчика подается тактовый сигнал, по каждому импульсу которого счетчик увеличивает свое значение. При возникновении событий - переполнение счетчика или совпадение его значения с заданным - генерируется запрос на прерывание. 

Давайте разберем, как пользоваться таймером Т0 в режиме Normal. В этом режиме таймер считает от какого-то начального значения счетного регистра до максимально возможного (до 255 или 0xFF). Когда таймер Т0 досчитывает до максимума, то в следующий такт таймера возникает переполнение счетного регистра TCNT0 - он обнуляется и устанавливается флаг TOV0. Если в программе разрешены прерывания глобально (флаг I регистра SREG) и прерывание таймера Т0 по переполнению (флаг TOIE0 регистра TIMSK), то микроконтроллер вызовет соответствующий обработчик. Если значение счетного регистра совпадет с регистром сравнения OCR0, то установится флаг OCF0 и при разрешенном прерывании по событию совпадение, запустится его обработчик.

Tagged under

Микросхема FT232RL имеет интересный режим работы - bit-bang mode. В этом режиме восемь выводов микросхемы превращаются в 8-ми разрядный порт общего назначения. Используя библиотеку фирмы ftdi, можно управлять этим портом с компьютера - читать и записывать в него данные. Также можно управлять в режиме бит банга выводами CBUS, но для этого нужно разрешать данный режим работы в EEPROM`e.

Как выяснилось на практике, управлять выводами FT232RL совсем не сложно. Я научился этому буквально за полчаса, хотя совсем не занимаюсь программированием для компа. В этом посте я расскажу о полученном опыте.

Страница 7 из 37