- •1. Операторы выбора языка c51: if и switch.
- •2. Операторы цикла языка с51: while, do…while, for.
- •3. Операторы перехода языка с51: break, continue, goto.
- •4. Программирование параллельным вводом/выводом в с51: операторы управления портами и отдельными разрядами портов. Примеры программ управления светодиодами и опроса контактов переключателей.
- •/* Программа управления светодиодом vd1 от кнопки sb1 */
- •5. Программирование таймеров микроконтроллеров mcs-51 на языке с51.
- •6. Программирование системы прерываний микроконтроллеров mcs-51 на языке с51.
- •7. Программирование последовательного ввода/вывода микроконтроллеров mcs-51 на языке с51.
- •8. Микроконтроллеры pic18: общая характеристика, особенности архитектуры и системы команд.
- •9. Язык с18 для pic-микроконтроллеров: структура программы, директивы препроцессора, ключевые слова.
- •10. Представление информации в языке с18: типы данных, переменные и константы.
- •11. Операции арифметические, поразрядные логические, логические и отношения в языке с18.
- •12. Операторы управления вычислительным процессом в языке с18.
- •13. Функции в языке с18: определение функции, прототип, библиотечные функции.
- •14. Функции формирования временных задержек в языке с18.
- •15. Программирование на языке с18 типовых функций управления и контроля: вывод информации в порт, управление отдельными разрядами портов, опрос переключателя.
- •16. Подключение жк-дисплея к pic-микроконтроллеру: структура жк-дисплея, функции управления дисплеем.
- •17. Аналого-цифровое преобразование в pic-микроконтроллерах: структура внутреннего ацп, функции управления ацп на языке с18.
- •18. Реализация широтно-импульсной модуляции в pic-микроконтроллерах: параметры шим, функции управления шим на языке с18.
- •Void ClosePwm1(void);
- •Void OpenPwm1(char period);
- •Void SetDcpwm1(unsigned int dutycycle);
- •19. Прерывания в pic18: источники прерываний, управляющие биты, программирование прерываний на языке с18.
- •20. Динамическое управление линейным дисплеем на семисегментных индикаторах в pic-микроконтроллерах.
- •21. Интерфейсы мпс: понятие и характеристики. Стандартные интерфейсы мпс.
- •22. Внешние интерфейсы мпс: основные параметры, последовательные и параллельные, синхронные и асинхронные, способы соединения устройств.
- •23. Интерфейс rs-232: назначение, основные технические характеристики, принципы передачи данных.
- •24. Интерфейс ирпс: назначение, основные технические характеристики, принципы передачи данных.
- •25. Интерфейсы rs-422 и rs-485: назначение, основные технические характеристики, принципы передачи данных.
- •26. Интерфейс spi: назначение, основные технические характеристики, принципы передачи данных.
- •27. Интерфейс i2c: назначение, основные технические характеристики, принципы передачи
- •28. Интерфейс can: общее описание и основные параметры, виды и форматы сообщений в can.
- •29. Интерфейс can: арбитраж, обнаружение и обработка ошибок, скорость передачи и длина сети.
10. Представление информации в языке с18: типы данных, переменные и константы.
Простые типы данных.В Си можно использовать различные типы данных для представления хранимой и обрабатываемой информации. ВC18 используются две разновидности типов: целые и с плавающей точкой. Данные каждого типа занимают определенное количество байт памяти.
Основные целые типы данных:
char– однобайтное;int– двухбайтное;long– четырехбайтное.
По умолчанию целые типы являются данными со знаком. При использовании их без знака, они записываются как unsignedchar,unsignedint,unsignedlong.
Данные каждого типа могут принимать значения в известном диапазоне. Например, charкак однобайтное число со знаком имеет диапазон от -128 до +127. Беззнаковоеunsignedcharимеет диапазон от 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” |
Переменные. Чтобы выделить память для данных конкретного типа, нужно определить (объявить) переменную. Сначала указывается тип данных, а затем имя переменной, как указано ниже:
inti; // Определение целой двухбайтовой переменнойiсо знаком
unsignedcharcounter= 0; //Определение и инициализация однобайтной
// беззнаковой переменной counter
Определяя переменную, можно присвоить ей начальное значение. Можно также определить несколько переменных одного типа, перечисляя их через запятую.
Имена переменных могут состоять из букв латинского алфавита, цифр и символа подчеркивания ( _ ), который считается буквой. Первый символ имени обязательно должен быть буквой или символом подчеркивания. Строчные и заглавные буквы различаются, т. е. Beta,betaиBETA– это различные имена. Число символов в имени не ограничено, но значимыми (для компилятора) являются только первые 32 символа. Остальные символы имени игнорируются. Для удобства чтения программ рекомендуется в качестве имен переменных использовать только строчные буквы. Символ подчеркивания обычно используется для разделения слов, чтобы сделать имя более понятным, например,city_taxвместоcitytax.
В качестве имен переменных и констант нельзя использовать зарезервированные в Си слова (ключевые слова), например: if,else,for,const,charи т.д.