Я заметил, что на Хабре совсем нет статей про микроконтроллеры семейства MSP430 от Texas Instruments. А зря. Они обладают рядом преимуществ, одно из которых — энергосбережение (по крайней мере этим очень гордится сам производитель), а еще, они легко программируются. Поэтому сегодня мы будем работать играться с отладочной платой MSP430G2 LaunchPad. Но сначала ответим на несколько вопросов.
Когда мы будем говорить в микрофон, МК будет зажигать светодиод. Но это еще не все. Мы сделаем всю эту конструкцию, работающей от батарейки, чтоб можно было похвастаться друзьям, на работе, или в других местах, где доступа к компьютеру не будет.
Нам понадобится:
1) Сама плата MSP430G2 LaunchPad с микроконтроллером MSP430G2231 на борту.

2)Микрофон. Я откопал старый советский «Октава МД-201» 1982г.

3)Cтабилизатор напряжения (покупается, или собирается самостоятельно).

4) Батарейка на 9V.
Теперь немножко углубимся в детали задачи. С микрофона идет сигнал на МК. А что дальше?Дальше МК обращается к темной стороне Силы и зажигает светодиод. Дальше МК с помощью встроенного 10-ти разрядного АЦП преобразует сигнал в код и отдает его нам. Мы сравниваем полученное значение с нужным нам и даем команду МК зажечь(потушить) светодиод. В нашем случае если сигнал выше 50мВ — зажигаем светодиод, ниже — тушим.
Пришло время прошить наш МК. Подключаем плату к компьютеру и с помощью IAR Embedded Workbench, или Code Composer заливаем следующий код:
В регистре ADC10MEM хранится полученный с микрофона сигнал. Откуда взялось значение 0x22?
(0.05/1.5)*1023 = 34,1. Где 0.05 — это наши 50 мВ, 1.5 — опорное напряжение АЦП, 1023 = (2^10) — 1, 10 — количество разрядов АЦП. Переведем полученное значение в 16-ричную систему и получим 0x22.
Теперь соберем все воедино. Подключаем микрофон к 1-ому пину и к GND. Подключаем батарейку к стабилизатору, "+" стабилизатора подключаем к VCC пину, "-" к GND пину. Должен загореться зеленый светодиод питания. Выглядеть это будет примерно вот так:

http://www.youtube.com/watch?v=paXHUaHrmts
Что мы будем делать?
Когда мы будем говорить в микрофон, МК будет зажигать светодиод. Но это еще не все. Мы сделаем всю эту конструкцию, работающей от батарейки, чтоб можно было похвастаться друзьям, на работе, или в других местах, где доступа к компьютеру не будет.
Что нам для этого понадобится?
Нам понадобится:
1) Сама плата MSP430G2 LaunchPad с микроконтроллером MSP430G2231 на борту.

2)Микрофон. Я откопал старый советский «Октава МД-201» 1982г.

3)Cтабилизатор напряжения (покупается, или собирается самостоятельно).

4) Батарейка на 9V.
Как мы это будем делать?
Теперь немножко углубимся в детали задачи. С микрофона идет сигнал на МК. А что дальше?
Прошивка
Пришло время прошить наш МК. Подключаем плату к компьютеру и с помощью IAR Embedded Workbench, или Code Composer заливаем следующий код:
#include "msp430g2231.h"
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // останавливаем сторожевой таймер
ADC10CTL0 = SREF_1 + ADC10SHT_2 + REFON + ADC10ON; // включаем АЦП
ADC10CTL1 = INCH_1;
ADC10AE0 |= 0x02; // устанавливаем 1-ый пин как вход для АЦП (для микрофона)
P1DIR |= 0x01; // устанавливаем 0-ой пин на выход (для светодиода)
while (1) {
ADC10CTL0 |= ENC + ADC10SC; // включаем преобразование
if (ADC10MEM < 0x22) // сравниваем с 50 мВ
P1OUT &= ~0x01; // если меньше 50 мВ выключаем светодиод
else
P1OUT |= 0x01; // если больше 50 мВ включаем светодиод
}
}
В регистре ADC10MEM хранится полученный с микрофона сигнал. Откуда взялось значение 0x22?
(0.05/1.5)*1023 = 34,1. Где 0.05 — это наши 50 мВ, 1.5 — опорное напряжение АЦП, 1023 = (2^10) — 1, 10 — количество разрядов АЦП. Переведем полученное значение в 16-ричную систему и получим 0x22.
Соединяем проводки
Теперь соберем все воедино. Подключаем микрофон к 1-ому пину и к GND. Подключаем батарейку к стабилизатору, "+" стабилизатора подключаем к VCC пину, "-" к GND пину. Должен загореться зеленый светодиод питания. Выглядеть это будет примерно вот так:

Наслаждаемся результатом
http://www.youtube.com/watch?v=paXHUaHrmts