Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ATmega AVR
Войти
Регистрация
Восстановить пароль
Другие темы раздела
ATmega AVR atmega16 и датчик DS18B20 https://www.cyberforum.ru/ avr/ thread2085011.html
Здравствуйте на частоте 1мгц все работает данные температуры считываются, а вот на частоте 8мгц уже нет, опытным путем установлено, что всегда возвращается ноль. Заранее спасибо. #include <avr/io.h> //#define F_CPU 8000000UL #include <util/delay.h> //определяем порт и бит к которому подключено устройство 1-wire #define W1_PORT PORTC #define W1_DDR DDRC #define W1_PIN PINC
ATmega AVR Схема питания контроллера и ацп (решено)
Хочу запитать видео регистратор от плафона освещения, но там нет напряжения, которое появляется при включении зажигания, есть только постоянное от аккума. Если просто включить на постоянку высосет аккум. Хочу сделать схемку на простеньком авр и китайском dc-dc преобразователе. Авр просыпается, проверяет напряжение сети, если ниже 13 вольт засыпает обратно. Если выше включает dc-dc...
ATmega AVR ШИМ на Tiny26 не заводится... https://www.cyberforum.ru/ avr/ thread2085009.html
Приветствую уважаемые . Проблема на ровном месте , и вроде ШИМ на ней имеется , но вот запустить - ни как его не могу :( . Ни в баскоме ни в CV AVR стандартными путями победить не получается . Второй день с ней бьюсь - всё без толку . Выручайте вся надежда на вас ...
ATmega AVR Передать массив байтов в SerialPort Здравствуйте, суть такова, по нажатии на кнопку должен передаться в COM порт байтовый массив на Atmega16, но он передается как бы со второго раза. Лампочка загорается, только после второго клика на кнопку, так же и выключается. Выводил в текст бокс получается так, нажимаешь кнопку приходит 15, но затем через секунду 0, нажимаешь второй раз кнопку, 15 приходит и остается. array1-это массив типа... https://www.cyberforum.ru/ avr/ thread2085008.html
ARDUINO IDE + STM32 или о нежном переходе с AVR :) ATmega AVR
Тема в первую очередь для фанатов быстрых решений на AVR и ARDUINO (типа меня) и тех кто ещё на AVR или ещё выбирает,сомневается, думает,мучается, мечется и колеблется ))) https://geektimes.ru/post/277928/
ATmega AVR Помогите найти ошибку? Сохраняю в EEPROM переменную Добрый день! Тестирую в симуляторе Proteus 8, пишу в CodeVisionAVR 3.12, МК Attiny 44 МК выдает ШИМ и в разных ситуациях изменяет его скважность (изменения происходят в прерывании, которое вызывается по отдельному таймеру) - эта часть работает уверенно. Возможно, будут периодические провалы питания на МК и я хочу поставить конденсатор пожирнее и контролировать напряжение питания до... https://www.cyberforum.ru/ avr/ thread2085006.html
ATmega AVR Вопрос про таймер для нескольких задач https://www.cyberforum.ru/ avr/ thread2085005.html
Всем привет. Плиз помогите начинающему. Подкиньте ссылки или напишите сами. Тема такая, использую к примеру мегу 16 и имею два устройства периферии, например ультрасоник и ИК приемник, каждый из них имеет свои настройки таймера например Т0. (хочу использовать один таймер для обоих) Вопрос как правильно использовать один таймер для нескольких периферий? Я это вижу так, к примеру...
ATmega AVR Работа с портами ввода-вывода AVR
Всем доброго времени суток. Я написал статью про работу с портами ввода-выдода МК семейства AVR. Статья состоит из двух основных частей. Первая часть - обзор подходов работы с портами на чистом Си. Вторая - то, что можно сделать на Си++. Может кому будет интересно. CppGpioForAvr.zip
ATmega AVR Красивое переключение порта ВХОД/ВЫХОД https://www.cyberforum.ru/ avr/ thread2085003.html
Приветствую вас, господа товарищи. Подскажите пожалуйста красивый (короткий) на ваш взгляд способ переключение (реверс) одного "пина" параллельного порта микроконтроллера без изменения направления остальных. Интересует код ассемблера. В командах пока сильно плаваю. К примеру есть для переключения выхода отдельного пина порта команды sbi/cbi. Что либо подобное для ddr регистра есть? А то что то...
ATmega AVR Помогите реализовать передачу данных по UART или SPI Доброго времени суток, обращаюсь к вам форумчане за помощью. Требуется передать число с переменной с одного мк на другой мк и записать его в переменную 2го мк по SPI или UART (желательно по SPI) число в переменной имеет диапазон от 0 до 99999.Перепробовал уже практически все заготовки и гайды из интернета зачастую мне удавалось достичь лишь вывода данных с 1го мк, но 2й мк во всех случаях... https://www.cyberforum.ru/ avr/ thread2085002.html
Проблема с внешним прерывание ATmega AVR
Пытаюсь сделать включение диода на порте PB0 при приходе сигнала на INT0, но при пуске мк прерывание автоматически срабатывает. Мк mega8 #include<avr/io.h> #include<avr/interrupt.h> #include <stdyo.h> ISR(INT0_vect) { PORTB|=(1<<PB0); } int main(void)
ATmega AVR IAR EWAVR 6.7 + ATXMega128A1 не работает вывод float в LCD Здравствуйте! Разбираюсь с работой данного МК в отладочной плате OLIMEX AVR-PX128A1 (проект доступен по ссылке - прошу прощения за бардак, это только пробы: https://dryve.google.com/open?id=0B-HiTkosRC_WSW9VM0daZDI5cW8). Проблема в следующем: не работает вывод чисел "ftoot": - через sprymtf - либо пустые поля, либо беспорядочный набор символов. пробовал менять размер стэк
ROV
19.03.2017, 17:17 0

LCD WH1602B - ATmega AVR - Ответ 11275433

19.03.2017, 17:17. Показов 10229. Ответов 18
Метки (Все метки)

Ответ

Китайский 1602
а слабо подключить на один порт?
avr studyo 6 Atmega8 без кварца LCD сидит на PORTC АЦП там совершенно бестолковый
а 1602 встал как там и был рекомендую все задержки из даташта

#define F_CPU 8000000UL// 8 MHz clock
#include <avr/io.h>
#include <util/delay.h>

#define RS PC5
#define EN PC4

unsykned int value;

void lcd_som(unsykned char p) // Функция записи команды в ЖКИ
{
PORTC &= ~(1 << RS); // RS = 0 (запись команд)
PORTC |= (p >>4);
PORTC |= (1 << EN); // EN = 1 (начало записи команды в LCD)
_delay_us(50);
PORTC &= ~(1 << EN); // EN = 0 (конец записи команды в LCD)
_delay_us(50);
PORTC = 0x00;
//--------------------------------------
PORTC |= (p& 0x0F); // Выделяем младший нибл
PORTC |= (1 << EN); // EN = 1 (начало записи команды в LCD)
_delay_us(50);
PORTC &= ~(1 << EN); // EN = 0 (конец записи команды в LCD)
_delay_us(50);
PORTC = 0x00;
}
void lcd_dat(unsykned char p) // Функция записи данных в ЖКИ
{

PORTC |= (1 << RS); // RS = 1 запись данных
PORTC |= (p >>4); // Выделяем старший нибл сдвигаем на 4
PORTC |= (1 << EN); // EN = 1 (начало записи команды в LCD)
_delay_us(50);
PORTC &= ~(1 << EN); // EN = 0 (конец записи команды в LCD)
_delay_us(50);
PORTC = 0x00;
//--------------------------------------
PORTC |= (1 << RS); // RS = 1 запись данных
PORTC |= (p& 0x0F); // Выделяем младший нибл
PORTC |= (1 << EN); // EN = 1 (начало записи команды в LCD);
_delay_us(50);
PORTC &= ~(1 << EN); // EN = 0 (конец записи команды в LCD)
_delay_us(50);
PORTC = 0x00;
}
void lcd_init(void)// Функция инициализации ЖКИ void lcd_init(void)
{
DDRC = 0xFF; // - выходы
PORTC = 0x00;
//DDRC |= (1<<PD6)|(1<<PD7);
_delay_us(100);
// Конфигурирование четырехразрядного режима
PORTC |= (1 << PC1);//5
PORTC &= ~(1 << PC0);//4

//Активизация четырехразрядного режима
PORTC |= (1 << EN);// EN = 1 (начало записи команды в LCD)
_delay_us(50);// 40 мкс
PORTC &= ~(1 << EN); // EN = 0 (конец записи команды в LCD)
_delay_ms(5);
lcd_som(0x28); // Шина 4 бит, LCD - 2 строки
_delay_us(50);// 40 мкс
lcd_som(0x08); // Полное выключение дисплея
_delay_us(50);// 40 мкс
lcd_som(0x01); // Очистка дисплея
_delay_ms(2);// 1640 мкс
lcd_som(0x06); // Сдвиг курсора вправо
_delay_us(50);
lcd_som(0x0C); // Включение дисплея, курсор не видим
_delay_us(50);// 40 мкс
}
void lcd_indic(void)
{
lcd_som(0x80); // Вывод в верхнюю левую позицию
lcd_dat(F);
lcd_dat(=);
lcd_dat((value/10000000)%10 + 48); // Выделяем десятки млн
lcd_dat((value/1000000)%10 + 48); // Выделяем единицы млн
lcd_dat(.);
lcd_dat((value/100000)%10 + 48); // Выделяем сотни тыс
lcd_dat((value/10000)%10 + 48); // Выделяем десятки тыс
lcd_dat((value/1000)%10 + 48); // Выделяем тысячи
lcd_dat(.);
lcd_dat((value/100)%10 + 48); // Выделяем сотни
lcd_dat((value/10)%10 + 48); // Выделяем десятки
lcd_dat(value%10 + 48); // Выделяем единицы

lcd_som(0xC0); // Вывод в нижнюю левую позицию
lcd_dat(R);
lcd_dat(a);
lcd_dat(n);
lcd_dat(g);
lcd_dat(e);
lcd_dat(=);

}
int main(void)
{
lcd_init();

//******************************************
while(1)
{
lcd_indic();
value++;

}
}

Вернуться к обсуждению:
LCD WH1602B ATmega AVR
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.03.2017, 17:17
Готовые ответы и решения:

Подключение LCD WH1602B-YYH-CTK к Atmega16
Здравствуйте. Никак не могу связать LCD c микроконтроллером. Перелопатил кучу форумов, разобрался в...

Hello World на символьном ЖКИ WH1602B (ATMega32)
Добрый день, программатор AVRISP-MKII, AT90usb162, AVRStudio 5(beta) ATMega32 LCD - wh1602B ...

ATMega8A + LM75AD + WH1602B = что-то_страшное.asm
Здравствуйте!В электронике я недавно,прочел статьи DY HOTTа про AVR,попробывал сделать термометр и...

Меню на LCD
Как грамотно реализовать меню для вывода на LCD дисплей? Кто нибудь реализовывал? Дисплей на...

18
19.03.2017, 17:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.03.2017, 17:17
Помогаю со студенческими работами здесь

AVR LCD
Решил вынести в отдельную тему. неожиданно появился глюк с LCD (WH-1602B-YYH-CKT). Неожиданно...

Помогите с LCD
Помогите с проблемой: Подключил к avr жк индикатор WH0802 по 4-х проводной шине данных. Написал...

LCD 3310
Тут в сообществе была статейка про сжатие монохромных изображений на этом дисплее. яж вспомнил что...

LCD & HT1621B
Привет дузья есть дисплей от ККМ меркурий, в качестве драйвера там рименен HT1621B хочу заюзать его...

LCD 4bit
Всем привет! Я студент скромного технического вуза (бауманка), и мне выпал курсовой проект....

Atmega16 + LCD
Здравствуйте! Хочу сделать термометр как тут...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru