Главная страница

Справочник по программировани BASCOM-8051 (М.Л. Кулиш, 2001). Справочник по программированию bascom8051 Краснодар 2001


Скачать 6.61 Mb.
НазваниеСправочник по программированию bascom8051 Краснодар 2001
АнкорСправочник по программировани BASCOM-8051 (М.Л. Кулиш, 2001).pdf
Дата26.04.2017
Размер6.61 Mb.
Формат файлаpdf
Имя файлаСправочник по программировани BASCOM-8051 (М.Л. Кулиш, 2001).pdf
ТипСправочник
#5699
КатегорияПромышленность. Энергетика
страница1 из 25
  1   2   3   4   5   6   7   8   9   ...   25

М.Л.Кулиш
СПРАВОЧНИК ПО ПРОГРАММИРОВАНИЮ
BASCOM-8051
®
Краснодар 2001
®
Торговая марка «BASCOM-8051» принадлежит фирме MSC Electronics,
Нидерланды. (http:\www.mcselec.com)
Редакция 1.5 - 29.3.01

Содержание
Содержание разделов
Стр.
Короткий справочник по Bascom-8051 (перечень директив, операторов, функций)
1-1
Введение (о программе Bascom-8051)
2-1
Системные соглашения (принятые элементы языка)
3-1
Директивы, операторы и функции Bascom-8051 4-1
Правила оформления ассемблерных вставок в тексте программ для компилятора
«Bascom-8051»
5-1
Встроенный текстовый редактор
6-1
Распределение памяти при определении переменных, память программ и ограничения Bascom
7-1
Структура текста программы
8-1
Выбор и установка типа процессора
9-1
Установка параметров Bascom
10-1
Распределение ресурсов микроконтроллера
11-1
Начальная инициализация системы
12-1
Конфигурирование внешних устройств
13-1
Программирование прерываний
14-1
Проверка условий и изменение хода выполнения программы
15-1
Программирование вывода на индикатор
16-1
Программирование последовательного порта
17-1
Программирование аналоговых преобразователей
18-1
Программирование устройств c шиной Microwire
19-1
Программирование устройств I2C
20-1
Программирование таймеров
21-1
Программирование устройств с последовательным вводом-выводом
22-1
Вычисления и преобразования чисел
23-1
Преобразование строковых переменных
24-1
Применение логических функций
25-1
Организация циклов и систем реального времени
26-1
Программирование с использованием индексированных переменных Bascom
27-1
Программирование EEPROM AT89S82252 28-1
Стиль надежного программирования с помощью Bascom
29-1
Отладка программ Bascom
30-1
Ошибки и неприятности Bascom
31-1
Некоторые советы по созданию больших программ
32-1
Приложение A. Переменные Бейсика
A-1
Приложение B. Система команд микроконтроллера 8051
B-1
Приложение C. Коды команд MCS-51
C-1

===================================== Справочник по программированию «Bascom-8051» ==
1. Короткий справочник по Bascom-8051
Ниже одной строкой приведены все (или почти все) определения, поддерживаемые компилятором
Определения, представляющие собой список зарезервированных слов компилятора, сгруппированы по функциональному назначению в таблицах и расположены в алфавитном порядке. В последней колонке таблицы указана страница, на которой приведено более подробное описание данного определения.
Наименование
Действие, назначение
Стр.
Знаки соотношения и вычисления Bascom-8051
=
Приравнять, преобразовать, переписать 3-1,
3-2
+ - * / \
Арифметические операции 3-1,3-2
= < > <= >= <>
Операторы соотношения 3-2
“ ; : ,
Разделители операций и данных 3-1
Типы данных и переменных
BIT
Бит 3-1
BYTE
Байт (без знака) 3-1
CONST
Константа (все типы) 3-1,20
INTEGER
Двухбайтовая переменная со знаком 3-1
LONG
Четырехбайтовая переменная со знаком 3-1
SINGLE
Четырехбайтовая переменная с плавающей точкой 3-1
STRING
Символьная переменная (строка символов) 3-1
WORD
Двухбайтовая переменная без знака 3-1
Array(n)
Массив числовых переменных (индексированных) любого типа 3-1
Числа (константы), понимаемые компилятором Bascom-8051
10, 12345, -100
Целые десятичные положительные и отрицательные 3-1
&h00FF, &h10
Целые шестнадцатеричные (одно-, двух- и четырехбайтные) 3-1
&b01010101
Целые двоичные (одно-, двух- и четырехбайтные)
3-1
123.456, 0.12
Десятичные, задаваемые в формате с плавающей точкой 3-1
«String Data»
Строковая константа (до 254 символов) 3-1
Директивы компилятора Bascom-8051
$ASM
Начать ассемблерный блок 4-1
$BAUD = бод
Установить бодовую скорость системы 4-1
$CRYSTAL = Гц
Объявить частоту тактового генератора 4-1
$DEFAULT XRAM
Начать располагать переменные во внешней памяти 4-1
$END ASM
Закончить ассемблерный блок 4-1
$EXTERNAL
Указать используемые подпрограммы 4-1
$INCLUDE [файл]
Включить в процесс компиляции внешний файл 4-1
$IRAMSTART = адрес
Начать располагать во внутренней памяти с адреса 4-2
$LARGE
Установить большую модель памяти 4-2
$LCD = адрес
Обращаться по шине к ЖКИ-модулю по указанному адресу 4-2
$LIB
Указать имя библиотеки с подпрограммами на ассемблере 4-2
$MAP
Записывать в файл сообщений адреса начала кода каждой строки
4-2
$NOBREAK
Пропускать при компиляции команды останова (для отладчика) 4-2
$NOINIT
Не инициализировать микроконтроллер автоматически 4-3
$NOLCDINIT
Запретить инициализацию LCD
4-3
$NONAN
Заменяет вывод сообщения “NAN” на сообщение “0.0”
4-3
$NOSP
Не устанавливать стек автоматически 4-3
$OBJ
Вставить строчку объектного кода 4-3
$RAMSIZE = размер
Установить размер внешней памяти 4-3
$RAMSTART = адрес
Установить начальный адрес внешней памяти 4-3
$REGFILE=[файл]
Указать имя файла для определения используемых регистров 4-3
$ROMSTART = адрес
Установить начальный адрес памяти программы 4-3
=============================================================================
1-1

===================================== Справочник по программированию «Bascom-8051» ==
$SERIALINPUT = метка
Определить имя программы последовательного ввода 4-4
$SERIALOUTPUT = метка
Определить имя программы последовательного вывода 4-4
$SERIALINPUT2LCD
Определить направление ввода-вывода (из посл. порта в LCD)
4-4
$SIM
Исключить для отладчика циклы ожидания (при задержках) 4-4
Устройства и ресурсы, поддерживаемые системой Bascom-8051 (резервированные имена)
1WIRE
Однопроводная линия: порт подключения 4-4,4-7
COUNTER0, 1 и 2
Счетчики таймеров 0, 1 и 2 4-10
EEPROM
Перепрограммируемая память модели AT89S8252 4-11
DEBOUNCE
Параметр периодичности опроса порта 19,4-7
I2C: I2CDELAY
Параметр частоты синхронизации интерфейса I2C
4-7
LCD, LCDBUS, LCDPIN
LCD-модуль: тип (размер), шина(разрядность) и подключение 4-7
I2C: SDA, SCL
I2C интерфейс: порты подключения 4-8
Microwire:
DIN, DOUT, CS, CLOCK
Четырехпроводной последовательный интерфейс 4-8,4-28
SERVOS
Генератор управления севроприводами 4-8,4-34
SPI: DIN, DOUT, CS, CLK
SPI интерфейс: порты подключения 4-8
TIMER0, 1 и 2
Таймеры 0, 1 и 2 4-8,4-9
WATCHDOG
Будильник модели AT89S8252 4-9
INT0
Внешнее прерывание 0 4-13,4-33
INT1
Внешнее прерывание 0 4-13,4-33
PCA
Прерывание от массива счетчиков модели 8хС51FA 4-13,4-33
SERIAL
Прерывание от последовательного приемопередатчика 4-13,4-33
TIMER0
Прерывание таймера 0 4-13,4-33
TIMER1
Прерывание таймера 1 4-13,4-33
TIMER2
Прерывание таймера 2 4-13,4-33
SOUND
Генератор частоты звука
4-35
RC
Измерение временного интервала (АЦП с RC-цепочкой) 4-15
RC5
Приемник кода интерфейса RC5 4-16
Операторы Bascom-8051
.. ALIAS ..
Команда переименования переменных 4-5
BITWAIT bit Set(Reset)
Ждать установления (или сброса) бита 4-5
BREAK
Остановиться в отладчике 4-5
CALL имя
Вызвать подпрограмму (функцию) с именем 4-6
CASE n : действие
При значении n совершить действие 4-6
CASE IS : условие
При значении , удовлетворяющем условию, совершить действие 4-6
CLOSE ..
Закрыть устройство (канал) ввода или вывода 4-30
CONFIG устройство
Установить режим одного из устройств микроконтроллера 4-7 4-9
CONST
Определить имя константы 4-9
DATA
Объявить блок непосредственных данных в памяти команд 4-10
DEBOUNCE
Производить периодическую проверку состояния порта 4-11
DECLARE SUB
Объявить процедуру (функцию) 4-12
DEFBIT
Объявить имя битовой переменной 4-12
DEFBYTE
Объявить имя байтовой переменной 4-12
DEFINT
Объявить имя двухбайтовой переменной (со знаком) 4-12
DEFWORD
Объявить имя двухбайтовой переменной 4-12
DEFLCDCHAR
Определить изображение специального символа 4-12
DELAY
Короткая задержка 4-12
DIM .. AS ..
Определить размерность переменной или константы 4-13
DISABLE устройство
Запретить прерывание от устройства 4-13
DO ..
Определение начало простого цикла 4-13
.. ELSE ..
Определить действия при невыполнении условий
4-20
.. ELSEIF.. условий
Определить действия при невыполнении условий, но при выполнении других
4-20
ENABLE устройство
Разрешить прерывание от устройства
4-13
END
Закончить программу (остановиться)
4-14
.. END IF
Закончить операцию проверки и выполнения условий
4-20
=============================================================================
1-2

