Компьютерный форум

Компьютерный форум (http://www.hardforum.ru/)
-   Микроконтроллеры (http://www.hardforum.ru/f215/)
-   -   LCD 1602 + Atmega8A (http://www.hardforum.ru/t131240/)

Лев25 20.05.2018 01:49

LCD 1602 + Atmega8A
 
Кто понимает в этом помогите разобраться. Подключил ЖКИ 1602 с алиэкспресса к атмеге8 и не могу вывести не символа на экран. Подключил D0-D7 к порту B0-7, E к порту C0, RW к порту C1, RS к порту C2. Посмотрел обзоры, пытался сам написать код и вывести текст на ЖК, не получилось, думал что то пишу не правильно, тогда взял и скопировал код с сайта, подправил порты и все равно не показывает не чего.Еще смущает что при выкручивании контраста на максимум, знакоместа подсвечиваются не все, а некоторые не полностью. Ниже скину код и попробую прикрепить фото. Проверял пайку на КЗ все норм припаял. Кто может Написать простейший код сто процентов рабочий для моей распиновки выводящий на экран любые символы для проверки ЖКИ.

Лев25 20.05.2018 01:51

c Код:
#define F_CPU 8000000UL

#include <avr/io.h>
#include <util/delay.h>

void Pulse_E(void)
{
    PORTC |= 0b1;
    _delay_us(60);
   
    PORTC &=~0b1;
    _delay_us(60);
}

void Send_Byte (char Data)
{
    PORTC |=0b100;
    PORTB = Data;
    Pulse_E();
}

void Send_Cmd (char Cmd)
{
    PORTC &=~0b100;
    PORTD = Cmd;
    Pulse_E();
}

void Send_Str (char* str,char length)
{
    for (int i = 1;i<length;i++)
    {
        Send_Byte(*str);
        str++;
        _delay_ms(2);
    }
}

int main(void)
{
    DDRB = 0xFF;
    DDRC = 0xFF;
   
    Send_Cmd(0b00111000);
    _delay_us(200);
   
    Send_Cmd(0b00000001);
    _delay_ms(10);
   
    Send_Cmd(0b00001100);
    _delay_us(80);
   
    Send_Str("Hi!",3);
   
    while(1)
    {
       
    }
   
}

Лев25 20.05.2018 01:54

Вложений: 1
Вот фото и код с сайта уже подправленный мной

Rius 21.05.2018 20:50

1. Найдите даташит на HD44780, изучите порядок инициализации и команды;
2. Найдите инициализацию любого дисплея на этом контроллере и изучите по даташиту, что и как происходит на самом деле;
3. Сделайте задержки побольше. Не забудьте задержку при старте, после сброса, без неё может не заработать. Задержку в вашем случае можно увеличивать с запасом, т.к. интерфейс синхронный.


Часовой пояс GMT +4, время: 09:07.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.