реклама на сайте
подробности

 
 
> SED1335,PIC18F4550 и LCD320x240, разбираем по косточкам модуль SED1335.c
andreichk
сообщение Jan 25 2008, 21:00
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 507
Регистрация: 15-04-06
Из: Германия
Пользователь №: 16 143



Привет народ.Вот решил я слепить себе нечто из указанных в теме компонентов.Нарисовал и изготовил макетку, красиво всё распаял и написал из надёрганных в сети кусков маленькую програмку для управления ЖКИ. Вначале, после нудного изучения даташитов никак не мог инициализировать ЖКИ, но потом разобрался что к чему и наконец он начал подавать признаки жизни и засветился.
Компилятор, который я пользую - CCS, имеет в своём составе файл SED1335.C , но как я не пытался приспособить его, так и не смог.Порывшись в сети,я нашёл другой файл с таким же названием, но вроде бы не для ПИКов, а для чего-то другого.Однако , слегка подшаманив его, я смог встроить его в прогу и он заставил таки выдавать на экран символы в текстовом режиме(даже с возможностью размещения в заданое место) и переключаться в графический режим.
И на этом всё и закончилось.
Все попытки нарисовать линию или круг или просто точку,несмотря на множество примеров, я так и не смог. Позаимствовав из старого файла процедуру

void glcd_pixel(int16 x, int16 y, int1 color)
{
int8 data;
int16 addr;
// Calculate the byte address containing the pixel
addr = GLCD_GRAPHICS_ADDR + (GLCD_WIDTH/8 * y + x/8);
// Read the byte of data at the address
data = getData(addr);
// Turn the pixel on or off
if(color == ON)
bit_set(data, 7 - x%8);
else
bit_clear(data, 7 - x%8);
// Write the new data byte to display memory
setData(addr, data);
}


я попробовал нарисовать на экране пиксель, но он вроде как нарисовался но разместился не в тех координатах, которые я указывал.Как я понимаю, за размещение отвечает строка
//GLCD_GRAPHICS_ADDR- нач. адрес- 1200, GLCD_WIDTH- кол во символов в строке- 320
addr = GLCD_GRAPHICS_ADDR + (GLCD_WIDTH/8 * y + x/8);
Может кто из вас раскомментирует эту странную формулу и подправит её, если она неправильная.

Сообщение отредактировал andreichk - Jan 25 2008, 21:03


--------------------
Go to the top of the page
 
+Quote Post
30 страниц V  « < 25 26 27 28 29 > »   
Start new topic
Ответов (390 - 404)
atmicandr
сообщение Feb 1 2011, 04:55
Сообщение #391


Местный
***

Группа: Свой
Сообщений: 354
Регистрация: 11-02-10
Из: Ирбит
Пользователь №: 55 416



Цитата(andreichk @ Jan 20 2011, 15:45) *
понятия не имею, в чём там проблема, полярность кондёров на микрухе не попутали? Сами ОУ может дохлые ?
ПИК прошился? Экран светится, хоть что-нибудь на нём показывает?
Опишите конкретнее, в чём проблемы? На -3 вольта , вместо -5, пока можно забить.

Так, теперь всё по порядку. Долго молчал так как ждал когда мне почтой придёт новый дисплей. Осциллограф заработал. Для нормального получения отрицательного напряжения пришлось применить схему такую же как на сайте www.ulrichradig.de, там есть такой осциллограф AVR DSO, убрал с платы 7812 и 7660, но не знаю почему но прибор не работал до тех пор, пока я не ликвидировал с платы все 24C65. Также причиной того что ничего не было на дисплее это то, что я не на тот вывод подавал тактовую частоту на Микроконтроллер, но я чтото решил сделать как мне привычнее- применил кварцевый резонатор на 40 мгц, изменив чуть чуть конфигурацию перед прошивкой. Но я не знаю вот что: почему при работе довольно прилично греются АЦП?


--------------------
Нео, есть два способа попасть в матрицу...Либо интерфейсный кабель в затылок, либо силовой в жопу... (NO ® monitor.net.ru)
Go to the top of the page
 
+Quote Post
andreichk
сообщение Feb 7 2011, 16:13
Сообщение #392


Знающий
****

Группа: Свой
Сообщений: 507
Регистрация: 15-04-06
Из: Германия
Пользователь №: 16 143



