Инструменты пользователя

Инструменты сайта


doc:1201:643.mgul.12013-01_12_01

Это старая версия документа!


АННОТАЦИЯ

В данном программном документе приведен текст программы «telemetry_rev1-1», предназначенной для опроса телеметрических датчиков, подключенных к микроконтроллеру Atmel Atmega328P, и отправки полученных данных по последовательному порту на бортовую ЭВМ. Текст программы реализован в виде символической записи на языке ассемблера AVR. Компилятором является консольная программа для UNIX-подобных операционных систем - avra.

Основной функцией программы telemetry_rev1-1 является опрос и отправка показаний следующих датчиков:

  1. по протоколу I2C:
    1. BMP180 - атмосферное давление и температура окружающей среды;
    2. BH1750 - освещенность;
  2. по протоколу 1-Wire:
    1. DS18B20 - температура элементной базы робота;
  3. аналоговые, с предварительной обработкой АЦП:
    1. ACS712-5A / MAX471 - потребляемый ток;
    2. Датчики напряжения собственного изготовления.

В процессе сбора данных происходит их перевод в двоично-десятичный код и отправка по USB-to-Serial протоколу с сохранением в памяти бортовой ЭВМ.

Программа состоит из основной программы,подключаемых модулей и файла объявления имен регистров:

  • telemetry_rev1-1.asm - основная программа;
  • 1wire.asm - работа с датчиками по 1-Wire протоколу;
  • hextobcd.asm - перевод чисел из шестнадцатеричной системы счисления в двоично-десятичный код;
  • iterrupts.asm - адреса прерываний микроконтроллера;
  • macr.asm - макросы, используемые в основной программе;
  • twi_lib.asm - работа с датчиками по I2C протоколу;
  • m328Pdef.inc - объявление имен регистров и ячеек памяти.

1. Текст программы telemetry_rev1-1.asm на языке ассемблера AVR

<code asm> awdasd </code asm>

doc/1201/643.mgul.12013-01_12_01.1487027448.txt.gz · Последние изменения: 2018/04/28 23:47 (внешнее изменение)