Корпус хоть и многоногий, большинство выводов микросхемы не используется:

Достаточно вывести всего 8 выводов для полной работы с акселерометром adxl312 



Акселерометр может выводить информацию по двум протоколам: I2C  и по SPI

Адрес микросхемы в случае работы по I2C в шестнадцатеричной системе: 0х1D

Таким образом работая с микросхемой по шине I2C при записи байта нужно отправлять 0х3A а при приеме 0x3B

Рабочий диапазон измерений акселерометр может быть выбран из ряда: 1,5g; 3g; 6g; 12g

Выбор диапазона измерений выбирается записью в регистр по адресу 0х31


Логика работы по I2C интерфейсу:



Тестовый код для акселерометра ADX312 в Bascom-AVR


$regfile = "m8def.dat"                     'микроконтроллер ATmega8

$crystal = 8000000                         'частота работы 8МГц

'конфигурируем scl и sda пины
Config Sda = Portb.1                       ' I2C Data
Config Scl = Portb.0                       ' I2C Clock

'константы на биты чтения и записи adxl312
Const Adxl312write = &H3A                  ' бит записи
Const Adxl312read = &H3B                   ' бит чтения


Dim Data0x As Byte
Dim Data1x As Byte
Dim Data0y As Byte
Dim Data1y As Byte
Dim Data0z As Byte
Dim Data1z As Byte


Do

Gosub Adxl312

Loop


End                              'end program

Adxl312:

I2cstart                         'даем старт шине
I2cwbyte Adxl312write            'отправляем бит записи
I2cwbyte &H32                    'отправляем адрес откуда нужно считать
I2cstart                         'повторный старт
I2cwbyte Adxl312read             'отправляем бит чтения
I2crbyte Data0x , Ack            'принимаем данные для трех осей
I2crbyte Data1x , Ack
I2crbyte Data0y , Ack
I2crbyte Data1y , Ack
I2crbyte Data0z , Ack
I2crbyte Data1z , Nack           'заканчиваем прием командой nack
I2cstop                           'закрываем шину

Return


Осталось сложить байты для кождых из осей и вывести показанию любым удобным способом. По умолчанию акселерометр начинает работать в диапазоне измерений 1,5g


   EasyEDA:  бесплатный редактор схем

   ✓ Создание схем
   ✓ Возможность симуляции
   ✓ Быстрое создание печатных плат
   ✓ Интуитивно понятный интерфейс

   Нарисуй свою схему прямо сейчас!
   Изготовление печатных плат   https://easyeda.com/order

авторизация
Логин:
Пароль:
Комментарии
Направлятор
14.01.2018 - milcin68:
Приветствую, а может кто время подправить?
что бы не по Гринвичу а +3 час...
Регулятор температуры и влажности
12.01.2018 - bobkus:
заборол. баском кривой был. Спасибо автору отличный аппарат.
Регулятор температуры и влажности
12.01.2018 - bobkus:
Доброго всем. Собрал аппарат с прошивкой: Спец версия для датчика DHT22 (для раб...
Диммер с сенсорной кнопкой
09.01.2018 - exersizze:
artcore, отпиши автору этого диммера, может он ответит. Адрес написал в л...
Диммер с сенсорной кнопкой
01.01.2018 - artcore:
Доброго новогоднего настроения всем читающим =) из приведённого кода мне не поня...
Работа с внешней EEPROM в Bascom-AVR на примере 24lc08
26.12.2017 - xorkrus:
А можно пример для 24C512 или аналогичной?
Что-то я как ни ткнусь - уменя...
Включаем свет по хлопку
23.12.2017 - Mels:
Сделал, вроде работает, но работает так что... Калибровка оч сложная как по мне,...
Контроллер лабораторного блока питания
22.12.2017 - гончар:
не работает прошивка.кто поможет с рабочей прошивкой?
Подключение матричной клавиатуры 4х4 к микроконтроллеру
01.12.2017 - Kasym:
Нашел интересный косяк: если к переменной string*5 добавлять string*1 много раз,...