Администрация форума не несёт ответственности за достоверность информации и оставляет за собой право редактировать или в особых случаях даже удалять посты без предупреждения. Спасибо за понимание.

Программирование ATMEL в BASCOM.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



3.2" TFT LCD

Сообщений 121 страница 150 из 165

121

для двух-трёх контроллеров надо написать с нуля 2-3 программы ;)

я сотрудничал с МикроЕлектроникой лет 10 назад, переводил сайт на русский, продвигал... Получил от них ключ.
но парни пошли своим путём: сделали Си, "перевели" его в Паскаль, его - в Бейсик. Верно сказали: там Си, а не Бейсик!

0

122

Собрал схемку управления SSD1289 на Atmega644. Но в свете экономических событий захотелось сэкономить на чипе и использовать Atmega32A-AU(122 руб. против 317 руб.) Просто поменяв шапку программы с:
$regfile = "m644def.dat"
.
.
.
На:
$regfile = "m32def.dat"
.
.
.
ничего не закомпилировалось... 64 кб памяти- это принципиально или всё-же на 32 кб  может получиться?

0

123

marss70 написал(а):

ничего не закомпилировалось... 64 кб памяти- это принципиально или всё-же на 32 кб  может получиться?


Почему-же, всё работает, в зависимости от используемых шрифтов, используется от 10% (памяти) до не хватает памяти

http://s6.uploads.ru/t/Y0QbL.jpg http://s7.uploads.ru/t/t63Rs.jpg

Отредактировано sasha_1973 (2015-09-10 08:43:38)

0

124

Mrshilov!
А где Вы покупаете такие замечательные дисплеи?

0

125

Уважаемый Mrshilov.
У вас есть примеры работы с LCD на контролере ili9488?
Мне знакомый подарил вот такой экранчик.

0

126

Получил вот такой LCD: 3.5", 320*480, есть тач. Контроллер XPT2046, интерфейс SPI. На стекле надпись LXH-TPM207-3.5
Ссылка
Мне кажется весьма перспективный. Может кто-то уже пробовал использовать?
http://i.piccy.info/i9/5efa126c9d67e4b7be1dd49eb6197bb9/1448103080/4933/962335/SAM_2870_240.jpghttp://i.piccy.info/a3/2015-11-21-10-51/i9-9039707/240x180-r/i.gif
http://i.piccy.info/i9/84d0029a76959df54129efad6c334ad2/1448103133/7157/962335/SAM_2866_240.jpghttp://i.piccy.info/a3/2015-11-21-10-52/i9-9039709/240x180-r/i.gif

0

127

Продавец пишет: Контроллер XPT2046

0

128

Да, действительно. Сорри.
Раз он под малинку, должен быть хорошо документирован. Поищу.

0

129

Страничка с инфо о дисплее

off: о цене на дисплеи

На сайте сейчас должен действовать купон 10 от 20, те. за $10 можно получить 2 дисплея.

Отредактировано Civil (2015-11-21 17:56:50)

0

130

Вот здесь демонстрируют вполне приемлемую скорость:

Малина, как я понимаю, работает на 32МГц.
И вот здесь:

В любом случае, возможность не распаивать монструозные шлейфы - основное преимущество данного дисплея.
И потом, обычно приборный интерфейс обновляется частями, а для этого высокая скорость необязательна.

0

131

Мы же не всегда перерисовываем весь экран. Если это часы, то меняется примерно 1/8 экрана раз в минуту. Если ампер и вольтметр - то чаще всего 2 цифры 2 раза в секунду. Пусть это 1/16 экрана. Не так уж страшно.
К тому же граф. акселератор ничем не поможет - мы же ничего не считаем, просто гоняем готовые блоки данных в дисплей.
Ок, почитаю, что придумали наши зарубежные друзья. Если получится запустить, можно будет оценить реальную скорость.

0

132

