Страница 1 из 1

умоляю нужен простой проект LS020 под avrstudio 5

Добавлено: Вс фев 22, 2015 01:18:55
flusher
Убил два дня чтобы найти хоть один рабочий проект для работы с LCD Siemens S65 LS020 для AVRSTUDIO 5.1
все что нашел - это bascom, codevision, flowcode. Мои попытки компилировать код в AVRSTUDIO не успешны :(

просто у меня есть готовый проект под AVRSTUDIO 5.1 который прекрасно там компилируется, но туда я хочу переделать вывод дисплея, а именно использовать LS020.
вся сложность еще в том что нужно именно программный SPI, т.к. проект для attiny26

Просьба дайте простой пример. Нужно инициализировать дисплей, перевернуть на горизонталь, черный фон, три цвета и крупный шрифт - две строчки тескта выводить посимвольно или строчкой еще незнаю.
вроде все просто но нигде ничего толкового не нашел, только обрывки с командами, в которых я не силен, нужен готовый проект чтобы наглядно видеть. СПАСИБО

Re: умоляю нужен простой проект LS020 под avrstudio 5

Добавлено: Вт фев 24, 2015 19:54:47
СКАЗОЧНИК
А почему не начать с чего попроще? Чтобы со студией разобраться? В ней тоже много вопросов по работе возникнет, т.к. она еще и глючить может. ))))) Чего это сразу дисплей, да еще и цветной от телефона?

Re: умоляю нужен простой проект LS020 под avrstudio 5

Добавлено: Вт фев 24, 2015 19:58:03
flusher
если есть у кого-то проект или простой пример то в нем и можно сидеть разбираться. а сидеть писать программный spi с нуля будет ну очень проблематично.

Re: умоляю нужен простой проект LS020 под avrstudio 5

Добавлено: Вт фев 24, 2015 20:00:21
СКАЗОЧНИК
На этом сайте осциллограф хамелеон собран на таком дисплее Там есть исходники, правда на Баскоме. Еще где-то видел, может у Ди-Халта с ним эксперименты. Только все это нудно и бесполезно, потому что достать их в наше вермя почти не реально.
И вообще, не очень проблематично написать совй Спай, это даже лучше позволит в нем разобраться.
Я так писал Ай2Си и 1Ваер. Причем образцовое описание и коды были не для АВР на ассемблере, а для 51ого...

Re: умоляю нужен простой проект LS020 под avrstudio 5

Добавлено: Вт фев 24, 2015 20:03:11
flusher
вот именно что дисплея у меня два в руках в наличии!
а вот прикрутить не могу.
исходники на bascom, codevision сам имею но они все не компилируются в студии и используют аппаратный spi которого нету в аттини

Re: умоляю нужен простой проект LS020 под avrstudio 5

Добавлено: Вт фев 24, 2015 20:06:15
СКАЗОЧНИК
Вам надо курить даташит на этот дисплей. И сам Спай, по нему много чего работает, кроме дисплея этого... Все лишь понять принцип работы. Рекомендую Ю. Ревича почитать, там есть. А дисплей, уже сам собой со своими командами. Как и подобная память, регистры и много много чего еще.

Re: умоляю нужен простой проект LS020 под avrstudio 5

Добавлено: Пн мар 09, 2015 14:09:37
Kezoox
проэкт на аsm самописный так что много чего можно поменять и соорудить лучше
работает в железе
:) правда на меге16 програмный спи, вире,
можно выкинуть лишние шрифты.
Шрифты можно переделать
поменяв адресацию строк ,позиции -размер знака
и массив алфавита под размер знаков
знак 12х16 точек
можно заменить массив и выводить 2 знака как один символ 16x24 повернув экран

Re: умоляю нужен простой проект LS020 под avrstudio 5

Добавлено: Пн мар 09, 2015 14:57:13
ARV
программный SPI пишется буквально в пятьдвадцать строк!

Код: Выделить всё

// само собой порты и пины можно переопределить иначе, главное - не забыть настроить правильно:
// MOSI и SCK - выходы 
// MISO - вход без подтяжки
#define MOSI_PORT   PORTD
#define MISO_PIN PIND
#define SCK_PORT PORTD
#define MOSI _BV(PD0)
#define MISO _BV(PD1)
#define SCK _BV(PD2)

uint8_t spi(uint8_t d){
   uint8_t result = 0;
   for(uint8_t mask=1; mask; mask <<= 1){
      if(d & mask)
         MOSI_PORT |= MOSI;
      else
         MOSI_PORT &= ~MOSI;
      SCK_PORT |= SCK;
      result |= MISO_PIN & MISO ? mask : 0;
      SCK_PORT &= ~SCK;
   }
   return result;
}
я сейчас уже не помню, нужно для этого дисплея делать вывод младшим битом вперед или старшим, поэтому если вот так, как показано не заработает, надо будет изменить одну строчку:

Код: Выделить всё

for(uint8_t mask = 0x80; mask; mask >>= 1){