Цифровая шкала с LED линейкой на MSP430

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Unrealee
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Вс дек 02, 2012 21:11:30

Цифровая шкала с LED линейкой на MSP430

Сообщение Unrealee »

Возникла необходимость в цифровой шкале для QRP трансивера. Настройка трансивера производится 20 оборотным потенциометром, диапазон выходного напряжения на варикапы от 1,5 до 5,5 вольт. Перестройка очень линейна. В качестве МК планирую использовать МК из состава ланчпада MSP430, а именно m430g2452. По-идее, могу к нему подцепить 13 светодиодов в качестве светодиодной линейки, и останется одна нога для входа АЦП. Возникли следующие вопросы:
могу я использовать ноги xin, xout, rst в качестве выходов?
нужна помощь в написании прошивки, реализующей след. функционал - снять с делителя (приведённый к верхнему порогу +3.3 в) напряжения варикапов, и линейно отобразить их светящейся точкой на шкале.
Реклама
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

Re: Цифровая шкала с LED линейкой на MSP430

Сообщение Ser60 »

Unrealee писал(а):могу я использовать ноги xin, xout, rst в качестве выходов?

xin, xout - да, rst - нет.

Unrealee писал(а):нужна помощь в написании прошивки

Какая конкрето нужна помощь? Если написать за Вас программу - это элементарно и мне неинтересно. Но могу ответить на конкретные вопросы. Для начала почитайте обучалку:
http://we.easyelectronics.ru/msp430/uroki-msp430-launchpad-urok-15-preobrazovanie-analogovogo-signala.html
Реклама
Unrealee
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Вс дек 02, 2012 21:11:30

Re: Цифровая шкала с LED линейкой на MSP430

Сообщение Unrealee »

Накидал схемку, сразу возник вопрос - можно ли для упрощения разводки соединить выходы портов 1 и 2 в перемешку со светодиодами, а уже потом в программе поправить?
Вложения
цшс.GIF
(16 КБ) 638 скачиваний
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

Re: Цифровая шкала с LED линейкой на MSP430

Сообщение Ser60 »

Конечно можно. Можно еще повесить пару светодиодов на ноги 18, 19. Аналоговый сигнал следует подавать на входы обозначенные А0 - А5, т.е. ноги 2-7. А вывод rst следует подтянуть на питание через 47Ком и бросить с него на землю кондер в 2200 пф. И обязательно шунтировать выводы питания керамикой в 0.1 мкф.
Реклама
Эиком - электронные компоненты и радиодетали
Unrealee
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Вс дек 02, 2012 21:11:30

Re: Цифровая шкала с LED линейкой на MSP430

Сообщение Unrealee »

Схема преобразуется в следующий вид.
Вложения
цшс.GIF
(17.66 КБ) 594 скачивания
Реклама
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

Re: Цифровая шкала с LED линейкой на MSP430

Сообщение Ser60 »

Отлично! Но на вывод 3 можно тоже светодиод поставить, если хотите.
Реклама
Unrealee
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Вс дек 02, 2012 21:11:30

Re: Цифровая шкала с LED линейкой на MSP430

Сообщение Unrealee »

На третий буду снимать со второго потенциометра.
Возникают следующий вопрос:
Начинаю делать соответствия между битами и портами, получается следующее

Код: Выделить всё

//что бы не запутаться в порядке следования светодиодов
//1 BIT2 1DIR
//2 BIT3 1DIR
//3 BIT4 1DIR
//4 BIT5 1DIR
//5 BIT0 2DIR
//6 BIT1 2DIR
//7 BIT2 2DIR
//8 BIT3 2DIR
//9 BIT4 2DIR
//10 BIT5 2DIR

//11 BIT6 1DIR
//12 BIT7 1DIR
//13
//14

Каким битам будут соответствовать xin и xout???
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

Re: Цифровая шкала с LED линейкой на MSP430

Сообщение Ser60 »

На этот вопрос отвечает распиновка выводов на стр. 3 ДШ. Согласно ей xin = P2.6, xout = P2.7.
Unrealee
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Вс дек 02, 2012 21:11:30

Re: Цифровая шкала с LED линейкой на MSP430

Сообщение Unrealee »

Начал писать прошивку. Вопросы:
не понимаю как работает функция ADC_init, как в ней установить верхний и нижний предел?
Как реализовать последовательное зажигание светодиодов, на ум лезут конструкции if ... else, может можно проще? Прога:

Код: Выделить всё

#include <msp430g2553.h>

//что бы не запутаться в порядке следования светодиодов
//1 BIT2 1DIR
//2 BIT3 1DIR
//3 BIT4 1DIR
//4 BIT5 1DIR
//5 BIT0 2DIR
//6 BIT1 2DIR
//7 BIT2 2DIR
//8 BIT3 2DIR
//9 BIT4 2DIR
//10 BIT5 2DIR
//11 BIT6 1DIR
//12 BIT7 1DIR
//13 BIT7 2DIR
//14 BIT6 2DIR
void ADC_init(void);                            //объявляем функцию для АЦП
void led_init(void);                           //объявляем функцию для вывода горящего светодиода
float volts=0.0;                              //объявляем переменную для результата измерения


void main( void )
{

WDTCTL = WDTPW + WDTHOLD;                        //отключаем ждущий таймер
P1OUT = 0;                                    //инициализируем выключенными светодиоды на первом порту
P1DIR &= ~(BIT2+BIT3+BIT4+BIT5+BIT6+BIT7);

P2OUT = 0;                                    //инициализируем выключенными светодиоды на втором порту
P2DIR &= ~(BIT0+BIT1+BIT2+BIT3+BIT4+BIT5+BIT6+BIT7);

ADC_init();
led_init();

    for (;;)
    {
        ADC10CTL0 |= ADC10SC;                     // начинаем новое преобразование
        while ((ADC10CTL1 & ADC10BUSY) == 0x01);       // ждем, когда преобразование закончится
        volts=ADC10MEM;                         //сохраняем результат преобразования
    }





}//main

void ADC_init(void)
{
                                             // Используем Vcc/Vss(аналоговая земля) для верхнего/нижнего ИОН,
                                             // 16 x ADC10CLKs (выборка за 16 тактов), включаем АЦП.
    ADC10CTL0 = SREF_0 + ADC10SHT_2 + ADC10ON;
                                             // Вход A1, делитель ADC10CLK на 1, одноканальный режим.
    ADC10CTL1 =  INCH_1 + SHS_0 + ADC10SSEL_0 + ADC10DIV_0 + CONSEQ_0;
    ADC10AE0 = BIT1;                              // Разрешаем вход АЦП на порту P1.1

    ADC10CTL0 |= ENC;                             // Разрешаем преобразования.
} // ADC_init

void led_init(void)
{

}

Аватара пользователя
Ser60
Друг Кота
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

Re: Цифровая шкала с LED линейкой на MSP430

Сообщение Ser60 »

Я совсем не хочу отговаривать Вас от освоения МК и даже наоборот, но может быть для конкретного устройства будет проще применить микросхемы светодиодной шкалы, например LM3914. Поэтому прежде чем продолжать дайте знать насколько сильно/серьезно у Вас желание сделать это устройство на МК.
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

Re: Цифровая шкала с LED линейкой на MSP430

Сообщение Ser60 »

АЦП функцией init() уже сконфигурирован на работу с напряжением питания в качестве опорного. А обработку уровней АЦП можно сделать, например, так: разбить интервал кодов АЦП (0 - 1023) на равное число частей по числу светодиодов и затем начать обработку с низшего уровня:

if (volts < низший порог)
включаем первый светик;
if (volts < второй порог)
включаем следующий светик);

и т.д. по числу светиков. Кстати, переменная volts может быть типа int. Согласно предшествующей дискуссии Вы хотель подавать напряжение на вывод 2, что соответствует P1.0, а в коде настройка на P1.1 через BIT1.
Unrealee
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Вс дек 02, 2012 21:11:30

Re: Цифровая шкала с LED линейкой на MSP430

Сообщение Unrealee »