Mrshilov спасибо за код для Vivaz дисплея! Есть ли какая-нибудь возможность хранить файлы шрифтов в какой-нибудь внешней памяти без значительной потери скорости вывода текста?

0

133

А если использовать Fram память, типа fm24c256? Mrshilov, хотел сказать спасибо и за библиотеку для KF700! Видел у Энди Брауна на его воркшопе "видеокарту" на плис  spartan-3 для U5. Не планируете что-то подобное?

0

134

Всем привет!
Подскажите, работал ли кто-нибудь с таким зверем?
http://id.aliexpress.com/item/2-8-2-8in … eb201560_6
Два дня запустить пытаюсь. продавец утверждал, что внутри ILI9325, но инициализация не проходит.

порт использовал и D0-D7 и D10-D17
перемычки тоже распаивал

0

135

Блин, в епром не залезу, шью через загрузчик.

Передал значение переменных в uart
Получил:
B=16
D=1
(В десятичной)

0

136

Mrshilov написал(а):

добавьте еще задержку

спасибо, попробую.

0

137

вот я дурень, я не подключал пин RD дисплея к контроллеру, что же там прочитается? )
CS у меня на земле жестко

0

138

та же песня.
Порт использую D10-D17

0

139

на 16 бит не хватит ног. Придётся подключать к другой макетке. Но это, наверное, завтра уже.
Спасибо, отпишусь. И, если не сложно, дайте ссылку на последнюю Вашу библиотеку к этому контроллеру.

Да, и еще..

Если у нас

Код:
Data_disp Alias Portc : Config Data_disp = Output           'Data Port

, то должно быть

Код:
Config Data_disp= Input : Data_disp= 255

, а не

Код:
Config Portc = Input : Portc = 255

?

Отредактировано demonizer (2015-12-03 03:35:40)

0

140

Компилятор ругается,

Код:
Error : 211   Line :   134   External routine not found [_DWORD2FLOAT]  , in File : ILI9325 library.inc
Error : 61    Line :   385   Label not found [_DWORD2FLOAT]  , in File : ILI9325 library.inc
Error : 61    Line :   385   Label not found [_DWORD2FLOAT]  , in File : ILI9325 library.inc
Error : 61    Line :   385   Label not found [_DWORD2FLOAT]  , in File : ILI9325 library.inc
Error : 61    Line :   385   Label not found [_DWORD2FLOAT]  , in File : ILI9325 library.inc
Error : 61    Line :   397   Label not found [_DWORD2FLOAT]  , in File : ILI9325 library.inc
Error : 61    Line :   398   Label not found [_DWORD2FLOAT]  , in File : ILI9325 library.inc
Error : 61    Line :   428   Label not found [_DWORD2FLOAT]  , in File : ILI9325 library.inc
Error : 61    Line :   429   Label not found [_DWORD2FLOAT]  , in File : ILI9325 library.inc

0

141

2.0.7.5

0

142

Накопал модельку дисплея для протеуса, сейчас попробую эмуляцию, если всё заведётся, проверю на другой макетке

С таким кодом получил значения
D = 93
B = 31

Это что, ILI9331?

Код:
$regfile = "m128def.dat"
    $crystal = 12000000
    $hwstack = 64
    $swstack = 64
    $framesize = 64
    $baud = 19200

    '--------------------------- Pin Configuration ---------------------------------
    Data_disp Alias PortA : Config Data_disp = Output       'Data Port
    Rs_disp Alias Portc.7 : Config Rs_disp = Output         'Command/Data pin
    Wr_disp Alias Portc.6 : Config Wr_disp = Output         'Write pin
    Res_disp Alias Portc.5 : Config Res_disp = Output       'Reset pin
    Rd_disp Alias Portb.3 : Config Rd_disp = Output         'Read pin


 '-------------- Read Controller ----------------

       Dim Lcd_idh As Eram Byte At 1
       Dim Lcd_idl As Eram Byte At 2
       Dim B As Byte , D As Byte
   do

