Главная » Bascom-8051

Программирование последовательного порта Bascom-8051

Добавлено Дата: 16 February, 2013 категория: Bascom-8051, Basic, Железо

Применение      последовательного      асинхронного      порта      предусматривается      в      большинстве микропроцессорных  систем.  Даже  в  тех  случаях,  когда  он  не  нужен  для  работы  схемы,  его  используют  (и необходимо использовать) на этапе отладки программы, для  технологической настройки или при испытаниях. Последовательный порт процессора 8051  способен одновременно принимать и передавать данные, что требует такого  построения  программ,  в  которых  процессы  приема  и  передачи  независимы.  А  вследствие  того,  что последовательный порт относится к разряду медленных устройств, то часто при  программировании требуется осуществлять прием и передачу параллельно работе основной  программы. Чтобы организовать параллельную работу программ ввода (приема), вывода (передачи) и обработки данных приходится задействовать прерывание. Лучше всего для этого  использовать прерывание последовательно интерфейса, происходящего при заполнении регистра  SBUF-приемника  (после  приема  байта)  и  опустошении  регистра  SBUF-передатчика  (после  выдачи байта). Возможен и экзотический вариант временного разделения задач приема, передачи и обработки с помощью прерывания  одного  из  таймеров.  В  любом  случае,  реализация  всех   возможностей  и  интенсивной  работы последовательного порта представляется очень сложной программной задачей.

Читать »

Программирование с использованием индексированных переменных Bascom

Добавлено Дата: 13 February, 2013 категория: Bascom-8051, Basic, Железо

Компилятор Bascom допускает использование массивов переменных, записываемых под одним именем и различающихся  порядковым  номером  расположения.  Параметр,  указывающий  номер  переменной  в  массиве называется индексом. В качестве индекса (указателя) может  использоваться константа, одно- или двухбайтная числовая  переменная.  Массив  может  располагаться  во  внутренней  или  во  внешней  памяти.  Массивы  могут строиться из одинаковых переменных любого типа, за исключением битовых. С индексированными переменными во многих  случаях можно работать как с обычными переменными соответствующего типа. Однако,  некоторые операторы не рассчитаны на подстановку в качестве операндов индексированных переменных и воспринимают их как обычные переменные, т.е. считывают и записывают данные  только первого элемента массива,   имеющего адрес,  совпадающий  с  адресом  массива.  Ниже  приведен  небольшой  пример  программы  с  использованием индексированных переменных. В ней также указано два случая невозможности использования индексированных переменных и варианты замены неработающего оператора.

Читать »

Ошибки и неприятности Bascom

Добавлено Дата: 13 February, 2013 категория: Bascom-8051, Basic, Железо

1        Директивы $BAUD и $CRYSTAL активизируется только при использовании команд  PRINT, INPUT. Внимание!  Если  в  тексте  программы  не  применяются  операторы  PRINT,   INPUT,  то  инициализация  не выполняется – в таймер не загружается значение коэффициента деления, не инициализируются регистры SCON и PCON (см. соотв. раздел).

Читать »

Системные соглашения Bascom-8051

Добавлено Дата: 13 February, 2013 категория: Bascom-8051, Basic, Железо

Элементы

Назначение и применение элементов языка Bascom

Читать »

Программирование прерываний Bascom-8051

Добавлено Дата: 13 February, 2013 категория: Bascom-8051, Basic, Железо

Система  прерываний  процессора  8051  обеспечивает  эффективную  обработку   внешних   событий  и процессов с временным разделением. С помощью программ прерываний решается широкий круг задач, в основе которых лежит параллельная отработка нескольких процессов, и связь действий и событий с отметками реального времени. Bascom позволяет  полностью использовать возможности системы прерываний как стандартных, так и более старших моделей. При программировании прерываний возможно несколько подходов:

Читать »

Установка параметров Bascom

Добавлено Дата: 9 February, 2013 категория: Bascom-8051, Basic, Железо

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

-          в меню “Options” – “Compiler” – “Communication” задается скорость  последовательного канала и частота тактового кварцевого генератора. При этом для получения заданной скорости используется TIMER1;

Читать »

Некоторые советы по созданию больших программ BASCOM-8051

Добавлено Дата: 6 February, 2013 категория: Bascom-8051, Basic, Железо

Как любой язык высокого уровня, Bascom ориентирован на получение как можно  больше  действий в исполняемом коде при минимальном объеме исходного текста. И на самом деле, Bascom является подходящим инструментом  для  создания  больших  программ.  Теперь  определим  понятие  «большая  программа».  Таковой следует  считать  программу,  использующую  большое  количество  ресурсов  (памяти,  встроенной  и  внешней периферии),   работающей с  большим количеством программных и физических объектов, имеющей несколько независимых  состояний или функций и выполняющая множество действий. Большая программа, как правило, отличается размером кода, не помещающегося в память команд стандартных моделей микроконтроллеров (8051 и 8052). Ниже будут приведены советы по созданию оптимального  кода  «больших программ», оптимального с точки зрения экономии ресурсом микроконтроллера. Эти советы будут не менее полезны и при разработке кода для «маленьких» процессоров, например AT89C2051.

Читать »

Встроенный текстовый редактор Bascom-8051

