Главная » Железо

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

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

Пример:        Dim Addressw As Const 160 ‘адрес микросхем типа 24Cxx Dim Wadr As Word          ‘адрес считываемой переменной Dim Fld As Single         ‘приемник данных

‘п/п считывания 4-байт. числа из AT24с01A,AT24c02 – AT24c16

Rds_24c: $asm     mov A , {wadr + 1} ;готовим старший байт, cодержащий

Читать »

Конфигурирование внешних устройств Bascom-8051

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

Библиотеки Bascom обеспечивают простой интерфейс с большинством устройств, обычно, подключаемых к  микроконтроллеру.  Bascom  может  работать:  с  последовательным  портом  (аппаратным  и  программным),  с символьным индикатором (в трех вариантах подключения),  устройствами с последовательными интерфейсами (SPI,  Micro-Wire  и  т.п.),  устройствами  на  шинах  I2C  и  1Wire,  управлять  серводвигателями,  прием  данных интерфейса RC5 из пультов дистанционного управления с ИК-приемником (инфракрасным), измерение времени заряда  RC-цепочки  (самого  примитивного  АЦП,  подключенного  в  линии  порта).  Чтобы  обеспечить  работу операторов Bascom с перечисленными устройствами, необходимо сообщить компилятору  конфигурацию этих устройств – объявить предназначение и имена портов. Иногда требуется  объявить некоторые дополнительные параметры. Рассмотрим наиболее типичные примеры конфигурирования. Проще всего установить конфигурацию одно- и двухпроводных шин – нужно просто указать имена подключенных линии (портов):

Читать »

Проверка условий и изменение хода выполнения программы Bascom-8051

Добавлено Дата: 31 December, 2012 категория: Bascom-8051, Basic, Железо

В  описываемой  версии  Bascom-8051,  как  и  в  классическом  Бейсике,  основу   организации  работы отдельных   частей   (модулей)   программы   обеспечивают   операторы   проверки   условий   и   изменения   хода выполнения программы. Компилятор Bascom-8051  предоставляет возможность проверки значений всех типов переменных. Причем, проверяемая  переменная может сравниваться как с константой, так с другой переменной, такого же типа.

Читать »

Применение логических функций BASCOM-8051

Добавлено Дата: 28 December, 2012 категория: Bascom-8051, Basic, Железо

Сущность  логических  функций,  очевидно,  не  требует  пояснений,  поэтому   остановимся   только  на особенностях  их  применения.  Логические  операции  производятся   только  над  битовыми,  одно-,  двух-  и четырехбайтовыми  переменными  и  правильно  выполняются  только  при  одинаковой  размерности  исходных переменных.   Использование   разных   типов   переменных   недопустимо,   т.к.   получаются   непредсказуемые результаты, и происходит модификация регистров, не участвующих в назначенной операции. В качестве операнда логических  операций  могут  применяться  и  константы.  Форма  записи  констант  должна   быть   “понятной” компилятору, т.к. неоднозначная запись также может дать неверный результат. Логические операции с числами с плавающей  точкой  не  выполняются  и  даже  не  компилируются  (пропускаются).  К  сожалению,  компилятор совершенно   не   определяет   ошибки   назначения   неверных   операндов   логических   операций.   Эта   задача предоставлена   программисту.  Ниже  приведена  демонстрационная  программа  логических  операций.  В  ней показана возможность (или невозможность) их применения и время исполнения.

Читать »

Распределение памяти при определении переменных, память программ и ограничения Bascom

Добавлено Дата: 28 December, 2012 категория: Bascom-8051, Basic, Железо

Распределение оперативной памяти, предлагаемое Bascom-8051представлено в таблице.

Область

Адрес

Читать »

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

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

]GATE = INTERNAL – внутреннее разрешение счета EXEN2=0

GATE = EXTERNAL – внешнее разрешение счета  EXEN2=1

MODE = 0 – режим самозагрузки CP/RL2=0

MODE = 1 – режим захвата CP/RL2=1

MODE = 2 – режим генератора бодовой скорости RCLK=1 TCLK=1

Читать »

Правила оформления ассемблерных вставокв тексте программ для компилятора «Bascom-8051»

Добавлено Дата: 24 December, 2012 категория: Bascom-8051, Basic, Железо

1      Текст ассемблерных вставок должен содержать только стандартные команды  микроконтроллера 8051. Исключение составляет командва SWAP, совпадающая с похожей  командой Bascom. Ассемблерную команду SWAP необходимо применять с префиксом «!» (таким образом – !Swap) В мнемонику команд без дополнительных определений входят: регистры  R0-R7, @R0, @R1,  A, DPTR; бит C; символ указания непосредственных данных  -

Читать »

Распределение ресурсов микроконтроллера Bascom-8051