reset Rs_disp
reset Wr_disp
waitms 10

set Wr_disp
set Rs_disp
reset Rd_disp

waitms 10

set Rd_disp


Data_disp = &h00


       Config Data_disp = Output
       Data_disp = 0
       Res_disp = 0 : Waitms 10 : Res_disp = 1 : Waitms 100

       Config Data_disp = Input

       Res_disp = 1
       Rd_disp = 0 : Wr_disp = 0  : Waitms 5: Wr_disp = 1
       B = PinA
       Wr_disp = 0 : Waitms 5 : Wr_disp = 1
       D = PinA
       Lcd_idh = B
       Lcd_idl = D

       Print "B=" ; hex(B)
              Print "D=" ; hex(D)
              waitms 100
              loop
    End

Отредактировано demonizer (2015-12-03 21:11:33)

0

143

Ничего не пойму. даже в протеусе отказывается работать.

Меняю контроллер на свой (mega128a), пишу только инициализацию и вывод одной строки текста. и тишина

Код:
$regfile = "m128def.dat"
$crystal = 12000000
$hwstack = 512
$swstack = 512
$framesize = 512


Mcucr.7 = 1                                                 'Turn OFF JTAG
Mcucr.7 = 1
Mcucr.7 = 1

'--------------------------- Pin Configuration ---------------------------------
Data_disp Alias Porta : Config Data_disp = Output           'Data Port
Rs_disp Alias Portc.5 : Config Rs_disp = Output             'Command/Data pin
Wr_disp Alias Portc.7 : Config Wr_disp = Output             'Write pin
Res_disp Alias Portc.6 : Config Res_disp = Output  : Res_disp = 1       'Reset pin               'Reset pin



'-------------------------------- Library --------------------------------------
Const Portrait = 0                                          '0=Landscape, 1=Portrait
Const Rotate180 = 0                                         '0=Normal, 1=Rotate 180°

Config Submode = New : $include "ILI9325 library.inc"       'Include library

'---------------------------- Fonts and Pictures -------------------------------
' You need to include Fonts and Pictures below the "End"
'-------------------------------------------------------------------------------
'


'================================ Test Program =================================

Dim Count As Integer , Text As String * 16 , N As Integer , M As Integer , B As Byte

Display_init                                                ' Initialize Display

Do

Lcd_clear White
Restore Font12x16
Lcd_text "Controller ILI9325" , 45 , 25 , Darkred , White   '****** Text
Restore Font25x32
Lcd_text "240x320 LCD" , 23 , 50 , Darkgreen , White
Restore Font36x56 : Digit_font = 1
For Count = 20 To 24
   Text = Str(count)
   Lcd_text Text , 120 , 110 , Blue , White
   Wait 1
Next Count
Digit_font = 0

Restore Font25x32
Lcd_text "Negative  " , 60 , 180 , Black , White            '****** Negative
Lcd_negative 1
Restore Font36x56 : Digit_font = 1
For Count = 25 To 27
   Text = Str(count)
   Lcd_text Text , 120 , 110 , Blue , White
   Wait 1
Next Count
Digit_font = 0



Loop

End                                                         'end program
'-------------------------------------------------------------------------------
$include "color8x8.font"
$include "color16x16.font"
$include "Font12x16.font"
$include "Font25x32.font"
$include "Font36x56.font"

Хотя, пример на usb1286 исправно симулируется

Отредактировано demonizer (2015-12-03 22:26:16)

0

144

Cs к земле, rd к питанию

0

145

Разместил

баском 2.0.7.8
Протеус 8.1 SP1

Ох, ёлки, так и не понял, что сделал, но в симуляторе запустил.

Вечером попробую в железе

Так всё-таки, непонятно по вычитанному из регистров идентификатору, ILI9331?