24C65 вообще не задействованы в работе, я об этом где-то писал в теме. А почему АЦП греются неясно,проверьте питание. У меня только ПЛИСка греется и то несильно.
А вообще непонятно,зачем вы кварц на 40 Мгц задействовали? тамже через ПЛИСку эта частота на ПИК подаётся.По поводу питания по схеме с вашей ссылки ,посмотрите, может там земля не на месте получилась.


--------------------
Go to the top of the page
 
+Quote Post
Ilya_A
сообщение Feb 7 2011, 16:25
Сообщение #393


Частый гость
**

Группа: Свой
Сообщений: 166
Регистрация: 1-12-05
Из: Иркутск
Пользователь №: 11 630



Цитата(atmicandr1 @ Feb 1 2011, 12:55) *
Но я не знаю вот что: почему при работе довольно прилично греются АЦП?

таку нее потреблние 300мВт. Если нет хорошего теплоотвода по дорожкам и в комнате не +15 градусов, то ощущения тепла от нее должно быть я думаю
Go to the top of the page
 
+Quote Post
andreichk
сообщение Feb 7 2011, 16:36
Сообщение #394


Знающий
****

Группа: Свой
Сообщений: 507
Регистрация: 15-04-06
Из: Германия
Пользователь №: 16 143



у меня АЦП вообще не греются.


--------------------
Go to the top of the page
 
+Quote Post
Spieluhr
сообщение Feb 19 2011, 15:55
Сообщение #395





Группа: Новичок
Сообщений: 2
Регистрация: 19-02-11
Из: Украина
Пользователь №: 63 095



Здравствуйте!!!!!
Для начала автору a14.gif a14.gif a14.gif a14.gif !!!!!!!!!!!!!!!!!!!!! И beer.gif beer.gif beer.gif beer.gif
Хочу попытаться собрать себе такой, а то на новый я скорее всего собирать буду очень долго, а здесь если собирать по частям, то как раз rolleyes.gif
Изучил основную схему, на возникнувшие вопросы по ходу изучения находил ответы сам cool.gif И всё таки камень преткновения нашелся sad.gif
На печатной плате имеется элемент HC04. Я так и не смог понять зачем он там smile3046.gif . А самое главное - нужен ли он там, если я буду использовать готовый модуль BG320240F ?
Буду признателен, если поможете разобраться wink.gif
Go to the top of the page
 
+Quote Post
andreichk
сообщение Feb 20 2011, 22:40
Сообщение #396


Знающий
****

Группа: Свой
Сообщений: 507
Регистрация: 15-04-06
Из: Германия
Пользователь №: 16 143



HC04 или точнее 74HC04 не нужен. У вашего диплея интерфейс именно такой.Наверное, вы сможете его подключить.


--------------------
Go to the top of the page
 
+Quote Post
Spieluhr
сообщение Feb 28 2011, 14:03
Сообщение #397





Группа: Новичок
Сообщений: 2
Регистрация: 19-02-11
Из: Украина
Пользователь №: 63 095



Спасибо за подсказку a14.gif
BG320240F из России везти сильно дорого sad.gif Попробую заменить его WG320240C0-TML-TZ#(контроллер подходит - клон 1335) sm.gif
О результатах обязательно отпишусь cool.gif , только вот значительные результаты будут не раньше лета blush.gif
Go to the top of the page
 
+Quote Post
andreichk
сообщение Mar 26 2011, 12:17
Сообщение #398


Знающий
****

Группа: Свой
Сообщений: 507
Регистрация: 15-04-06
Из: Германия
Пользователь №: 16 143



Немного обновил схему и печатную плату. Убрал лишние разьёмы, обозначил номиналы деталей, переразвёл разьём програмирования ПИКа под стандартный програматор. Надеюсь , всё правильно сделал.
На схеме не рисовал разводку ICL7660, так как использовано стандартное подключение из даташитов, а также подключение собственно ЖКИ, так как возможны варианты, 1. со встроенным контроллером SED1335 и без него.
В первом случае соеденение можно сделать, подпаяв разьём ЖКИ прямо к портам ПИКа. Во втором случае смотрите разводку на ваш дисплей и соеденяйте его, сравнивая с выводами SED1335 на ПП.
Клавиатуру распаивайте как кому удобней.


--------------------
Go to the top of the page
 
+Quote Post
swer
сообщение Mar 28 2011, 12:56
Сообщение #399





Группа: Новичок
Сообщений: 2
Регистрация: 28-03-11
Пользователь №: 63 938



Цитата(andreichk @ Mar 26 2011, 16:17) *
1. со встроенным контроллером SED1335 и без него.


Здраствуйте! Помогите! Подобрать LCD 320*240

Просто Я незнаю в чем разница:

WB320240C0-FML-T#P
WB320240C0-TFH-T#P
WB320240C0-YGH-T#P
WB320240D-YGH-T#P
WG320240B0-TFH-TZ#
WG320240C0-AFK-TZ#
WG320240C0-TFH-TZ#
WG320240C0-TML-TZ#
WX320240A-NFG-NS
WX320240A-NFH-NZS
WX320240A-WFH-NZS#

Datasheet смотрел!


Спасибо!

P.S к автору - а какой Вы использовали?
Go to the top of the page
 
+Quote Post
andreichk
сообщение Mar 29 2011, 07:34
Сообщение #400


Знающий
****

Группа: Свой
Сообщений: 507
Регистрация: 15-04-06
Из: Германия
Пользователь №: 16 143



ссылки на даташиты в студию. или лень разобраться самому?
расшифровка обозначений на стр.4
http://catalog.compel.ru/file/lcm/WINSTAR/...0C0-FML-T-P.pdf

WB320240C0-FML-T#P , WB320240C0-FNL-T#P лучше всего подойдут или
WB320240C0-WML-T#P , WB320240C0-WNL-T#P
Ещё раз немного изменил топологию ПП и исходник для ПИКа, в основном по мелочи разные красявости.


--------------------
Go to the top of the page
 
+Quote Post
vovan_zh
сообщение Apr 11 2011, 06:40
Сообщение #401





Группа: Новичок
Сообщений: 3
Регистрация: 28-08-06
Пользователь №: 19 893



Возникло несколько вопросов по структуре программы для МК:
1.цикл MAIN повторяется постояно? т.е. иницилизация всех портов и перефирии.
Цитата
void main()
{
setup_adc_ports(NO_ANALOGS|VSS_VDD);
//setup_adc(ADC_OFF|ADC_TAD_MUL_0);
setup_psp(PSP_DISABLED);
setup_spi(SPI_SS_DISABLED);
setup_wdt(WDT_OFF);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_8);
//setup_timer_1(T1_INTERNAL|T1_DIV_BY_8);
setup_timer_1(T1_DISABLED|T1_DIV_BY_1);
//setup_timer_2(T2_DISABLED,0,1);
setup_timer_3(T3_DISABLED|T3_DIV_BY_1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
enable_interrupts(INT_RTCC);
//enable_interrupts(INT_TIMER2);
enable_interrupts(GLOBAL);
//Setup_Oscillator parameter not selected from Intr Oscillotar Config tab
oszillograf();
}

2. Не могу разобраться с фазой сигнала. Зачем она перевертывается на 180 и почему фронт рисуется на уменьшение, а спад на увиличение?
3. Процедура записи в ФИФО никак не контролируется. ФИФО ресетится перед чтением и подразумевается что перед чтением данных в буфере будет достаточно. Т.е. если захочется наблюдать частоту в единицы герц то это надо взять под контроль?
Go to the top of the page
 
+Quote Post
andreichk
сообщение Apr 11 2011, 23:30
Сообщение #402


Знающий
****

Группа: Свой
Сообщений: 507
Регистрация: 15-04-06
Из: Германия
Пользователь №: 16 143



Решил вплотную заняться осциллографом и кардинально переделал весь проект. Поскольку никакими програмными ухищрениями так и не удалось добиться чёткой синхронизации сигнала, было принято решение применить аппаратную . Для этого в схему были внесены соответствующие изменения, а именно ,добавлен блок внешней синхронизации с отдельной регулировкой по каждому каналу. Я сам удивился, как чётко теперь стал синхронизироваться сигнал.С кодом как всегда помог Илья. Ему очередной a14.gif и beer.gif
Выкладываю исправленную печатную плату, схемы, код для ПИКа и прошивку для ПЛИС. Кстати диапазон частот расширился вниз и теперь он составляет от 13.1 миллисек на клетку до 0.4 микросек на клетку. То есть вместо прежних 8-и диапазонов, теперь 16.

Код будет ещё модернизироваться, возможны ещё изменения или дополнения.
ЗЫ. На новой ПП по моей ошибке произошло изменение назначения портов разрешения чтения ФИФО. Поэтому у кого старая ПП, то вам нужно либо исправить этот момент в коде либо поменять местами соответствующие провода , соеденяющие аналоговую плату с цифровой. Больше ошибок не замечено, скоп работает отлично.
Приведенные в схеме номиналы резисторов и конденсаторов нормируют сигнал на один вольт на большую клетку.
Поскольку на момент изготовления осн. ПП аппаратная синхронизация ещё не существовала в проекте, то этой части на ней нет. Думаю в ближайшее время нарисовать небольшую ПП( там всего-то три ОУ и несколько резисторов и конденсаторов.) Впрочем , каждый сможет это сделать и сам.

Цитата(vovan_zh @ Apr 11 2011, 08:40) *
Возникло несколько вопросов по структуре программы для МК:
1.цикл MAIN повторяется постояно? т.е. иницилизация всех портов и перефирии.

2. Не могу разобраться с фазой сигнала. Зачем она перевертывается на 180 и почему фронт рисуется на уменьшение, а спад на увиличение?
3. Процедура записи в ФИФО никак не контролируется. ФИФО ресетится перед чтением и подразумевается что перед чтением данных в буфере будет достаточно. Т.е. если захочется наблюдать частоту в единицы герц то это надо взять под контроль?

1. сами подумайте, зачем это делать? Там же другие процедуры и в них свои циклы. Вот в них и крутится всё постоянно.
2.потому что счёт координат в дисплее начинается с верхнего левого угла. вот и пришлось всё переворачивать, чтобы сигнал выглядел нормально, а не вверх тормашками.
3.да , именно так. ФИФО ёмкая и в неё всё успеет записаться.

зызызыз. в новой схеме два раза обозначены входы синхр В. Разумеется, один из них синхр А.

для компиляции файла ПЛИСки использовался Xilinx ISE Design Suite 13.1_1 . Скачать можно на тамошнем ФТП сервере.


--------------------
Go to the top of the page
 
+Quote Post
atmicandr
сообщение Apr 12 2011, 08:01
Сообщение #403


Местный
***

Группа: Свой
Сообщений: 354
Регистрация: 11-02-10
Из: Ирбит
Пользователь №: 55 416



Простите за то что переспрашиваю, но есть вопрос: если старая плата это та, которая была с кучей разъёмов, то из новых какая более правильная? Которая в топике 400 или 402? К старой плате подходят новые прошивки из 402 топика? Никаких дорожек не надо резать? Схема точно одинаковая для старой платы и для новой из топика 402, естественно без узла аппаратной синхронизации?, кстати без этого узла с прошивкой из топика 402 прибор будет работать? Просто я заказал ещё две платы и попасть впросак с новыми прошивками совсем не хочется. Ну и на последок, я очень рад что Вы отступились от своего принципа, когда Вы доработав файл старой печатной платы, сказали что типа всё надоело и не будете к этому прибору возвращаться, а по факту Вы с ним дальше решили работать. Две платы я заказал вот для чего: одну другу в подарок, вторую для радиокружка. Я в поросячем восторге от вашего решения о продолжении этого проекта.

Сообщение отредактировал atmicandr1 - Apr 12 2011, 08:27


--------------------
Нео, есть два способа попасть в матрицу...Либо интерфейсный кабель в затылок, либо силовой в жопу... (NO ® monitor.net.ru)
Go to the top of the page
 
+Quote Post
andreichk
сообщение Apr 12 2011, 10:14
Сообщение #404


Знающий
****

Группа: Свой
Сообщений: 507
Регистрация: 15-04-06
Из: Германия
Пользователь №: 16 143



