Jump to content

    

SortoVaritu

Участник
  • Content Count

    44
  • Joined

  • Last visited

Community Reputation

0 Обычный

About SortoVaritu

  • Rank
    Участник
  1. Хм.... Возможно... Если честно то никогда не задумывался о реализации БД в микроконтроллерах.
  2. А вы напишите в первую строчку символов больше чем в нее помещается....
  3. На практике будет работать как вы сделали, но вообще это неправильно.... Выставить E в 1, ждать 120 нс, читать выставленные контроллером ЖКИ данные. В вашем случае если расширите программу и будете использовать прерывания, то есть вероятность сработки прерывания как раз после того как выставите E в 0, но до того как вы прочитаете шину данных. В этом случае вы точно не успеете считать данные. Однострочный или двустрочный режим задается при инициализации...
  4. Я вообщем говорю даже не о самопальной или профессиональной базе, а вообще о ее необходимости. То есть насколько большое количество данных надо структурировать. То есть если у меня к примеру есть только 100 значений данных, то нужна ли для этого база данных...
  5. Если база хранится в ОЗУ, то как я понимаю нужно организовывать процедуры записи данных из базы во флэш к примеру, а так же чтения базы при перезапуске системы. Думаю, что если количество данных не очень большое, то проще разработать свои структуры хранения и обработки - думаю будет намного бытрее.
  6. E выставляешь в 1. делаешь задержку на время нужное для выставления контроллером жки данных(смотри по даташиту), читай данные, E сбрасывай в 1.
  7. tDH=300 ns. Может успеть прочитать))))))))))))))))))))
  8. у вас в процедуре вывода символа E=1; port=sym; delay_us(2); E=0; delay_us(2); E=1; в процедуре проверки флага занятости E=0; delay_us(2); E=1; delay_us(2); E=0; Видите разницу?
  9. В процедуре проверки флага думаю нужно инвертировать все E как и в основном коде по совету ILYAUL
  10. А какой символ вообще должен высветиться... Какой у контроллера знакогенератор? У вас много лишних задержек. Зря закоментили проверку флага занятости в процедуре записи.
  11. именно поэтому лучше писать не жки а контроллер, так как в данном случае от жки мало что зависит DDRD=0x00; - выставляете порт D как вход... это я очепятался
  12. DDRD=0x00; - выставляете порт D как выход RS=0; RW=1; E=0; delay_us(2); port=0xff; - включаете подтяжку на порт D. почему после 2мкс? delay_us(2); E=1; delay_us(2); E=0; return(PIND.7); http://www.hantronix.com/files/down/splc780d.pdf пункт 5.4 - подробно расписан пример написания слова на дисплее
  13. У Renesas есть решение как рисовать на ЖКИ без использования контроллера ЖКИ. Достаточно дешевое решение.
  14. в том и проблема, что вы делаете слишком большую задержку - милисекунды. Вам же нужно делать микросекунды Если Delay10KTCYx(100); // 1 Sec delay то сколько будет ? Delay10TCYx(20); Надо посчитать. Непонятно вот это: Delay10KTCYx(100); // 1/2 Sec delay Lcd_Write(CMD,0xa6); // normal display (non inverted) Delay10KTCYx(100); // 1 Sec delay Как в первом случае задержка на 0.5 секунды а во втором задержка на 1 секунду.