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

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

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

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


Вы здесь » Программирование ATMEL в BASCOM. » Исходники » LCD LS020 от Siemens S65


LCD LS020 от Siemens S65

Сообщений 151 страница 180 из 188

151

max
А у Вас на вашей версии Баскома библиотека работает?

0

152

Да.

0

153

Попробую скачать новую версию
Вот Вы приводили исходник:

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

$lib "LCD-SIEMENS_S65_LS020_256_W1.LBX"

Config Graphlcd = Color , Controlport = Portc , Cs = 0 , Rs = 7 , Scl = 1 , Sda = 2 , Reset = 6

Const Blue = &B00000011
Const Yellow = &B11111100
Const Red = &B11100000
Const Green = &B00011100
Const Black = &B00000000
Const White = &B11111111
Const Brightgreen = &B00111110
Const Darkgreen = &B00010100
Const Darkred = &B10100000
Const Darkblue = &B00000010
Const Brightblue = &B00011111
Const Orange = &B11111000
Const Violett = 199
Const Brown = 192

Do

Box(0 , 0) -(131 , 176) , Blue
Wait 1
Box(0 , 0) -(131 , 176) , Yellow
Wait 1
Box(0 , 0) -(131 , 176) , Red
Wait 1
Box(0 , 0) -(131 , 176) , Green
Wait 1
Box(0 , 0) -(131 , 176) , Black
Wait 1
Box(0 , 0) -(131 , 176) , White
Wait 1
Box(0 , 0) -(131 , 176) , Brightgreen
Wait 1
Box(0 , 0) -(131 , 176) , Darkgreen
Wait 1
Box(0 , 0) -(131 , 176) , Darkred
Wait 1
Box(0 , 0) -(131 , 176) , Darkblue
Wait 1
Box(0 , 0) -(131 , 176) , Brightblue
Wait 1
Box(0 , 0) -(131 , 176) , Orange
Wait 1
Box(0 , 0) -(131 , 176) , Violett
Wait 1
Box(0 , 0) -(131 , 176) , Brown
Wait 1

Loop
End

Вы его запускали?
Все нормально работало?
И на 2.0.7.1 он компилировался?

Отредактировано thorus (2013-03-12 13:31:07)

0

154

Вот этот код и компилируется, и работает:

Код:
$hwstack = 256
$swstack = 256
$framesize = 256

$regfile = "m32def.dat"
$crystal = 16000000
$baud = 19200

$lib "LCD-SIEMENS_S65_LS020_256_W1.LBX"                     'Siemens S65 LS020 color display support Wide

Config Graphlcd = Color , Controlport = Portc , Cs = 2 , Rs = 4 , Scl = 1 , Sda = 0 , Reset = 3

Declare Sub Bars()

Dim I As Byte
Dim K As Byte
Dim L As Byte
Dim Usb_data(18) As Byte

'256 8-áèòíûå öâåòà vvv
Const Red = &B11100000
Const Orange = &B11110000
Const Yellow = &B11111100
Const Green = &B00011100
Const Blue = &B00000011
Const Cian = &B11100011
Const Black = &B00000000
Const White = &B11111111

'-------------------------------------------------------------------------------
Cls

Do

For K = 64 To 0 Step -8
   For L = 1 To 18
      Usb_data(l) = K
   Next L
   Gosub Bars
Next K

Loop

End

Sub Bars():
Local X1 As Byte
Local Y1 As Byte
Local X2 As Byte

For I = 1 To 18
   Y1 = Usb_data(i)
   X1 = I * 7 : X1 = X1 - 5
   X2 = X1 + 7
   Y1 = 130 - Y1
   If I = 1 Or I = 7 Or I = 13 Then Box(x1 , Y1) -(x2 , 130) , Red
   If I = 2 Or I = 8 Or I = 14 Then Box(x1 , Y1) -(x2 , 130) , Orange
   If I = 3 Or I = 9 Or I = 15 Then Box(x1 , Y1) -(x2 , 130) , Yellow
   If I = 4 Or I = 10 Or I = 16 Then Box(x1 , Y1) -(x2 , 130) , Green
   If I = 5 Or I = 11 Or I = 17 Then Box(x1 , Y1) -(x2 , 130) , Blue
   If I = 6 Or I = 12 Or I = 18 Then Box(x1 , Y1) -(x2 , 130) , Cian
   Box(x1 , 66) -(x2 , Y1) , White
