Академический Документы
Профессиональный Документы
Культура Документы
Особенности программирования
однокристальной ВМ х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