já bych raději volil druhou variantu s daty v paměti kde tedy budou 4 bloky nazvané LED_DATA_01, LED_DATA_02, LED_DATA_03, LED_DATA_04 kde teda LED_DATA_01 je blok dat pro levý koelčko LED diodek, LED_DATA_02 pro pravý a LED_DATA_03 pro levý opacným směrem a LED_DATA_04 opačným směrem a tomě stačí načítat po bajtu z každý oblasti a dát tam pauzu. Je to nejjednodušší možná varianta...
pokud tedy máš 8 posuvů na 1 kolo a máš za první svítící LED diodou táhnout dalších 7 diod tak potřebuješ 8 čísel na řádku a tím pádem 8x8 = 64 bytů na jedno kolečko a máš 4 takže 4x64 = 256 bajtů by ti mělo stačit
bajty čteš po jednom takže čítač nastavíš na 64 a kod je níže :) pro vytvoření jednoho kolečka a pro vytvoření dvou koleček najednou to buď zdvojíš a další adresu dáš do R2 nebo ozrcadlíš načtenou hodnotu z @R1 a zapíšeš ji na port P2 ... je to na tobě ... přiznám se, že bych si asi vybral tuhle druhou variantu z těch všech so sme tu probírali protože je jednoduchá z přímočará, a pokud použiješ variantu zrcadlení tak ušetříš 2x64 bytů takže budeš místo 256 potřebovat jen 128. Já bych si každopádně vybral tuhle druhou variantu.
takže teď už máš všechno co potřebuješ a mužeš to dodělat a odevzdat
ORG 0
MOV R7, 64
MOV R1, #LED_DATA_01 ; adresa počátku bloku dat
L_01:
MOV P1, @R1 ; to co je na adrese R1 přesuň na P1
INC R1 ; zvyš ukazatel adresy
; PAUSE 150ms
DJNZ R7, L_01 ; smyčka
LED_DATA_01: DB 11111110B,11111101B,11111011B,11110111B,11101111B,11011111B,1011111B,01111111B
DB 11111110B,11111100B,11111001B,11111110B,11111110B,11111110B,11111110B,11111110B
DB 11111110B,11111100B,11111001B,11111110B,11111110B,11111110B,11111110B,11111110B
DB 11111110B,11111100B,11111001B,11111110B,11111110B,11111110B,11111110B,11111110B
DB 11111110B,11111100B,11111001B,11111110B,11111110B,11111110B,11111110B,11111110B
DB 11111110B,11111100B,11111001B,11111110B,11111110B,11111110B,11111110B,11111110B
DB 11111110B,11111100B,11111001B,11111110B,11111110B,11111110B,11111110B,11111110B
DB 11111110B,11111100B,11111001B,11111110B,11111110B,11111110B,11111110B,11111110B
LED_DATA_02: DB 11111110B,11111110B,11111110B,11111110B,11111110B,11111110B,11111110B,11111110B
DB 11111110B,11111110B,11111110B,11111110B,11111110B,11111110B,11111110B,11111110B
DB 11111110B,11111110B,11111110B,11111110B,11111110B,11111110B,11111110B,11111110B
DB 11111110B,11111110B,11111110B,11111110B,11111110B,11111110B,11111110B,11111110B
LED_DATA_03: DB 11111110B,11111110B,11111110B,11111110B,11111110B,11111110B,11111110B,11111110B
DB 11111110B,11111110B,11111110B,11111110B,11111110B,11111110B,11111110B,11111110B
DB 11111110B,11111110B,11111110B,11111110B,11111110B,11111110B,11111110B,11111110B
DB 11111110B,11111110B,11111110B,11111110B,11111110B,11111110B,11111110B,11111110B
LED_DATA_04: DB 11111110B,11111110B,11111110B,11111110B,11111110B,11111110B,11111110B,11111110B
DB 11111110B,11111110B,11111110B,11111110B,11111110B,11111110B,11111110B,11111110B
DB 11111110B,11111110B,11111110B,11111110B,11111110B,11111110B,11111110B,11111110B
DB 11111110B,11111110B,11111110B,11111110B,11111110B,11111110B,11111110B,11111110B
END