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

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

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

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


Вы здесь » Программирование ATMEL в BASCOM. » Исходники » ST7920 графический ЖКИ 128*64 и Bascom


ST7920 графический ЖКИ 128*64 и Bascom

Сообщений 31 страница 60 из 74

31

Добрые человеки планеты земля  :flag:
SOS...SOS...

Код:
Sub Point(x As Byte , Y As Byte )
   ' (0,0)-(127,63)
   Xadrs = X \ 16
   Xpos = X Mod 16

   Yadrs = Y \ 32
   Yadrs = Yadrs * 8
   Xadrs = Xadrs + Yadrs

   Yadrs = Y Mod 32


   Xadrs = Xadrs + &H80
   Yadrs = Yadrs + &H80
   Lcdcommand Yadrs
   Lcdcommand Xadrs


   Byteh = Lcdget()
   Byteh = Lcdget()
   Bytel = Lcdget()

   If Xpos < 8 Then
      Xpos = 7 - Xpos
      Xpos = 2 ^ Xpos
      Byteh = Byteh Or Xpos
      Else
      Xpos = 15 - Xpos
      Xpos = 2 ^ Xpos
      Bytel = Bytel Or Xpos
   End If

   Lcdcommand Yadrs
   Lcdcommand Xadrs


   Lcdwrite Byteh
   Lcdwrite Bytel
End Sub

Не могу понять.

Код:
Xadrs = Xadrs + &H80
   Yadrs = Yadrs + &H80
   Lcdcommand Yadrs
   Lcdcommand Xadrs

Понял, что посылаем X адрес 1xxx_xxxx
Понял, что посылаем Y адрес 1xxx_xxxx

Код:
  Byteh = Lcdget()
   Byteh = Lcdget()
   Bytel = Lcdget()

Перевод:
Читаем ячейку 1 раз старшего байта
Читаем ячейку 1 раз старшего байта
Читаем ячейку 1 раз младшего байта

Зачем два раза читать первые два байта в одну переменную?
А вот тут вообще чудесный ГЕНИЙ Автора, поразил алгоритмом мыслей:

Код:
If Xpos < 8 Then
      Xpos = 7 - Xpos
      Xpos = 2 ^ Xpos
      Byteh = Byteh Or Xpos
      Else
      Xpos = 15 - Xpos
      Xpos = 2 ^ Xpos
      Bytel = Bytel Or Xpos
   End If

Дальше, что прочитали, через OR чего-то делаем и получаем точку в нужном месте.

Дальше указываем опять те-же координаты и отсылаем данные (не команду)

Код:
   
   Lcdcommand Yadrs
   Lcdcommand Xadrs

  Lcdwrite Byteh
  Lcdwrite Bytel

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

Не могу понять, почему читаем 3 байта, а отсылаем 2 байта. Очень нужно.

При рисовании шрифта, могу переменную отсылать, чтоб не рисовалась точка, а затиралась,к примеру:

Код:
Cl=1 
Point X,Y

Вот, это рисует шрифт, даже инвертный шрифт.

Код:
Lcd1:
L1 = Len(txt1)
For P1 = 1 To L1
   St1 = Mid(txt1 , P1 , 1)
   S1 = Asc(st1)
   S1 = S1 - 32
   If S1 > 159 Then S1 = S1 - 64
   S1 = S1 * 6
   S2 = S1 + 6
   X1 = P1 - 1
   X1 = X1 * 6
   X1 = X1 + X
   For O1 = S1 To S2
      Lin1 = Lookup(o1 , Fonts)
      Y1 = Y
      If Inv = 1 Then
         Y1 = Y1 - 1
         For M1 = 0 To 7
         Point X1 , Y1
         Next M1
         Y1 = Y1 + 1
      End If

      For M1 = 0 To 7


         If Inv = 0 Then
            If Lin1.m1 = 1 Then
                    Point X1 , Y1
                    Else
                    Cl = 1       '-------------------------- УКАЗЫВАЮ, что точку надо стереть
                    Point X1 , Y1
            End If
         End If

         If Inv = 1 Then
            If Lin1.m1 = 0 Then
                    Cl = 1 '-------------------------- УКАЗЫВАЮ, что точку надо стереть
                    Point X1 , Y1
                    Else
                    Point X1 , Y1
            End If
         End If

         Y1 = Y1 + 1
      Next M1

   X1 = X1 + 1
   Next O1
Next P1
Inv = 0
Return

Что можно вставить в коде рисования точки, чтоб она не ставила, а отлючала пиксель?

