Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Продукция MICROCHIP

Продукция MICROCHIP Технические вопросы по всей продукции Microchip

Ответ
 
Опции темы Опции просмотра
Старый 17.04.2008, 09:09   #1
djdiablo
Member
 
Регистрация: 12.11.2007
Адрес: Rostov-on-Don
Сообщений: 53
Вес репутации: 100/47
djdiablo will become famous soon enoughdjdiablo will become famous soon enough
По умолчанию Помогите с выводо символов на S65 LS020xxx

Добрый день!
Пытаюсь прикрутить дисплей от сиеменса s65 LS020 к pic16f877a.
За исходник работы с дисплеем взял пример работы с "читалки книг" на этом дисплее. Настроика всех параметров проходит удачно,
функции типа LCD_fill, LCD_setregion работают отлично, проблема в выводом какого либо символа\числа на экран. Вместо симфолов хаотичное расположения точек в квадратике 8х8.Использую функцию для вывода на экран и шрифт "rus.h".
При символе "пробел", тоже хаотичное расположение символов.
void LCD_char8(char c)
{
char temp,x,y;
unsigned int tempC;
unsigned char const *tempG;
if(_textx<_StartX) _textx=_StartX;
LCD_setregion(_texty,_textx,8,8);
_textx+=8;
temp=c;

if(_textx>(char)(132-8))
{
_textx=_StartX;
_texty+=8;
if(_texty>=176)_texty=_StartY;
}
else
{
/* if(temp==13)
{
_texty=_StartY; // перевод строки
_texty+=8;
if(_texty>=176)_texty=_StartX;
}*/
}
if(temp<' ') temp=' ';
//temp-=' ';
tempG=(char*)&win8x8[temp]; // установить на начало буквы
for(x=0;x<8;x++)
{
tempC=*tempG;
tempG++;
LCD_CS=0;
for(y=0;y<8;y++)
{
if(tempC&1)
{
SSPBUF = (char)(LCD_color>>8);
NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();NO P();//NOP();
SSPBUF = (char)LCD_color;
// NOP();
}
else
{
SSPBUF = (char)(LCD_bgcolor>>8);
NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();NO P();//NOP();
SSPBUF =(char) LCD_bgcolor;
// NOP();
}
tempC>>=1;
}
LCD_CS=1;
}
}
В чем может быть проблема???
djdiablo вне форума   Ответить с цитированием
Старый 17.04.2008, 11:59   #2
hammer
Senior Member
 
Аватар для hammer
 
Регистрация: 28.03.2007
Адрес: Almaty
Возраст: 34
Сообщений: 365
Вес репутации: 194/52
hammer has a spectacular aura abouthammer has a spectacular aura about
По умолчанию Re: Помогите с выводо символов на S65 LS020xxx

смотри http://www.microchip.su/showthread.php?t=149
__________________
Бывает, проснешься как птица –
Крылатой пружиной на взводе.
И хочется жить и трудиться!..
Но к завтраку это проходит...
hammer вне форума   Ответить с цитированием
Старый 17.04.2008, 12:50   #3
IgorV
Senior Member
 
Аватар для IgorV
 
Регистрация: 25.02.2007
Адрес: всем пока
Возраст: 49
Сообщений: 4,100
Вес репутации: 1883/107
IgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant future
Отправить сообщение для IgorV с помощью Skype™
По умолчанию Re: Помогите с выводо символов на S65 LS020xxx

Цитата:
Сообщение от djdiablo Посмотреть сообщение
Добрый день!
Пытаюсь прикрутить дисплей от сиеменса s65 LS020 к pic16f877a.
За исходник работы с дисплеем взял пример работы с "читалки книг" на этом дисплее. Настроика всех параметров проходит удачно,
функции типа LCD_fill, LCD_setregion работают отлично, проблема в выводом какого либо символа\числа на экран. Вместо симфолов хаотичное расположения точек в квадратике 8х8.Использую функцию для вывода на экран и шрифт "rus.h".
При символе "пробел", тоже хаотичное расположение символов.
такое ощущение что мой исходник роешь. Который после insolent мной перепахан... всё работало... где ты его взял?
IgorV вне форума   Ответить с цитированием
Старый 17.04.2008, 15:52   #4
Greg
Super Moderator
 
Регистрация: 25.02.2007
Адрес: Moscow, ODBS
Сообщений: 6,942
Вес репутации: 5817/175
Greg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond repute
По умолчанию Re: Помогите с выводо символов на S65 LS020xxx

Цитата:
Сообщение от IgorV Посмотреть сообщение
такое ощущение что мой исходник роешь. Который после insolent мной перепахан... всё работало... где ты его взял?
точно. После "SSPBUF=" восемь нопов - твой стиль
Greg вне форума   Ответить с цитированием
Старый 17.04.2008, 16:27   #5
IgorV
Senior Member
 
Аватар для IgorV
 
Регистрация: 25.02.2007
Адрес: всем пока
Возраст: 49
Сообщений: 4,100
Вес репутации: 1883/107
IgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant future
Отправить сообщение для IgorV с помощью Skype™
По умолчанию Re: Помогите с выводо символов на S65 LS020xxx

Цитата:
Сообщение от Greg Посмотреть сообщение
точно. После "SSPBUF=" восемь нопов - твой стиль
всё то ты знаешь и помнишь...
IgorV вне форума   Ответить с цитированием
Старый 17.04.2008, 17:12   #6
IgorV
Senior Member
 
Аватар для IgorV
 
Регистрация: 25.02.2007
Адрес: всем пока
Возраст: 49
Сообщений: 4,100
Вес репутации: 1883/107
IgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant future
Отправить сообщение для IgorV с помощью Skype™
По умолчанию Re: Помогите с выводо символов на S65 LS020xxx

Цитата:
Сообщение от djdiablo Посмотреть сообщение
Добрый день!

В чем может быть проблема???
Попробуй для начала брать символы не из знакогенератора а просто сначала нарисуй 8 штук 0xAA, 0x55 или чередуя взяв их вместо знакогенератора (т.е. на каждый пиклесь вообщето будет приходиться по 2 байта)

А ещё раньше попробуй поставить по 8 нопов ровно. Убранные нопы были из рассчета что камень 18-й. Что там нагенерит под 16-й камень компиллятор, я не задумывался.
короче после каждого SSPBUF= поставь по 8 нопов
IgorV вне форума   Ответить с цитированием
Старый 18.04.2008, 09:28   #7
djdiablo
Member
 
Регистрация: 12.11.2007
Адрес: Rostov-on-Don
Сообщений: 53
Вес репутации: 100/47
djdiablo will become famous soon enoughdjdiablo will become famous soon enough
По умолчанию Re: Помогите с выводо символов на S65 LS020xxx

Нопы не помогают, если больше 8 ничего не меняется, если меньше то хоотичное расположение пикселей, причем у них разные цвета.
при выводе 0хАА выводится символ похожий на "[" восем точек в линию и поюокам по одной ниже линии. при 0x55 хаотичное расположение точек.....
djdiablo вне форума   Ответить с цитированием
Старый 18.04.2008, 10:16   #8
IgorV
Senior Member
 
Аватар для IgorV
 
Регистрация: 25.02.2007
Адрес: всем пока
Возраст: 49
Сообщений: 4,100
Вес репутации: 1883/107
IgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant future
Отправить сообщение для IgorV с помощью Skype™
По умолчанию Re: Помогите с выводо символов на S65 LS020xxx

Цитата:
Сообщение от djdiablo Посмотреть сообщение
Нопы не помогают, если больше 8 ничего не меняется, если меньше то хоотичное расположение пикселей, причем у них разные цвета.
при выводе 0хАА выводится символ похожий на "[" восем точек в линию и поюокам по одной ниже линии. при 0x55 хаотичное расположение точек.....
ну и как тогда у тебя fill может работать
IgorV вне форума   Ответить с цитированием
Старый 18.04.2008, 11:08   #9
djdiablo
Member
 
Регистрация: 12.11.2007
Адрес: Rostov-on-Don
Сообщений: 53
Вес репутации: 100/47
djdiablo will become famous soon enoughdjdiablo will become famous soon enough
По умолчанию Re: Помогите с выводо символов на S65 LS020xxx

В смысле может я не о том я имелл ввиду что экран вроде как работает, т.е при функции LCD_fill(BLACK); экран весь закрашивается в черный, или другой цвет который укажем....
djdiablo вне форума   Ответить с цитированием
Старый 18.04.2008, 11:57   #10
IgorV
Senior Member
 
