
- •Тема 1. 7
- •Тема 2. 22
- •Тема 3. 41
- •Тема 4. 83
- •Основные временные параметры микропроцессора кр580ик80а
- •Программное обеспечение микропроцессора
- •Команды перемещения данных
- •Представлением операнда
- •Команды переходов ( альтернативные команды )
- •Специальные команды
- •Кодирование программы
- •Архитектура последовательного интерфейса кр580ик51
- •Управления от мп
- •Архитектура программируемого таймера кр580ви53
- •И микропроцессором
- •Архитектура бис параллельного интерфейса кр580вв55
- •Сигналами ппи
- •Архитектура контроллера прямого доступа к памяти кр580вт57
- •Архитектура бис программируемого контроллера прерываний кр580вн59
- •Генератор тактовыхимпульсов кр580гф24
- •Системный контроллер и шинный формирователь кр580вк28
- •Буферные регистры кр580ир82 и кр580ир83
- •Шинные формирователи кр580ва86 и кр580ва87
- •Пример подключения микросхемы кр580ви53 к микропроцессорной системе через контроллер прерываний кр580вн59
- •Пример подключения аналого-цифрового преобразователя.
- •Пример совместного использования микросхем комплекта для управления технологическим процессом.
- •Декларирование объектов
- •Структура программы
- •Константы
- •Арифметические операции
- •Преобразование типов операндов арифметических операций
- •Побитовые логические операции, операции над битами
- •Функции вывода информации
- •Стандартные математические функции
- •Условные операторы
- •If (условие ) оператор1;
- •If (условие1) оператор1;
- •Пример использования оператора if
- •Циклические операторы while и do–while
- •Пример использования оператора for
- •Строки, как одномерные массивы символов
- •Указатели и операции над адресами
- •Операция sizeof
- •Указатели на указатели
- •Пример динамического размещения одномерного массива в с
Декларирование объектов
Классификация данных
Краткие теоретические сведения
Линейные и разветвляющиеся вычислительные процессы
Литература
4.1.1. Микропроцессоры. В 3-х кн.: Учеб. для втузов/ Под редакцией Л.Н. Преснухина. М.: Высш. Шк., 1986.
4.1.2. Артвик Б.А. Сопряжение микро-ЭВМ с внешними устройствами: Пер. с англ./Под ред. П. В. Нестерова. М.:Машиностроение, 1983.
4.1.3. Микропроцессорные БИС и микро-ЭВМ. Построение и примене-ние/ Под ред. А. А. Васенкова.- М.: Советское радио, 1980.
4.1.4. Мик Дж., Брик Дж., Проектирование микропроцессорных устройств с разрядно-модульной организацией: Пер. с англ. – М.: Мир, 1984.
4.1.5. Клингман Э. Проектирование микропроцессорных систем: Пер. с англ./ Под ред. С. Д. Пашкеева.- М.: Мир, 1980.
4.1.6. Соботка З., Стары Я. Микропроцессорные системы. Пер. с чеш-ского./ Под ред. В. В. Сташина.- М.: Энергия, 1981.
4.1.7.Балашов Е. П., Пузанков Д. В. Микропроцессоры и микропро-цессорные системы.- М.: Радио и связь, 1981.
Язык С/C++ отражает возможности современных компьютеров. Программы на С/C++ отличаются компактностью и быстротой исполнения. Структура языка С/C++ побуждает программиста использовать в своей работе нисходящее программирование, структурное программирование, пошаговую разработку модулей.
Большинство трансляторов языка C/C++ - компиляторы. Система программирования языка включает препроцессор, компилятор, редактор связей, библиотекарь, редактор текста, отладчик и интегрированную управляющую среду.
Алфавит языка С/C++
В языке С/C++ используются наборы символов:
1) строчные (A,B,C,…….,Y,Z) и прописные (a,b,c,………,y,z) буквы латинского алфавита;
2) арабские цифры от 0 до 9;
3) специальные символы:
+ (плюс), - (минус), * (звездочка ), / (дробная черта), = (равно), > (больше), < ( меньше), ; (точка с запятой ), &(амперсанд ), [ ] (квадратные скобки), { } (фигурные скобки), ( ) (круглые скобки), _ (знак подчеркивания), (пробел ), .(точка), ,(запятая), : (двоеточие), # (номер), % (процент), ~(поразрядное отрицание), ?(знак вопроса), ! ( восклицательный знак), \ (обратный слэш).
В языке C применяются данные двух категорий: простые (скалярные) и сложные (составные) типы данных. К основным (базовым) типам данных относятся целый, вещественный и символьный типы. В свою очередь, данные целого типа могут быть короткими (short), длинными (long) и беззнаковыми (unsigned). Приведем размеры и возможные диапазоны базовых типов данных (таблица 1):
Таблица 1
Наименование типа |
Тип данных |
Объем памяти, байт |
Диапазон значений |
Символьный |
char |
|
-128…127 |
Целый |
int |
|
-32768…32767 |
Короткий |
Short |
2(1) |
-32768…32767(-128…127) |
Длинный |
Long |
|
-2147483648…2147483647 |
Беззнаковый целый |
Unsigned int |
|
0…65535 |
Беззнаковый длинный |
Unsigned long |
|
0…424967295 |
Вещественный |
Float |
|
3,14*10-38…3,14*1038 |
Вещественный с двойной точностью |
Double |
|
1,7 *10-308 1,7 *10308 |
Сложные типы данных подразделяются на массивы, структуры (struct), объединения или смеси (union), перечисления (enum). Более подробно они рассмотрены в других лабораторных работах данного практикума.
Все объекты (переменные, массивы и т.д.), с которыми работает программа в С, необходимо декларировать. При декларировании объекты можно инициализировать (задать начальные значения).
Например: int j=10, m=3, n;
float c=-1.3, l=-10.23, n;
При декларировании объектов в языке С используются их идентификаторы, которые могут включать цифры (0...9), латинские прописные (A...Z) и строчные (a...z) буквы, символ подчеркивания (_). Первый символ идентификатора не может быть цифрой. В языке С/C++ буквы нижнего регистра (a….z) отличаются от букв верхнего регистра (A ….Z), т.е. PI, Pi и pi – различные идентификаторы. Принято использовать в идентификаторах переменных строчные буквы, а в именованных константах – прописные.
Например: const float PI=3.1415926;
float pi=3.14;
Длина идентификатора определяется реализацией транслятора C и редактора связей (компоновщика). Современная тенденция - снятие ограничений длины идентификатора.
Разделители идентификаторов объектов:
- пробелы;
- символы табуляции, перевода строки и страницы;
- комментарии (играют роль пробелов).
Комментарий - любая последовательность символов, начинающаяся парой символов /* и заканчивающаяся парой символов */ или начинающаяся // и до конца текущей строки.