Совсем недавно начал изучать микроконтроллеры. Пытаюсь в Proteus7 присоединить LCD-дисплей LM016L к Atmega8535. Получившаяся схема подключения во вложенном файле.
В среде разработки IAR написал следующую программу (команды дисплея взял из даташита к нему).
- Код: Выделить всё • Развернуть
- #include "iom8535.h"
 short unsigned int i;
 //Ожидание готовности дисплея
 void ReadyWait(){
 do{
 DDRD = 0;
 DDRA = 255;
 PORTA = 6;
 
 asm("NOP");
 
 PORTA = 2;
 
 }while((PORTD & 128) == 1);
 }
 int main( void )
 {
 //Выбираем шину в 8 бит и 2 строки
 ReadyWait();
 
 DDRD = 255;
 DDRA = 255;
 PORTA = 4;
 
 PORTD = 56;
 
 asm("NOP");
 
 PORTA = 0;
 DDRD = 0;
 
 //Очистка экрана
 ReadyWait();
 
 DDRD = 255;
 DDRA = 255;
 PORTA = 4;
 
 PORTD = 1;
 
 asm("NOP");
 
 PORTA = 0;
 DDRD = 0;
 
 //Настройка сдвига экрана и курсора
 //Инкремент адреса. Экран не движется
 ReadyWait();
 
 DDRD = 255;
 DDRA = 255;
 PORTA = 4;
 
 PORTD = 6;
 
 asm("NOP");
 
 PORTA = 0;
 DDRD = 0;
 
 //Включили дисплей
 ReadyWait();
 
 DDRD = 255;
 DDRA = 255;
 PORTA = 4;
 
 PORTD = 12;
 
 asm("NOP");
 
 PORTA = 0;
 DDRD = 0;
 
 //Очистили дисплей. Указатель встал на DDRAM
 ReadyWait();
 DDRD = 255;
 DDRA = 255;
 PORTA = 4;
 
 PORTD = 1;
 
 asm("NOP");
 
 PORTA = 0;
 DDRD = 0;
 
 //Сдвинули курсор (S/C=0) вправо (R/L=1)
 ReadyWait();
 
 DDRD = 255;
 DDRA = 255;
 PORTA = 4;
 
 PORTD = 20;
 
 asm("NOP");
 
 PORTA = 0;
 DDRD = 0;
 
 //Выводим 1
 ReadyWait();
 
 DDRD = 255;
 DDRA = 255;
 PORTA = 5;
 
 PORTD = 49;
 
 asm("NOP");
 
 PORTA = 0;
 DDRD = 0;
 return 0;
 }
Все нормально компилируется. После присоединения программы к микроконтроллеру в Proteus7 и запуска дисплей загорается но информация (цифра 1) на нем не выводится. Попробовал поотлаживать но проблема так и не всплыла. Подскажите пожалуйста в чем может быть проблема. Мне самому кажется что я не правильно что то соединил в схеме. По идее там должен быть еще контроллер самого дисплея но как через него работать и зачем тогда нам самим дается 8 линий данных и 3 линии комманд на самом дисплее не ясно.
Подскажите пожалуйста или скажите что можно почитать. Всем огромное спасибо!









 мдя...
 мдя...