Цитата(atmicandr1 @ Apr 12 2011, 10:01) *
Простите за то что переспрашиваю, но есть вопрос: если старая плата это та, которая была с кучей разъёмов, то из новых какая более правильная? Которая в топике 400 или 402? К старой плате подходят новые прошивки из 402 топика? Никаких дорожек не надо резать? Схема точно одинаковая для старой платы и для новой из топика 402, естественно без узла аппаратной синхронизации?, кстати без этого узла с прошивкой из топика 402 прибор будет работать? Просто я заказал ещё две платы и попасть впросак с новыми прошивками совсем не хочется. Ну и на последок, я очень рад что Вы отступились от своего принципа, когда Вы доработав файл старой печатной платы, сказали что типа всё надоело и не будете к этому прибору возвращаться, а по факту Вы с ним дальше решили работать. Две платы я заказал вот для чего: одну другу в подарок, вторую для радиокружка. Я в поросячем восторге от вашего решения о продолжении этого проекта.

Старая, это та, которая с кучей разьёмов, а та , что в посте 400 и 402, совершенно одинаковые, то есть новые.
К старой новая прошивка как раз не подойдёт, но адаптировать её к старой плате пара пустяков, надо будет только поменять местами порты READ ФИФО на это
Код
//--------------------------
#ifndef  READ_FIFO_A
#define  READ_FIFO_A    PIN_C2//чтение ФИФО. от пин36 к 18 ножке IDT7205 канал В
#endif
//--------------------------
#ifndef  READ_FIFO_B
#define  READ_FIFO_B    PIN_C1//чтение ФИФО. от пин35 к 18 ножке IDT7205 канал А
#endif

и в процедурах SCOP_A и SCOP_B также поменять вот эти части местами

Код
   #asm
    BCF 0x0F8B,0//Output_bit(FIFO_RES ,0); //PIN_C0// сброс FIFO в "0"
    BSF 0x0F8B,0//Output_bit(FIFO_RES ,1); //PIN_C0// и разрешение на считывание
    BSF 0x0F8B,1//Output_bit(READ_FIFO_A ,1); //PIN_C1 запрет канала A
  #endasm

        setCursorAddress(0x2581);// встанем в правильную позу0x2581
        clear_graphic();             // и очистимся от грехов
        
   for(ever){
     #asm
       BCF 0x0F8B,2//LATC2=0;//Output_bit(READ_FIFO_B ,0);//PIN_C2. разрешить
     #endasm
        y=240-input_b(); //чтение порта RВ и разворот на 180° по вертикали
     #asm
       BSF 0x0F8B,2//LATC2=1;//Output_bit(READ_FIFO_B ,1);//PIN_C2.запретить
     #endasm
  //..........................................................


и

Код
#asm
    BCF 0x0F8B,0 //Output_bit(FIFO_RES,0);//PIN_C0 сброс FIFO в "0"
    BSF 0x0F8B,0 //Output_bit(FIFO_RES,1);//PIN_C0 и разрешение на считывание
    BSF 0x0F8B,2 //Output_bit(READ_FIFO_B,1);//PIN_C2 запрет канала B
#endasm
   if(res){ setCursorAddress(0x2581);// встанем в правильную позу
            clear_graphic();}             // и очистимся от грехов
   for(ever){
     #asm
       BCF 0x0F8B,1//LATC2=0;//Output_bit(READ_FIFO_A ,0);//PIN_C1. разрешить
     #endasm
        y=240-input_b(); //чтение порта В и разворот на 180° по вертикали
     #asm
       BSF 0x0F8B,1//LATC2=1;//Output_bit(READ_FIFO_A ,1);//PIN_C1.запретить
     #endasm
  //..........................................................


--------------------
Go to the top of the page
 
+Quote Post
atmicandr
сообщение Apr 12 2011, 10:23
Сообщение #405


Местный
***

Группа: Свой
Сообщений: 354
Регистрация: 11-02-10
Из: Ирбит
Пользователь №: 55 416



За быстрый ответ спасибо! Теперь думаю: какого хрена я поторопился с заказом плат? Но попробую привести вё к новой прошивке. С уважением Корчагин Андрей


--------------------
Нео, есть два способа попасть в матрицу...Либо интерфейсный кабель в затылок, либо силовой в жопу... (NO ® monitor.net.ru)
Go to the top of the page
 
+Quote Post

30 страниц V  « < 25 26 27 28 29 > » 
Closed TopicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 14:30
Рейтинг@Mail.ru


Страница сгенерированна за 0.01521 секунд с 7
ELECTRONIX ©2004-2016