Odpowiedz 
 
Ocena wątku:
  • 0 Głosów - 0 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
Bascom AVR
SQ2EER Offline
Początkujący
**

Liczba postów: 74
Dołączył: 17-06-2009
Post: #41
RE: Bascom AVR
Witam - w ramach zabawy z graficznym lcd 128x64 opartym o sterownik KS108 ( z MAX'a 6 ) napisałem taki programik:

Kod:
'-----------------------------------------------------------------------------------------
'name                     : ks108.bas
'copyright                : (c) 1995-2005, MCS Electronics
'purpose                  : demonstrates the KS108 based graphical display support
'micro                    : Mega323
'suited for demo          : no
'commercial addon needed  : no
'-----------------------------------------------------------------------------------------

$regfile = "m644pdef.dat"                                   ' specify the used micro
$crystal = 16000000                                         ' used crystal frequency
$baud = 19200                                               ' use baud rate
$hwstack = 32                                               ' default use 32 for the hardware stack
$swstack = 10                                               ' default use 10 for the SW stack
$framesize = 40                                             ' default use 40 for the frame space
'$sim

'some routines to control the display are in the glcdKS108.lib file
$lib "glcdKS108.lbx"



Waitms 200

'Print "Test program by SP3SWJ for KS0108 LCD"               ' printing will still work as only the receiver pin is disabled


'First we define that we use a graphic LCD
Config Graphlcd = 128 * 64sed , Dataport = Portb , Controlport = Portc , Ce = 7 , Ce2 = 6 , Cd = 3 , Rd = 4 , Reset = 5 , Enable = 2

Config Pind.6 = Input : Set Pind.6
Config Pind.7 = Input : Set Pind.7
S1 Alias Pind.6
S2 Alias Pind.7

Dim A As Word
Dim B As Word


'The dataport is the portname that is connected to the data lines of the LCD
'The controlport is the portname which pins are used to control the lcd
'CE =CS1  Chip select
'CE2=CS2  Chip select second chip
'CD=Data/instruction
'RD=Read
'RESET = reset
'ENABLE= Chip Enable

'When you want to show somthing on the LCD, use the LCDAT command
'LCDAT   LINES , COLUMN, VALIUE , COLOR
'You can use locate but the
'COMULNS  have a range from 1-128 pixels
'LINES    number of lines
         '1 2 3 4 5 6 7 8 for 8x8 font
         '1,3,5,7 for 16x16  lines 2 4 6  is shifted   8 not allowed
'VALUE    displayed value
          'not longer than 16 chars  for 8x8
          'not longer than 8  for 16x16
         'last char Is Rollover Half Screen - line can not be to longer
'COLOR    1 will inverse the text 0 = normal






Wait 1
Cls
Setfont Font16x16
B = 16
A = 0
Do
Lcdat 7 , 1 , A ; "  "
If S1 = 0 Then
   Waitms 100
   If S1 = 0 Then
      Incr A
      If A > 361 Then
         A = 360
      End If
   End If
End If

If S2 = 0 Then
   Waitms 100
   If S2 = 0 Then
      Decr A
      If A < 0 Or A > 361 Then
         A = 0
      End If
   End If
End If




Line(23 , 17) -(23 , 30) , 1
If A > 9 Then
B = B - 8
Elseif A > 99 Then
B = B - 8
Else
B = 16
End If
Lcdat 1 , B , A




Loop



'we need to include the font files
$include "font16x16.font"

Po przekroczeniu zmiennej A wartości 9 efekt jest taki jak na foto:

İmage

czy może ktoś podpowiedzieć co robię źle - pozdrawiam Jacek.
04-09-2011 22:04
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SP3SWJ Offline
Jarek
****

Liczba postów: 480
Dołączył: 20-03-2010
Post: #42
RE: Bascom AVR
wyjechałes poza obszar LCD, biblioteka do LCD nie ma zabezpieczenia na złe adresowanie pikseli, użyj mniejszego fontu na początek np 8x8,
i pilnjuj sie by nie dawać tekstów które wyjazda poza obszar LCD

pobaw sie tym tylko zmień odpowiednio definicje - możesz zmieniac w programie kiedy piszesz duże a kiedy małe fonty
... czy to ma byc do ROTORA ????

przyda ci sie bardziej program z drugiego linku... masz tam obsługę czterech przycisków i dwie linijki z napisami 16 pikseli.... i na dole opis przycisków 8 pikseli
(Ten post był ostatnio modyfikowany: 04-09-2011 22:16 przez SP3SWJ.)
04-09-2011 22:09
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SQ2EER Offline
Początkujący
**

Liczba postów: 74
Dołączył: 17-06-2009
Post: #43
RE: Bascom AVR
Witam - Jarku zmiana fontów na mniejsze 8x8 nic nie dała

İmage

pozdrawiam i dzięki za odpowiedź - Jacek.
04-09-2011 22:22
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SP3SWJ Offline
Jarek
****

Liczba postów: 480
Dołączył: 20-03-2010
Post: #44
RE: Bascom AVR
to jeszce raz sprawdź podłączenie LCD

weź jeden z moich programów jako działjacy OK - dostosuj definicja połaczeń i wgraj - nie zmieniaj nic w kodzie...

jak źle wyświetla - szukaj błedu w drutach
pomecz też te przykłady "edukacyjne" w oryginale "gadasz" z nimi przez seriala...i możesz dowolnie kreski i inne różne rysować
(Ten post był ostatnio modyfikowany: 04-09-2011 22:39 przez SP3SWJ.)
04-09-2011 22:36
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
Odpowiedz 


Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości