Язык программирования Си для AVR микроконтроллеров

Страницы работы

Фрагмент текста работы

Министерство образования и науки Украины

Национальный университет кораблестроения

имени адмирала Макарова

Кафедра теоретической электротехники и электронных систем

 Курсовой проект

ПО КУРСУ

«ЦИФРОВАЯ СХЕМОТЕХНИКА»

СПЕЦИАЛЬНОСТИ 8.090803

«ЭЛЕКТРОННЫЕ СИСТЕМЫ»

Язык программирования Си для AVR микроконтроллеров

Выполнил:

студент группы 3321

Пахомов Н.Н.

Руководитель:

проф. Рябенький В.М.

Проект допущен к защите

“_____”  _____________2005 г.

Николаев 2005


Содержание

Введение. 3

Компилятор языка Си CodeVisionAVR.. 4

Общие сведения. 4

Запуск. 5

Синтаксис языка. 8

Комментарии в программе. 8

Резервированные слова. 8

Типы данных (идентификаторы). 9

Размеры данных. 9

Константы. 9

Переменные (объявления). 10

Задание адреса переменных в области SRAM памяти. 11

Переменные типа бит. 12

Организация SRAM-памяти. 12

Регистровые переменные. 13

Доступ к регистрам ввода-вывода. 13

Математические операции. 16

Функции. 16

Использование ассемблера в Си программах. 17

Заголовочные файлы. 19

Описание заголовочных файлов. 20

Примеры программ.. 26

Заключение. 33

Список использованной литературы.. 34


 Введение

Исторически, первым языком программирования был машинный язык. Он был очень неудобным для пользователя, так как оперировал машинными кодами в двоичном или шестнадцатеричном представлении. В дальнейшем, при усовершенствовании аппаратной части появился другой, более ориентированный для  работы с пользователем язык ассемблер. Для написания программ в ассемблере используются мнемонические коды машинного языка. Ассемблер является довольно неудобным с точки зрения читабельности при  написании больших программ, для отладки и поиска ошибок. Однако ассемблер активно используется для написания программ под микроконтроллеры в связи с компактностью кода и скоростью его выполнения. Как в программировании для ПК так и при для программирования контроллеров, на замену ассемблеру приходят языки программирования высокого уровня. В настоящее время существует довольно большое число компиляторов для работы с контроллерами, реализующие различные языки программирования, такие как Basic, Pascal, C. Использование языка C является перспективным и очень удобным для пользователя. Преимущества С по сравнению с ассемблером: лёгкость изучения языка для начинающих, простота написания программ, лёгкость чтения, структурированность кода, возможность написания собственных библиотек простота отладки и поиска ошибок. Недостатки: возможная некоторая не оптимальность кода.

Существует большое число компиляторов языка Си для AVR микроконтроллеров, которые разрабатывались для работы с языками высокого уровня. Некоторые из них являются платными, другие бесплатными или условно бесплатными. Основным критерием при выборе того или иного компилятора, является наличие дополнительных заголовочных файлов для облегчения работы с периферией и внешними устройствами и условия распространения.


Компилятор языка Си CodeVisionAVR

Общие сведения

CodeVision представляет собой кросс-компилятор языка Си, графическую оболочку и автоматический генератор программ, ориентированные на работу с семейством микроконтроллеров AVR фирмы Atmel. Внешний вид окна программы показан на рис. 4.5.

Программа представляет собой 32-разрядное приложение для работы в операционных системах Windows 95, 98, NT4.0 и 2000.

Кросс-компилятор включает в себя почти все элементы, соответствующие стандарту ANSI. Также в компилятор включены дополнительные возможности, ориентированные на использование архитектурных особенностей микроконтроллеров этого семейства и встроенных систем в целом.

Объектные файлы COFF позволяют осуществлять отладку программ с просмотром содержимого переменных. Для этого следует применять свободно распространяемый фирмой Atmel (www.atmel.com) отладчик AVR Studio debugger версии 3.5 или более поздний.

Для отладки систем, использующих последовательную передачу данных, в графической оболочке имеется встроенный Terminal.

Кроме стандартных библиотек языка С, компилятор имеет библиотеки для работы с:

·  ЖКИ индикаторами со встроенным контроллером;

·  шиной I2C фирмы Philips;

·  датчиком температуры LM75 фирмы National Semiconductor;

·  часами реального времени PCF8563 и PC8583 фирмы Philips,
DS1302 и DS1307 фирмы Dallas Semiconductor;

·  однопроводным протоколом фирмы Dallas Semiconductor;

·  датчиками температуры DS1820 и DS1822 фирмы Dallas Semiconductor;

·  датчиком температурь/термостатом DS1621 фирмы Dallas Semiconductor

Похожие материалы

Информация о работе