Примеры программ на ASSEMBLER. ООО ФРАКТАЛ. Преобразователи - конверторы - интерфейсов промышленная автоматика модульные контроллеры

контрактная разработка, преобразователь интерфейса i2c, преобразователь интерфейса MicroLan, преобразователь интерфейса ModBas, сигма дельта ацп, управление гидравлическими приводами, конвертор интерфейса, конвертор протоколов, конвертор скоростей, макетная плата, промышленная автоматика, модульные контроллеры, basic, микроконтроллер basic, конвертор usb, конвертор rs232, конвертор rs422, конвертор rs485, преобразователь usb, преобразователь rs232, преобразователь rs422, преобразователь rs485, узел автоматики, шаговый двигатель, работа с термодатчиком, подключение ds18, репитер, модули входов, модули гальванической развязки, модуль ацп, модуль цап, модуль индикации, речевой модуль, модуль выходов, графический жки, примеры программ, программируемый логический контроллер
Преобразователь USB | Конвертор интерфейсов USB RS232 RS485 RS422 I2C Microlan Modbus RTU SPI Ethernet | Конверторы протоколов и скоростей | Узлы автоматики | Модульные контроллеры
Главная|Прайс-лист|FAQ|Обмен опытом|Контакты|Новости|DOWNLOAD| | Добавить в избранное | Назад
Комплект модулей MCU4 [RS2-5.7x ]
Комплект модулей MCU4 - RS2-5.7x - Активный интерфейсный модуль (RS232C/RS422/RS485 MODBUS /2.5kV)

Примеры программ на ASSEMBLER. ООО ФРАКТАЛ. Преобразователи - конверторы - интерфейсов промышленная автоматика модульные контроллеры
Активный интерфейсный модуль (RS232C/RS422/RS485 MODBUS /2.5kV)
Конвертеры интерфейсов [RSX1-4.x ]
Конверторы интерфейсов - RSX1-4.x - Конвертор интерфейсов В корпусе на DIN линейку (RS232C <=> RS422 / RS485)

Примеры программ на ASSEMBLER. ООО ФРАКТАЛ. Преобразователи - конверторы - интерфейсов промышленная автоматика модульные контроллеры
Конвертор интерфейсов В корпусе на DIN линейку (RS232C <=> RS422 / RS485)
Узлы автоматики [MCX51-10.1 DIN ]
Узлы автоматики - MCX51-10.1 DIN - Узел 2out{AC 250V/1A} + 2 in в 35мм - DIN конструктиве RS485 <=opto=> 2 out{AC 250V/1A} PIC18F2520/(PIC18F2523)

Примеры программ на ASSEMBLER. ООО ФРАКТАЛ. Преобразователи - конверторы - интерфейсов промышленная автоматика модульные контроллеры
Узел 2out{AC 250V/1A} + 2 in в 35мм - DIN конструктиве RS485 <=opto=> 2 out{AC 250V/1A} PIC18F2520/(PIC18F2523)

Разделы:

О фирме
 
Продукция
Программы
Справочник
 
Ссылки


RSX4-5.x    Преобразователь USB - RS485