Просто продавец утверждал, что внутри 9325, я даже отлепил сам дисплей от платы, но вменяемых надписей на нём не нашел.
Дисплеев таких три, пробовал из них два

Отредактировано demonizer (2015-12-04 14:27:22)

0

146

Я тут ещё раз прочитал даташит на контроллер...
Питание дисплея у меня 3.3в, а вот линии управления напрямую от контроллера, контроллер запитан от 5в...
В даташите сказано, что IO пины тоже 3.3в
Не мог ли он сковырнуться от 5в 50ма?

0

147

Понял, сделаю по-человечески и попробую ещё раз

0

148

Mrshilov Здравствуйте!

Подключил два дисплея (китайский и оригинал) от  SonyEricsson Vivaz U5i с вашей библиотекой к Atxmega256A3. С любым дисплеем одинаковая проблема в отображении. Почему то путаются столбцы пикселей. То есть первый пиксель по горизонтали имеет индекс 0,1; второй 320,1; третий 1.1; четвертый 321,1 и т.д.  По вертикали все в порядке. Цвета не искажаются. В чем ошибка?
http://s7.uploads.ru/t/toG1e.gif

Ваш пример выглядит так:
http://s2.uploads.ru/t/bBvLw.jpg

Отредактировано nooby (2015-12-05 15:00:43)

0

149

Mrshilov написал(а):

А что считалось с регистра 0?


B = 93
D = 31

C таким кодом:

Код:
$regfile = "m128def.dat"                                    ' specify the used micro

$crystal = 12000000
$hwstack = 512
$swstack = 512
$framesize = 512
$baud = 19200


'--------------------------- Pin Configuration ---------------------------------
Data_disp Alias Porta : Config Data_disp = Output           'Data Port
Rs_disp Alias Portc.7 : Config Rs_disp = Output             'Command/Data pin
Wr_disp Alias Portc.6 : Config Wr_disp = Output             'Write pin
Res_disp Alias Portc.5 : Config Res_disp = Output           'Reset pin
Res_disp = 1

Rd_disp Alias Portb.3 : Config Rd_disp = Output             'Read pin
Rd_disp = 1

'-------------- Read Controller ----------------

   Dim Lcd_idh As Eram Byte At 1
   Dim Lcd_idl As Eram Byte At 2
   Dim B As Byte , D As Byte

   do
      Res_disp = 0 : Waitms 10 : Res_disp = 1 : Waitms 100

      Data_disp = &H00
      Rs_disp = 0 : Wr_disp = 0 : Wr_disp = 1
      Config Porta = Input : Porta = 255
      Rs_disp = 1
      Rd_disp = 0 : Wr_disp = 0 : Wr_disp = 1
      B = PINa
      Wr_disp = 0 : Wr_disp = 1
      D = PinA
      print "B=" ; hex(B)
      print "D=" ; hex(D)

   loop
End

Отредактировано demonizer (2015-12-05 22:12:50)

0

150

Mrshilov
Спасибо огромное, долго искал инит для 9331, но так и не нашел, буду пробовать

Сделал так:

Код:
Sub Display_init
Res_disp = 0 : Waitms 5 : Res_disp = 1 : Waitms 100         'Hardware Reset
Waitms 15

Ili9325_write_reg &HE7 , &H1014                             '
ili9325_write_reg &H01 , &H0100                             ' / * set SS and SM bit * /
ili9325_write_reg &H02, &H0200'   /* set 1 line inversion */
ili9325_write_reg &H03, &H1030'   /* set GRAM write direction and BGR=1 */
ili9325_write_reg &H08, &H0202'   /* set the back porch and front porch */
    ili9325_write_reg &H09, &H00'   /* set non-display area refresh cycle ISC[3:0] */
