подскажите, как вывести температуру или время на дисплее ST7920 cvavr
st7920 CVAVR
st7920 CVAVR
Привет всем 
подскажите, как вывести температуру или время на дисплее ST7920 cvavr
подскажите, как вывести температуру или время на дисплее ST7920 cvavr
Re: st7920 CVAVR
Надо найти в сети пример, разобраться и сделать так же.
Re: st7920 CVAVR
Взял чей то пример:
и.... Не чего
Код: Выделить всё
#include <mega32a.h>
#include <glcd.h>
#include <font5x7.h>
unsigned char VideoVarCache [50];
unsigned char BOSS;
while (1)
{
BOSS=10;
sprintf(VideoVarCache, "%d", BOSS);
}
и.... Не чего

Re: st7920 CVAVR
Наверно, надо дисплей предварительно проинициализировать. Не спрашивай меня как - я с CVAVR не работаю,но другие люди знают, видимо.
Re: st7920 CVAVR
[uquote="CAT86",url="/forum/viewtopic.php?p=3539594#p3539594"]Взял чей то пример... и.... Не чего[/uquote]
Возьми другой пример, хороший. А что ты сам сделал, чтобы твой "пример" заработал?
Возьми другой пример, хороший. А что ты сам сделал, чтобы твой "пример" заработал?
- pyzhman
- Друг Кота
- Сообщения: 7016
- Зарегистрирован: Вс июл 12, 2009 19:15:29
- Откуда: Ижевск
- Контактная информация:
Re: st7920 CVAVR
Навскидку https://habr.com/post/213459/
А лучше всего проштудировать даташит.
А лучше всего проштудировать даташит.
Docendo discimus
- alex-wolf
- Открыл глаза
- Сообщения: 63
- Зарегистрирован: Сб мар 09, 2013 21:46:01
- Откуда: Уфа
- Контактная информация:
Re: st7920 CVAVR
[uquote="CAT86",url="/forum/viewtopic.php?p=3539466#p3539466"]Привет всем 
подскажите, как вывести температуру или время на дисплее ST7920 cvavr[/uquote]
Добрый вечер!
обзор на индикатор на контроллере "ST7920"
делал обзор
https://vk.com/video-105366674_45623902 ... 953232dd87
мой вариант, без вывода графики и адресации на Русские буквы
у меня индикатор 122х32 точки.
обращение/общение через шину "SPI"
--
удачи.
подскажите, как вывести температуру или время на дисплее ST7920 cvavr[/uquote]
Добрый вечер!
обзор на индикатор на контроллере "ST7920"
делал обзор
https://vk.com/video-105366674_45623902 ... 953232dd87
мой вариант, без вывода графики и адресации на Русские буквы
у меня индикатор 122х32 точки.
обращение/общение через шину "SPI"
Код: Выделить всё
////пояснение тип переменной- размерность "unsigned char" эквивалентно/аналогично/синоним "uint8_t" без знаковой 8бит
unsigned char lcd_buffer[];
sprintf(lcd_buffer,"%2u:%02u:%02u",hour,minut,sec);
lcd_display(0,0,lcd_buffer);
//////////////////////////день недели/// 0=""; 1="Su"; 2="Mo"; 3="Tu"; 4="We; 5="Th"; 6= "Fr"; 7="Sa"
static unsigned char *eng_str_day[] = {"", "Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"};
sprintf(lcd_buffer,"%2u/%02u/20%02u %s", date, month, year, eng_str_day[day]}
lcd_display(1,0,lcd_buffer);
--
удачи.
Последний раз редактировалось alex-wolf Ср янв 02, 2019 22:34:28, всего редактировалось 1 раз.
Re: st7920 CVAVR
[uquote="pyzhman",url="/forum/viewtopic.php?p=3539754#p3539754"]...проштудировать...[/uquote] Шутите! Похоже, ТС хочет, чтобы за него и в гугле поискали, и разжевали, и в ротик положили.
Этих примеров в сети как грязи! Да что там в сети, примеры даже в компьютере ТС есть, и даже не один - в папке CVAVR.
Этих примеров в сети как грязи! Да что там в сети, примеры даже в компьютере ТС есть, и даже не один - в папке CVAVR.
- pyzhman
- Друг Кота
- Сообщения: 7016
- Зарегистрирован: Вс июл 12, 2009 19:15:29
- Откуда: Ижевск
- Контактная информация:
Re: st7920 CVAVR
[uquote="Nijka",url="/forum/viewtopic.php?p=3539799#p3539799"]...в папке CVAVR.[/uquote]
Может, у него версия не та.
Может, у него версия не та.
Docendo discimus
- alex-wolf
- Открыл глаза
- Сообщения: 63
- Зарегистрирован: Сб мар 09, 2013 21:46:01
- Откуда: Уфа
- Контактная информация:
Re: st7920 CVAVR
у разработчиков - "CVAVR" - ПАРАНОЙЯ, они ШИФРУЮТ свои библиотечки (особенно для работы с индикаторами)
актуальный список для 3.34! версии
ILI9325, ILI9328, ILI9340, ILI9341, RA8875, S6D1121, SSD1289, SSD1963, SSD2119 (color TFT LCD), KS0108, SED1335, S1D13700, SED1520, SED1530, SH1101A (OLED), SSD1303 (OLED), SSD1305 (OLED), SSD 1306 (OLED), SSD1309 (OLED), SSD1322 (OLED), SPLC501C, ST7565, ST7567, ST7920, ST7793, T6963C, UC1608, UC1610, UC1701, XG7100 and PCD8544 (Nokia 3310, 5510) controllers
так что приходится изобретать свой велосипед!
актуальный список для 3.34! версии
ILI9325, ILI9328, ILI9340, ILI9341, RA8875, S6D1121, SSD1289, SSD1963, SSD2119 (color TFT LCD), KS0108, SED1335, S1D13700, SED1520, SED1530, SH1101A (OLED), SSD1303 (OLED), SSD1305 (OLED), SSD 1306 (OLED), SSD1309 (OLED), SSD1322 (OLED), SPLC501C, ST7565, ST7567, ST7920, ST7793, T6963C, UC1608, UC1610, UC1701, XG7100 and PCD8544 (Nokia 3310, 5510) controllers
так что приходится изобретать свой велосипед!
Re: st7920 CVAVR
Что значит "шифруют"? Зачем "изобретать свой велосипед"? Чем вас не устраивают библиотеки от разработчиков?
В User Manual, который, кстати, тоже устанавливается(копируется) на комп вместе с cvavr 3 версии, функции для контроллера ST7920 на 6 листах расписаны. С примерами. В чем проблема-то?
В User Manual, который, кстати, тоже устанавливается(копируется) на комп вместе с cvavr 3 версии, функции для контроллера ST7920 на 6 листах расписаны. С примерами. В чем проблема-то?
- alex-wolf
- Открыл глаза
- Сообщения: 63
- Зарегистрирован: Сб мар 09, 2013 21:46:01
- Откуда: Уфа
- Контактная информация:
Re: st7920 CVAVR
во первых -
у меня версия 2.05 (и меня она устраивает хотя есть некоторые особенности/глюки например: не умеет работать с много-поточной/процессорной, указания на работу с портами(атмега128) F только через)
как пример:
...
if (num == 1) {PORTF |= (1<<3); DDRF = DDRF |(1<<3); }
else {PORTF &= ~(1<<3); DDRF = DDRF |(1<<3);};
...
во вторых -
попробуй открыть файл библиотечке
(путь на диске куда установлен cvavr)\lib\alcd_ks0073.lib
первое что увидишь будет строка - "CVAVRLIB "
взгляни на файлы - "sdcard.lib";"ff.lib".
в третих -
особенное/специфическое/громоздкое и жесткое привязанность к портам(не нужны некоторые "пины" или их катастрофически мало).
в четвёртых -
разве не возникало желание, разобрать и "посмотреть изнутри" как оно устроенно, а, не слепое! без понимания процесса происходящего.
у меня версия 2.05 (и меня она устраивает хотя есть некоторые особенности/глюки например: не умеет работать с много-поточной/процессорной, указания на работу с портами(атмега128) F только через)
как пример:
...
if (num == 1) {PORTF |= (1<<3); DDRF = DDRF |(1<<3); }
else {PORTF &= ~(1<<3); DDRF = DDRF |(1<<3);};
...
во вторых -
попробуй открыть файл библиотечке
(путь на диске куда установлен cvavr)\lib\alcd_ks0073.lib
первое что увидишь будет строка - "CVAVRLIB "
взгляни на файлы - "sdcard.lib";"ff.lib".
в третих -
особенное/специфическое/громоздкое и жесткое привязанность к портам(не нужны некоторые "пины" или их катастрофически мало).
в четвёртых -
разве не возникало желание, разобрать и "посмотреть изнутри" как оно устроенно, а, не слепое! без понимания процесса происходящего.
Re: st7920 CVAVR
Сами создаете себе проблемы.
1. Обновитесь до более свежей версии CVAVR. Откроете для себя много нового. На WIN95 вы же не сидите до сих пор?
3. О чем это? Любой пин ST7920, например, можно привязать к любому пину любого порта.
2,4. Зачем лезть в готовые библиотеки?!
Ими надо пользоваться! Не нравятся - пишите свои, если готовое не устраивает. Вы же не ковыряетесь в самом CVAVR? А чтобы узнать, "как оно изнутри устроено" - пишите исключительно на ассемблере. Надолго хватит? 
Вот что-то ТС примолк. Как успехи? Получилось?
1. Обновитесь до более свежей версии CVAVR. Откроете для себя много нового. На WIN95 вы же не сидите до сих пор?
3. О чем это? Любой пин ST7920, например, можно привязать к любому пину любого порта.
2,4. Зачем лезть в готовые библиотеки?!
Вот что-то ТС примолк. Как успехи? Получилось?
- pyzhman
- Друг Кота
- Сообщения: 7016
- Зарегистрирован: Вс июл 12, 2009 19:15:29
- Откуда: Ижевск
- Контактная информация:
Re: st7920 CVAVR
[uquote="alex-wolf",url="/forum/viewtopic.php?p=3540047#p3540047"]...она устраивает...[/uquote]
Перешагни через устраивает. 2-ка будет казаться детским садом.
Перешагни через устраивает. 2-ка будет казаться детским садом.
Docendo discimus
Re: st7920 CVAVR
Код: Выделить всё
#include <mega32a.h>
#include <glcd.h>
#include <font5x7.h>
#include <i2c.h>
#include <delay.h>
#include <ds3231.h>
#include <stdio.h>
#asm
.equ __i2c_port=0x15 ;PORTC
.equ __sda_bit=1
.equ __scl_bit=0
#endasm
unsigned char hour, minut, sec;
unsigned char lcd_buffer[10];
void main(void)
{
GLCDINIT_t init;
init.readxmem=NULL;
init.font=font5x7;
init.writexmem=NULL;
glcd_init(&init);
i2c_init();
rtc_init(0, 0, 0);
#asm("sei")
while (1)
{
rtc_get_time(&hour, &minut, &sec);
sprintf(lcd_buffer,"%2d:%02d:%02d",hour, minut, sec);
lcd_puts(lcd_buffer); //часы отображаются, но полностью заполнен дисплей часами
//lcd_display(0,0,lcd_buffer);Error: undefined symbol 'lcd_display'
//lcd_puts(0,0,lcd_buffer);Error: too many arguments in function call
}
};
Re: st7920 CVAVR
скажите, как позиционировать часы по дисплею?
с простым текстом всё понятно:
glcd_settextjustify(2,1);
а вот часы в определенное место... с этим проблема.
с простым текстом всё понятно:
glcd_settextjustify(2,1);
а вот часы в определенное место... с этим проблема.

