Открыть Электронные книги
Категории
Открыть Аудиокниги
Категории
Открыть Журналы
Категории
Открыть Документы
Категории
Особенности программирования
однокристальной ВМ х51
на языке Си
Учебное пособие
по курсу «Микропроцессорные системы»
Москва, 2012
УДК 004.438 (075.8)
ББК 31.294.9***
А19
Аверченков О. Е.
А19 Особенности программирования однокристалльной ВМ х51
на языке Си: учебное пособие по курсу «Микропроцессорные
системы». – М.: ДМК Пресс, 2012. – 110 с.
ISBN 978-5-94074-***
В данном пособии описываются основные особенности програм-
мирования на языке Си применительно к однокристальной ВМ
(ОВМ) семейства х51. Основное внимание уделено базовым сведе-
ниям о типах данных для 8-битной ОВМ и ее внутренних узлов.
Приведены примеры типовых преобразований и процедур, которые
могут быть использованы при курсовом проектировании.
Все права защищены. Любая часть этой книги не может быть воспроиз-
ведена в какой бы то ни было форме и какими бы то ни было средствами без
письменного разрешения владельцев авторских прав.
Материал, изложенный в данной книге, многократно проверен. Но, по-
скольку вероятность технических ошибок все равно существует, издательство
не может гарантировать абсолютную точность и правильность приводимых
сведений. В связи с этим издательство не несет ответственности за возможные
ошибки, связанные с использованием книги.
Введение ......................................................................................................................... 8
Заключение ...............................................................................................................107
Литература .................................................................................................................109
Введение
Сравнительно большие объемы внутренней памяти для хранения
команд в современных однокристальных вычислительных машинах
(ОВМ) позволяют перейти к созданию программ на языках высоко-
го уровня, бинарные файлы которых не столь компактны, как при
использовании ассемблера. Наибольшее распространение для про-
граммирования ОВМ получил язык Си, который из-за множества
«мелких» возможностей иногда в шутку называют промежуточным
между ассемблером и «настоящими» языками высокого уровня.
Однако программирование ОВМ ориентировано не столько на
вычислительные задачи и обслуживание стандартных устройств
ввода-вывода, как в компьютере, сколько на управление внутрен-
ней периферией ОВМ с целью обслуживания различных внешних
событий и объектов. Поэтому без знания внутреннего устройства
ОВМ и ее особенностей, хотя бы в виде перечня спецрегистров и
их форматов (так называемой упрощенной программной модели),
в большинстве случаев не обойтись.
Язык Си позволяет сравнительно легко переходить к программи-
рованию других семейств ОВМ. Чтобы основную часть программы
можно было использовать для иного процессора, желательно все
операции, связанные с уникальной аппаратурой ОВМ, выделять
в отдельные процедуры. Тогда при переходе на другое семейство бы-
вает достаточно в большинстве случаев изменить только эти фраг-
менты (учитывающие особенности внутренней аппаратуры), остав-
ляя организационную и управляющую части программы прежними.
Данное пособие не является учебником по языку Си, в нем при-
ведены только некоторые особенности программ, учитывающие
ограниченность внутренних ресурсов ОВМ х51. Поэтому изложен-
ный материал основан только на базовых средствах языка Си и его
основных операторах [1] с учетом правил компилятора SDCC (ANSI
стандарт, с открытыми источниками, [2]).
ГЛАВА СТРАНИЦА
ОСОБЕННОСТИ
1 ПРОГРАММ
НА ЯЗЫКЕ СИ
2 Примеры типовых преобразований
27
и процедур
3 Управление битами портов 47
4 Управление системой прерываний ОВМ
70
х51
5 Управление таймерами 77
6 Управление последовательным портом 92
10 ОСОБЕННОСТИ ПРОГРАММ НА ЯЗЫКЕ СИ
Рис. 1.1