Команды и директивы компилятора PROTON

Print

Синтаксис

Print Item { , Item... }

Команда Print выводит текстовое сообщение или графическую информацию на экран ЖКИ.

Компилятор PROTON рассчитан для работы с алфавитно-цифровыми ЖКИ, в которых используется контроллер Hitachi 44780 или их аналоги, а также с графическими ЖКИ, которые имеют встроенные контроллеры Samsung KS0108 либо Toshiba T6963.

Параметр Item - может быть константой, переменной, выражением, модификатором, или списком строковых переменных.

В этой команде могут использоваться следующие модификаторы:

Числа после модификаторов BIN, Dec, и HEX являются дополнительными. Они указывают на то, сколько знаков необходимо выводить на экран. Если они будут опущены, то на экран будут выведены все цифры значения.

Если должна быть показана переменная с плавающей запятой, то цифры после модификатора Dec определяют, сколько знаков остатка должно быть выведено, т.е. количество цифр после десятичной запятой.

С переменными определенными как Float, модификаторы BIN и HEX использоваться не могут.



Рис 1. В результате программа покажет значение 3.14.

Если цифра после модификатора Dec опущена, то после десятичной запятой будут показаны 3 знака.



Рис 2. В результате программа покажет значение 3.145.

Если цифра модификатора Dec больше, чем число значащих разрядов после запятой, то вместо них будут показаны нули.



Рис 3. В результате программа покажет значение 3.1456000 .

Использовать модификатор SDEC для значения, с плавающей запятой не требуется, поскольку модификатор Dec компилятора автоматически покажет в результате знак минус:



Рис 4. В результате программа покажет значение -3.145.

Внимание!    Модификаторы HEX или BIN не могут использоваться с значениями имеющими тип Float.

Модификатор At xpos, ypos своим начальным значением координат имеют - 1. Например, чтобы поместить текст "HELLO WORLD" в первой строке и первой позиции, программа должна быть записана следующим образом:

Рис. 5. Результат работы программы Пример 1.

Рис. 6. Результат работы программы Пример 2.

Если должна быть показана только часть целой переменной, то применив модификатор Dec, можно указать сколько знаков младших разрядов переменной должно быть отображено на ЖКИ. В этом случае цифры после модификатора Dec определяют сколько младших цифр будут выведены на ЖКИ.

Рис. 7. Результат работы программы Пример 3.

Для вывода значений переменных со знаком используются модификаторы SDEC{1..10}, SHEX{1..8}, SBIN{1..32}.

Рис. 8. Результат работы программы Пример 4.

Для вывода значений переменных со знаком и индификатором используются модификаторы ISDEC{1..10}, ISHEX{1..8}, ISBIN{1..32}.

Рис. 9. Результат работы программы Пример 5.

Модификатор CSTR может использоваться вместе с командой Cdata. В свою очередь команда Cdata используется для того, чтобы создать и сохранить последовательность из знаков:

Эта строка программы создаст, во флэш-памяти по адресу STRING1, последовательность из ASCII кодов, которая представляет собой текст "HELLO WORLD". Необходимо отметить присутствие признака конца последовательности ASCII кодов, это символ - 0.

Для того чтобы вывести на экран эту последовательность знаков, могла бы использоваться следующая структура команды:

Метка, которая указывает на адрес, по которому располагается список значений Cdata, теперь становится названием последовательности. В большой программе с большим форматированием текста, этот тип структуры может сэкономить сотни байтов ценного объема памяти программ.

Попробуйте эти маленькие программы, и Вы увидите, что использование модификатора CSTR сэкономит несколько байтов программы:

Сначала стандартный способ отобразить текст:

Теперь используя модификатор CSTR:

Снова, отметим признаки конца последовательности ASCII текста в командах Cdata. Без них, микроконтроллер продолжал бы передавать данные зацикливаясь.

Рис. 10. Результат работы программы использующей модификатор CSTR

Модификатор STR используется для передачи последовательности переменных байтового типа из байтового массива. Последовательность -это ряд значений, которые упорядочены или к которым получен доступ в определенном порядке. Каждый из элементов множества должен иметь один и тот же размер. Последовательность 1,2,3 была бы сохранена в байтовом множестве, содержащем три элемента.

Приведем пример, который демонстрирует две последовательности, одну состоящую из 5 байтов и вторую, состоящую из 11 байтов:

Заметим, что в третьей снизу строке коде с модификатором STR использован дополнительный параметр - \n. Без него PIC-микроконтроллер продолжал бы посылать знаки, пока все 11 байтов множества не были бы переданы. Tак как необходимо передать только часть из 11 байтов массива то это делается с помощью дополнительного параметра \n.

Рис. 11. Результат работы программы использующей модификатор STR

Вышеупомянутый пример может быть также записан и так:

Этот более компактный код выполняет такую же функцию, что и предыдущий. Единственное различие между ними в том, что последовательность теперь создана с помощью модификатора STR.


Declare (определения) используемые с алфавитно-цифровыми ЖКИ и командой Print.

В Basic PROTON+IDE существуют шесть определений (Declare), которые предназначены для использования с алфавитно-цифровыми ЖКИ и командой Print:

Замечание

Ниже приведен список полезных команд управления:

Необходимо отметить что, если используется команда очистки экрана ЖКИ - Cls, то за ней должна последовать команда на небольшую задержку:

На рисунке 12 приведена действующая схема подключения по умолчанию алфавитно-цифрового модуля ЖКИ к микроконтроллеру 16F873A.

Щелкните, чтобы активировать этот элемент

Рис 12. Действующая схема подключения по умолчанию
четырёхстрочного алфавитно-цифрового модуля ЖКИ к микроконтроллеру 16F873A
По этой ссылке можно скачать архив действующей схемы и необходимые для ее работы ASM и HEX файлы.

Ниже преведен блок кода для работы с 4-строчным алфавитно-цифровым ЖКИ.

В схеме приведенной на рисунке 12 можно использовать любой алфавитно-цифровой ЖКИ который управляется встроенным контроллером от Hitachi 44780 или его аналогом. Вместо 4-строчных 20-ти разрядных ЖКИ можно также использовать 2-строчные, а также 1-строчные на 8, 12, 20, 24 и даже на 40 знакомест. В случае использования 2-строчных или 1-строчных дисплеев необходимо в строке кода "LCD_LINES= 4" вместо цифры 4 записать соответственно цифру 2 или цифру 1.