===================================== Справочник по программированию «Bascom-8051» ==
ERASE
Уничтожить переменную (освободить память)
4-14
EXIT ..
Выйти из цикла
4-14
For…To/Downto...Step...
Определение цикла с переменным параметром
4-14
GET
Взять данные из устройства (канала) ввода
4-30
GOSUB имя
Вызвать подпрограмму с именем
4-16
GOTO метка
Перейти на метку
4-16
.. LOOP
Замкнуть простой цикл
4-13
.. NEXT
К следующему значению в цикле с переменным параметром 4-14
IDLE
Выполнить останов процессора 4-14
IF ..
Начать проверять условия
4-20
INPUT
Ввести цифровое значение в десятичном виде
4-22
INPUTHEX
Ввести цифровое значение в шестнадцатеричном виде 4-22
INPUTBIN
Ввести двоичное число (без преобразования)
4-22
INKEY
Ввести значение символа из приемного буфера
4-23
LCD
Вывести десятичное значение на индикатор
4-23
LCDHEX
Вывести шестнадцатеричное значение на индикатор
4-23
LOAD TIMER0, 1 и 2
Загрузка регистров таймера, определяющих частоту
4-25
MODE0, 1, 2, 3, 4, 5
Режимы таймеров, устанавливаемые при инициализации
4-13
NOSAVE
Запретить автоматическое сохранение регистров в прерывании 4-29
ON [Interrupt]
Объявление используемого прерывания
4-30
ON x GOTO (GOSUB)
Переход (вызов) в зависимости от значения переменой x
4-30
OPEN ..
Открыть устройство (канал) ввода или вывода 4-30
POWERDOWN
Выключить генератор и остановить процессор
4-32
PRINT
Вывести данные в десятичном виде в последовательный порт 4-32
PRINTHEX
Вывести данные в шестнадцатеричном виде в посл. порт 4-32
PRINTBIN
Вывести двоичные данные в последовательный порт 4-33
PRIORITY ON(OFF) ..
Установить (снять) приоритет прерывания
4-33
PUT
Поместить данные в устройство (канал) вывода
4-30
READEEPROM
Считать данные из EEPROM модели AT89S8252 4-11
READ
Считать данные из секции DATA
4-33
REM или ‘
Указывает комментарии в тексте программы 4-34
RESET
Сбросить (установить в «0») бит. Применяется и к устройствам 4-34
RESTORE
Указать блок DATA для считывания оператором READ
4-33
RETURN
Возврат из подпрограммы
4-34
ROTATE ..
Сдвигать переменную (влево – LEFT / вправо RIGHT)
4-34
SELECT CASE x
Выбрать действие в зависимости от значения переменной x
4-6
SET
Установить (в «1») бит. Применяется к устройствам 4-34
SERVO
Установить длительность импульса 4-34
SHIFTIN
Считать данные из сдвигового регистра
4-35
SHIFTOUT
Записать данные в сдвиговый регистр 4-35
SOUND
Генерация частоты на линии порта
4-35
SPIIN
Считать данные через SPI
4-36
SPIOUT
Записать данные через SPI
4-36
START TIMER0, 1, 2
Запустить счетчик таймера 0, 1 или 2 4-37
STOP TIMER0, 1, 2
Остановить счетчик таймера 0, 1 или 2 4-37
STOP
Остановить исполнение программы
4-37
SUB
Определить подпрограмму или процедуру
4-38
SWAP
Поменять местами значения двух переменных одного типа 4-39
.. THEN ..
Определить действия при выполнении условий 4-20
.. UNTIL ..
Определить условия выхода их цикла
4-12
WAIT
Ждать секунды
4-12
WAITKEY
Ждать приема символа
4-23
WAITMS
Ждать миллисекунды
4-12
WHILE .. WEND
Цикл, выполняемый, пока условия остаются истинными 4-39
WRITEEEPROM
Записать данные в EEPROM модели AT89S8252 4-11
Логические операции Bascom-8051
X AND Y
Операция: логическое И 4-5
X OR Y
Операция: логическое ИЛИ 4-5
=============================================================================
1-3

