Доброго времени суток!
ask3t писал(а): Если найду микру,попробую скомпилить для 16ф628.Есть мысль,что 12ф683 просто железно не поддерживает задумку прижимистого автора библиотеки.
Задав вопрос в яхугруппе проекта,получил ответ:
- "если ты используешь jallib,то вот тебе библиотека и некоторые примеры".Никто не стал даже смотреть в код и разбираться.
А новичку,типа меня,разобраться,в чем дело,задача практически нереальная подчас.
1. По командам (35 штук) и по программной памяти (2048) 16f628 и 12f683 идентичны. Памяти хватает и эффект будет думаю тот же. Посмотрев еще раз коды и литературку по ассемблеру, предоставленную BOB51 (за что ему огромное спасибо!), я могу только согласиться с BOB51 -
hpage - название макроса.
1.1 Для начинаний рекомендую все таки Протеус, а не судорожно жечь железо (был у меня такой опыт), да и поменять в протеусе микруху куда как проще, чем в железе.
2.В общем-то человека понять можно, там все ответы по jallib есть (не по ассемблеру) и даны текстовки библиотек. просто по
папке пройтись и посмотреть - там все шрифты лежат и переработано все под чистый jal. У тебя шрифт именно в ассемблере расписан - вот и не хочет человек копаться в чем не знает (или не помнит), и дает по своему мнению ссылку, где все готовенькое и лежит.
3. АТТРАКЦИОН НЕВИДАННОЙ ЩЕДРОСТИ. Раз лень самому разбираться (получить опыт и набить шишки) - пробуем так
Спойлер
const byte FONT_5X7_CHARS[] =
{
0x00, 0x00, 0x00, 0x00, 0x00, -- sp
0x00, 0x00, 0x2f, 0x00, 0x00, -- !
0x00, 0x07, 0x00, 0x07, 0x00, -- "
0x14, 0x7f, 0x14, 0x7f, 0x14, -- #
0x24, 0x2a, 0x7f, 0x2a, 0x12, -- $
0xc4, 0xc8, 0x10, 0x26, 0x46, -- %
0x36, 0x49, 0x55, 0x22, 0x50, -- &
0x00, 0x05, 0x03, 0x00, 0x00, -- '
0x00, 0x1c, 0x22, 0x41, 0x00, -- (
0x00, 0x41, 0x22, 0x1c, 0x00, -- )
0x14, 0x08, 0x3E, 0x08, 0x14, -- *
0x08, 0x08, 0x3E, 0x08, 0x08, -- +
0x00, 0x00, 0x50, 0x30, 0x00, -- ,
0x10, 0x10, 0x10, 0x10, 0x10, -- -
0x00, 0x60, 0x60, 0x00, 0x00, -- .
0x20, 0x10, 0x08, 0x04, 0x02, -- /
0x3E, 0x51, 0x49, 0x45, 0x3E, -- 0
0x00, 0x42, 0x7F, 0x40, 0x00, -- 1
0x42, 0x61, 0x51, 0x49, 0x46, -- 2
0x21, 0x41, 0x45, 0x4B, 0x31, -- 3
0x18, 0x14, 0x12, 0x7F, 0x10, -- 4
0x27, 0x45, 0x45, 0x45, 0x39, -- 5
0x3C, 0x4A, 0x49, 0x49, 0x30, -- 6
0x01, 0x71, 0x09, 0x05, 0x03, -- 7
0x36, 0x49, 0x49, 0x49, 0x36, -- 8
0x06, 0x49, 0x49, 0x29, 0x1E, -- 9
0x00, 0x36, 0x36, 0x00, 0x00, -- :
0x00, 0x56, 0x36, 0x00, 0x00, -- ;
0x08, 0x14, 0x22, 0x41, 0x00, -- <
0x14, 0x14, 0x14, 0x14, 0x14, -- =
0x00, 0x41, 0x22, 0x14, 0x08, -- >
0x02, 0x01, 0x51, 0x09, 0x06, -- ?
0x32, 0x49, 0x59, 0x51, 0x3E, -- @
0x7E, 0x11, 0x11, 0x11, 0x7E, -- A
0x7F, 0x49, 0x49, 0x49, 0x36, -- B
0x3E, 0x41, 0x41, 0x41, 0x22, -- C
0x7F, 0x41, 0x41, 0x22, 0x1C, -- D
0x7F, 0x49, 0x49, 0x49, 0x41, -- E
0x7F, 0x09, 0x09, 0x09, 0x01, -- F
0x3E, 0x41, 0x49, 0x49, 0x7A, -- G
0x7F, 0x08, 0x08, 0x08, 0x7F, -- H
0x00, 0x41, 0x7F, 0x41, 0x00, -- I
0x20, 0x40, 0x41, 0x3F, 0x01, -- J
0x7F, 0x08, 0x14, 0x22, 0x41, -- K
0x7F, 0x40, 0x40, 0x40, 0x40, -- L
0x7F, 0x02, 0x0C, 0x02, 0x7F, -- M
0x7F, 0x04, 0x08, 0x10, 0x7F, -- N
0x3E, 0x41, 0x41, 0x41, 0x3E, -- O
0x7F, 0x09, 0x09, 0x09, 0x06, -- P
0x3E, 0x41, 0x51, 0x21, 0x5E, -- Q
0x7F, 0x09, 0x19, 0x29, 0x46, -- R
0x46, 0x49, 0x49, 0x49, 0x31, -- S
0x01, 0x01, 0x7F, 0x01, 0x01, -- T
0x3F, 0x40, 0x40, 0x40, 0x3F, -- U
0x1F, 0x20, 0x40, 0x20, 0x1F, -- V
0x3F, 0x40, 0x38, 0x40, 0x3F, -- W
0x63, 0x14, 0x08, 0x14, 0x63, -- X
0x07, 0x08, 0x70, 0x08, 0x07, -- Y
0x61, 0x51, 0x49, 0x45, 0x43, -- Z
0x00, 0x7F, 0x41, 0x41, 0x00, -- [
0x55, 0x2A, 0x55, 0x2A, 0x55, -- 55
0x00, 0x41, 0x41, 0x7F, 0x00, -- ]
0x04, 0x02, 0x01, 0x02, 0x04, -- ^
0x40, 0x40, 0x40, 0x40, 0x40, -- _
0x00, 0x01, 0x02, 0x04, 0x00, -- '
0x20, 0x54, 0x54, 0x54, 0x78, -- a
0x7F, 0x48, 0x44, 0x44, 0x38, -- b
0x38, 0x44, 0x44, 0x44, 0x20, -- c
0x38, 0x44, 0x44, 0x48, 0x7F, -- d
0x38, 0x54, 0x54, 0x54, 0x18, -- e
0x08, 0x7E, 0x09, 0x01, 0x02, -- f
0x0C, 0x52, 0x52, 0x52, 0x3E, -- g
0x7F, 0x08, 0x04, 0x04, 0x78, -- h
0x00, 0x44, 0x7D, 0x40, 0x00, -- i
0x20, 0x40, 0x44, 0x3D, 0x00, -- j
0x7F, 0x10, 0x28, 0x44, 0x00, -- k
0x00, 0x41, 0x7F, 0x40, 0x00, -- l
0x7C, 0x04, 0x18, 0x04, 0x78, -- m
0x7C, 0x08, 0x04, 0x04, 0x78, -- n
0x38, 0x44, 0x44, 0x44, 0x38, -- o
0x7C, 0x14, 0x14, 0x14, 0x08, -- p
0x08, 0x14, 0x14, 0x18, 0x7C, -- q
0x7C, 0x08, 0x04, 0x04, 0x08, -- r
0x48, 0x54, 0x54, 0x54, 0x20, -- s
0x04, 0x3F, 0x44, 0x40, 0x20, -- t
0x3C, 0x40, 0x40, 0x20, 0x7C, -- u
0x1C, 0x20, 0x40, 0x20, 0x1C, -- v
0x3C, 0x40, 0x30, 0x40, 0x3C, -- w
0x44, 0x28, 0x10, 0x28, 0x44, -- x
0x0C, 0x50, 0x50, 0x50, 0x3C, -- y
0x44, 0x64, 0x54, 0x4C, 0x44 -- z
}
;; Writes a character to the display
procedure print_char_5x7 (byte in letter) is
var byte indxl = 0
var byte indxh = 0
var byte offset
var byte x
offset = letter - 32 ;; Fix for ascii value
for offset loop
_16b_add (0, 5, indxh, indxl)
end loop
for 5 loop
x = FONT_5X7_CHARS[ (indxh + indxl)]
NLCD_Write (x, true)
_16b_add (0, 1, indxh, indxl)
end loop
NLCD_Write (0, true) ; Add blank space between characters
end procedure
;; Writes an inverted character to the display
procedure print_char_5x7_i (byte in letter) is
var byte indxl = 0
var byte indxh = 0
var byte offset
var byte x
offset = letter - 32 ;; Fix for ascii value
for offset loop
_16b_add (0, 5, indxh, indxl)
end loop
for 5 loop
x = FONT_5X7_CHARS[ (indxh + indxl)]
x = x ^ 0xFF
NLCD_Write (x, true)
_16b_add (0, 1, indxh, indxl)
end loop
NLCD_Write (0xFF, true) ; Add blank space between characters
end procedure это вместо font_5x7.jal , выделенное цветом - мои исправления которые по логике здесь должны быть. Jal - я не знаю (не пинайте) и исправления сделаны по "наитию" после прочтения выданных вам ссылок.
4. Что все таки с полосками? если полоски горизонтальные - проверьте подключение экрана (data и clok могут быть перепутаны) , вертикальные - вероятней шрифты.