Добавляю делитель на вход. Получается, если входное сопротивление АЦП велико, то его не принимаем во внимание и делитель получится 1,7.
Соответственно, считаю напряжения, при которых загорятся светодиоды (в excel табличке).
Вопросы:
как установить опорные напряжения (нижнее в 1,2 вольта, верхнее в напряжение питания Vss)
Как я понял, чтобы организовать зажигание сетодиода, нужно перевести полученную переменную volts в реальные вольты (умножив на какой-то коэффициент) и организовать сравнение в цикле с определённой частотой переменной с массивом:
если 0<volts<= 1,2 зажигаем первый светодиод, тут же всё гасим, иначе
если 1,2<volts<=1,36 зажигаем второй светодиод, тут же всё гасим, иначе
и т.д.
всё это с частотой 200-300 гц чтобы не видно было мерцания?
Или есть решение по-изящней???
Вложения
Снимок.PNG
(6.78 КБ) 593 скачивания
цшс.GIF
(18.18 КБ) 585 скачиваний
Последний раз редактировалось Unrealee Пн дек 03, 2012 00:04:16, всего редактировалось 1 раз.
Unrealee
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Вс дек 02, 2012 21:11:30

Re: Цифровая шкала с LED линейкой на MSP430

Сообщение Unrealee »

Ser60 писал(а):Я совсем не хочу отговаривать Вас от освоения МК и даже наоборот, но может быть для конкретного устройства будет проще применить микросхемы светодиодной шкалы, например LM3914. Поэтому прежде чем продолжать дайте знать насколько сильно/серьезно у Вас желание сделать это устройство на МК.


Желание сильное и серьёзное. Это первая моя конструкция на микроконтроллере. Раньше немного программировал моторолловские МК на асме, сейчас работа заставляет изучать серию MSP430 TI. Заказал пару ланчпадов, решил совместить приятное с полезным. (С нового года, наш отдел промышленной автоматизации переходит на MSP430), ведущий программист уволился, так что придётся разбираться...

Ser60 писал(а):Согласно предшествующей дискуссии Вы хотель подавать напряжение на вывод 2, что соответствует P1.0, а в коде настройка на P1.1 через BIT1.


Поправил.
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

Re: Цифровая шкала с LED линейкой на MSP430

Сообщение Ser60 »

Все понял насчет желания, тогда продолжаем. В принципе нижний порог АЦП можно установить внешним опорником на 1.2в, кот. подключается к выводу 5 корпуса. При этом в битах 13-15 регистра ADC10CTL0 надо поставить 100 (стр. 567 ДШ на семейство 2хх). Иначе, можно и без опорника, просто кодам АЦП соответствующим ниже 1.2в будет соответствовать включение лишь самого нижнего светодиода.

Насчет более элегантного решения все зависит от того что Вы считаете элегантным. Можно, например, создать таблицу с 1024 строками, где каждому коду АЦП будет соответствовать значение подаваемое в порт и все светики загорятся сразу. Памяти на это хватит. Измерять уровень АЦП достаточно каждые 100 мсек, может и раза в 2 реже. Это-же не динамическая индикация, а лишь регулировка времени отклика схемы на изменение напряжения на входе.

Переводить коды АЦП в вольты не нужно. Достаточно все закодить в кодах АЦП, предварительно посчитав в сторонке какому напряжению соответствует какой код.

Кстати, будьте готовы к введению гистерезиса в схему, чтобы исключить мигание соседних светодиодов при подходе напряжения к точке переключения. Но об этом потом, давайте сначала сделаем простой вариант. И зачем Вы пишите этот простой код на С? Как насчет АСМа?
Unrealee
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Вс дек 02, 2012 21:11:30

Re: Цифровая шкала с LED линейкой на MSP430

Сообщение Unrealee »

Ser60 писал(а):Все понял насчет желания, тогда продолжаем. В принципе нижний порог АЦП можно установить внешним опорником на 1.2в, кот. подключается к выводу 5 корпуса. При этом в битах 13-15 регистра ADC10CTL0 надо поставить 100 (стр. 567 ДШ на семейство 2хх). Иначе, можно и без опорника, просто кодам АЦП соответствующим ниже 1.2в будет соответствовать включение лишь самого нижнего светодиода.

Насчет более элегантного решения все зависит от того что Вы считаете элегантным. Можно, например, создать таблицу с 1024 строками, где каждому коду АЦП будет соответствовать значение подаваемое в порт и все светики загорятся сразу. Памяти на это хватит. Измерять уровень АЦП достаточно каждые 100 мсек, может и раза в 2 реже. Это-же не динамическая индикация, а лишь регулировка времени отклика схемы на изменение напряжения на входе.

Переводить коды АЦП в вольты не нужно. Достаточно все закодить в кодах АЦП, предварительно посчитав в сторонке какому напряжению соответствует какой код.

Кстати, будьте готовы к введению гистерезиса в схему, чтобы исключить мигание соседних светодиодов при подходе напряжения к точке переключения. Но об этом потом, давайте сначала сделаем простой вариант. И зачем Вы пишите этот простой код на С? Как насчет АСМа?


Начал накидывать код, заодно выпаял 14 светодиодов из старого хаба :)

Ser60 писал(а): И зачем Вы пишите этот простой код на С? Как насчет АСМа?

Хочу немного разобраться с С. Асм к тому подзабыл, 5 лет на нём не писал. В последнее время писал на Фортране и в G-кодах для ЧПУ.

Сама прога:
#include <msp430g2553.h>

//что бы не запутаться в порядке следования светодиодов
//1 BIT2 1DIR
//2 BIT3 1DIR
//3 BIT4 1DIR
//4 BIT5 1DIR
//5 BIT0 2DIR
//6 BIT1 2DIR
//7 BIT2 2DIR
//8 BIT3 2DIR
//9 BIT4 2DIR
//10 BIT5 2DIR
//11 BIT6 1DIR
//12 BIT7 1DIR
//13 BIT7 2DIR
//14 BIT6 2DIR
void ADC_init(void); //объявляем функцию для АЦП
void led_init(void); //объявляем функцию для вывода горящего светодиода
float volts=0.0; //объявляем переменную для результата измерения


void main( void )
{

WDTCTL = WDTPW + WDTHOLD; //отключаем ждущий таймер
P1OUT = 0; //инициализируем выключенными светодиоды на первом порту
P1DIR &= ~(BIT2+BIT3+BIT4+BIT5+BIT6+BIT7);

P2OUT = 0; //инициализируем выключенными светодиоды на втором порту
P2DIR &= ~(BIT0+BIT1+BIT2+BIT3+BIT4+BIT5+BIT6+BIT7);

ADC_init();
led_init();

for (;;)
{
ADC10CTL0 |= ADC10SC; // начинаем новое преобразование
while ((ADC10CTL1 & ADC10BUSY) == 0x01); // ждем, когда преобразование закончится
volts=ADC10MEM*0.0032258; //сохраняем результат преобразования
}





}//main

void ADC_init(void)
{
// Используем Vcc/Vss(аналоговая земля) для верхнего/нижнего ИОН,
// 16 x ADC10CLKs (выборка за 16 тактов), включаем АЦП.
ADC10CTL0 = SREF_0 + ADC10SHT_2 + ADC10ON;
// Вход A1, делитель ADC10CLK на 1, одноканальный режим.
ADC10CTL1 = INCH_1 + SHS_0 + ADC10SSEL_0 + ADC10DIV_0 + CONSEQ_0;
ADC10AE0 = BIT0; // Разрешаем вход АЦП на порту P1.1

ADC10CTL0 |= ENC; // Разрешаем преобразования.
} // ADC_init

void led_init(void)
{
{
if (volts <= 1.2)
P1OUT |= BIT2; //если напряжение меньше 1.2 включаем первый светодиод
else
P1OUT &= ~BIT2;
}
{
if (volts <= 1.36 && volts > 1.2)
P1OUT |= BIT3; //если напряжение меньше 1.36 и больше 1.2 включаем 2-ой светодиод
else
P1OUT &= ~BIT3;
}



}//led_init off


Аватара пользователя
Ser60
Друг Кота
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

Re: Цифровая шкала с LED линейкой на MSP430

Сообщение Ser60 »

Я-бы убрал функцию init_led() и поставил ее тело в конец основного цикла, перепесав его так:

Код: Выделить всё

