• формат pdf
  • размер 3.81 МБ
  • добавлен 13 января 2012 г.
Караваев А.С. Введение в программирование аппаратных средств на языке Си
Учебно-методическое пособие для студентов факультета нано - и биомедицинских технологий Саратовского госуниверситета. Саратов, 2009. 104 стр.
Учебно-методическое пособие оформлено в виде конспекта лекций. Пособие ориентировано на студентов и инженерно-технических работников, знакомых с языком Pascal и преследующих цель быстрого освоения основ популярного языка Си для программирования микропроцессоров ПК, устройств сопряжения, микроконтроллеров, цифровых сигнальных процессоров и периферийных устройств.
Основной упор сделан на вопросах, специфических для программирования аппаратных ресурсов: адресация памяти, ссылки и динамически создаваемые структуры данных, работа с отдельными битами и т.п. Затронуты некоторые теоретические вопросы взаимодействия АЛУ с периферийными устройствами, методика организации типичных структур данных (очередь, кольцевой буфер ввода, стек, связанный список). В последних лекциях дается краткое введение в язык ассемблера и затрагиваются вопросы совместного использования Си и ассемблера, в частности, встроенного ассемблера.
Учебное пособие снабжено значительным количеством иллюстраций, таблиц, схем и примеров программ.
Содержание конспекта лекций:
Введение. Простейшая программа на языке Си
Технические замечания. Языки программирования. Язык С. Рекомендуемая литература. Структура программы на языке С. Комментарии. Заголовочные файлы. Объявление переменных. Точка входа в программу, составной оператор. Вывод на экран текстовых сообщений. Общие замечания, хороший стиль программирования.
Интегрированная среда разработки Borland C++
3.1.

Типы данных. Интегрированная среда разработки Borland C++. Скалярные типы данных С. Преобразования типов. Массивы. Пользовательские типы данных. Структуры. Перечисления, объединения, битовые поля.
Основные операторы и конструкции языка.
Арифметические операторы. Операторы инкремента и декремента. Операторы условия if/else, switch. Логические операции. Циклы. Безусловный переход. Побитовые операторы. Доступ к отдельным битам.
Адресация памяти и использование указателей.
Двоичная система счисления, бит, байт, слово. Использование различных систем счисления.
Память ЭВМ. Адресация и распределение памяти ЭВМ. Использование ОП прикладной программой. Объявление и использование указателей. Разыменование указателей на структуры. Арифметические действия с указателями. Указатели и массивы.
Интерфейс с пользователем, работа с файлами, строки.
Форматированный вывод с помощью printf. Ввод с помощью scanf. Потоки. Работа с текстовыми файлами. Файлы произвольного доступа. Обработка символов на ЭВМ. Операции со строками в C.
Макросы, функции, библиотеки подпрограмм.
Подпрограммы, библиотеки подпрограмм. Объявление функции в C. Вызов функций. Константы и макросы, директива #define. Область видимости переменных. Прототипы функций, библиотеки, рекурсия. Создание процедур. Функция main. Заголовочные файлы, директива #include. Стандартная библиотека C. Указатели на функции. Передача указателя на функцию, вызов по ссылке.
Организация обмена и хранения данных.
Динамические массивы. Стек. Очередь, сбор данных в многозадачной ОС. Кольцевой буфер, линия задержки. Связанный список.
Введение в организацию работы ЭВМ и язык ассемблера.
Язык ассемблера. Структура ЭВМ. Регистры процессора. Сегментная адресация памяти. Подготовка и создание программы на языке ассемблера. Работа видеоадаптера ПЭВМ в текстовом режиме. Простейшая программа на языке ассемблера.
Программирование на нескольких языках, встроенный ассемблер.
Программа на ассемблере с сегментами данных и стека. Модели памяти. Программирование на нескольких языках. Использование встроенного ассемблера.
Приложение
Сокращения и аббревиатуры. Практические задания для самоконтроля.
Рекомендуемая литература.
Похожие разделы