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

 
 
> Подключение 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 17 2013, 16:11
Сообщение #2


Участник
*

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



Кто может указанные здесь AVRсоком коде, порты переименовать на наш msp430cкий
Код
#include <ioavr.h>
#include <intrinsics.h>

unsigned char number[] =
{
  0x3f, //0
  0x06, //1
  0x5b, //2
  0x4f, //3  
  0x66, //4
  0x6d, //5
  0x7d, //6
  0x07, //7  
  0x7f, //8
  0x6f  //9    
};

unsigned char count = 0;

//числа для вывода на индикатор
unsigned char data1 = 2;
unsigned char data2 = 5;

int main( void )
{
  //порт, к которому подкл. сегменты
  PORTB = 0xff;
  DDRB = 0xff;
  
  //порт, к которому подкл. катод
  PORTD = 0;
  DDRD = (1<<1)|(1<<0);
  
  while(1){

    //гасим оба разряда
    PORTD &= ~((1<<1)| (1<<0));

    //выводим в порт код цифры
    //и зажигаем следующий разряд
    if (count == 0) {
      PORTB = number[data2];
      PORTD |= (1<<1);
    }
    if (count == 1) {
      PORTB = number[data1];
      PORTD |= (1<<0);
    }
    
    count++;
    if (count == 2) count = 0;

    //частота смены разрядов будет 100 Гц при кварце 8МГц
    __delay_cycles(800000);    
  }  
  return 0;
}

Совсем запутался с портами, как с ними работать sad.gif

Сообщение отредактировал Cruz21 - Jun 17 2013, 16:11
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
|- - 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
- - Cruz21   Код#include <msp430g2452.h> #define IND1...   Jun 23 2013, 12:29
- - rezident   Рискну предложить свой "перелопаченный" ...   Jun 23 2013, 18:32
- - ARV   почитайте вот эту статью о динамической индикации ...   Jun 25 2013, 08:01


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

 


RSS Текстовая версия Сейчас: 30th July 2025 - 02:38
Рейтинг@Mail.ru


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