Последние файлы
Наши партнеры
Важная информация
Специалисты по МК, подскажите..
** OFFTOPIC ** - Здесь помещаются темы на околомобильные темы, либо вообще никак не связанные с общей тематикой форумов в целом...
Ответ
 
Опции темы
  • Новое
    Аватар для Hits

    Hits
    Участник
    Действительный участник ассоциации MCRF.RU

    Сообщений:
    172
    Регистрация:
    15.06.2006
    Возраст:
    45
    Рейтинг мнений: 156
    Вес репутации: 251
    Hits Hits Hits Hits Hits Hits Hits Hits Hits Hits Hits
    Очки: 8,218, Уровень: 61 Очки: 8,218, Уровень: 61 Очки: 8,218, Уровень: 61
    Активность: 8% Активность: 8% Активность: 8%
    По умолчанию Специалисты по МК, подскажите.. #1
    Камрады, наверняка есть среди форумчан специалисты по микроконтроллерам - помогите решить вопросик.. дали моему братишке младшому курсовой в инсте.. в 2 словах суть его сводится к тому, что есть 2 устройства - оба на Atmega16, одно из них берет данные с термодатчика и по сети 220 перебрасывает их на второе, которое выводит эти данные на дисплей.. сами платы я собрал, а вот с программой для меги возникла проблема на ровном месте.. не могу ничего вывести на дисплей..
    Сам дисплей МТ-10Т7-7T регистровый, без встроенного контроллера, подключен к меге к порту A по порядку PA0-A0, PA1-WR2, PA2-WR1, PA3-DB3 и т.д. вот накидал программку в CodeVisionAvr, чтоб для теста вывести на дисплей нули.. даже этого не получается.. подскажите пожалуйста, где я ошибаюсь..

    Код:
    #include <mega16.h>
    #include <delay.h>
    
    #define A0 PORTA.0
    #define WR1 PORTA.2
    
    char D[10]={0xEE,0xEE,0xEE,0xEE,0xEE,0xEE,0xEE,0xEE,0xEE,0xEE};
    
    void Strobe_WR1(void)
    {
    WR1=1;
    delay_ms(8);
    WR1=0;
    delay_ms(8);
    }
    
    void Strobe_Adr(void)
    {
    A0=0;
    delay_ms(8);
    Strobe_WR1();
    A0=1;
    }
    
    void Write(unsigned char byte)
    {
    if (byte&0x01) PORTA.3=1; else PORTA.3=0;
    if (byte&0x02) PORTA.4=1; else PORTA.4=0;
    if (byte&0x04) PORTA.5=1; else PORTA.5=0;
    if (byte&0x08) PORTA.6=1; else PORTA.6=0;
    delay_ms(8);
    }
    
    void Write_Adr(unsigned char adr)
    {
    Write(adr);
    Strobe_Adr();
    }
    
    void Write_Data(unsigned char data)
    {
    Write(data);
    Strobe_WR1();
    Write(data>>4);
    Strobe_WR1();
    }
    
    void Init_LCD(void)
    {
    unsigned char i;
    Write_Adr(0x0F);
    Write_Data(0x01);
    Write_Adr(0x00);
    for (i=0;i<10;i++) {Write_Data(0x30);}
    Write_Adr(0x00);
    }
    
    void Display(void)
    {
    unsigned char i;
    for (i=0;i<10;i++) {Write_Data(D[i]);}
    }
    
    void main(void)
    {
    PORTA=0xFF;
    DDRA=0xFF; // Порт A на выход ЖКИ
    Init_LCD();
    Display();
    while(1);
    }
    09.05.2009, 14:33
    Ответить с цитированием
  • Новое
    Аватар для vth

    vth
    Неактивный

    Сообщений:
    294
    Регистрация:
    18.01.2008
    Возраст:
    41
    Рейтинг мнений: 493
    Вес репутации: 0
    vth vth vth vth vth vth vth vth vth vth vth
    Очки: 6,197, Уровень: 51 Очки: 6,197, Уровень: 51 Очки: 6,197, Уровень: 51
    Активность: 2% Активность: 2% Активность: 2%
    По умолчанию Re: Специалисты по МК, подскажите.. #2
    Я бы попросил схему устройства (так виднее) и минимум комментариев к коду.

    И да, термодатчик работает?
    09.05.2009, 17:46
    Ответить с цитированием
  • Новое
    Аватар для Jurik_G

    Jurik_G
    Участник
    Действительный участник ассоциации MCRF.RU

    Сообщений:
    69
    Регистрация:
    24.09.2006
    Возраст:
    51
    Рейтинг мнений: 90
    Вес репутации: 245
    Jurik_G Jurik_G Jurik_G Jurik_G Jurik_G Jurik_G Jurik_G Jurik_G Jurik_G Jurik_G Jurik_G
    Очки: 7,246, Уровень: 56 Очки: 7,246, Уровень: 56 Очки: 7,246, Уровень: 56
    Активность: 0% Активность: 0% Активность: 0%
    По умолчанию Re: Специалисты по МК, подскажите.. #3
    С таким типом дисплеев работать не приходилось. Но. Сам столкнулся не так давно с отсутствием отображения символов на дисплее с контроллером Hitachi. Все оказалось банально просто. На вывод управления контрастностью надо было подать напряжение через переменный резистор. Попробуйте подобрать напряжение так, чтобы сегменты как бы чуть-чуть подсвечивались. Тогда будет видно, пытается индикатор отобразить Ваши данные или ему что-то не хватает.
    09.05.2009, 21:30
    Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите, как _правильно_ шить Т630? der_meister SonyEricsson серия 15 31.07.2006 11:56
Подскажите маркировку флешки в 6100 der_meister Вопросы ремонта "по железу" Nokia 3 25.06.2005 21:44


Текущее время: 20:42. Часовой пояс GMT +3.