P:S: Спасибо sasha_1973, показал дополнительные возможности Bascom AVR )
Добавлено спустя 1 день 5 часов 25 минут 21 секунду:

%-)

Отредактировано Ev3658 (2014-12-29 19:35:38)

0

32

:mad: Мой моск высушен! но я сделал это! Cl=1 - точка стирается.

Код:
   If Xpos < 8 Then
      Xpos = 7 - Xpos
         If Cl = 1 Then
            Byteh.xpos = 0 '<---------------|
               Else
                  Xpos = 2 ^ Xpos
                  Byteh = Byteh Or Xpos
         End If

      Else

      Xpos = 15 - Xpos

         If Cl = 1 Then
            Bytel.xpos = 0     '<---------------|
               Else
                  Xpos = 2 ^ Xpos
                  Bytel = Bytel Or Xpos
         End If
   End If

Я тоже злой гений электрик  :D
А я теперь прошел все испытания?  :crazy:

Отредактировано Ev3658 (2014-12-30 01:28:10)

+1

33

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

Мой моск высушен! но я сделал это! Cl=1 - точка стирается.

Молодчина!

0

34

Подфлужу ))) Всё равно тут уже месяц живу ).
С новым годом!

Отредактировано Ev3658 (2014-12-31 03:38:01)

0

35

Как и обещал, LCD и контроллер будет управлять вот этим:
https://pp.vk.me/c624725/v624725961/16687/hk4JlhzJi-o.jpg
Вот это получается всё лишнее:
https://pp.vk.me/c624725/v624725961/16669/DJ2CuR_EzLM.jpg
А вот это сейчас заменяет контроллер, адский программный гидравлический барабан на 14 команд:
https://pp.vk.me/c624725/v624725961/16691/2OL8h6-H5ZQ.jpg
Вот оно, получилось!
https://pp.vk.me/c624725/v624725961/1669b/quzRdF3WKew.jpg

Отредактировано Ev3658 (2015-01-27 16:21:42)

+1

36

Ну, это что БЫЛО а где- что СТАЛО ????????????
Жажду интимных подробностей !!!!!! :question:

0

37

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

Ну, это что БЫЛО а где- что СТАЛО ????????????
Жажду интимных подробностей !!!!!!

Вот тут-то и проблема. Пришёл я на производство, говорю: "Покажите, как он работает в таком виде".  Так не то, что принцип показать, пол часа он накачивался, пол часа уговаривал хоть чего нибудь объяснить.
Провернули программный барабан, на стадиях руками поднимали разные части, так как всё раздолбано и т.п.
Ну и это не всё, чувствуется мне не только надо будет программировать и проводки подключать, а ещё и всё самому выдёргивать, всё вставлять и оживлять. Механики целые сутки с перегаром сидели и даже не шевелились, настолько было хреново им в понедельник, а специалист по ремонту электроники вообще трубку не брал и появился где-то после обеда и то слинял на выходе, размешавшись в толпе, чтоб перегар не почуяли.
Так уж берусь за всё, забрал папку с документацией, сижу, вкуриваю. там блин всё от руки написано и нарисовано!
Обязательно выложу и видео и фото до и после )

0

38

А что это за агрегат? Я Занимаюсь ремонтом гидравлики и мне стало просто интересно.

0

39

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

А что это за агрегат? Я Занимаюсь ремонтом гидравлики и мне стало просто интересно.

Всё, дело сдвинулось!!! Сказано, до конца месяца станок запустить, в понедельник слесаря будут его разбирать, я уже инженерам по лазеру эскиз приборки готовлю, прям движуха прёт!!!!

0

40

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

Всё, дело сдвинулось!!! Сказано, до конца месяца станок запустить, в понедельник слесаря будут его разбирать, я уже инженерам по лазеру эскиз приборки готовлю, прям движуха прёт!!!!

А про станок так и не рассказал.  :)

0

41

Присоединяюсь. Редиска, однако.

0

42

Имейте терпение!!! Всё расскажу и покажу  :crazy: нужно просто закончить эту книгу, или вам черновик показать?

0

43

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

Имейте терпение!!! Всё расскажу и покажу   нужно просто закончить эту книгу, или вам черновик показать?

Ждем с нетерпением

0

44

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

Редиска, однако.

Этот нехороший человек еще и на chipmaker'e всех заинтриговал данным агрегатом :)

+1

45

