Здравствуйте Анатолий.
Команды и директивы
Оператор «LCDRead»
Пример 2:
В начале программы, в первой строке дисплея отображается надпись "---- Test 1 2 3 ====".…... Движущаяся точка-маркер указывает на текушее знакоместо (пропущена запятая) значение которого считывается из ячейки ОЗУ графического дисплея (XPos).
Листинг программы lcdread01.bas
XTAL = 4 | ' Установить частоту генераторо равной 4 МГц |
Листинг программы lcdread02.bas
' Считать и отобразить текстовую информацию их верхней строки ЖКИ Toshiba T6963
Наверное имелось ввиду: «ИЗ»
Оператор «LCDWrite»
Листинг программы lcdwrite02.bas
XTAL = 4 | >' Установить частоту генератора равной 4 МГц |
Лишний знак «>»
Оператор «LData»
Команда LData сохраняет информацию в области основной памяти, предназначенной для хранения самих программ, когда она используется с микроконтроллерами имеющими 14-разрядные ядра, и во flash-память при использовании микроконтроллеров с 16-разрядными ядрами.
Не совсем понятен смысл этого предложения.
Пример 2
Print At 4,1, "FLT1 = ", Dec FLT1 | ' Отобразить на ЖКИ десятичное значение DWD1 |
Должно:
Print At 4,1, "FLT1 = ", Dec FLT1 | ' Отобразить на ЖКИ десятичное значение FLT1 |
Пример 3
Device = 16F887 | ' Использовать микроконтроллер с 14-битным ядром |
А описываете 16F877
DelayMS 2000 | ' Пауза 2 сек чтобы замедлить проыесс |
Пример 4
DelayMS 2000 | ' Пауза 2 сек чтобы замедлить проыесс |
Таблицы LData должны быть помещены в конце программы Bbasic. Если таблица LData будет помещена в начале программы, то перед LData нужно вставить команду GotoLabel чтобы основная программа смогла перешагнуть таблицу LData, например:
Лишняя «В» в «Bbasic» и отсутствует пробел между Goto и Label - «GotoLabel».
В микроконтроллерах в 16-разрядными ядрами, …. ячейки памяти. Эта особенность ……для микроконтроллера с 16-разрядным ядром.
Отсутствует пробел после «точки»
Как показывает практика, работа оператора LData в микроконтроллерах с 16-разрядными ядрами не согласуется с этими утвержениями.
Поиск авторов ответа на эту проблему привел к тому…… вопросам посетителей сейта, воз и поныне там.
Указатель Byte заставит значения занимать лишь …... Значения выше 255 будут усечены до младшего байт.
Пропущена буква «А»
Если все значения в таблице LData должны занимать по одинаковому количество байт, то можно использовать следующую форму записи оператора CData:
CData - ????????????????????
Пример 6
Include "PROTON_4.INC" | ' Подключить внешний файл с настройками по умолчанию |
Dim P10 As DWord | ' Создать пременную P10 типа DWord |
Dim CNT As Byte | ' Создать пременную CNT типа Byte |
Dim J As Byte | ' Создать пременную JAS типа Byte |
16F4877 – Не понятно, какой именно МК используется…. J (Шутка…)
main: | ' Метка начала глдавной программы |
Stop | ' Остановить программу если она несанкционированно |
'Подпрограмма конвертации |
' Преобразовать значения DWORD в строковый массив |
' Преобразовать значение и разместиь его в переменной VALUE1 |
LData As Dword , , 1 10000, 1000, 100, 10 |
' Таблица CData отформатирована для сохранения всех её элементов как 32-битных значений. |
Пример 7
'Объявление переменных | |
Dim ADDRESS As Word | ' Создать пременную ADDRESS типа Word |
Dim LOOP As Word | ' Создать пременную LOOP типа Word |
Dim DATA_BYTE As Byte | ' Создать пременную DATA_BYTE типа Byte |
DelayMS 2000 | ' Пауза2 сек чтобы замедлить процесс |
Поставить пробел между «Пауза» и «2»
Stop | ' Остановить программу если она несанкционированно |
'Таблица данных CData-
ADDR_TABLE: | ' Метка начала первой таблицы в которой хранятся адреса двух |
Оператор «LData»
Анатолий, есть вопрос по рисункам, например: «Рис. 5. Схема действующeй модели ldata6.DSN», а на рис. 5 используется программа «EDATA3.HEX».
Если на это не обращать внимание, скажите, ПЛЗ. Пока примеры обсуждать не буду «*.BAS». После всех замечаний по книге, буду разбираться с реальными примерами. Ошибки (скорее всего опечатки) и там есть…
На сегодня все…
С уважением, Николай.
to be continued …