Добавлено Дата: 23 December, 2012 категория: Bascom-8051, Basic, Железо

На первом этапе создания микропроцессорной системы до начала программирования необходимо решить несколько важных задач:

а)  разработать  план  использования  ресурсов  процессора,  т.е.  определить:  как  и  какие   внутренние устройства  будут  использоваться.  Обычно,  одновременно  происходит  и  выбор  устройств,  с  которыми  будет работать микроконтроллер;

Читать »

Регистры хост-контроллера USB

Добавлено Дата: 12 July, 2011 категория: Ассемблер, Железо

Драйвер интерфейса USB управляет работой хост-контроллера через регистры. Регистры универсального хост-контроллера принято разделять на две группы: группу конфигурационных регистров PCI (USB PCI Configuration Registers) и группу регистров пространства ввода-вывода (USB Host Controller 10 Space Registers). Ниже мы будем рассматривать только регистры ввода-вывода, так как непосредственная работа с конфигурационными регистрами из прикладных программ нежелательна (может привести к «зависанию» системы).

Читать »

Функции VGA BIOS

Добавлено Дата: 12 July, 2011 категория: Ассемблер, Железо

Графические режимы VGA за прошедшее с момента создания (1987 год) этого типа видеоконтроллеров время сильно устарели, а текстовые используются двадцать лет и продолжают успешно применяться (благодаря простоте выполнения операций в этих режимах). Поэтому в настоящее время интерес для программистов представляет только небольшая подгруппа функций из стандартного набора VGA BIOS, предназначенная для работы в текстовом режиме:

Читать »

Анимация двухмерных изображений

Добавлено Дата: 10 July, 2011 категория: Ассемблер, Железо

Анимация в двухмерном режиме, то есть создание на экране иллюзии движения плоских изображений (спрайтов), также реализуется при помощи масок [1]. Однако если для неподвижного объекта (например, буквы шрифта) достаточно одной маски, то движущийся объект требует отдельную маску для каждой фазы движения в каждом из возможных направлений. Чтобы получить приличную иллюзию движения, необходимо отобразить от 8 до 12 фаз [20]. Человеческий глаз способен различать углы менее одного градуса, поэтому, чтобы создать иллюзию вращения крупного объекта или движения его по произвольным направлениям, нужно иметь по маске на каждый из возможных трехсот шестидесяти градусов поворота. Сложные объекты способны совершать разнообразные виды движений, для каждого из которых нужен собственный комплект масок. Объект типа «человек», например, может идти, ползти, прыгать, приседать, взбираться по лестнице, плыть и т. п. Механические объекты обычно проще, чем живые, — требуют меньшего количества фаз и разновидностей движения (поэтому их так любят использовать разработчики игр).

Читать »

Непосредственная работа с мышью типа MS Mouse

Добавлено Дата: 8 July, 2011 категория: Ассемблер, Железо

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

1.     Запретить прерывания от последовательного порта.

Читать »

Ввод информации с клавиатуры при помощи функций BIOS

Добавлено Дата: 7 July, 2011 категория: Ассемблер, Железо

Клавиатура является основным устройством ввода алфавитно-цифровой информации, а часто — и основным средством управления работой компьютера. Для ввода информации с клавиатуры можно использовать либо функции операционной системы, либо прямой опрос контроллера клавиатуры. Мы не будем рассматривать функции MS-DOS, используемые для ввода данных с клавиатуры, так как они достаточно подробно описаны в литературе [3, 10], но непригодны для сколько-нибудь серьезной работы. Функции DOS имеют два очень серьезных недостатка. Первый недостаток заключается в том, что они не позволяют полностью реализовать возможности функциональных клавиш. Второй недостаток — клавиатурные функции DOS предназначены для работы в режиме терминала (с построчным выводом информации сверху вниз и прокруткой изображения снизу вверх). В процессе считывания символа они выполняют ряд дополнительных операций, что делает весьма неудобным их использование в любом другом, не терминальном режиме.

Читать »

Вывод информации на принтер при помощи стандартных функций BIOS

Добавлено Дата: 5 July, 2011 категория: Ассемблер, Железо

Для работы с принтером предназначена группа функций BIOS, вызываемых по прерыванию Int 17h. После выполнения любой из функций данной группы в регистре АН будет возвращен код состояния

принтера, разряды которого имеют следующее значение;

•       бит 0 — признак тайм-аута (0 — нормальное состояние, 1 — ошибка тайм-аута, то есть принтер не отвечает);

Читать »

Непосредственная работа с регистрами контроллера жесткого диска

Добавлено Дата: 4 July, 2011 категория: Ассемблер, Железо

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

•       при переключении процессора в защищенный режим (прерывания DOS и BIOS становятся недоступными);

•       при работе с дисками большого (свыше 8 Гбайт) объема или нестандартного (не-DOS) формата;

Читать »