Дмитрий Мамедиев Опубликовано 6 мая, 2020 Поделиться Опубликовано 6 мая, 2020 Белый экран на ЛСД? Что за ЛСД такой? 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Андрей Протаскин Опубликовано 6 мая, 2020 Поделиться Опубликовано 6 мая, 2020 @ARV //Atmega8A #define F_CPU 8000000 #include <avr/io.h> #include "n1510.h" void presets(){ Lcd_init; Lcd_clear; } int main() { presets(); while(1) { Lcd_prints(0, 3, FONT_1X,(unsigned char *)PSTR("Hellow")); Lcd_prints(0, 4, FONT_1X,(unsigned char *)PSTR(Привет!")); } } } 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
20% скидка на весь каталог электронных компонентов в ТМ Электроникс!Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!Перейти на страницу акции Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849
ARV Опубликовано 6 мая, 2020 Поделиться Опубликовано 6 мая, 2020 Во-первых, код вставляют при помощи кнопочки <> , чтобы он выглядел по-людски. Во-вторых, n1510.h тоже надо прикладывать. Но мне кажется, вы снова не стали изучать, а надеетесь взять барьер наскоком. Вот что-то PSTR в функции Lcd_prints меня настораживает... В который раз так же повторяю: никогда не вставляйте #define F_CPU 8000000 в исходник! Добавляйте соответствующую настройку в параметры компилятора или makefile! 0 Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют... Ссылка на комментарий Поделиться на другие сайты Поделиться
Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>> Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161
Андрей Протаскин Опубликовано 6 мая, 2020 Поделиться Опубликовано 6 мая, 2020 (изменено) @ARV А давайте я вам лучше скину тимвивер! @ARV Я вам скидываю тимвивер! @ARVID - 1 199 784 030 и пароль - mp6p62 Изменено 6 мая, 2020 пользователем Андрей Протаскин -1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Дмитрий Мамедиев Опубликовано 6 мая, 2020 Поделиться Опубликовано 6 мая, 2020 А что в лсдини написано? Где инициализация? 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Андрей Протаскин Опубликовано 6 мая, 2020 Поделиться Опубликовано 6 мая, 2020 @Дмитрий Мамедиев Не знаю 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Дмитрий Мамедиев Опубликовано 6 мая, 2020 Поделиться Опубликовано 6 мая, 2020 Сынку пойди почитай книжки. Что каждое слово и буква значит, а ты пытаешся с дуру.... так можно и х.. сломать 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Андрей Протаскин Опубликовано 6 мая, 2020 Поделиться Опубликовано 6 мая, 2020 @ARV вы мне скиньте код, под которым будет работать LCD дисплей в Proteus! 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
ARV Опубликовано 6 мая, 2020 Поделиться Опубликовано 6 мая, 2020 Я готов только помочь вам научиться решать возникающие проблемы самостоятельно. Т.е. могу научить докапываться до источника проблем и решать их. Но это возможно при вашем желании научиться самостоятельно что-то делать, а не повторять за мной или кем-то еще. Готовы? Вышеуказанные вещи в студию, и начнем. На других условиях (т.е. по-вашему) я ничего делать не буду. 0 Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют... Ссылка на комментарий Поделиться на другие сайты Поделиться
Дмитрий Мамедиев Опубликовано 6 мая, 2020 Поделиться Опубликовано 6 мая, 2020 Даже если скинуть тебе рабочий код он у тебя работать не будет, нужно в программе прописывать как минимум порты. Чёрт возьми я тоже начинающий но прежде чем задавать вопросы сам пытался искать что то. Уроков полно в инете, посмотрите, почитайте. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Андрей Протаскин Опубликовано 6 мая, 2020 Поделиться Опубликовано 6 мая, 2020 @ARV Во-первых - да, а во-вторых грешно смеяться над больными людьми! Я аутист, у меня проблемы с корой головного мозга, я на домашнем обучении, не люблю большое скопление людей! @ARV я просто хочу, чтобы вы мне разжевали мне информацию по LCD дисплею 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
ARV Опубликовано 6 мая, 2020 Поделиться Опубликовано 6 мая, 2020 1 час назад, Андрей Протаскин сказал: я просто хочу, чтобы вы мне разжевали мне информацию по LCD дисплею Я не могу вам ничего разжевать, потому что начинать не знаю откуда. Делать что-то за вас - это не правильно. Делать с вами - другое дело. Но если вы делать не будете, делать с вами не выйдет. Здесь нет большого скопления людей - здесь только буквы на экране. 0 Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют... Ссылка на комментарий Поделиться на другие сайты Поделиться
Андрей Протаскин Опубликовано 6 мая, 2020 Поделиться Опубликовано 6 мая, 2020 @ARV Я не знаю, что делать в LCD дисплее! Я всё перепробовал - ничего не получается! 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
ARV Опубликовано 6 мая, 2020 Поделиться Опубликовано 6 мая, 2020 Для начала покажите схему подключения и файлы, о которых я вам писал. Где вы их (схему и файлы) взяли? Я вам писал, что меня насторожило в уже показанном коде - вы что по этому вопросу выяснили? При решении проблем надо не головой о стенку биться, а шаг за шагом ставить вопросы и находить на них ответы. Давайте так: вы не будете игнорировать задаваемые вам вопросы и просьбы, а будете спокойно и обстоятельно на них отвечать. 0 Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют... Ссылка на комментарий Поделиться на другие сайты Поделиться
Андрей Протаскин Опубликовано 6 мая, 2020 Поделиться Опубликовано 6 мая, 2020 (изменено) @ARVВот GccApplication5.hex lcd_5110.pdsprj Изменено 6 мая, 2020 пользователем Андрей Протаскин 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
ARV Опубликовано 6 мая, 2020 Поделиться Опубликовано 6 мая, 2020 8 минут назад, Андрей Протаскин сказал: Вот Это не то, что я просил. 5 часов назад, ARV сказал: Во-вторых, n1510.h тоже надо прикладывать. Дело в том, что код в программе должен соответствовать схеме. Вы проверили - он соответствует? Если вы не станете отвечать на мои вопросы, как я вас просил, я не стану отвечать вам - зачем мне зря тратить время? 30 минут назад, ARV сказал: Где вы их (схему и файлы) взяли? 31 минуту назад, ARV сказал: Я вам писал, что меня насторожило в уже показанном коде - вы что по этому вопросу выяснили? -1 Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют... Ссылка на комментарий Поделиться на другие сайты Поделиться
Андрей Протаскин Опубликовано 7 мая, 2020 Поделиться Опубликовано 7 мая, 2020 (изменено) @ARV вот. Нет, код в программе не соответствует схеме LCD_5110.zip lcd_5110.pdsprj n5110.c n5110.h GccApplication6.hex Изменено 7 мая, 2020 пользователем Андрей Протаскин 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
ARV Опубликовано 7 мая, 2020 Поделиться Опубликовано 7 мая, 2020 (изменено) #include <avr/io.h> #include "n5110.h" #include <avr/pgmspace.h> int main(void){ Lcd_init(); Lcd_clear(); Lcd_prints(0, 0, FONT_1X, PSTR("Nokia 3310")); Lcd_update(); } В протеусе надо использовать компонент из стандартной библиотеки, называется NOKIA5110, ваша самоделка не работает. Вот так надо подключать: Вот такой итог будет: К сожалению, больше вам помогать у меня нет возможности. Изменено 7 мая, 2020 пользователем ARV 0 Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют... Ссылка на комментарий Поделиться на другие сайты Поделиться
Андрей Протаскин Опубликовано 7 мая, 2020 Поделиться Опубликовано 7 мая, 2020 @ARV Да! Я понял! Оказывается в видеоуроке про LCD дисплей рассказывается всё неправильно! Там использовалась нестандартная библиотека в Proteus, а надо использовать стандартную, и код написали неправильно! Понаберут непрофессионалов типа меня, и тут хрен поймешь! 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
ARV Опубликовано 7 мая, 2020 Поделиться Опубликовано 7 мая, 2020 (изменено) 3 минуты назад, Андрей Протаскин сказал: Оказывается в видеоуроке про LCD дисплей рассказывается всё неправильно! За свою жизнь я не посмотрел ни одного видеоурока. Зато прочитал много книжек, учебников, справочников, статей и документации на микросхемы и программы. Этого мне на 100% хватает, чтобы решать все возникающие у меня проблемы. Никогда никому не советовал то, чем сам не пользуюсь. Поэтому вам советую читать книги (и документацию) и размышлять над прочитанным, а ВИДЕОуроки не смотреть. Пусть это будет медленнее и потребует больше усилий, зато и результат будет налицо. Изменено 7 мая, 2020 пользователем ARV 0 Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют... Ссылка на комментарий Поделиться на другие сайты Поделиться
Deicide Опубликовано 7 мая, 2020 Поделиться Опубликовано 7 мая, 2020 Здравствуйте. Потребовался генератор прямоугольных импульсов (меандра) с регулировкой частоты в диапазоне от 1Гц до 100кГц (T = 1s...10us) задание частоты и вывод на дисплей 16х2. Регулировка осуществляется кнопками. В общем для этой цели использую режим CTC (Clear-To-Compare) таймер 1 (16 бит, 65535 тактов) при частоте ядра 8МГц и при двух установочных коэффициентах деления (1:1) и (1:256) можно варьировать в данном диапазоне. Вопрос состоит в следующем: как перейти из значения регистра OCR1A к частоте сигнала? На данном этапе хотелось бы видеть реальную частоту на жки + как-то переключаться между коэффициентами деления (switch?), функция (set_freq()). В общем прошу помочь программно и отнестись с пониманием. Программирование со скрипом идёт. Код прилагаю. Спасибо. #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #include <stdlib.h> #include <stdio.h> #include "main.h" #include "lcd.h" #define F_CPU 8000000UL char lcd_buffer[16]; float freq = 1000000; // max desired freq (Hz) unsigned int prescaler = 1; // divider unsigned int temp; void tc1_init() { TCCR1A |= (1<<COM1A0) | (1<<COM1B0); // toggle OC1A on compare match TCCR1B |= (1<<WGM12) | (1<<CS10); // clk/1 TIMSK |= (1<<TOIE1); // enable interrupt overflow TCNT1 = 0; // init counter } void io_init() { DDRB = 0x00; // PB input buttons DDRD = 0x20; // PD5 output gen } void set_freq() { temp = (F_CPU/(2*prescaler*freq)-1); OCR1A = temp; } // if (..) // // switch (prescaler) // { // case 1: TCCR1B |= (1<<WGM12) | (1<<CS10); break; // 1:1 // case 256: TCCR1B |= (1<<WGM12) | (1<<CS12); break; // 1:256 // } void wave_adj() // frequency adjusting { if(~PINB & (1<<0)) // PB0 log 0 increase freq { freq +=10; _delay_ms(250); } if(~PINB & (1<<1)) // PB1 log 0 decrease freq { freq -=10; _delay_ms(250); } } ISR(TIMER1_OVF_vect) { PORTD ^= (1<<5); // toggle log level } int main(void) { port_init(); io_init(); tc1_init(); lcd_init(); lcd_load(); lcd_clear(); set_freq(); sei(); // enable global interrupts while (1) { set_pos(0,0); string_lcd("SETTING FREQ = "); set_pos(0,1); sprintf(lcd_buffer, "= %u Hz", temp); string_lcd(lcd_buffer); wave_adj(); } } 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
ARV Опубликовано 7 мая, 2020 Поделиться Опубликовано 7 мая, 2020 Диапазон-то перекрыть можно, да только вы учли, что шаг изменения частоты будет, мягко говоря, нелинейным? Вот слева табличка экселя с небольшим расчетом... Устроит вас такая перестройка частоты? 0 Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют... Ссылка на комментарий Поделиться на другие сайты Поделиться
IMXO Опубликовано 7 мая, 2020 Поделиться Опубликовано 7 мая, 2020 52 минуты назад, Deicide сказал: Вопрос состоит в следующем: как перейти из значения регистра OCR1A к частоте сигнала? очень просто... частота функция обратная периоду Fpin=Fosc/(2*DIV*(ORC1A+1)) 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Deicide Опубликовано 7 мая, 2020 Поделиться Опубликовано 7 мая, 2020 ARV приветствую, шаг не предусмотрел, максимальная частота 100кГц. Чем ниже значение регистра OCR, тем лучше. Перестройка устраивает, вопрос по программной части, а именно не понимание, как выводить частоту на жк, а не посчитанное по формуле значение OCR. Да и в коде ошибка где функция wave_adj(), конечно же temp, а не freq увеличивается/уменьшается. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Андрей Протаскин Опубликовано 7 мая, 2020 Поделиться Опубликовано 7 мая, 2020 Здравствуйте! А как выглядит микросхема микроконтроллера Atmega8 изнутри? 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы публикуете как гость. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.