Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.145.61.142] |
|
Страницы: (3) [1] 2 3 все ( Перейти к последнему сообщению ) |
Сообщ.
#1
,
|
|
|
Очень интересует реализация вывода на ЖКИ(на ассемблере) для AVR. Если есть, поделитесь, пожалуйста. А то моя не пашет
|
Сообщ.
#2
,
|
|
|
Цитата COOLibin @ реализация вывода на ЖКИ(на ассемблере) Есть на Bolimin SC1602ESLB на Пик 18F452 (и даже рабочая) Процессор ЖКИ - Hitachi KS066 (стандарт), если не путаю. Посмотри подойдет стандарт к твоему ЖКИ??? Или ссылку на даташит дай. Добавлено Цитата COOLibin @ А то моя не пашет Кинь на мыло если не трудно. |
Сообщ.
#3
,
|
|
|
Взял отсюда: Сопряжение AVR-микроконтроллеров и ЖКИ и немного переделал
|
Сообщ.
#4
,
|
|
|
Посмотрел...ну очень похоже.
Цитата COOLibin @ А то моя не пашет Показывай инициализацию контроллера ЖКИ (как у тебя в программе идет) + схему включения.Чудес обычно не бывает. И опиши что именно не работает??? Вообще ничего не выводится или как??? Дисплей вкл. курсор есть??? |
Сообщ.
#5
,
|
|
|
Хм...ну что я могу сказать:
icom_2313: swap r25 ;подготовить старшую тетраду для передачи mov r26,r25 andi r26,$ef ;очистка бита 4 порта D (сигнал RS=0) ori r26,$e0 ;установка бита 5 порта D ( сигнал E=1) out portd,r26 nop nop nop nop cbi portd, 5 ;стробирующий сброс бита 5 порта D ( сигнал E=0). out portd,r26 ori r26,$e0 ;установка бита 5 порта D ( сигнал E=1) nop nop nop |
Сообщ.
#6
,
|
|
|
Цитата Начнем с того, что данные должны висеть на порту Д до подачи импульса стробирования Е Чего не скажешь по временным диаграммам |
Сообщ.
#7
,
|
|
|
Цитата COOLibin @ Чего не скажешь по временным диаграммам Согласен, но сам на это налетал, поэтому зачем грабли создавать???? Даташит смотрел??? |
Сообщ.
#8
,
|
|
|
А можно RS выставить одновременно с данными?
|
Сообщ.
#9
,
|
|
|
Всё равно не пашет:)
Вот основные функции: INITLCD: ldi r25, 0x20 rcall ICOM_2313 rcall DELAY_50_MKS ldi r25, 0x0F rcall ICOM_2313 rcall DELAY_50_MKS ldi r25, 0x20 rcall ICOM_2313 rcall DELAY_50_MKS ldi r25, 0x01 rcall ICOM_2313 rcall DELAY_50_MKS ret icom_2313: swap r25 mov r26, r25 andi r26, 0x0F out PORTD, r26 cbi PORTD, 4 nop sbi PORTD, 5 nop nop nop nop nop cbi PORTD, 5 swap r25 mov r26, r25 andi r26, 0x0F out PORTD, r26 cbi PORTD, 4 nop sbi PORTD, 5 nop nop nop nop nop cbi PORTD, 5 ret DELAY_50_MKS: ldi r16, 200 DEL_50_MKS: dec r16 brne DEL_50_MKS ret DELAY_ON_START: ldi r16, 0 ldi r17, 0 ldi r18, 3 DEL_ON_START: dec r16 brne DEL_ON_START dec r17 brne DEL_ON_START dec r18 brne DEL_ON_START ret |
Сообщ.
#10
,
|
|
|
Всё круто, всё работает. Просто ЖКИ по умолчанию работает в 8ми битном режиме, поэтому первую команду надо отсылать только по высшей тетраде
|
Сообщ.
#11
,
|
|
|
Цитата COOLibin @ Всё круто, всё работает. Просто ЖКИ по умолчанию работает в 8ми битном режиме, поэтому первую команду надо отсылать только по высшей тетраде и даже не одну ! рекомендую глянуть аппноты на данную тематику. Есть "магическая" последовательность команд при инициализации девайса на 4 или 8 пинов данных. как правило запуск происходит в несколько этапов... 1) проверка подключения - схемотехника... 2) выведение яркости (чтоб засветка была на половину рядов)... 3) инициализация - сброс засветки (изменение интенсивности)... 4) элементарные команды типа позиционирование курсора, стерание с экрана, мигание курсора... 5) запуск полного вывода на экран (строк, данных)... с уважением (круглый) ЗЫ Очень актуальны временные задержки при инициализации девайса. При переходе с одного мк на другой - именно они отсасывают основное время у проверенных алгоритмов. |
Сообщ.
#12
,
|
|
|
А может кто-нибудь дать толковую по его мнению документацию по сопряжению того же ЖКИ, только 8031\51?
|
Сообщ.
#13
,
|
|
|
Цитата Крон @ А может кто-нибудь дать толковую по его мнению документацию по сопряжению того же ЖКИ, только 8031\51? Даташита на индикатор вполне достаточно для сопряжения с любым контроллером. |
Сообщ.
#14
,
|
|
|
А на русском языке ена бывает?
|
Сообщ.
#15
,
|
|
|
Цитата Крон @ А на русском языке ена бывает? Да. |