Всем здрасте. Расскажу предисторию. Есть стелка возле аптеки с информационным табло, на нем всего одна надпись "аптека" , которая появляется с разными эффектами. сдвигается влево, вправо,вверх,вниз,крутятся буквы, ссыпаются сверху и тд , ну и показывают температуру и время. Так вот мне захотелось попробовать повторить, я только начал , и начал со сдвига текста вверх и вниз , это было нетрудно сделать,но вот с третьим эффектом сразу загвоздка не смог сдвинуть текст по принципу бегущей строки, просмотрел весь интернет , из реально того что может помочь нашел только "бегущая строка" "моджет" который выкладывал "Radan" с моджетом вообще дебри ничего не понял , в строке немного попроще , но как там реализован сдвиг , тоже не разобрался . Если не трудно подскажите как реализовать сдвиг. Вот набросок моей программы.
$regfile = "m8def.dat"
$crystal = 1000000
Dim A As Byte
Dim I As Byte
Dim W As Integer
Dim S As Byte
Dim D As Byte
Config Portd = Output
Config Portb = Output
Ddrb = &B00000000
W = 0
S = 0
Do
If W = 50 Then
W = 0
If S = 7 Then
S = 0
Ddrb = &B00000000
Else
S = S + 1
End If
Else
W = W + 1
End If
For I = 0 To 7
Waitms 12
Ddrb = &B00000000
D = Lookup(i , Ind21)
A = Lookup(i , Ind14)
Rotate A , Right , S
Shiftout Portd.0 , Portd.2 , A , 1
A = Lookup(i , Ind13)
Rotate A , Right , S
Shiftout Portd.0 , Portd.2 , A , 1
A = Lookup(i , Ind12)
Rotate A , Right , S
Shiftout Portd.0 , Portd.2 , A , 1
A = Lookup(i , Ind11)
Rotate A , Right , S
Shiftout Portd.0 , Portd.2 , A , 1
A = Lookup(i , Ind1)
Rotate A , Right , S
Shiftout Portd.0 , Portd.2 , A , 1
Pulseout Portd , 1 , 5
Ddrb = D
Next
Loop
Ind1:
Data &B11111111
Data &B10111101
Data &B10111101
Data &B10000001
Data &B10111101
Data &B10111101
Data &B11000011
Data &B11111111
Ind11:
Data &B11111111
Data &B10011101
Data &B11101101
Data &B11110001
Data &B11001101
Data &B10111101
Data &B10111101
Data &B11111111
Ind12:
Data &B11111111
Data &B11000011
Data &B10111101
Data &B10111101
Data &B10111101
Data &B10111101
Data &B11000011
Data &B11111111
Ind13:
Data &B11111111
Data &B10111101
Data &B10111101
Data &B10111101
Data &B10111101
Data &B10111101
Data &B10000001
Data &B11111111
Ind14:
Data &B11111111
Data &B10101011
Data &B11111111
Data &B11111111
Data &B11111111
Data &B11111111
Data &B11111111
Data &B11111111
Ind21:
Data 1
Data 2
Data 4
Data 8
Data 16
Data 32
Data 64
Data 128
Data 1
Data 2
Data 4
Data 8
Data 16
Data 32
Data 64
Data 128В этом коде у меня происходит циклический сдвиг символа , но строго в одном квадрате 8*8 , а не от начала до конца табло.
А у меня мозг уже вскипел придумывать , как же это можно сделать
Но вот что то получилось, оцените , подскажите может что то не так . Все то работает , но мне кажется что слишком загружаемая программа для процессора, а там неизвестно , ведь у меня всего 5 букв и при этом работает четко. Единственное что как писал Radan , то что нужно пробелы сначала и с конца делать , чтобы текст плавно появлялся и уходил плавно , я не стал пока над этим заморачиватся и просто добавил пробелы только в конец.