FPGA LCD2004 с цифровым 8бит выводом + пример RAM
Добавлено: Пт окт 30, 2026 16:12:48
Делюсь удобнейшей вещью, а именно LCD драйвер под 4строчник 2004 (можно подправить на 1620)
с возможностью вывода 10тичных цифр до 8 бит (до 255), хотя с небольшим дополнением можно и 2ичку выводить, потом добавлю.
Можно конечно поднять битность если потратиться на делении, но вывод на дисплей скорее для отладки, пристрелки и места на строчнике не так много.
а любое число всегда можно округлить до 8бит
Как бонус - пока писал BCD изобрел скоростное табличное деление на 10, да 2ичное деление на ПЛИС, сдвигом >>3 с таблицей корректировки, до 10 бит
подправить легко делит и правильно округляет. Тем же методом можно подправить на деление на любую цифру. Код позволяет не использовать
тяжелую прожерливую IP библиотеку альтеры, 8 битные числа выводить самое оно.
В проект подключена библиотка RAM и имеется пример работы,
по умолчанию по 3 адресам записываются числа, а по нажатию на кнопки
числа читаются с этих адресов и выводятся на дисплей, заодно пример
использования адреса расположения вывода числа на LCD
При нажатии на кнопку 0 выводиться строка приветствия
Видео https://rutube.ru/video/58ca960c6f1236c ... be6cd230d/
В проекте 2 файла
LCD2004.v верхний и
ram_1p.v память
Пины расставите сами, нужны 4 кнопки на землю подтянутые к питанию и 4 строчный дисплей 2004
в большой макс вполне влезит, если выкинуть память
с возможностью вывода 10тичных цифр до 8 бит (до 255), хотя с небольшим дополнением можно и 2ичку выводить, потом добавлю.
Можно конечно поднять битность если потратиться на делении, но вывод на дисплей скорее для отладки, пристрелки и места на строчнике не так много.
а любое число всегда можно округлить до 8бит
Как бонус - пока писал BCD изобрел скоростное табличное деление на 10, да 2ичное деление на ПЛИС, сдвигом >>3 с таблицей корректировки, до 10 бит
подправить легко делит и правильно округляет. Тем же методом можно подправить на деление на любую цифру. Код позволяет не использовать
тяжелую прожерливую IP библиотеку альтеры, 8 битные числа выводить самое оно.
В проект подключена библиотка RAM и имеется пример работы,
по умолчанию по 3 адресам записываются числа, а по нажатию на кнопки
числа читаются с этих адресов и выводятся на дисплей, заодно пример
использования адреса расположения вывода числа на LCD
При нажатии на кнопку 0 выводиться строка приветствия
Видео https://rutube.ru/video/58ca960c6f1236c ... be6cd230d/
В проекте 2 файла
LCD2004.v верхний и
ram_1p.v память
Пины расставите сами, нужны 4 кнопки на землю подтянутые к питанию и 4 строчный дисплей 2004
в большой макс вполне влезит, если выкинуть память