Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как подключить PIC16F873 к WH1602A
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему
PIC_mk
Подскажите как отобразить какое-нибудь слово на индикаторе WH1602A используя PIC16F873. Если кто сможет напишите программу в блокноте для вывода хотя бы одного символа на дисплей индикатора.
drovik
Скачай MikroC и вопросы отпадут. Там по-моему даже схема включения есть. Как вариант можно еще CCS использовать. В любом случае С.
K_AV
Цитата(PIC_mk @ Dec 4 2007, 21:50) *
Подскажите как отобразить какое-нибудь слово на индикаторе WH1602A используя PIC16F873. Если кто сможет напишите программу в блокноте для вывода хотя бы одного символа на дисплей индикатора.
1. Для начала требуется-таки собрать схему из указанного PIC-а и ЖКИ (хотя бы "на бумаге"), чтобы зафиксировать подключение ЖКИ к PIC. Без этого - что ты в программе для PIC описывать будешь?
Учти, что данный класс ЖКИ допускает 2 разных подключения к контроллеру - 8-битное и 4-битное. От этого так же кое-что зависит в схеме и в программе.
2. Определись, на чем программу писать будешь (Asm, C).
3. Как будешь проверять результат того, что напрограммировал (будешь макет паять, или какой-нибудь Протеус привлекать...).
_Alfred_
В основе большинства таких индикаторов лежит контроллер HD44780 и Ваш не исключение: Алфавитно-цифровой ЖК-модуль WH1602A фирмы Winstar.

Вывод на индикатор сводится к управлению контроллером. Возьмите datasheet например с МЭЛТа, там на русском достаточно понятно все описано (например ЖК-индикатор MT-16S2R).

В интернете есть много примеров, посмотрите например:
Иcпользование ЖКИ индикаторов на базе контроллера HD44780 и его аналогов совместно с PIC-микроконтроллерами
Трехдиапазонный частотомер - цифровая шкала на PIC16F84A c ЖКИ индикатором (на основе м/контроллера HD44780) и функцией памяти настроек (по материалам "Самоучителя...).
LC-meter FREE project

Смотрите в интернете - там все есть (http://www.google.com/search?hl=ru&cli...&lr=lang_ru) да и на этом форуме тожеsmile.gif
kolisnichenko_r
Цитата(PIC_mk @ Dec 4 2007, 23:50) *
Подскажите как отобразить какое-нибудь слово на индикаторе WH1602A используя PIC16F873. Если кто сможет напишите программу в блокноте для вывода хотя бы одного символа на дисплей индикатора.


Первый шаг: инициализация индикатора, загрузка символов созданых пользователем(если такие есть/нужны):
Код
void lcd_init(void)//initcializatciya lcd
{LCD_RS=0;
  Delayms(15);//15ms
  PORTD=0x3  ;
  LCD_STROBE ;
  Delayms(5) ;//5ms
  LCD_STROBE ;
  Delaymks(100);//100mks
  LCD_STROBE ;
  Delayms(5) ;
  PORTD=0x2  ;
  LCD_STROBE ;
  Delaymks(40);//40mks
  lcd_cmd(0x28);
  lcd_cmd(0x08);
  lcd_cmd(0x0c);
  lcd_cmd(0x06);
    }

#define LCD_STROBE ((LCD_EN=1),(LCD_EN=1),(CD_EN=0))
  static bit LCD_RS @(unsigned)&PORTC*8+0;
  static bit LCD_EN @(unsigned)&PORTC*8+1;

  void lcd_cmd (unsigned char c)//komanda dlya lcd
{LCD_RS=0 ;
  PORTD=(PORTD&0xf0)|(c>>4);
  LCD_STROBE;
  PORTD=(PORTD&0xf0)|(c&0x0f);
  LCD_STROBE;
  Delaymks(40);//40mks
}

void lcd_char(char c)//bukva dlya lcd
{LCD_RS=1 ;
  PORTD=(PORTD&0xf0)|(c>>4);
  LCD_STROBE;
  PORTD=(PORTD&0xf0)|(c&0x0f);
  LCD_STROBE;
  Delaymks(40);//40mks
}

void lcd_write(void)//загрузка символов созданых пользователем
{char j;
  lcd_cmd(0x40); /* komanda dlya lcd */     
  for(j=0;j<16;j++)
   {lcd_char(Zn[j]);} /* bukva dlya lcd */
}


Второй шаг: вывод букв на индикатор
Код
  //lcd_cmd (0x01);//очистка индикатора
  //Delayms(3);
  lcd_char(0x20);//" "
  lcd_char(0x20);//" "
  lcd_char(0x20);//" "
  lcd_char(0x42);//"В "    
  lcd_char(0xbd);//"н"
  lcd_char(0xb8);//"и"
  lcd_char(0xbc);//"м"
  lcd_char(0x61);//"а"
  lcd_char(0xbd);//"н"
  lcd_char(0xb8);//"и"
  lcd_char(0x65);//"е"
  lcd_char(0x21);//"!"
  lcd_cmd(0xc0);//perevоd na 2-ruu strochku
  //lcd_char(0x20);//" "
  lcd_char(0xa5);//"И"
  lcd_char(0xe3);//"д"
  lcd_char(0x65);//"е"
  lcd_char(0xbf);//"т"
  lcd_char(0x20);//" "
  lcd_char(0xb8);//"и"
  lcd_char(0xb7);//"з"
  lcd_char(0xbc);//"м"
  lcd_char(0x65);//"е"
  lcd_char(0x70);//"р"
  lcd_char(0x65);//"е"
  lcd_char(0xbd);//"н"
  lcd_char(0xb8);//"и"
  lcd_char(0x65);//"е"
  lcd_char(0x21);//"! "
PIC_mk
Помогите написать программу для вывода какого-недь слова для вот этой схемы. Например,
PLEASE WAIT... . Если можно, то напишите исходный текст программы для последующей его
компиляции в MPASMWIN.exe. Спасибо за инфо о MT-16S2, LC-meter, трехдиапазонный частотомер.
Нажмите для просмотра прикрепленного файла
ogurets
пример из Mikrobasic for PIC, качаете демо, читаете хелп и через 5-50-500 минут имеете желаемое wink.gif
'(*
' * Project name:
' lcd_demo
' * Copyright:
' © mikroElektronika, 2005 - 2006
' * Revision History:
' 20050312:
' - initial release.
' * Description:
' This code demonstrates displaying text on LCD (4 bit interface)
' and use of LCD library procedures and functions.
' * Test configuration:
' MCU: PIC16F877A
' Dev.Board: EasyPIC3
' Oscillator: HS, 8.000 MHz
' Ext. Modules: None
' SW: mikroBasic v5.0 or higher
' * NOTES:
' None
' *)
program Lcd_demo

main:
Lcd_Init(PORTB) ' Initialize LCD connected to PORTB
Lcd_Cmd(LCD_CLEAR) ' Send command to LCD "clear display"
Lcd_Cmd(LCD_CURSOR_OFF) ' Send command cursor off
Lcd_Out(2,1,"PLEASE WAIT") ' Print txt to LCD, 2nd row, 1st column
end.
Сергей Борщ
Цитата(ogurets @ Dec 6 2007, 23:53) *
пример из Mikrobasic for PIC
Не подойдет - куровая должна быть на асме. PIC_mk - да чего мелочиться, в блокноте писать - публикуйте счет, куда сразу деньги посылать.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.