ili9325_write_reg &H0A, &H00'   /* FMARK function */
ili9325_write_reg &H0C, &H00'   /* RGB interface setting */
ili9325_write_reg &H0D, &H00'   /* Frame marker Position */
ili9325_write_reg &H0F, &H00'   /* RGB interface polarity */
'/* Power On sequence */
ili9325_write_reg &H10, &H00'   /* SAP, BT[3:0], AP, DSTB, SLP, STB */
ili9325_write_reg &H11, &H07'   /* DC1[2:0], DC0[2:0], VC[2:0] */
ili9325_write_reg &H12, &H00'   /* VREG1OUT voltage */
ili9325_write_reg &H13, &H00'   /* VDV[4:0] for VCOM amplitude */
    waitms 200'                  /* LCD_Delay 200 ms */
ili9325_write_reg &H10, &H1690'   /* SAP, BT[3:0], AP, DSTB, SLP, STB */
ili9325_write_reg &H11, &H0227'   /* DC1[2:0], DC0[2:0], VC[2:0] */
    waitms 50                                               '                   /* LCD_Delay 50 ms */
ili9325_write_reg &H12, &H0C'   /* Internal reference voltage= Vci */
    waitms 50                                               '                    /* LCD_Delay 50 ms */
ili9325_write_reg &H13, &H0800'   /* Set VDV[4:0] for VCOM amplitude */
ili9325_write_reg &H29, &H11'   /* Set VCM[5:0] for VCOMH */
ili9325_write_reg &H2B, &H0B'   /* Set Frame Rate */
    waitms 50                                               '                   /* LCD_Delay 50 ms */
ili9325_write_reg &H20, &H00'   /* GRAM horizontal Address */
ili9325_write_reg &H21, &H00'   /* GRAM Vertical Address */
'/* Adjust the Gamma Curve */
ili9325_write_reg &H30, &H00'
ili9325_write_reg &H31, &H0106'
ili9325_write_reg &H32, &H00'
ili9325_write_reg &H35, &H0204'
ili9325_write_reg &H36, &H160A'
ili9325_write_reg &H37, &H0707'
ili9325_write_reg &H38, &H0106'
ili9325_write_reg &H39, &H0707'
ili9325_write_reg &H3C, &H0402'
ili9325_write_reg &H3D, &H0C0F'
'/* Set GRAM area */
ili9325_write_reg &H50, &H00'   /* Horizontal GRAM Start Address */
ili9325_write_reg &H51, &HEF'   /* Horizontal GRAM End Address */
ili9325_write_reg &H52, &H00'   /* Vertical GRAM Start Address */
ili9325_write_reg &H53, &H013F'   /* Vertical GRAM Start Address */
ili9325_write_reg &H60, &H2700'   /* Gate Scan Line */
ili9325_write_reg &H61, &H01'   /*  NDL,VLE, REV */
ili9325_write_reg &H6A, &H00'   /* set scrolling line */
'/* Partial Display Control */
ili9325_write_reg &H80, &H00'
ili9325_write_reg &H81, &H00'
ili9325_write_reg &H82, &H00'
ili9325_write_reg &H83, &H00'
ili9325_write_reg &H84, &H00'
ili9325_write_reg &H85, &H00'
'/* Panel Control */
ili9325_write_reg &H90, &H10'
ili9325_write_reg &H92, &H0600'
ili9325_write_reg &H07,&H21'
    waitms 50'                   /* LCD_Delay 50 ms */
ili9325_write_reg &H07,&H61'
    waitms 50                                               ''                   /* LCD_Delay 50 ms */
ili9325_write_reg &H07,&H0133'    /* 262K color and display ON */
    waitms 50                                               ' / * LCD_Delay 50 ms * /

End Sub

пока тишина, сейчас попробую перемычки на плате//

В общем, пришел к выводу, что режим 8/16bit выставляется перемычками корректно, ибо, без перемычки на чтение регистра возвращает 9393, а с перемычкой 9331.

Экран по-прежнему белый, ни намёка на успешный инит. пробовал нетронутый дисплей на 3.3В

Отредактировано demonizer (2015-12-05 23:27:29)

0