
- •1.Программирование типовых функций управления: опрос двоичного датчика, ожидание события, дребезг, формирование временной задержки, вывод управляющих сигналов
- •Борьба с дребезгом контактов
- •2. Формирование временных задержек с помощью таймеров
- •3.Виды клавиатур
- •Кодирующие клавиатуры.
- •Табличный метод.
- •Метод сдвигов унитарного кода.
- •4.Подключение светодиодов и светод. Семисегментных индикаторов
- •5. Статический метод управления линейным дисплеем.
- •1. С использованием дешифраторов семисегментного кода.
- •2. С использованием программной перекодировки:
- •6. ДинамичесКий метод управления линейным дисплеем.
- •7. Виды ацп, схемы подключения и программы опроса ацп
- •Интерфейс быстрых ацп с мпс
- •Интерфейс медленных ацп с мпс
- •8) Микроконтроллеры pic18: общая характеристика, особенности архитектуры и системы команд.
- •9. Язык с18 для pic-микроконтроллеров: структура программы, директивы препроцессора, ключевые слова.
- •10. Представление информации в языке Си
- •11. Операции и выражения в Си
- •12.Операторы управления вычислительным процессом
- •13. Функции в языке с18: определение функции, прототип, библиотечные функции.
- •14. Функции формирования временных задержек в языке с18
- •15. Программирование на языке с18 типовых функций управления и контроля: вывод информации в порт, управление отдельными разрядами портов, опрос переключателя.
- •16. Подключение жк-дисплея к pic-микроконтроллеру: структура жк-дисплея, функции управления дисплеем.
- •2.2. Библиотека функций управления жк-дисплеем
- •17. Аналого-цифровое преобразование в pic-микроконтроллерах: структура внутреннего ацп, функции управления ацп на языке с18.
- •18. Реализация широтно-импульсной модуляции в pic-микроконтроллерах: параметры шим, функции управления шим на языке с18.
- •19. Прерывания в pic18: источники прерываний, управляющие биты, программирование прерываний на языке с18.
- •24) Интегрированная среда CodeVisionAvr: состав и назначение, структура программы на языке Си в cvavr, управление портами и отдельными битами.
- •25) Программирование в CodeVisionAvr типовых функций управления и контроля: вывод информации в порт, управление отдельными разрядами портов, опрос переключателя, реализация временных задержек.
- •26. Интерфейс can: общее описание и основные параметры, виды и форматы сообщений в can.
- •27. Интерфейс can: арбитраж, обнаружение и обработка ошибок, скорость передачи и длина сети.
- •28. Понятия: микроконтроллерная система (мкс) и микроконтроллерное устройство (мку). Основные этапы разработки мкс.
- •29. Разработка и автономная отладка аппаратных и программных средств микроконтроллерных систем.
- •30. Методы и средства совместной отладки аппаратных и программных средств микроконтроллерных систем.
10. Представление информации в языке Си
Простые типы данных. В Си можно использовать различные типы данных для представления хранимой и обрабатываемой информации. В MPLAB C18 используются две разновидности типов: целые и с плавающей точкой. Данные каждого типа занимают определенное количество байт памяти.
Основные целые типы данных:
char – однобайтное;
int – двухбайтное;
long – четырехбайтное.
По умолчанию целые типы являются данными со знаком. При использовании их без знака, они записываются как unsigned char, unsigned int, unsigned long.
Данные каждого типа могут принимать значения в известном диапазоне. Например, char как однобайтное число со знаком имеет диапазон от -128 до +127. Беззнаковое unsigned char имеет диапазон от 0 до 255.
Данные с плавающей точкой обозначаются как float и занимают в памяти 4 байта.
Основные объекты, с которыми работает программа на языке Си – переменные и константы
Константы. Термин константа, в общем случае, относится к значению, которое не может быть изменено в ходе выполнения программы. В языке Си константы могут быть строковыми, символьными, целыми и вещественными (с плавающей точкой). Табл. 1 описывает форматы, соответствующие каждому виду констант.
Таблица 1.
Константа |
Формат |
Примеры |
символьная |
Символ, заключенный в апострофы |
‘A’, ’!’ |
целая |
Десятичный: последовательность цифр, не начинающаяся с нуля Шестнадцатиричный: префикс 0x, за которым следуют шестнадцатиричные цифры Двоичный: префикс 0b, за которым следуют двоичные цифры |
23 , 69 , 789
0x57 , 0xA5
0b10101010 |
вещественная |
Десятичный: [цифры].[ цифры ] Экспоненциальный: [цифры]Е(е)+(-)[цифры ] |
1. , 2.54 5е6, 2.3Е-8, 5.67е-5 |
строковая |
“Символы” |
“hello” |
Переменные. Чтобы выделить память для данных конкретного типа, нужно определить (объявить) переменную. Сначала указывается тип данных, а затем имя переменной, как указано ниже:
int i; // Определение целой двухбайтовой переменной i со знаком
unsigned char counter = 0; //Определение и инициализация однобайтной
// беззнаковой переменной counter
Определяя переменную, можно присвоить ей начальное значение. Можно также определить несколько переменных одного типа, перечисляя их через запятую.
Имена переменных могут состоять из букв латинского алфавита, цифр и символа подчеркивания ( _ ), который считается буквой. Первый символ имени обязательно должен быть буквой или символом подчеркивания. Строчные и заглавные буквы различаются, т. е. Beta, beta и BETA – это различные имена. Число символов в имени не ограничено, но значимыми (для компилятора) являются только первые 32 символа. Остальные символы имени игнорируются. Для удобства чтения программ рекомендуется в качестве имен переменных использовать только строчные буквы. Символ подчеркивания обычно используется для разделения слов, чтобы сделать имя более понятным, например, city_tax вместо citytax.
В качестве имен переменных и констант нельзя использовать зарезервированные в Си слова (ключевые слова), например: if , else, for, const, char и т.д.