LED движат съобщение ..

D

Dani

Guest
здрасти на всички,

Имам луд 12x8x8 доведе движат съобщение дисплея е един код, за да преминете като поздравява съобщение вече съхранени в externall EEPROM.Код:Устройството 16f877a

xtal 20

ALL_DIGITAL TRUEпомрачени dbuff [100], както байт момента байт буфер да бъде показан

DIM адр AS WORD

помрачени caddr като думата

DIM I AS Byteпомрачени колекция като думата

помрачени dcol като байт

помрачени rrow като байт "ред не

DIM ROWDATA [8], както Byte

помрачени full_length като думата

Символът часовник portC.0

Символът cbit portC.1

СИМВОЛ ROW PORTd

продукция часовник

продукция cbit

Изходна ROWред = 255

DELAYMS 1000

ROWDATA [7] = 254

ROWDATA [6] = 253

ROWDATA [5] = 251

ROWDATA [4] = 247

ROWDATA [3] = 239

ROWDATA [2] = 223

ROWDATA [1] = 191

ROWDATA [0] = 127

ROW = 255

адр = 0

full_length = 56 "Общата дължина на съобщение (байтове * 8)електрическа верига:rrow = 0

докато rrow <2

седловина = 0

докато седловина <95

dcol = dbuff [седловина]

повикване червено

вкл. седловина

отправям

ROW = rowdata [rrow]

delayus 700

вкл. rrow

ред = 255

отправямдокато rrow <5

седловина = 0

докато седловина <95

dcol = dbuff [седловина]

повикване зелено

вкл. седловина

отправям

ROW = rowdata [rrow]

delayus 700

вкл. rrow

ред = 255

отправям

докато rrow <8

седловина = 0

докато седловина <95

dcol = dbuff [седловина]

повикване портокал

вкл. седловина

отправям

ROW = rowdata [rrow]

delayus 700

вкл. rrow

ред = 255

отправямако адр = full_length тогава

адр = 0

в противен случай

вкл. адр

повикване shift_buffer

endifГото контурЧервено: - "всички червено

cbit = 0

високо часовник

ниска часовник

CBIT = GETBIT dcol, rrow

ВИСОКО CLOCK

LOW CLOCKзавръщанеЗелено: - "всичко зелено

CBIT = GETBIT dcol, rrow

ВИСОКО CLOCK

LOW CLOCK

cbit = 0

високо часовник

ниска часовникзавръщанеПортокал: - "всичко в оранжево

CBIT = GETBIT dcol, rrow

ВИСОКО CLOCK

LOW CLOCK

CBIT = GETBIT dcol, rrow

ВИСОКО CLOCK

LOW CLOCK

завръщане''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;shift_buffer: - "чете една нова байт от външни EEPROM и смяна буфер лявоdbuff [0] = dbuff [1]: dbuff [1] = dbuff [2]: dbuff [2] = dbuff [3]: dbuff [3] = dbuff [4]

dbuff [4] = dbuff [5]: dbuff [5] = dbuff [6]: dbuff [6] = dbuff [7]: dbuff [7] = dbuff [8]dbuff [8] = dbuff [9]: dbuff [9] = dbuff [10]: dbuff [10] = dbuff [11]: dbuff [11] = dbuff [12]

dbuff [12] = dbuff [13]: dbuff [13] = dbuff [14]: dbuff [14] = dbuff [15]: dbuff [15] = dbuff [16]dbuff [16] = dbuff [17]: dbuff [17] = dbuff [18]: dbuff [18] = dbuff [19]: dbuff [19] = dbuff [20]

dbuff [20] = dbuff [21]: dbuff [21] = dbuff [22]: dbuff [22] = dbuff [23]: dbuff [23] = dbuff [24]dbuff [24] = dbuff [25]: dbuff [25] = dbuff [26]: dbuff [26] = dbuff [27]: dbuff [27] = dbuff [28]

dbuff [28] = dbuff [29]: dbuff [29] = dbuff [30]: dbuff [30] = dbuff [31]: dbuff [31] = dbuff [32]dbuff [32] = dbuff [33]: dbuff [33] = dbuff [34]: dbuff [34] = dbuff [35]: dbuff [35] = dbuff [36]

dbuff [36] = dbuff [37]: dbuff [37] = dbuff [38]: dbuff [38] = dbuff [39]: dbuff [39] = dbuff [40]dbuff [40] = dbuff [41]: dbuff [41] = dbuff [42]: dbuff [42] = dbuff [43]: dbuff [43] = dbuff [44]

dbuff [44] = dbuff [45]: dbuff [45] = dbuff [46]: dbuff [46] = dbuff [47]: dbuff [47] = dbuff [48]dbuff [48] = dbuff [49]: dbuff [49] = dbuff [50]: dbuff [50] = dbuff [51]: dbuff [51] = dbuff [52]

dbuff [52] = dbuff [53]: dbuff [53] = dbuff [54]: dbuff [54] = dbuff [55]: dbuff [55] = dbuff [56]dbuff [56] = dbuff [57]: dbuff [57] = dbuff [58]: dbuff [58] = dbuff [59]: dbuff [59] = dbuff [60]

dbuff [60] = dbuff [61]: dbuff [61] = dbuff [62]: dbuff [62] = dbuff [63]: dbuff [63] = dbuff [64]dbuff [64] = dbuff [65]: dbuff [65] = dbuff [66]: dbuff [66] = dbuff [67]: dbuff [67] = dbuff [68]

dbuff [68] = dbuff [69]: dbuff [69] = dbuff [70]: dbuff [70] = dbuff [71]: dbuff [71] = dbuff [72]dbuff [72] = dbuff [73]: dbuff [73] = dbuff [74]: dbuff [74] = dbuff [75]: dbuff [75] = dbuff [76]

dbuff [76] = dbuff [77]: dbuff [77] = dbuff [78]: dbuff [78] = dbuff [79]: dbuff [79] = dbuff [80]dbuff [80] = dbuff [81]: dbuff [81] = dbuff [82]: dbuff [82] = dbuff [83]: dbuff [83] = dbuff [84]

dbuff [84] = dbuff [85]: dbuff [85] = dbuff [86]: dbuff [86] = dbuff [87]: dbuff [87] = dbuff [88]dbuff [88] = dbuff [89]: dbuff [89] = dbuff [90]: dbuff [90] = dbuff [91]: dbuff [91] = dbuff [92]

dbuff [92] = dbuff [93]: dbuff [93] = dbuff [94]: dbuff [94] = dbuff [95]caddr = 110 95 адр

hbusin $ a1, caddr, [dbuff [95]]

завръщане
 
Аз ще се погледнем в Асамблеята.Май ми е тези буферни смени се изготвят като
movfw (адрес)
decfsz Адрес
movwf (адрес)
...и така нататък

и е като завинаги да смени всичко, всеки път.Аз ще си сложа масив в паметта,
а след това преместете Pointer, напускащи данни къде се намира.Сега можете да актуализирате показалка много по-лесно подобни.

incfsz показалка
повикване resetpointer
Гото дисплей

и сте готови за 5 часовници вместо 4 * 95 часовници.но проверете монтаж, всичко зависи от това колко е умен вашия компилатор.

 
Здравейте Dani

PLS може и да ми схематични Аз също ще се опита да направи

plsss

В очакване на отговор

 
PLS може и да ми схематични Аз също ще се опита да направи

 

Welcome to EDABoard.com

Sponsor

Back
Top