P1OUT = 0;    // выключаем все светики
if (volts >= 1.2)
  P1OUT |= BIT2; //если напряжение больше 1.2 включаем первый светодиод
if (volts >= 1.36)
  P1OUT |= BIT3; //если напряжение больше 1.36 включаем еще 2-ой светодиод


После всех проверок должна быть задержка миллисек на 100-200. Лучше отправить процессор в сон с пробуждением от таймера. Тогда и для радио помех меньше будет.
Unrealee
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Вс дек 02, 2012 21:11:30

Re: Цифровая шкала с LED линейкой на MSP430

Сообщение Unrealee »

Код: Выделить всё

#include <msp430g2553.h>

//что бы не запутаться в порядке следования светодиодов
//1 BIT2 1DIR
//2 BIT3 1DIR
//3 BIT4 1DIR
//4 BIT5 1DIR
//5 BIT0 2DIR
//6 BIT1 2DIR
//7 BIT2 2DIR
//8 BIT3 2DIR
//9 BIT4 2DIR
//10 BIT5 2DIR
//11 BIT6 1DIR
//12 BIT7 1DIR
//13 BIT7 2DIR
//14 BIT6 2DIR
void ADC_init(void);          //объявляем функцию для АЦП
float volts=0.0;             //объявляем переменную для результата измерения


void main( void )
{

WDTCTL = WDTPW + WDTHOLD;                         //отключаем ждущий таймер
P1OUT = 0;                                     //инициализируем выключенными светодиоды на первом порту
P1DIR &= ~(BIT2+BIT3+BIT4+BIT5+BIT6+BIT7);

P2OUT = 0;                                     //инициализируем выключенными светодиоды на втором порту
P2DIR &= ~(BIT0+BIT1+BIT2+BIT3+BIT4+BIT5+BIT6+BIT7);

ADC_init();

 for (;;)
 {
 ADC10CTL0 |= ADC10SC;                               // начинаем новое преобразование
 while ((ADC10CTL1 & ADC10BUSY) == 0x01);                // ждем, когда преобразование закончится
 volts=ADC10MEM*0.0032258;                            //сохраняем результат преобразования
 P1OUT = 0;    // выключаем все светики
 P2OUT = 0;

 if (volts >= 1.2)
   P1OUT |= BIT2; //если напряжение больше 1.2 включаем первый светодиод
 if (volts >= 1.36)
   P1OUT |= BIT3; //если напряжение больше 1.36 включаем еще 2-ой светодиод
 if (volts >= 1.52)
   P1OUT |= BIT4; //если напряжение больше 1.2 включаем 3 светодиод
 if (volts >= 1.69)
   P1OUT |= BIT5;
 if (volts >= 1.85)
   P2OUT |= BIT0;
 if (volts >= 2.01)
    P2OUT |= BIT1;
 if (volts >= 2.17)
     P2OUT |= BIT2;
 if (volts >= 2.33)
     P2OUT |= BIT3;
 if (volts >= 2.5)
     P2OUT |= BIT4;
 if (volts >= 2.67)
     P2OUT |= BIT5;
 if (volts >= 2.82)
     P1OUT |= BIT6;
 if (volts >= 2.99)
     P1OUT |= BIT7;
 if (volts >= 2.15)
     P2OUT |= BIT7;
 if (volts >= 3.3)
     P2OUT |= BIT6;
 }

}//main

void ADC_init(void)
{
                                          // Используем Vcc/Vss(аналоговая земля) для верхнего/нижнего ИОН,
                                          // 16 x ADC10CLKs (выборка за 16 тактов), включаем АЦП.
 ADC10CTL0 = SREF_0 + ADC10SHT_2 + ADC10ON;
                                                        // Вход A1, делитель ADC10CLK на 1, одноканальный режим.
 ADC10CTL1 = INCH_1 + SHS_0 + ADC10SSEL_0 + ADC10DIV_0 + CONSEQ_0;
 ADC10AE0 = BIT0;                               // Разрешаем вход АЦП на порту P1.1

 ADC10CTL0 |= ENC;                               // Разрешаем преобразования.
} // ADC_init


Задержка делается через delay ()???
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

Re: Цифровая шкала с LED линейкой на MSP430