Преобразователь / конвертор интерфейсов USB - RS485
  • Чип моста      CP2104
  • USB 2.0 full-speed (12 Mbps)
  • Поддержка Windows , WinCE, Macintosh, Linux, Android
  • Поддерживаемые форматы данных: 5-8D, 0-1P, 1-1.5-2S
  • Число узлов    до 256
  • Диапазон скоростей    до 1 000 000 bps
  • Длина линии до    1200 м
  • ESD Protection    не менее 15 kV
  • Гальваническая развязка    2500 V rms
  • Галванический зазор      8 мм
  • Индикация
  • Подтяжка сигналов RS485 к питанию 1кОм/1кОм
  • Терминатор      120 Ом
  • Диапазон рабочих температур   -40...+75 Град
  • Размер    52(+13) * 18 * 9(+4)  мм
  •  

    Скачать

    ;*********************************;
    ;Filename: out9.asm;
    ;Date: 11.02.2005;
    ;File Version: 1.02;
    ;Author: Bazhenov V. A.;
    ;Company: Fractal LTD.;
    ;*********************************;
    ;*********************************;
    ;Files required: P18F252.INC;
    ;*********************************;
    LIST P=18F252, F=INHX32  ;directive to define processor and file format
    #include <P18F252.INC>  ;processor specific variable definitions

      COUNT  EQU  0x00;счетчик посещения прерывания 100 Гц

      STEP_1_H  EQU  0x10  ;старший байт счетчика шагов (первый канал)
      STEP_1_L  EQU  0x11  ;младший байт счетчика шагов (первый канал)
      CCL_1  EQU  0x12  ;состояние управляющих линий в режиме покоя (первый канал)
      CW_1  EQU  0x13  ;управляющее слово (первый канал)
      START_1  EQU  0x14  ;стартовый байт (первый канал)
      STEP_2_H   EQU  0x20  ;старший байт счетчика шагов (второй канал)
      STEP_2_L  EQU  0x21  ;младший байт счетчика шагов (второй канал)
      CCL_2  EQU  0x22  ;состояние управляющих линий в режиме покоя (второй канал)
      CW_2  EQU  0x23  ;управляющее слово (второй канал)
      START_2  EQU  0x24  ;стартовый байт (второй канал)
      START  EQU  0x01  ;стартовый байт на оба канала
      I2C_DATA  EQU  0x40  ;здесь будем хранить данные
      I2C_N  EQU  0x58  ;число информационных байт в обмене
      I2C_SLAD  EQU  0x5A  ;Slave- адрес устройства
      REG_MODBUS  EQU  0x053  ;служебный регистр резидентной программы
        ;REG_MODBUS<7>=1 идет прием телеграммы
        ;REG_MODBUS<6>=1 идет передача телеграммы
        ;REG_MODBUS<5>=1 телеграмма принята - готова к обработке
        ;REG_MODBUS<4>=1 контроллер готов к приему новой телеграммы
        ;REG_MODBUS<3>=1 v1.21 добавить к телеграмме CRC16,предать и получить ответ, проверить CRC16
        ;REG_MODBUS<2>=1 совпадение циркулярного адреса
        ;REG_MODBUS<1>=1 совпадение ADR_MODBUS
        ;REG_MODBUS<0>=1 совпадение контрольной суммы (CRC)

      ORG  0x2000  ;REG_USER<7>=1 передать управление после завершения участка инициализации резидентной программы
        return
      ORG  0x2004  ;REG_USER<6>=1 передать управление перед завершением цикла MAIN резидентной программы
        goto  0x2200
      ORG  0x2008  ;REG_USER<5>=1 передать управление после обработки прерывания с высоким приоритетом (TMR3 =10 000 Гц)
        return
      ORG  0x200C  ;REG_USER<4>=1 передать управление после обработки прерывания с низким приоритетом (I2C, UART)
        return
      ORG  0x2010  ;REG_USER<3>=1 передать управление для дальнейшей обработки команд пользователя MODBUS
        return
      ORG  0x2014  ;REG_USER<2>=1 передать управление каждые 1000 мкс
        return
      ORG  0x2018  ;точка входа прерывания 100 Гц (REG_USER<1>=1)
        goto  0x2100
      ORG  0x201C  ;точка входа вектора «выполнить один раз»(REG_USER<0>=1)
        goto  0x2040

      ORG  0x2040  ;выполнить один раз
        clrf  STEP_1_H  ;обнулим старший байт счетчика шагов (первый канал)
        clrf  STEP_1_L  ;обнулим младший байт счетчика шагов (первый канал)
        movlw  0x01
        movwf  CCL_1  ;состояние управляющих линий в режиме покоя (первый канал) = 01h (управляющее напряжение с обмоток снято - умолчание)
        clrf  CW_1  ;обнулим управляющее слово (первый канал)
        clrf  START_1  ;обнулим стартовый байт первого канала
        clrf  STEP_2_H  ;обнулим старший байт счетчика шагов (второй канал)
        clrf  STEP_2_L  ;обнулим младший байт счетчика шагов (второй канал)
        movlw  0x01
        movwf  CCL_2  ;состояние управляющих линий в режиме покоя (второй канал) = 01h (управляющее напряжение с обмоток снято - умолчание)
        clrf  CW_2  ;обнулим управляющее слово (второй канал)
        clrf  START_2  ;обнулим стартовый байт второго канала

        clrf  START  ;обнулим байт общего старта

        movlw  0x30  ;взведем счетчик прерываний
        movwf  COUNT
    return

      ORG  0x2100
        tstfsz  COUNT
        decf  COUNT  ;уменьшим счетчик посещений прерывания для отсчета
        return

      ORG  0x2200
        tstfsz  COUNT  ;проверим счетчик - если он обнулился - значит пора действовать (проверять бит старта и т.д.)
        return
        movlw  0x030  ;снова взведем счетчик
        movwf  COUNT

        tstfsz  START  ;проверим общий стартовый байт
        goto  CHANNEL  ;если он не ноль - идем на работу с обоими каналами
        goto  M_1  ;если он ноль - идем на проверку стартового байта первого канала

      CHANNEL
        setf  START_1  ;если установлен байт "общий старт" -
        setf  START_2  ;установим сьартовые байты для каждого канала
        clrf  START  ;и сбросим байт общего старта

      M_1
        tstfsz  START_1  ;проверим стартовый байт первого канала
        goto  CHANNEL_1  ;если он не ноль - идем на работу с первым каналом
        goto  M_2  ;если он ноль - идем на проверку стартового байта второго канала

      CHANNEL_1
        movff  STEP_1_H,I2C_DATA  ;занесем в OUT9 количество шагов первого канала
        movlw  0x54  ;адрес модуля
        movwf  I2C_SLAD   ;к которому подключаемся
        movlw  0x34  ;занесем Word-адрес устройства в модуле
        movwf  FSR1L
        movlw  0x02  ;количество передаваемых байт - 2 (сташий и младший байты счетчика шагов первого канала)
        movwf  I2C_N
        lfsr  FSR2,I2C_DATA  ;укажем на данные
        call  0x1E04  ;вызовем подпрограмму I2С_WR/R - записи/чтения ячеек Slave-I2C-устройства

        movff  CCL_1,I2C_DATA   ;занесем в OUT9 второе управляющее слово первого канала
        movlw  0x54  ;адрес модуля
        movwf  I2C_SLAD   ;к которому подключаемся
        movlw  0x39  ;занесем Word-адрес устройства в модуле
        movwf  FSR1L
        movlw  0x01  ;количество передаваемых байт - 1
        movwf  I2C_N
        lfsr  FSR2,I2C_DATA  ;укажем на данные
        call  0x1E04  ;вызовем подпрограмму I2С_WR/R - записи/чтения ячеек Slave-I2C-устройства

        movff  CW_1,I2C_DATA  ;занесем в OUT9 первое управляющее слово первого канала
        movlw  0x54  ;адрес модуля
        movwf  I2C_SLAD   ;к которому подключаемся
        movlw  0x38  ;занесем Word-адрес устройства в модуле
        movwf  FSR1L
        movlw  0x01  ;количество передаваемых байт - 1
        movwf  I2C_N
        lfsr  FSR2,I2C_DATA  ;укажем на данные
        call  0x1E04  ;вызовем подпрограмму I2С_WR/R - записи/чтения ячеек Slave-I2C-устройства

        clrf  START_1  ;сбросим стартовый бит первого канала

      M_2
        tstfsz  START_2  ;проверим стартовый байт первого канала
        goto  CHANNEL_2  ;если он не ноль - идем на работу с первым каналом
        return  ;если он ноль - выходим отсюда - нас здесь больше ничего не задерживает

      CHANNEL_2
        movff  STEP_2_H,I2C_DATA  ;занесем в OUT9 количество шагов первого канала
        movlw  0x54  ;адрес модуля
        movwf  I2C_SLAD   ;к которому подключаемся
        movlw  0x36  ;занесем Word-адрес устройства в модуле
        movwf  FSR1L
        movlw  0x02  ;количество передаваемых байт - 2 (сташий и младший байты счетчика шагов первого канала)
        movwf  I2C_N
        lfsr  FSR2,I2C_DATA  ;укажем на данные
        call  0x1E04  ;вызовем подпрограмму I2С_WR/R - записи/чтения ячеек Slave-I2C-устройства

        movff  CCL_2,I2C_DATA  ;занесем в OUT9 второе управляющее слово первого канала
        movlw  0x54  ;адрес модуля
        movwf  I2C_SLAD   ;к которому подключаемся
        movlw  0x41  ;занесем Word-адрес устройства в модуле
        movwf  FSR1L
        movlw  0x01  ;количество передаваемых байт - 1
        movwf  I2C_N
        lfsr  FSR2,I2C_DATA  ;укажем на данные
        call  0x1E04  ;вызовем подпрограмму I2С_WR/R - записи/чтения ячеек Slave-I2C-устройства

        movff  CW_2,I2C_DATA  ;занесем в OUT9 первое управляющее слово первого канала
        movlw  0x54  ;адрес модуля
        movwf  I2C_SLAD  ;к которому подключаемся
        movlw  0x40  ;занесем Word-адрес устройства в модуле
        movwf  FSR1L
        movlw  0x01  ;количество передаваемых байт - 1
        movwf  I2C_N
        lfsr  FSR2,I2C_DATA  ;укажем на данные
        call  0x1E04  ;вызовем подпрограмму I2С_WR/R - записи/чтения ячеек Slave-I2C-устройства

        clrf  START_2  ;сбросим стартовый бит первого канала

        return

    END

    Состояние Вашей корзины:

    Позиций: 0
    Количество: 0
    Сумма заказа: 0
    Оформить заказ

      Выставки

    MCU32-1

    модуль вычислителя промышленный контроллер
  • Микроконтроллер - STM32F103RET6
  • Разрядность - 32 бит
  • Быстродействие 72 MHz / 1.25 DMIPS/MHz (Dhrystone 2.1)
  • Flash 512 Кбайт
  • RAM 64 Кбайт
  • АЦП 3 АЦП 12 бит 1мкс
  • ЦАП 2 ЦАП 12бит
  • ПДП 12 каналов
  • Отладочный разъем Serial wire debug (SWD)
  • Интерфейсы USB, RS485, CAN, I2C, SPI, MicroLan
  • Часы реального времени
  • Питание +5В
  • Размер 25.4 * 76.2 * 13 мм

  • MCX53-32.x DIN

    программируемый логический контроллер
  • Микроконтроллер STM32F103RET6
  • Встроенный однокристальный Fractal-BASIC-Cortex
  • Интерфейсы без развязки - USB, RS485/CAN, I2C, SPI, MicroLan
  • Гальванически развязанные интерфейсы - RS485, MicroLan DS2482-100
  • Часы реального времени с литиевым элементом
  • Универсальные сигнальные входо-выходы - 12
  • Силовые выходы  - 8
  • Питание +9...24В
  • Габариты узла в DIN конструктиве - 105x86x58
  • Главная страница :: Новости :: Прайс-лист :: FAQ :: Обмен опытом :: Ссылки :: О фирме :: Как нас найти :: Как купить :: Полный список модулей :: Преобразователи интерфейсов / Репитеры :: Интерфейсные модули :: Вычислители :: Узлы автоматизации :: Модули входов :: Модули выходов :: Модули аналогового входа/выхода :: Модули питания :: Кроссы, Макетные модули, Переходные модули :: Другие модули ::

    postmaster@fractal.com.ru
    Copyright © 1999-2017 ООО "Фрактал"

    Яндекс цитирования Rambler's Top100
    7313
    518
    12
    2