Например TDA7294

Форум РадиоКот • Просмотр темы - Вопрос по HD44780 срочно!
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Чт янв 08, 2026 01:40:23

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 5 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Вопрос по HD44780 срочно!
СообщениеДобавлено: Пт июн 21, 2013 10:59:09 
Потрогал лапой паяльник
Аватар пользователя

Карма: 1
Рейтинг сообщений: 5
Зарегистрирован: Сб июл 14, 2012 09:20:09
Сообщений: 374
Откуда: Украина, город Полтава
Рейтинг сообщения: 0
Пишу прошивку для темброблока на TDA8425. Всё норм, но есть вопрос.

Как вывести полосу громкости как на этом видео (0:05)? http://www.youtube.com/watch?v=15px2tKHJjM

Как заполнить полностью поле для 1 символа я заю, адрес 0xFF всё решает.. А вот как выводить по палочке я не знаю. Использую 4х битный режим. Вот библиотека:
Код:
#include <htc.h>
#define _XTAL_FREQ 4000000
#include   "lcd.h"

#define   LCD_RS RE2
#define   LCD_RW RE1
#define LCD_EN RE0

#define LCD_DATA   PORTA

#define   LCD_STROBE()   ((LCD_EN = 1),(LCD_EN=0))

/* write a byte to the LCD in 4 bit mode */

void
lcd_write(unsigned char c)
{
   __delay_us(40);
   LCD_DATA = ( ( c >> 4 ) & 0x0F );
   LCD_STROBE();
   LCD_DATA = ( c & 0x0F );
   LCD_STROBE();
}

/*
 *    Clear and home the LCD
 */

void
lcd_clear(void)
{
   LCD_RS = 0;
   lcd_write(0x1);
   __delay_ms(2);
}

/* write a string of chars to the LCD */

void
lcd_puts(const char * s)
{
   LCD_RS = 1;   // write characters
   while(*s)
      lcd_write(*s++);
}

/* write one character to the LCD */

void
lcd_putch(char c)
{
   LCD_RS = 1;   // write characters
   lcd_write( c );
}


/*
 * Go to the specified position
 */

void
lcd_goto(unsigned char pos)
{
   LCD_RS = 0;
   lcd_write(0x80+pos);
}
   
/* initialise the LCD - put into 4 bit mode */
void
lcd_init()
{
   char init_value;

   ADCON1 = 0x06;   // Disable analog pins on PORTA

   init_value = 0x3;
   TRISA0=0;
   TRISA1=0;
   TRISA2=0;
   TRISA3=0;
   TRISE0=0;
   TRISE1=0;
   TRISE2=0;
   LCD_RS = 0;
   LCD_EN = 0;
   LCD_RW = 0;
   
   __delay_ms(15);   // wait 15mSec after power applied,
   LCD_DATA    = init_value;
   LCD_STROBE();
   __delay_ms(5);
   LCD_STROBE();
   __delay_us(200);
   LCD_STROBE();
   __delay_us(200);
   LCD_DATA = 2;   // Four bit mode
   LCD_STROBE();

   lcd_write(0x28); // Set interface length
   lcd_write(0xC); // Display On
   lcd_clear();   // Clear screen
   lcd_write(0x6); // Set entry Mode
}

_________________
Всем канифоли :)
https://vk.com/maks_naumchuk


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопрос по HD44780 срочно!
СообщениеДобавлено: Пт июн 21, 2013 12:14:26 
Встал на лапы
Аватар пользователя

Карма: 4
Рейтинг сообщений: 5
Зарегистрирован: Вт мар 19, 2013 15:59:51
Сообщений: 144
Рейтинг сообщения: 0
На видео используются пользовательские символы. Т.е. - один, два, три и четыре вертикальных столбца пикселей - это 4ре определённых пользователем символа (в режиме 10x5 точек - их как раз и есть четыре).

Т.е. при увеличении громкости код символа последовательно меняется примерно так
0x20 - пробел
0x00 - один столбец
0x02 - два столбца
0x04 - три столбца
0x06 - четыре столбца
0xff - закрашено полностью

При этом пользовательские символы нужно загружать в контролёр самому.

http://naprisar.at.ua/publ/posts/risuem_svoi_simvoly_na_lcd_hd44780/1-1-0-13 - тут мануал про использование пользовательских символов

_________________
Deshalb, liebe Kolleginnen und Kollegen,
Es werd Hölle.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопрос по HD44780 срочно!
СообщениеДобавлено: Пт июн 21, 2013 12:26:27 
Потрогал лапой паяльник
Аватар пользователя

Карма: 1
Рейтинг сообщений: 5
Зарегистрирован: Сб июл 14, 2012 09:20:09
Сообщений: 374
Откуда: Украина, город Полтава
Рейтинг сообщения: 0
Desutorakuta писал(а):
На видео используются пользовательские символы. Т.е. - один, два, три и четыре вертикальных столбца пикселей - это 4ре определённых пользователем символа (в режиме 10x5 точек - их как раз и есть четыре).

Т.е. при увеличении громкости код символа последовательно меняется примерно так
0x20 - пробел
0x00 - один столбец
0x02 - два столбца
0x04 - три столбца
0x06 - четыре столбца
0xff - закрашено полностью

При этом пользовательские символы нужно загружать в контролёр самому.

http://naprisar.at.ua/publ/posts/risuem_svoi_simvoly_na_lcd_hd44780/1-1-0-13 - тут мануал про использование пользовательских символов


При выводе этих адресов что вы мне дали у меня получилось это..

А за ссылочку спасибо.) Посмотрю)


Вложения:
IMG_9579.JPG [86.08 KiB]
Скачиваний: 480

_________________
Всем канифоли :)
https://vk.com/maks_naumchuk
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопрос по HD44780 срочно!
СообщениеДобавлено: Пт июн 21, 2013 12:31:25 
Встал на лапы
Аватар пользователя

Карма: 4
Рейтинг сообщений: 5
Зарегистрирован: Вт мар 19, 2013 15:59:51
Сообщений: 144
Рейтинг сообщения: 0
Просто память знакогенератора не была инициализирована.

Хочу заметить, что в видео очень красиво работают с пользовательскими символами - загружают их динамически, так как динамики (символ mute, курсор баланса) - тоже пользовательские символы.

_________________
Deshalb, liebe Kolleginnen und Kollegen,
Es werd Hölle.


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: Вопрос по HD44780 срочно!
СообщениеДобавлено: Пт июн 21, 2013 12:33:47 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1432
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4599
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
viewtopic.php?f=61&t=584


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 5 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y