Добавлено Дата: 3 February, 2013 категория: Bascom-8051, Basic, Железо

Главное  рабочее  окно  Bascom,  в  котором  находится  текст  проекта,  обеспечивает  все  минимально необходимые  операции  редактирования.  Главное  достоинство  встроенного   редактора  это  наличие  режима автоматического  форматирования  и расцвечивание  компонентов  текста. Это  обеспечивает  ускорение ввода  и текста  и  устранение  грубых  ошибок  –  они  сразу  видны.  Можно,  использую  меню  “Options  –  Environment”, установить цвет поля редактора, отличающийся от белого (рекомендуется бледно желтый) – приятней работать. Там  же  можно  выбрать  размер  и  тип  шрифта,  чтобы  было  лучше  видно  текст  в  рабочем  окне.  И  наконец, рекомендуется задавать параметры автоматического форматирования, отвечающий сложности текста программы. Ниже приведено назначение клавиш рабочего окна Bascom.

Читать »

Директивы, операторы и функции Bascom-8051 – ЧАСТЬ 2

Добавлено Дата: 2 February, 2013 категория: Bascom-8051, Basic, Железо

1WRESET, 1WREAD, 1WWRITE

Действие:      Эти  операторы  обеспечивают  пользователю  связь  с  микросхемами  «Dallas  Semiconductors»,

имеющими 1-проводный интерфейс (1Wire-devices).

Читать »

Программирование аналоговых преобразователей Bascom-8051

Добавлено Дата: 2 February, 2013 категория: Bascom-8051, Basic, Железо

К  аналоговым  преобразователям,  программирование  которых  будут  рассмотрено   ниже,   относятся аналого-цифровые (АЦП), цифро-аналоговые преобразователи (ЦАП). К АЦП  также можно отнести все схемы преобразования аналогового сигнала в частоту или длительность с устройством измерения частоты или периода. К устройствам ЦАП также относятся всевозможные регуляторы уровня, цифровые синтезаторы частоты, генераторы широтно-импульсной  модуляции  и  даже  просто  управляемые генераторы частоты. Принципиальное различие АЦП и ЦАП с точки зрения программиста, независимо от того с каким аналоговым сигналом работает устройство, заключается в направлении передачи и порядке преобразования данных. При работе с АЦП данные считываются и после многократного преобразования приобретают вид, понятный наблюдателю  или субъекту, принимающему решение.   Очевидные   данные   ЦАП,   напротив,   должны   многократно   преобразовываться   перед   загрузкой преобразователь.  Задачи  и  проблемы   программирования  ЦАП  и  АЦП  можно  сформулировать  следующим образом:

Читать »

Начальная инициализация системы Bascom-8051

Добавлено Дата: 2 February, 2013 категория: Bascom-8051, Basic, Железо

Под  инициализацией  системы  следует  понимать  определение  всех  начальных  условий,  необходимых компилятору   для   полного   понимания   последующего   текста   программы   и   правильной   установки   всех, используемых устройств микроконтроллера. На примере программы рассмотрим шаги начальной инициализации системы  в  той  последовательности,  в  которой  они   записываются  в  программе.Приведенный  пример  все возможные

Читать »

Директивы, операторы и функции Bascom-8051 – ЧАСТЬ 4

Добавлено Дата: 1 February, 2013 категория: Bascom-8051, Basic, Железо

Синтаксис:    DO

Тело цикла

LOOP [ UNTIL expression ]

Expression – выражение условия прекращения цикла. Из цикла можно также выйти, применив в теле циклической программы директиву  EXIT DO или оператор  GOTO.

Пример:        Dim A As Byte

Читать »

Программирование устройств с шиной Microwire

Добавлено Дата: 29 January, 2013 категория: Bascom-8051, Basic, Железо

В новой версии компилятора Bascom (начиная с 1.20) добавлены операторы для работы с микросхемами, имеющими последовательный интерфейс Microwire. Интерфейс Microwire внешне во многом похож на SPI – те же четыре линии (DI – прием данных, DO – выдача данных, CS – выбор кристалла, Clk – синхронизация). Однако, отличие от SPI существенно – число посылаемых бит не кратно восьми. Таким образом, полноценная реализация интерфейса Microwire имеющимися операторами SPI или аппаратным SPI затруднительна. Основное применение интерфейса  Microwire   связано  с  микросхемами  энергонезависимой  памяти  серии  93С06  –  93С57,  главное достоинство которых связано с высокой надежностью хранения данных и с очень высокой скоростью считывания. Современные  микросхемы  с  интерфейсом  Microwire  (серия  45Сххх)   имеют  наибольшую  емкость  из  всех микросхем с последовательным доступом.

Читать »

Стиль надежного программирования с помощью Bascom

Добавлено Дата: 25 January, 2013 категория: Bascom-8051, Basic, Железо

При программировании рекомендуется использовать простые и надежные программные конструкции, т.к. в  сложных  конструкциях,  при  экзотическом  сочетании  типов  переменных,   имеется  большая  вероятность совершить собственную ошибку или получить ошибку при компиляции. Последнее обусловлено возможностью ошибок в редко применяемых, а  следовательно и мало проверенных операторах или сочетаниях параметров. Кроме того, работу часто употребляемых операторов легче представлять и проще не допускать ошибок.

Читать »