===================================== Справочник по программированию «Bascom-8051» ==
NOT Y
Логическое инвертирование 4-5
X XOR Y
Операция: ИСКЛЮЧАЮЩЕЕ ИЛИ 4-5
Функции Bascom-8051
ABS(x)
Возвращает абсолютное значение знаковой переменой
4-5
ASC(s)
Возвращает код символа
4-5
BDC(x)
Выводит число в двоично-десятичном виде
4-5
СHR(x)
Преобразует цифру в символ (записывает как символ) 4-6
CPEEK(x)
Возвращает значение байта из памяти команд
4-10
DECR x
Уменьшить переменную на единицу
4-12
INCR x
Увеличить переменную на единицу
4-12
FUSING()
Возвращает строку с форматир. значением числа с плав. точкой
4-15
GETRC()
Возвращает значение постоянной времени RC-цепочки
4-15
GETRC5
Возвращает значение кода из инфракрасного порта (ПДУ) 4-16
HEX()
Возвращает строку с шестнадцатеричным значением числа 4-16
HEXVAL()
Возвращает значение строки в шестнадцатеричном виде 4-17
HIGH()
Возвращает старший байт двухбайтной переменной
4-17
HIGHW()
Выделить старшие два байта четырехбайтовой переменной 4-17
INP()
Возвращает значение из ячейки внешней памяти
4-21
INSTR ()
Определить позицию включения в строке 4-21
LCASE()
Возвращает строку со строчными символами (в нижний регистр) 4-23
LEFT()
Возвращает символы строки, расположенные слева
4-25
LOW()
Возвращает младший байт двухбайтной переменной 4-17
LOWW()
Выделить младшие два байта четырехбайтовой переменной 4-17
LEN()
Возвращает длину строки
4-25
LOOKUP
Возвращает значение из таблицы числовых данных
4-26
LOOKUPSTR
Возвращает значение из таблицы строковых данных
4-26
MAKEBCD(x)
Преобразует двоичное число в двоично-десятичный код 4-26
MAKEDEC(x)
Преобразует число в двоично-десятичном виде в двоичное
4-26
MAKEINT()
Склеивает двухбайтное число из двух однобайтных
4-26
MAX()
Выбрать максимальное значение массива 4-27
MID()
Возвращает символы из середины строки (или вставляет)
4-25
MIN()
Выбрать минимальное значение массива 4-27
MOD
Возвращает остаток от деления двух переменных
4-27
OUT
Записать значение во внешнюю память
4-21
PEEK()
Возвращает значение байта, из внутренней памяти 4-32
POKE
Записать байт в ячейку внутренней памяти 4-32
RIGHT()
Возвращает символы строки, расположенные справа 4-25
SPACE()
Возвращает строку, заполненную пробелами 4-36
STRING()
Возвращает строку, заполненную одинаковыми символами 4-36
STR()
Возвращает строку с десятичным значением числа 4-16,4-37
VAL()
Возвращает значение строки в десятичном виде 4-17,4-39
VARPTR()
Возвращает адрес переменной, располженной во внутр. памяти 4-39
UCASE()
Возвращает строку с прописными символами (в верх. регистр) 4-23
Операторы Bascom-8051 для работы с однопроводной линией
1WREAD
Считать данные по однопроводной шине
4-4
1WRESET
Сбросить однопроводный интерфейс 4-4
1WWRITE
Записать данные по однопроводной шине 4-4
Операторы Bascom-8051 для работы с двухпроводной линией I2C
I2CRECEIVE
Считать данные из устройства по шине I2C
4-18
I2CSEND
Записать данные в устройство по шине I2C
4-18
I2CSTART
Генерировать условия старта на шине I2C
4-19
I2CSTOP
Генерировать стоп-условия окончания обмена по шине I2C
4-19
I2CRBYTE
Принять один байт из I2C-устройства 4-19
I2CWBYTE
Послать байт в I2C-устройство
4-19
=============================================================================
1-4

===================================== Справочник по программированию «Bascom-8051» ==
Операторы Bascom-8051 для работы с четырех линией Microwire
  1   2   3   4   5   6   7   8   9   ...   25


написать администратору сайта