Значит стаскиваем зубоврачебное кресло, шуруповерт, пару игл, сверл, несколько пакетов, вилку с проводом и делаем ему предложение от которого он не сможет отказаться )
Пластиковые стяжки еще, вот...

Отредактировано Skull (2015-03-24 11:04:30)

0

46

Этот агрегат всё разбирают, целая гора железа с него, кирасином отмывали, процесс затянулся. Но тут в первую очередь покажу то, что получится ))))
Клапана собрали! Но я настоял на применение исполнительных датчиков и как-бы за покраску после разборки всего агрегата.

0

47

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

Этот нехороший человек еще и на chipmaker'e всех заинтриговал данным агрегатом

Я хороший  :crazy:
Там просто тема была, они кричали, что невозможно, что нельзя и всё такое, я им лут показал, экранчик показал и ссылку на источник сюда ткнул, про агрегат темы нет, тема исключительно уже флудит только тут  :shine:

0

48

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

Но я настоял на применение исполнительных датчиков и как-бы за покраску после разборки всего агрегата

Это правильно, всё-таки выставлять на всеобщее обозрение, хоть не в зелёный цвет?

0

49

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

хоть не в зелёный цвет?

Походу зелёный всех уже достал  :D Увидим, что будет по бюджету.

0

50

У кого-то прибавка к зарплате была ))) Трубочек не нужных было много.
http://sh.uploads.ru/t/LzkqW.jpg
http://sg.uploads.ru/t/QWUru.jpg

0

51

Уже скоро, пол месяца осталось до сдачи в рабочее состояние. Жду датчики давления 250атм. :glasses:
http://sh.uploads.ru/t/InKsH.jpg
Спустя пол дня:
http://sh.uploads.ru/t/aDqeJ.jpg

Отредактировано Ev3658 (2015-05-19 14:41:02)

0

52

А я не забыл... всё идёт своим ходом. Пришлось самому большинство варить, пилить, колхозить....
http://cs622731.vk.me/v622731961/36bd8/gPC25-zcULE.jpg
http://cs622731.vk.me/v622731961/36bcf/JfFbtSBpfZo.jpg
http://cs622731.vk.me/v622731961/36bfa/XpvT0-Yk-aQ.jpg

0

53

Bascom AVR  :cool:
Рабочее место слесаря-программиста  :D
http://cs622731.vk.me/v622731961/36e39/iVv8o3I5UX8.jpg

0

54

:cool:

0

55

Это литейная машина?

0

56

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

Это литейная машина?

Не, это стенд гидравлической проверки. Он создаёт пневматически усилие на деталь, а деталь выдаёт 120кг/см. может и больше, но всё взрывается и лопается.
Датчики использовал аналоговые, на 400атм. (походу Китай). Не могу избавится от шума в АЦП, что только не делал, придётся писать алгоритм калибровки.
Скоро видео выложу, ещё немного осталось.
Прошивка уже 34кб. весит. Периодично ловлю глюки.
....
Блин, не удержался, выложил то, что есть :

Отредактировано Ev3658 (2015-07-02 23:54:09)

0

57

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

Не, это стенд гидравлической проверки. Он создаёт пневматически усилие на деталь, а деталь выдаёт 120кг/см. может и больше, но всё взрывается и лопается.
Датчики использовал аналоговые, на 400атм. (походу Китай). Не могу избавится от шума в АЦП, что только не делал, придётся писать алгоритм калибровки.
Скоро видео выложу, ещё немного осталось.
Прошивка уже 34кб. весит. Периодично ловлю глюки.
....
Блин, не удержался, выложил то, что есть :

Отредактировано Ev3658 (Сегодня 04:54:09)

Видео интересное, только что на экране не видно

0

58

Можно в двух словах, что делал станок на этом видео?

0

59

Пётр написал(а):

Можно в двух словах, что делал станок на этом видео?

Тестирует тормоза.

Вообщем промежуточный тест в технологической линии. Его задача надавить на цилиндр и создать 110кг/см, после удержать и проверить потери. Само собой это просто так не удаётся, нужно всё прокачать и т.п.
Сейчас в стадии меню настроек.
Работает отлично, в качестве бонуса реализовал много чего ещё, теперь брак будет сведён почти до нуля.

Отредактировано Ev3658 (2015-07-03 20:15:53)

0

60

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

Блин, не удержался, выложил то, что есть :

Даааааааа уж, знатная гравицапа!

0


Вы здесь » Программирование ATMEL в BASCOM. » Исходники » ST7920 графический ЖКИ 128*64 и Bascom