|
Подключение 7-сегментного индикатора к msp430g24523, программирование |
|
|
|
Jun 16 2013, 15:19
|
Участник

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

|
Добрый день, я собрал небольшую вставочную схему для отладчика LaunchPad на МК msp430g2452(фото прикреплен), где содержатся 7-сегментный, 4хразрядный индикатор. 7 сегментов я вывел на второй порт (Р2), а разряды на первый порт (Р1). Проблема в том что я не могу включить этот индикатор, точнее не знаю какой код прописать. Таблицы образов написал, а как заработал этот индикатор не знаю 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 отключать. Помогите мне написать простенькую программу, хоть простой какой нибудь счетчик, чтоб я понял как взаимодействует простой индикатор без драйверов с МК. Как загнать образы в порта и выводить значения на индикаторе?
Эскизы прикрепленных изображений
|
|
|
|
|
 |
Ответов
|
Jun 17 2013, 16:11
|
Участник

Группа: Участник
Сообщений: 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; } Совсем запутался с портами, как с ними работать
Сообщение отредактировал Cruz21 - Jun 17 2013, 16:11
|
|
|
|
Сообщений в этой теме
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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|