Белов, А.В. Микроконтроллеры AVR: от азов программирования до создания практических устройств
170 Микроконтроллеры AVR от азов программирования... троллеров. Языки высокого уровня отличаются тем, что они гораздо больше ориентированы на человека. Большинство команд языков высо кого уровня не связаны с конкретными командами микроконтроллера. Такие языки оперируют уже не с байтами, а с привычными нам деся тичными числами, а также с переменными, константами и другими эле ментами, знакомыми нам из математики. Константы и переменные могут принимать привычные для нас значения. Например, положительные, отрицательные значения, вещественные значения (десятичные дроби) и т. п. Со всеми переменными и констан тами можно выполнять знакомые нам арифметические операции и даже алгебраические функции. Транслятор с языка высокого уровня производит более сложные пре образования, чем транслятор с Ассемблера. Но в результате тоже полу чается программа в машинных кодах. При этом транслятор использует все ресурсы микроконтроллера по своему усмотрению. В каких именно регистрах или ячейках памяти она будет хранить значения описанных вами переменных, по каким алгоритмам она будет вычислять математи ческие функции, программист обычно не задумывается. Программа-транслятор выбирает все это сама. Поэтому задача эффек тивности алгоритма полученной в результате трансляции программы целиком ложится на программу-транслятор. В целом, программы, напи санные на языках высокого уровня, занимают в памяти микроконтрол лера объем на 30 — 40 % больший, чем аналогичные программы, написан ные на языке Ассемблер. Однако если микроконтроллер имеет достаточно памяти и запас по быстродействию, то это увеличение программы — не проблема. Преимуществом же языков высокого уровня является существенное ускорение процесса разработки программы. Из всех языков высокого уровня самым эффективным, пожалуй, является язык СИ. Поэтому для иллюстрации языков высокого уровня мы выберем именно его. Изучение приемов программирования мы будем осуществлять на ряде конкретных примеров: ♦ каждый пример будет начинаться с постановки задачи; ♦ затем мы научимся выбирать схемное решение; ♦ лишь после этого будут представлены примеры программ. Для каждой задачи в книге приводятся два варианта программы. Одна на языке Ассемблер, вторая на языке СИ. В результате вы сможете не только научиться азам программирования на двух языках, но и понять все достоинства и недостатки каждого из языков программирования. Все примеры, приведенные в моей книге, вы можете попробовать вживую на вашем компьютере. Причем текст программ не обязательно
Made with FlippingBook
RkJQdWJsaXNoZXIy MTExODQxMg==