Аватар для IgorV
 
Регистрация: 25.02.2007
Адрес: всем пока
Возраст: 49
Сообщений: 4,100
Вес репутации: 1883/107
IgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant future
Отправить сообщение для IgorV с помощью Skype™
По умолчанию Re: Помогите с выводо символов на S65 LS020xxx

Цитата:
Сообщение от djdiablo Посмотреть сообщение
В смысле может я не о том я имелл ввиду что экран вроде как работает, т.е при функции LCD_fill(BLACK); экран весь закрашивается в черный, или другой цвет который укажем....
вот это то и странно. тогда бы и оно не пахало, а так значит что SPI работает как на вывод так и на вводе в ЖКИ. Значит что то не так командуешь...
IgorV вне форума   Ответить с цитированием
Старый 18.04.2008, 15:05   #11
djdiablo
Member
 
Регистрация: 12.11.2007
Адрес: Rostov-on-Don
Сообщений: 53
Вес репутации: 100/47
djdiablo will become famous soon enoughdjdiablo will become famous soon enough
По умолчанию Re: Помогите с выводо символов на S65 LS020xxx

Нашел другие функции и фсе заработало

void rect(char px1,char py1,char px2,char py2)
{
//volatile char x,y;
char n;

if ((px2-px1)>=(py2-py1))
{
// по X
if ((px2-px1)==(py2-py1)) n=1;
else n=(char)(px2-px1+1)*(py2-py1);
LCD_RS=1; //comm
SPI_send(0xEF90);
SPI_send(0x0504);
SPI_send(0x0800+py1);// x
SPI_send(0x0900+py2);// 09xx xx- длина
SPI_send(0x0A00+175-px2);// y
SPI_send(0x0B00+175-px1);
LCD_RS=0;
while(n)
{
LCD_RS=0;
SPI_send(LCD_color);
n--;
}
}
else
{
// по y
n=(px2-px1)*(py2-py1+1);
LCD_RS=1;
SPI_send(0xEF90);
SPI_send(0x0500);
SPI_send(0x0800+py1);// x
SPI_send(0x0900+py2);// 09xx xx- длина
SPI_send(0x0A00+175-px2);// y
SPI_send(0x0B00+175-px1);
LCD_RS=0;
while(n)
{
LCD_RS=0;
SPI_send(LCD_color);
n--;
}
}

}
//////////////////////////////////////////////////////////////////////////////
void print_char0(char ch)
{
char n,y;
char const *p;
p=font; //// таблица шрифтов
// найдем позицию
while (1)
{
if (p[0]==0)
{
if ((p[1]==ch) || (p[1]==0)) break;
}
p++;
}
if (p[1]==ch)
{
p+=2;
n=0;
while (p[n]!=0)
{
for (y=0;y<5;y++)
{
if (p[n] & (0x80>>y)) rect(pos_x+n,pos_y+y,pos_x+(n+1),pos_y+(y+1));
}
n++;
}
}
pos_x+=(1+n)*kf;
}
djdiablo вне форума   Ответить с цитированием
Старый 18.04.2008, 16:52   #12
IgorV
Senior Member
 
Аватар для IgorV
 
Регистрация: 25.02.2007
Адрес: всем пока
Возраст: 49
Сообщений: 4,100
Вес репутации: 1883/107
IgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant future
Отправить сообщение для IgorV с помощью Skype™
По умолчанию Re: Помогите с выводо символов на S65 LS020xxx

рад за тебя. Только гложат смутные сомнения...
IgorV вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблемка с PIC16F628A bereg_ok Продукция MICROCHIP 72 07.09.2007 11:00
помогите с командами препроцесора на си Andrey Продукция MICROCHIP 3 15.06.2007 11:47
Мужики. Помогите разобраться с Delay на Си. Andrey Продукция MICROCHIP 18 28.05.2007 15:40
с математикой нелады, забыл всё на свете, помогите!! VaBo Общетехнические вопросы 7 10.04.2007 08:21
Помогите опознать девайс на EM78P156ELP Garik Общетехнические вопросы 0 04.04.2007 15:56


Часовой пояс GMT +3, время: 12:45.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot