Для IP 3.138.179.119 доступно:
Главная страница

Новости сайта

Об авторе

Схемы

Статьи

Микроэлектроника

Микросхемы

Linux

Гостевая книга

Письмо админу

Реклама


Знакомство с микроконтроллерами AVR.

Как и всегда, сначала короткое, а может быть и не очень, введение, о чём эта статья. На различных сайтах в интернете полно статей по 8-ми разрядным микроконтроллерам AVR и PIC, и решил я поближе узнать о них. До этого я уже изучил архитектуру микроконтроллера 80С51 (и всего семейства) и его язык ассемблера, поэтому общие принципы мне были ясны. Начал изучение с коротких статей, в результате чего контроллеры PIC мне стали не интересны, а AVR очень понравились. И я их начал изучать.

Первое, что меня впечатлило, это возможность программировать контроллер лишь при помощи простого кабеля, подключенного к порту компьютера. То есть необходимость покупать программатор сразу отпадала. Достаточно спаять кабель и скачать специальную программу. Вскоре мне стало известно, что многие контроллеры имеют такую функцию. Даже у AT89S51 семейства x51 и у PIC она есть.

Далее мне понравилось, что у AVR есть 32 регистра-аккумулятора. Сравните с количеством аккумуляторов у x51. Это намного упрощает написание программы. Нет необходимости использовать один и тот же регистр во многих процедурах, а потом, в процессе отладки, искать, какая же (проце)дура затирает нужное значение регистра???
О быстродействиии. AVR выполняет большую часть операций за один машинный цикл. x51 тоже выполняет команды за 1-2 цикла, но он выполняет деление частоты кварца на 12, что в 12 раз удлинняет машинный цикл.
Согласен, что если мы пишем данные на LCD-модуль, то всё равно нужно выжидать паузы, никуда от этого не денешься. Ну а если нужно выполнять математические расчёты, то AVR делает это намного быстрее.

Многих пугает изучение нового типа микроконтроллеров. Ведь приходится изучать новую архитектуру, новый язык ассемблера. Мнемонический язык x51 и AVR очень сильно отличатеся друг от друга. Но действие-то одно. Достаточно только найти команду и её описание в документации. Управление внутренними устройствами, например UART, осуществляется почти одинаково во всех микроконтроллерах. А регистры управления и их описание всегда есть в документации.

Есть ещё одна вещь. У каждого из нас есть свой набор процедур, которые мы просто копируем в свои новые программы. При переходе на новый контроллёр возникает необходимость писать их заново. Я считаю, что этого тоже бояться не стоит, ведь легко можно написать процедуру на новом языке, держа перед глазами уже готовую для других контроллеров.
Этот пункт касается тех, кто пишет на языке ассемблера. А язык Си для всех контроллеров одинаков. Нужно лишь учитывать различия отдельных битов в регистрах управления и их адреса.
Так что не стоит бояться нового. Потому что всё построено по тем же принципам.

Чтобы научиться программировать контроллер AT90S2313, я собрал небольшую схему из контроллера, LCD-модуля и клавиатуры 4х4. Но об этом уже в следующей статье. А пока пишите отзывы и ваши мысли о том, что сказано выше.

К списку статей

ilus

Copyright. 2002-2024 Автор - Deryabin Ilya