реклама на сайте
подробности

 
 
> Подключение 7-сегментного индикатора к msp430g24523, программирование
Cruz21
сообщение Jun 16 2013, 15:19
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 43
Регистрация: 23-01-13
Пользователь №: 75 313



Добрый день, я собрал небольшую вставочную схему для отладчика LaunchPad на МК msp430g2452(фото прикреплен), где содержатся 7-сегментный, 4хразрядный индикатор. 7 сегментов я вывел на второй порт (Р2), а разряды на первый порт (Р1). Проблема в том что я не могу включить этот индикатор, точнее не знаю какой код прописать. Таблицы образов написал, а как заработал этот индикатор не знаю wacko.gif
static const u_char TBL_IMAGE[ ] =
0x40, // 0
0x79, // 1
0x24, // 2
0x30, // 3
0x19, // 4
0x12, // 5
0x02, // 6
0x78, // 7
0x00, // 8
0x10, // 9
static const u_char TBL_COM[ ] =
0xF8, // А1
0xF4, // А2
0xEC, // А3
0xDC, // А4
Идея такая, если взять какое нибудь число и его код в шестнадцатеричном коде и перевести в двоичный, то 0 должные зажигать LED подсветки, а 1 отключать. Помогите мне написать простенькую программу, хоть простой какой нибудь счетчик, чтоб я понял как взаимодействует простой индикатор без драйверов с МК. Как загнать образы в порта и выводить значения на индикаторе?
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Cruz21
сообщение Jun 23 2013, 12:29
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 43
Регистрация: 23-01-13
Пользователь №: 75 313



Код
#include  <msp430g2452.h>

#define IND1 BIT5 //управление разрядами индикатора
#define IND2 BIT4
#define IND3 BIT3
#define IND4 BIT2

unsigned char NUM;//отвечает какой разряд горит
unsigned char BCD;//значение частоты
unsigned char BC_H1,BC_L1,BC_H2,BC_L2; //разделение по BCD по знаково
int t2ms=0;


unsigned char digits[]=
{
       0xBE, //0
       0x84, //1
       0xAB, //2
       0xA7, //3
       0x95, //4
       0x37, //5
       0x3F, //6
       0xA4, //7
       0xBF, //8
       0xB7, //9
      
  };


void main( void )
{
  WDTCTL = WDTPW + WDTHOLD;// Stop watchdog timer to prevent time out reset
  BCSCTL1 = CALBC1_16MHZ;//Проц тактируем от встроенного
  DCOCTL  = CALDCO_16MHZ;//генератора с калибровкой последнего на 16 мгц

  
  P1DIR |= 0x3C;      // P1 output
  P2DIR |= 0xFF;      // P2 output
  
  //конфиг первого таймера
  TA0CCR0 = 32000;//?anoioa
TA0CCTL0 = CCIE;//
TACTL = TASSEL_2 + MC_1; // SMCLK, upmode

__enable_interrupt();

_BIS_SR(LPM0_bits + GIE); // Enter LPM0 w/ interrupt
}

#pragma vector=TIMER0_A0_VECTOR
__interrupt void Timer0_A0 (void)
{
  P1OUT &= ~(IND1|IND2|IND3|IND4);
    
switch (NUM)
{
  case 0 :
  
   P2OUT = digits[1];
   P1OUT |= IND1;
   break;
        
  case 1 :
    
    P2OUT = digits[2];
    P1OUT |= IND2;
    break;
  case 2 :
    
    P2OUT = digits[3];
    P1OUT |= IND3;
    break;
    
  case 3 :
    
    P2OUT = digits[4];
    P1OUT |= IND4;
    break;
}
NUM++;
if (NUM == 4) NUM = 0;
  
}


в чем может быть проблема?
я хочу чтоб у меня светилось 1 2 3 4, а получается 1 1 1 1, 2 2 2 2, 3 3 3 3, 4 4 4 4??

Сообщение отредактировал Cruz21 - Jun 23 2013, 12:29
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Cruz21   Подключение 7-сегментного индикатора к msp430g24523   Jun 16 2013, 15:19
- - kovigor   Цитата(Cruz21 @ Jun 16 2013, 18:19) Пробл...   Jun 16 2013, 15:54
|- - Cruz21   Цитата(kovigor @ Jun 16 2013, 19:54) Инди...   Jun 16 2013, 17:19
|- - rezident   Цитата(Cruz21 @ Jun 16 2013, 22:19) индик...   Jun 16 2013, 17:51
|- - Cruz21   Цитата(rezident @ Jun 16 2013, 21:51) htt...   Jun 16 2013, 17:57
|- - rezident   Цитата(Cruz21 @ Jun 16 2013, 22:57) исход...   Jun 16 2013, 18:09
|- - Cruz21   Цитата(rezident @ Jun 16 2013, 22:09) Ну ...   Jun 16 2013, 18:34
|- - kovigor   Цитата(Cruz21 @ Jun 16 2013, 21:34) Спаси...   Jun 16 2013, 20:24
|- - Cruz21   Кодvoid main(void) { P2DIR = 0xFF; P2OUT =...   Jun 16 2013, 20:53
|- - kovigor   Цитата(Cruz21 @ Jun 16 2013, 23:53) Зажег...   Jun 16 2013, 21:00
|- - Cruz21   Цитата(kovigor @ Jun 17 2013, 01:00) В то...   Jun 17 2013, 05:58
- - fractcon   А не пробовали взять батарейку, резистор и два про...   Jun 16 2013, 17:29
|- - Cruz21   Цитата(fractcon @ Jun 16 2013, 21:29) А н...   Jun 16 2013, 17:40
- - Cruz21   Исправил схему   Jun 17 2013, 08:49
- - Cruz21   Кто может указанные здесь AVRсоком коде, порты пер...   Jun 17 2013, 16:11
|- - haker_fox   QUOTE (Cruz21 @ Jun 18 2013, 01:11) Кто м...   Jun 18 2013, 12:12
- - rezident   Цитата(Cruz21 @ Jun 17 2013, 13:49) Испра...   Jun 18 2013, 19:42
|- - Cruz21   Цитата(rezident @ Jun 18 2013, 23:42) Пло...   Jun 18 2013, 19:52
|- - rezident   Цитата(Cruz21 @ Jun 19 2013, 00:52) Я пер...   Jun 18 2013, 19:58
|- - Cruz21   Цитата(rezident @ Jun 18 2013, 23:58) Я ж...   Jun 18 2013, 20:06
- - Cruz21   Наконец то собрал схему правильно, программно тоже...   Jun 19 2013, 18:43
|- - kovigor   Цитата(Cruz21 @ Jun 19 2013, 21:43) Након...   Jun 19 2013, 19:58
- - rezident   Рискну предложить свой "перелопаченный" ...   Jun 23 2013, 18:32
- - ARV   почитайте вот эту статью о динамической индикации ...   Jun 25 2013, 08:01


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 31st July 2025 - 14:24
Рейтинг@Mail.ru


Страница сгенерированна за 0.01393 секунд с 7
ELECTRONIX ©2004-2016