Сообщение Ser60 »

Лучше сделать задержку на таймере, но чтобы попробовать можно и без нее пока.
Unrealee
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Вс дек 02, 2012 21:11:30

Re: Цифровая шкала с LED линейкой на MSP430

Сообщение Unrealee »

Прога в таком виде:

Код: Выделить всё

#include <msp430g2553.h>

//что бы не запутаться в порядке следования светодиодов
//1 BIT2 1DIR
//2 BIT3 1DIR
//3 BIT4 1DIR
//4 BIT5 1DIR
//5 BIT0 2DIR
//6 BIT1 2DIR
//7 BIT2 2DIR
//8 BIT3 2DIR
//9 BIT4 2DIR
//10 BIT5 2DIR
//11 BIT6 1DIR
//12 BIT7 1DIR
//13 BIT7 2DIR
//14 BIT6 2DIR
void ADC_init(void);          //объявляем функцию для АЦП
float volts=0.0;             //объявляем переменную для результата измерения


void main( void )
{

WDTCTL = WDTPW + WDTHOLD;                         //отключаем ждущий таймер
P1DIR = (BIT2 + BIT3 + BIT4 + BIT5 + BIT6 + BIT7);
P1OUT = 0;                                     //инициализируем выключенными светодиоды на первом порту
P2DIR = (BIT0 + BIT1 + BIT2 + BIT3 + BIT4 + BIT5 + BIT6 + BIT7);
P2OUT = 0;                                     //инициализируем выключенными светодиоды на втором порту

ADC_init();

 for (;;)
 {
 ADC10CTL0 |= ADC10SC;                               // начинаем новое преобразование
 while ((ADC10CTL1 & ADC10BUSY) == 0x01);                // ждем, когда преобразование закончится
 volts=ADC10MEM*0.0032258;                            //сохраняем результат преобразования
 P1OUT = 0;    // выключаем все светики
 P2OUT = 0;

 if (volts >= 1.2)
   P1OUT |= BIT2; //если напряжение больше 1.2 включаем первый светодиод
 if (volts >= 1.36)
   P1OUT |= BIT3; //если напряжение больше 1.36 включаем еще 2-ой светодиод
 if (volts >= 1.52)
   P1OUT |= BIT4; //если напряжение больше 1.52 включаем 3 светодиод
 if (volts >= 1.69)
   P1OUT |= BIT5;
 if (volts >= 1.85)
   P2OUT |= BIT0;
 if (volts >= 2.01)
    P2OUT |= BIT1;
 if (volts >= 2.17)
     P2OUT |= BIT2;
 if (volts >= 2.33)
     P2OUT |= BIT3;
 if (volts >= 2.5)
     P2OUT |= BIT4;
 if (volts >= 2.67)
     P2OUT |= BIT5;
 if (volts >= 2.82)
     P1OUT |= BIT6;
 if (volts >= 2.99)
     P1OUT |= BIT7;
 if (volts >= 2.15)
     P2OUT |= BIT7;
 if (volts >= 3.3)
     P2OUT |= BIT6;
 }

}//main

void ADC_init(void)
{
                                          // Используем Vcc/Vss(аналоговая земля) для верхнего/нижнего ИОН,
                                          // 16 x ADC10CLKs (выборка за 16 тактов), включаем АЦП.
 ADC10CTL0 = SREF_0 + ADC10SHT_2 + ADC10ON;
                                                        // Вход A1, делитель ADC10CLK на 1, одноканальный режим.
 ADC10CTL1 = INCH_1 + SHS_0 + ADC10SSEL_0 + ADC10DIV_0 + CONSEQ_0;
 ADC10AE0 = BIT0;                               // Разрешаем вход АЦП на порту P1.1

 ADC10CTL0 |= ENC;                               // Разрешаем преобразования.
} // ADC_init





МК прошился без ошибок, вне зависимости от уровня напряжения на 2-ой ноге, все светодиоды горят :(
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

Re: Цифровая шкала с LED линейкой на MSP430

Сообщение Ser60 »

У меня есть таком МК на работе. Я завтра принесу домой, тогда продолжим.
Ответить

Вернуться в «Разные вопросы по МК»