Next I
End Sub

0

155

Щас проверю у себя

0

156

Безрезультатно

0

157

а как можно разложить бинарник 8 бит по переменным, например:
А=&B11110000
нужно его раскидать в переменные
А(1)=1
А(2)=1
А(3)=1
А(4)=1
А(5)=0
А(6)=0
А(7)=0
А(8)=0
Придется без библиотеки как то работать))

0

158

Или это будет оптимальный вариант?

b= десятичный код

for i = 1 to 8
a(i)=0
next i

if b=>128 then a(8)=1
if b=>128 then b=b-128
if b=>64 then a(7)=1
if b=>64 then b=b-64
if b=>32 then a(6)=1
if b=>32 then b=b-32
if b=>16 then a(5)=1
if b=>16 then b=b-16
if b=>8 then a(4)=1
if b=>8 then b=b-8
if b=>4 then a(3)=1
if b=>4 then b=b-4
if b=>2 then a(2)=1
if b=>2 then b=b-2
if b=>1 then a(1)=1

0

159

Эта библиотека тоже не работает?:
LCD-SIEMENS_S65_LS020_256.LBX

0

160

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

Эта библиотека тоже не работает?:
LCD-SIEMENS_S65_LS020_256.LBX

Да , эту тоже пробывал

0

161

Попробуй указать в Bascom-е частоту выше, чем используешь реально. Возможно не хватает задержек. У меня на этих библиотеках работает несколько устройств. Проблем не замечал.

0

162

Добрался до железа.
Убери эту строку:
$baud = 19200
или замени Sda = 0 на Sda = 6
переподключи контакт
и будет тебе счастье
аппаратный конфликт вывода
удачи!!!
P.S.
Проверил на 2-х версиях
1.11.9.0 и 2.0.7.1 работает на обоих
Внимательнее относитесь к назначению функций портов.
Удачи!!!

Отредактировано Karavan (2013-03-13 13:49:29)

0

163

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

Безрезультатно

Так разобрались или нет?

0

164

Извиняюсь за долгое отсутствие на форуме, с работой времени не хватало, думаю с понидельника займусь и отпишусь, спасибо большое за помощ

0

165

Ok'

0

166

Караван, так и не смог проверить, щас пока что проблемы с жеестким на старом компе так что как только решу их так и сразу отпишусь, и потом продолжу все свои эксперементы)

0

167

Удачи! Жду результата.

0

168

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

а как можно разложить бинарник 8 бит по переменным, например:
А=&B11110000
нужно его раскидать в переменные
А(1)=1
А(2)=1
А(3)=1
А(4)=1
А(5)=0
А(6)=0
А(7)=0
А(8)=0
Придется без библиотеки как то работать))


Y = &B01101000   
For I = 0 To 7
Rotate Y , Left
X = Y And &B00000001 (в первый проход х=0 во второй 1 в третий 1 в четвертый 0....)
next

0

169

Код:
А=&B11110000
нужно его раскидать в переменные
А(1)=1
А(2)=1
А(3)=1
А(4)=1
А(5)=0
А(6)=0
А(7)=0
А(8)=0
Придется без библиотеки как то работать))]

B=&B11110000
For I = 0 to 7
C = I + 1
A(C) = B.I
Next I

0

170

Запустил на At,ega32, вот код:

Код:
$hwstack = 256
$swstack = 256
$framesize = 256

$regfile = "m32def.dat"
$crystal = 8000000
$baud = 19200








$lib "LCD-SIEMENS_S65_LS020_256_W1.LBX"
Config Graphlcd = Color , Controlport = Portb , Cs = 4 , Rs = 2 , Scl = 5 , Sda = 6 , Reset = 3
Config Porta = Input
Config Portb = Input
Config Adc = Single , Prescaler = 128 , Reference = Avcc

Dim N As Byte
Dim Color As Byte
Dim Colorbac As Byte

Dim Acp0 As Integer
Dim Acp1 As Integer
Dim Kn As Byte

Const Blue = &B00000011                                     ''predefined contants are making programming easier
Const Yellow = &B11111100
Const Red = &B11100000
Const Green = &B00011100
Const Black = &B00000000
Const White = &B11111111
Const Brightgreen = &B00111110
Const Darkgreen = &B00010100
Const Darkred = &B10100000
Const Darkblue = &B00000010
Const Brightblue = &B00011111
Const Orange = &B11111000
Const Violett = 199
Const Brown = 192                                           '128


Cls
Do
Disable Interrupts                                      
Start Adc                                                  
   Acp0 = Getadc(0)
   Acp1 = Getadc(1)                                        
Stop Adc
Enable Interrupts

Kn = Pinb.7
Setfont Color8x8
Lcdat 1 , 0 , "  АЦП 0=" ; Acp0 ; "   " , White , Black
Lcdat 8 , 0 , "  АЦП 1=" ; Acp1 ; "   " , White , Black
Lcdat 16 , 0 , "portb7=" ; Kn , White , Black


Waitms 200








Loop

'Plaatje:
'$bgf "mcsez.bgc"


$include "color8x8wRus.font"
$include "color16x16wRus.font"

Беда прям с АЦП или портом, прерывание если запретить, то экран не работает, порт прослушивать не могу с работой АЦП, но ещё до кучи АЦП 0 и АЦП1 показывают одно и тоже значение (Хотя входные сигналы разные). Есть библиотека, которая работает с LS020 и такой шапкой:

Код:
$regfile = "m32def.dat"
$Crystal=4000000
$hwstack=40
$swstack=16
$framesize=32

Всё дело в ней, если поменять значения в 256 - получаю глюки и нестабильность с получением данных с порта. А да, портB.7 получаю значение, когда АЦП запускаю так: Config Adc = free, АЦП конечно не работает, но portb.7 равен нажатию на кнопку.
А так супер библиотека! Спасибо!

Отредактировано Ev3658 (2013-05-15 15:25:56)

0

171

А с ними и без них так-же, ну я ещё чайник если чего  :flag:
Кажись ещё не хватает инициализации при CLS. Библиотеку посмотрел, ахнул, ассемблер )

0

172

Ой... Mrshilov извини, я мудачила чайниковый )
Вообщем иницилизировал порт на вход после строки иницилизации портов дисплея (один и тот-же), после допёрло. До кучи АЦП нормально работают, значения замерял, думал что разные, а оказалось закоротил. Вообщем всё супер работает! Одно только но, приходится сбрасывать контроллер, если питание LCD пропадает в включенной схеме.
Распиновку и согласование с ТТЛ уровнями взял из этой схемы:
http://obrazki.elektroda.pl/5014792300_1291794687.png

Отредактировано Ev3658 (2013-05-15 20:25:33)

0

173

А вот и новую библиотеку нам подарил уважаемый Mrshilov !
http://bascom.at.ua/publ/displej_siemen … /1-1-0-114

+1

174

Люди помогите!!!  библиотекu длa LCD-SiemensM65-LPH8836 :cool:

0

175

спасибо
Я постараюсь Google
ujosvec

0

176

У меня есть наработки я вам дам программ там вывод букв и цифр

0

177

Так я жду вашего кода.
Большое спасибо.
ujosvec

0

178

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

Дисплея такого живьем для испытаний нет, но знаю, что контроллер в нем HD66773.

Привет
У меня есть два дисплея LPH8836 из SiemensM65. Если я дал вам один
Дисплей, как вы могли бы сделать  библиотеки  для Bascom?
Спасибо за ваш ответ.
С уважением ujosvec

0

179

Так это хорошая новость !!!
Просто не знаю, как долго вы будете ждать до прихода из Чехии.
В понедельник, отправив дисплей.
Спасибо вам большое за всех нас энтузиасты.
Я пишу через Google так что, возможно, что все в порядке.
С уважением ujosvec

0

180

Привет
Так что я послал несколько элементов дисплея для ваших проектов.
Это Спасибо за вашу помощь.
Я просто надеюсь, что почта приходит в штрафа.
ujosvec

0


Вы здесь » Программирование ATMEL в BASCOM. » Исходники » LCD LS020 от Siemens S65