The Cybernetic Micro Systems 8051 Family Assembler, Version 3.04 Page 1 10-15-23 ;ZKUSEBNI ;krystal 6MHz ;zakladna PWM 20ms/50Hz ; ;R7 citac casu ;R6 sepnuty puls PWM ;R5 volny pro vypocty nyni sedesat/sto procent ;DPTR nyni pro tabulku rychlosti ; ; ; ; ; ; ; ; ; ;________ 0000 Dseg 0020 = bity0 data 20h ;bitiky 0 az 7 0021 = bity1 data 21h ;bitiky 8 az 15 0022 = bity2 data 22h ;bitiky 16 az 23 0023 = stavy data 23h ;bitiky 24 az 31 0030 = ramp data 30h ;citac pro cas jednoho schodu rychlosti 0031 = rychl data 31h ;aktualni rychlost pro pwm 0-255 0032 = klido data 32h ;reverzacni prodleva klidu 0033 = acas data 33h ;citac pritomnosti v A useku 0034 = bcas data 34h ;citac pritomnosti v B useku 0035 = ccas data 35h ;citac pritomnosti v C useku 0036 = kcas data 36h ;citac zkousky v klidu 0037 = budha data 37h 000C ends ;________ 0000 Bseg 0000 = mstoji bit 0 ;1=stoji pamet 0001 = mvpred bit 1 ;1=vpřed pamet 0002 = mvzad bit 2 ;1=vzad pamet 0003 = stopro bit 3 ;plny signal pwm 0004 = tik bit 4 ;takt casovace 0005 = ramtik bit 5 ;takt ramp , takt zastaveni, takt testjizda 0006 = klitik bit 6 ;1=prvni start klidových testu po jizde 0007 = cenzr bit 7 ;prepinac polarity testu v klidu 0008 = bank bit 8 ;volba banky rozjezdu 0009 = kyvec bit 9 ;stav kyvadla oproti hlidanemu bitu v R7 001C = astav bit 28 ;nacteny bit p3.4, zachycene obsazenosti useku 001D = bstav bit 29 ;nacteny bit p3.5 001F = cstav bit 31 ;nacteny bit p3.7 00B2 = momax bit p3.2 ;hlidani nadproud INT0 The Cybernetic Micro Systems 8051 Family Assembler, Version 3.04 Page 2 10-15-23 00B0 = vykon bit p3.0 ;vystup pwm (1=proud) 00B1 = vuvol bit p3.1 ;uvolneni mustku(1=uvolni) 00B3 = vpred bit p3.3 ;vystup vpred (0=vpred) 0096 = porych bit p1.6 ;povel rychlost (1=60)(0=100) 0095 = povpre bit p1.5 ;povel vpred (0=aktivni) 0094 = povzad bit p1.4 ;povel vzad (0=aktivni) 00B4 = useka bit p3.4 ;cidlo usek A 00B5 = usekb bit p3.5 ;cidlo usek B 00B7 = usekc bit p3.7 ;cidlo usek C 0097 = vkrele bit p1.7 ;zapnuty privod proudu 0=zapnuto 0093 = vjisti bit p1.3 ;jistic vypadly =1 OK=0 0092 = vastav bit p1.2 ;vystup testu useku A 1=obsazeno 0=volno 0091 = vbstav bit p1.1 ;vystup testu useku B 1=obsazeno 0=volno 0090 = vcstav bit p1.0 ;vystup testu useku C 1=obsazeno 0=volno 001C ends ;________ 000C Dseg 0078 = sedes = 120 ;predvolba pro rychlost 60 00FF = stes = 255 ;predvolba pro rychlost 100 0014 = rever = 20 ;predvolba reverzni prodlevy ;to je 0,5s 00D8 = bibit = 255-39 ;jednou za 39 x takt procesoru se pricita +1 do registru R7 ;to je nyní vzdy za 39 x 2us = 78us ;to probiha v preruseni pres citac et0 ;kdyz se v R7 na jeho urcené váze zmeni log.uroven ;je v programu nastaven na jeden skan programu bit (tik) na log.1 ;bibit určuje cetnost preruseni pro pcm a casovani 0005 = raramp = 5 ;delka rampovaciho casu (ramtik) i zakl jednotek casu dalsich prodlev ;je to nasobek casu (tik) tiku x (raramp)5 ;to je nyni 0,005 x 5 = 0,025s ;tedy vzdy za 0,025s pouze na jeden skan programu ;(to pak vychází prejeti cele rampy za 0,025 x 256 = 6,5s) 0032 = prcas = 50 ;jak dlouho pozdrzis odpad ztraty pritomnosti za jizdy ;to je 1,25s 0014 = klicas = 20 ;za jak dlouho otestujes uklidnenou kolej na pritomnost ;to je za 0,5s 00C8 = prvset = 200 ;prvni uklidneni po resetu to je asi 5s 000C ends ;%S ;___________________________________________ 0000 org 0 0000 020050 ljmp start ;po resetu do inicializace systemu ;_________________________________________ 0003 org 3h ;EX0 0003 C2B1 clr vuvol ;konec uvolneni mustku The Cybernetic Micro Systems 8051 Family Assembler, Version 3.04 Page 3 10-15-23 0005 D297 setb vkrele ;vypni rele 0007 4139 ajmp pretiz ;odskok na vyreseni pretizeni 0009 32 reti ;_________________________________________ ;nove PCM a citani casu ;R6 je pwm a R7 citac kroku pwm ;_______________________________________________ 000B org 0bh ;ET0 000B C0E0 push acc 000D C0D0 push psw ;uloz rozpracovane 000F 0F inc r7 ;citej 0-255 jako 0-20ms 0010 EE mov a,r6 ;nacti pwm 0011 6010 jz nanulo ;pcm je nula skoc 0013 F4 cpl a ;neguj pcm 0014 6006 jz naplnc ;pcm je max skoc 0016 F4 cpl a ;neguj pcm 0017 14 dec a ;zmensi o 1 do rozsahu 0 - 253 0018 C3 clr c ;cy do 0 0019 9F subb a,r7 ;pcm minus krok casovani pwm 001A 4007 jc nanulo ;krok vetsi nez pwm pak na nula skoc 001C D2B0 naplnc: setb vykon ;PWM drz v jedna 001E D0D0 pop psw 0020 D0E0 pop acc ;vrat rozpracovane ulozene 0022 32 reti ;navrat 0023 C2B0 nanulo: clr vykon ;PWM drz v nule 0025 D0D0 pop psw 0027 D0E0 pop acc ;vrat rozpracovane ulozene 0029 32 reti ;navrat ;_____________________________________________ ;########################################## ;####### rutiny preruseni ############# ;########################################## 0050 org 50h ;########################################## ;######## start program ############ ;########################################## start: 0050 75B0FF mov p3,#255 ;osetreni vystupu na log.1 0053 7590FF mov p1,#255 0056 C2B0 clr vykon ;zatim mustek bez vykonu pwm 0058 C2B1 clr vuvol ;blok druhé pulky mustku 005A C2B3 clr vpred ;ne vpred tedy zpet 005C 758160 mov sp,#60h ;premisteni zasobniku 005F 7E00 mov R6,#0 ;pwm na nulu 0061 758CD8 mov th0,#bibit ;zakladna pwm 78us 6MHz 39kroku 0064 758D00 mov th1,#0 ;zapnuti pwm za 256us 0067 758922 mov tmod,#00100010b ;dva osmi bitove citace s predvolbou The Cybernetic Micro Systems 8051 Family Assembler, Version 3.04 Page 4 10-15-23 006A D2A9 setb et0 ;povolení přerušení od základny PWM 006C C2AB clr et1 ;zakázání přerušení od spinani PWM 006E D2B8 setb px0 ;priorita preruseni pro jisteni proudu 0070 D288 setb it0 ;vsup do preruseni nadproudu s tylem 0072 D2A8 setb ex0 ;povoleni preruseni od nadproudu 0074 D28C setb tr0 ;uvolneni citani do casovace tr0 0076 C28E clr tr1 ;tr1 necitat 0078 D2AF setb ea ;uvolneni vsech preruseni ;######################################## 007A E4 zaklad: clr a ;do Acc nulu 007B FF mov R7,a ;vynuluj citac casu 007C 7E00 mov R6,#0 ;pwm je nula 007E C2B0 clr vykon ;vystup pwm do klidu 0080 C2B3 clr vpred ;ani vystup dopredu 0082 D200 setb mstoji ;priznak klidu 0084 C201 clr mvpred ;smazat priznak vpred 0086 C202 clr mvzad ;smazat priznak vzad 0088 F531 mov rychl,a ;nulová rychlost 008A 7530FF mov ramp,#255 ;citac casu pro ramtik po resetu 008D 753214 mov klido,#rever ;citac klidu po reverzaci 0090 D206 setb klitik ;na zacatku stojime 0092 753364 mov acas,#100 ;cas po zapnuti kdy kolej obsazenost 0095 753464 mov bcas,#100 0098 753564 mov ccas,#100 009B C208 clr bank ;######################################## ;######### cykl programu ######### ;######################################## 009D 318A cykl: acall tikani ;podprogramu hlidani casu (R7) a pro PWM 009F 317C acall rampa ;citaní casu pro rampu a dalsi jina citání casu a zpozdeni ;sjmp cykl10 ;servisni skok rucni 00A1 11DB acall fira ;hlidac rychlosti a smeru 00A3 5124 acall rizeni ;prevod rychlosti na pwm (R6) 00A5 319E acall tesjiz ;test v usecich za jizdy 00A7 31D0 acall klitst ;test v klidu s blokaci... cykl10: ;acall rucne ;servisni podprogram bez (fira, testjiz, klits, rizeni) 00A9 C297 clr vkrele ;nahozeni vykonoveho rele 00AB C293 clr vjisti ;jistic nahozem vystup do simatiku 00AD D2B1 setb vuvol ;uvolneni druhe pulky mustku 00AF 019D ajmp cykl ;########################################## ;######### podprogramy a tabulky dat ########## ;########################################## 00B1 5124 rucne: acall rizeni ;prevod rychlosti skrze tabulku The Cybernetic Micro Systems 8051 Family Assembler, Version 3.04 Page 5 10-15-23 00B3 D2B3 setb vpred ;povel vpred 00B5 D2B1 setb vuvol ;uvolni mustek 00B7 8004 sjmp ruc10 00B9 200501 jb ramtik,ruc10 ;taktovani zmeny na tlacitku casem ramtik 00BC 22 ret ;rychlost jako pri rozjezdu 00BD A295 ruc10: mov c,povpre ;plus 00BF 5002 jnc ruc20 00C1 8009 sjmp ruc30 00C3 0531 ruc20: inc rychl ;plus 1 00C5 E531 mov a,rychl 00C7 7002 jnz ruc22 ;vyjdeli 0 pak minus 1 00C9 1531 dec rychl 00CB 22 ruc22: ret 00CC A294 ruc30: mov c,povzad ;minus 00CE 5001 jnc ruc40 00D0 22 ret 00D1 1531 ruc40: dec rychl ;minus 1 00D3 E531 mov a,rychl 00D5 F4 cpl a ;vyjdeli FFh pak plus jeden 00D6 7002 jnz ruc42 00D8 0531 inc rychl 00DA 22 ruc42: ret ;########################################## 00DB 200501 fira: jb ramtik,fira10 ;test na cas povoleny ke zmene rychlosti 00DE 22 ret ;nenili zpet ;------------------------------- 00DF 7478 fira10: mov a,#sedes ;nacti pro rychlost sedesat 00E1 A296 mov c,porych ;TEST0 je pozadovana rychlost sto 00E3 5002 jnc fira15 ;NE0 pak ponech sedes a skoc 00E5 74FF mov a,#stes ;ANO0 pak nastav stes 00E7 FD fira15: mov R5,a ;a ulozit do registru R5 kde je pozadavek rychlosti ;------------------------------- ;------------------------------- 00E8 A295 mov c,povpre ;TEST1 zda ma povel jenom vpred 00EA B3 cpl c 00EB 8294 anl c,povzad 00ED 5021 jnc fira20 ;NE1nema skoc na test zda jen vzad fivpre: ;ANO1ma jen povel vpred 00EF E531 mov a,rychl ;TEST2 zda jede 00F1 7006 jnz fivp10 ;ANO2jede tedy skoc na test jak kam jede 00F3 00 fivp05: nop ;NE2nejede 00F4 20006B jb mstoji,fistrp ;TEST3 zda uz chvilku stoji ANO3 STARTUJ VPRED 00F7 803F sjmp fistuj ;NE3 tak drz ZASTAVOVANI 00F9 200102 fivp10: jb mvpred,fivp20 ;ANO2jede a TEST4 zda dopredu 00FC 803A sjmp fistuj ;NE4 bohuzel jede zpet pak zastavuj The Cybernetic Micro Systems 8051 Family Assembler, Version 3.04 Page 6 10-15-23 00FE E531 fivp20: mov a,rychl ;ANO4 TEST7 zda rychlost dosazena 0100 6D xrl a,R5 0101 7001 jnz fivp31 0103 22 ret ;ANO7jede vpred a rychlost OK 0104 E531 fivp31: mov a,rychl ;NE7 a TEST8 jede pomaleji nez pozadavek rychlosti 0106 C3 clr c 0107 9D subb a,R5 0108 4003 jc fivp33 010A 1531 dec rychl ;NE8 nejede pomaleji ZPOMAL 010C 22 ret 010D 0531 fivp33: inc rychl ;ANO8 jede pomaleji ZRYCHLI 010F 22 ret ;------------------------------- ;------------------------------- 0110 A294 fira20: mov c,povzad ;test zda ma povel jenom vzad 0112 B3 cpl c 0113 8295 anl c,povpre 0115 5021 jnc fistuj ;nema tedy skoc na ZASTAVUJ fivzad: ;ANO1ma jen povel vzad 0117 E531 mov a,rychl ;TEST2 zda jede 0119 7006 jnz fivz10 ;ANO2jede tedy skoc na test jak kam jede 011B 00 fivz05: nop ;NE2nejede 011C 200050 jb mstoji,fistrz ;TEST3 zda uz chvilku stoji ANO3 STARTUJ VZAD 011F 8017 sjmp fistuj ;NE3 tak drz ZASTAVOVANI 0121 200202 fivz10: jb mvzad,fivz20 ;ANO2jede a TEST4 zda dozadu 0124 8012 sjmp fistuj ;NE4 bohuzel jede vpred pak ZASTAVUJ 0126 E531 fivz20: mov a,rychl ;ANO4 TEST7 zda rychlost dosazena 0128 6D xrl a,R5 0129 7001 jnz fivz31 012B 22 ret ;ANO7jede vzad a rychlost OK 012C E531 fivz31: mov a,rychl ;NE7 a TEST8 jede pomaleji nez pozadavek rychlosti 012E C3 clr c 012F 9D subb a,R5 0130 4003 jc fivz33 0132 1531 dec rychl ;NE8 nejede pomaleji ZPOMAL 0134 22 ret 0135 0531 fivz33: inc rychl ;ANO8 jede pomaleji ZRYCHLI 0137 22 ret ;------------------------------- ;------------------------------- 0138 A294 fistuj: mov c,povzad ;test zda jsou oba povely smeru 013A 7295 orl c,povpre 013C 4005 jc fist02 ;jeden nebo zadny, skoc 013E D208 setb bank ;navolena rozjezdova tabulka2 0140 753100 fistop: mov rychl,#0 ;okamzity stop rychlosti The Cybernetic Micro Systems 8051 Family Assembler, Version 3.04 Page 7 10-15-23 0143 E531 fist02: mov a,rychl ;nacti rychlost 0145 7018 jnz fist20 ;TEST1 zda rychlost nula 0147 C2B3 fist05: clr vpred ;vypnout mustek 0149 C201 clr mvpred ;ANO1 uz stojime 014B C202 clr mvzad ;shozeni pametovych bitu pohybu 014D 300001 fist08: jnb mstoji,fist09 ;TEST2 uz je uvolneno pro dalsi pojezd 0150 22 ret ;ANO2 0151 30050A fist09: jnb ramtik,fist10 ;citej jen podle casu 0154 D53207 djnz klido,fist10 ;NE2 TEST3 uz dostatecne dlouho stojime 0157 753214 mov klido,#rever 015A D200 setb mstoji ;menic stoji dostatecne dlouho 015C D206 setb klitik ;ted jsme zastavili pro klidove testy useku 015E 22 fist10: ret ;NE3 jeste chvilku postojime 015F 1531 fist20: dec rychl ;NE1 jeste brzdime BRZDI o JEDNU DOLU 0161 22 ret ;------------------------------- ;------------------------------- 0162 C202 fistrp: clr mvzad ;nastavit pameti pohybu 0164 D201 setb mvpred 0166 D2B3 setb vpred ;nastavit smer mustku 0168 C200 clr mstoji ;bit ze nestojime 016A C206 clr klitik ;smaz je to jen sychr 016C 0531 inc rychl ;a hned o jeden nahoru 016E 22 ret ;------------------------------- ;------------------------------- 016F C201 fistrz: clr mvpred ;nastavit pameti pohybu 0171 D202 setb mvzad 0173 C2B3 clr vpred ;nastavit smer mustku 0175 C200 clr mstoji ;bit ze nestojime 0177 C206 clr klitik ;je to jen sichr 0179 0531 inc rychl ;a hned o jeden nahoru 017B 22 ret ;########################################## ;########################################## 017C C205 rampa: clr ramtik ;smaz bitik casu ramp 017E 300408 jnb tik,ramend ;nenili bitik casu skoc 0181 D53005 djnz ramp,ramend ;odcitej cas pro bitik ramp nenili skoc 0184 D205 setb ramtik ;cas odcitan nahod bitik casu ramp 0186 753005 mov ramp,#raramp ;napln citac ramp predvolbou pro dalsi odcitani ;to je 5 x 0,005 = 0,025 sek na jeden schod v rychlosti ;to je 6s na 256 schodu 0189 22 ramend: ret The Cybernetic Micro Systems 8051 Family Assembler, Version 3.04 Page 8 10-15-23 ;########################################## ;### pro krystal 6MHz ############## ;########################################## 018A C204 tikani: clr tik ;smaz bitik casu 018C EF mov a,R7 ;nactení casoveho citace co plus 1 bit to 78us 018D 5440 anl a,#64 ;vyber hlidaneho bitu v R7 ;vyber 128 128*78us´to je 10ms 1920freekroku ;vyber 64 64*78us´to je 5ms 1920/2 018F 6004 jz nimec ;bit je 0 skoc 0191 200905 jb kyvec,timec ;bit je 1 kyv je 1 pak skoc 0194 22 ret 0195 300901 nimec: jnb kyvec,timec ;bit je 0 kyv je 0 pak skoc 0198 22 ret 0199 B209 timec: cpl kyvec :kyvadlo preklop 019B D204 setb tik ;nahod priznak tiku na jeden scan 019D 22 tikend: ret ;########################################## ;########################################## 019E 300001 tesjiz: jnb mstoji,tesj00 ;test za jizdy je mozny, skoc 01A1 22 ret 01A2 85B023 tesj00: mov stavy,p3 ;nacteni vstupu ABC pritomnosti v usecich 01A5 7432 klispo: mov a,#prcas ;predloha nastaveni casu do Acc 01A7 201C04 testes: jb astav,tesj01 ;test zda je Astav na log.1, tedy pasivni, pak skoc dal 01AA F533 mov acas,a ;jeli aktivni nastav cas preklenuti 01AC D292 setb vastav ;nastav na log. 1 vystup VAstav 01AE 201D04 tesj01: jb bstav,tesj02 ;test zda je Bstav na log.1, tedy pasivni, pak skoc dal 01B1 F534 mov bcas,a ;jeli aktivni nastav cas preklenuti 01B3 D291 setb vbstav ;nastav na log. 1 vystup VBstav 01B5 201F04 tesj02: jb cstav,tesj03 ;test zda je Cstav na log.1, tedy pasivni, pak skoc dal 01B8 F535 mov ccas,a ;jeli aktivni nastav cas preklenuti 01BA D290 setb vcstav ;nastav na log. 1 vystup VCstav ;------------------------------- 01BC 200501 tesj03: jb ramtik,tesj04 ;test zda muzeme citat cas, ano, pak skoc 01BF 22 ret ;jinak konec 01C0 D53302 tesj04: djnz acas,tesj05 ;odecti acas, pokud neodcasovano, skoc dal 01C3 C292 clr vastav ;odcasovano, pak smaz vystup A stav 01C5 D53402 tesj05: djnz bcas,tesj06 ;odecti bcas, pokud neodcasovano, skoc dal 01C8 C291 clr vbstav ;odcasovano, pak smaz vystup B stav 01CA D53502 tesj06: djnz ccas,tesend ;odecti ccas, pokud neodcasovano, skoc dal 01CD C290 clr vcstav ;odcasovano, pak smaz vystup C stav 01CF 22 tesend: ret ;vyskoc The Cybernetic Micro Systems 8051 Family Assembler, Version 3.04 Page 9 10-15-23 ;########################################## ;########################################## 01D0 200001 klitst: jb mstoji,klit00 ;klidovy test je mozny, skoc 01D3 22 ret 01D4 200501 klit00: jb ramtik,klit01 ;test zda muzeme citat cas, ano, pak skoc 01D7 22 ret 01D8 200603 klit01: jb klitik,klit02 ;jeli to stav tesne po zastaveni, skoc 01DB D536E2 djnz kcas,tesj04 ;odcitej cas do dalsiho testu, nenili, hlidej cas stavu vystup 01DE 753614 klit02: mov kcas,#klicas ;cas dalsiho testu nadesel, zapis dalsi predlohu casu 01E1 C206 clr klitik ;smaz priznak prvniho testu v klidu 01E3 C2AB clr et1 01E5 C2A9 clr et0 ;zakaz preruseni vystupu 01E7 200720 jb cenzr,klitpl ;stridac polarity testu 01EA C2B3 klitmi: clr vpred ;spusteni smeru vzad 01EC D2B0 setb vykon ;spusteni vykonu 01EE 00 nop ;prodleva zdvihnuti napeti na kolejich 01EF 00 nop 01F0 00 nop 01F1 00 nop 01F2 00 nop 01F3 00 nop 01F4 00 nop 01F5 00 nop 01F6 00 nop 01F7 00 nop 01F8 00 nop 01F9 00 nop 01FA 00 nop 01FB 00 nop 01FC 00 nop 01FD 85B023 mov stavy,p3 ;nacteni stavu z portu3 0200 C2B0 clr vykon ;konec vykonu 0202 D2A9 kliend: setb et0 ;uvolneni vystupu a casovace 0204 C208 clr bank ;smaz na tabulku 1 0206 B207 cpl cenzr ;prepnuti polarity pro priste 0208 809B sjmp klispo ;vystupy testu spolecne s neklidovym testem 020A D2B3 klitpl: setb vpred ;spusteni smeru vpred 020C D2B0 setb vykon ;spusteni vykonu 020E 00 nop ;prodleva zdvihnuti napeti na kolejich 020F 00 nop 0210 00 nop 0211 00 nop 0212 00 nop 0213 00 nop 0214 00 nop 0215 00 nop 0216 00 nop 0217 00 nop 0218 00 nop 0219 00 nop 021A 00 nop 021B 00 nop The Cybernetic Micro Systems 8051 Family Assembler, Version 3.04 Page 10 10-15-23 021C 00 nop 021D 85B023 mov stavy,p3 ;nacteni stavu z portu3 0220 C2B0 clr vykon ;konec vykonu 0222 80DE sjmp kliend ;na spolecne ;########################################## ;########################################## 0224 90034C rizeni: mov dptr,#tab02 ;nastav ukazatel na zacatek tabulky02 0227 E531 mov a,rychl ;nacti neprepocitanou rychlost 0229 200803 jb bank,semka ;skoc pro tabulku2 022C 90024B mov dptr,#tab01 ;nastav ukazatel na zacatek tabulky01 022F 93 semka: movc a,@a+dptr ;vytahni kod z tabulky rychlosti 0230 FE mov R6,a ;vlož kod rychlosti do PWM 0231 E531 mov a,rychl ;nacti jeste rychlost 0233 6001 jz rize20 ;testni zda je nula 0235 22 ret 0236 C2B0 rize20: clr vykon ; vypni nahozene pwm to je jen sichr 0238 22 ret ;########################################## ;########################################## 0239 C2AF pretiz: clr ea ;zakaz preruseni 023B C2B0 clr vykon ;pwm do nuly 023D C2B1 clr vuvol ;mustek vypnout 023F D297 setb vkrele ;pojistka vypnute rele (1) 0241 D293 setb vjisti ;jistic vystup NOK do simatiku.. 0243 D292 setb vastav ;zablokuj useky obsazenosti 0245 D291 setb vbstav ;1 jsou obsazeny, blokovány 0247 D290 setb vcstav 0249 80EE sjmp pretiz ;cekej na restart pocitace ;########################################## ;########################################## tab01: ;Mozna deformace rozjezdu tabulkou ;rozjezd od nuly 024B 00 01 02 db 00,01,02,03,04,05,06,07,08,09 024E 03 04 05 06 07 08 09 0255 0A 0B 0C db 10,11,12,13,14,15,16,17,18,19 0258 0D 0E 0F 10 11 12 13 025F 14 15 16 db 20,21,22,23,24,25,26,27,28,29 0262 17 18 19 1A 1B 1C 1D 0269 1E 1F 20 db 30,31,32,33,34,35,36,37,38,39 026C 21 22 23 24 25 26 27 0273 28 29 2A db 40,41,42,43,44,45,46,47,48,49 0276 2B 2C 2D 2E 2F 30 31 027D 32 33 34 db 50,51,52,53,54,55,56,57,58,59 0280 35 36 37 38 39 3A 3B 0287 3C 3D 3E db 60,61,62,63,64,65,66,67,68,69 028A 3F 40 41 42 43 44 45 0291 46 47 48 db 70,71,72,73,74,75,76,77,78,79 0294 49 4A 4B 4C 4D 4E 4F The Cybernetic Micro Systems 8051 Family Assembler, Version 3.04 Page 11 10-15-23 029B 50 51 52 db 80,81,82,83,84,85,86,87,88,89 029E 53 54 55 56 57 58 59 02A5 5A 5B 5C db 90,91,92,93,94,95,96,97,98,99 02A8 5D 5E 5F 60 61 62 63 02AF 64 65 66 db 100,101,102,103,104,105,106,107,108,109 02B2 67 68 69 6A 6B 6C 6D 02B9 6E 6F 70 db 110,111,112,113,114,115,116,117,118,119 02BC 71 72 73 74 75 76 77 02C3 78 79 7A db 120,121,122,123,124,125,126,127,128,129 02C6 7B 7C 7D 7E 7F 80 81 02CD 82 83 84 db 130,131,132,133,134,135,136,137,138,139 02D0 85 86 87 88 89 8A 8B 02D7 8C 8D 8E db 140,141,142,143,144,145,146,147,148,149 02DA 8F 90 91 92 93 94 95 02E1 96 97 98 db 150,151,152,153,154,155,156,157,158,159 02E4 99 9A 9B 9C 9D 9E 9F 02EB A0 A1 A2 db 160,161,162,163,164,165,166,167,168,169 02EE A3 A4 A5 A6 A7 A8 A9 02F5 AA AB AC db 170,171,172,173,174,175,176,177,178,179 02F8 AD AE AF B0 B1 B2 B3 02FF B4 B5 B6 db 180,181,182,183,184,185,186,187,188,189 0302 B7 B8 B9 BA BB BC BD 0309 BE BF C0 db 190,191,192,193,194,195,196,197,198,199 030C C1 C2 C3 C4 C5 C6 C7 0313 C8 C9 CA db 200,201,202,203,204,205,206,207,208,209 0316 CB CC CD CE CF D0 D1 031D D2 D3 D4 db 210,211,212,213,214,215,216,217,218,219 0320 D5 D6 D7 D8 D9 DA DB 0327 DC DD DE db 220,221,222,223,224,225,226,227,228,229 032A DF E0 E1 E2 E3 E4 E5 0331 E6 E7 E8 db 230,231,232,233,234,235,236,237,238,239 0334 E9 EA EB EC ED EE EF 033B F0 F1 F2 db 240,241,242,243,244,245,246,247,248,249 033E F3 F4 F5 F6 F7 F8 F9 0345 FA FB FC db 250,251,252,253,254,255 0348 FD FE FF 034B 22 ret ;########################################## ;########################################## tab02: ;Mozna deformace rozjezdu tabulkou ;rozjezd od R6 je 50d 034C 00 32 33 db 0,50,51,52,53,54,55,56,57,58 034F 34 35 36 37 38 39 3A 0356 3B 3C 3D db 59, 60,61,62,63,64,65,66,67,68 0359 3E 3F 40 41 42 43 44 0360 45 46 47 db 69,70,71,72,73,74,75,76,77,78 0363 48 49 4A 4B 4C 4D 4E 036A 4F 50 51 db 79,80,81,82,83,84,84,85,85,86 036D 52 53 54 54 55 55 56 0374 56 57 57 db 86,87,87,88,88,89,89,90,90,90 0377 58 58 59 59 5A 5A 5A 037E 5B 5B 5B db 91,91,91,92,92,92,93,93,93,94 The Cybernetic Micro Systems 8051 Family Assembler, Version 3.04 Page 12 10-15-23 0381 5C 5C 5C 5D 5D 5D 5E 0388 5E 5E 5F db 94,94,95,95,95,96,96,96,97,97 038B 5F 5F 60 60 60 61 61 0392 61 62 62 db 97,98,98,98,99,99,99,100,100,100 0395 62 63 63 63 64 64 64 039C 65 65 65 db 101,101,101,102,102,102,103,103,103,104 039F 66 66 66 67 67 67 68 03A6 68 68 69 db 104,104,105,105,105,106,106,106,107,107 03A9 69 69 6A 6A 6A 6B 6B 03B0 6B 6C 6C db 107,108,108,108,109,109,110,110,111,111 03B3 6C 6D 6D 6E 6E 6F 6F 03BA 70 70 71 db 112,112,113,113,114,115,116,117,118,119 03BD 71 72 73 74 75 76 77 03C4 78 79 7A db 120,121,122,123,124,125,126,127,128,129 03C7 7B 7C 7D 7E 7F 80 81 03CE 82 83 84 db 130,131,132,133,134,135,136,137,138,139 03D1 85 86 87 88 89 8A 8B 03D8 8C 8D 8E db 140,141,142,143,144,145,146,147,148,149 03DB 8F 90 91 92 93 94 95 03E2 96 97 98 db 150,151,152,153,154,155,156,157,158,159 03E5 99 9A 9B 9C 9D 9E 9F 03EC A0 A1 A2 db 160,161,162,163,164,165,166,167,168,169 03EF A3 A4 A5 A6 A7 A8 A9 03F6 AA AB AC db 170,171,172,173,174,175,176,177,178,179 03F9 AD AE AF B0 B1 B2 B3 0400 B4 B5 B6 db 180,181,182,183,184,185,186,187,188,189 0403 B7 B8 B9 BA BB BC BD 040A BE BF C0 db 190,191,192,193,194,195,196,197,198,199 040D C1 C2 C3 C4 C5 C6 C7 0414 C8 C9 CA db 200,201,202,203,204,205,206,207,208,209 0417 CB CC CD CE CF D0 D1 041E D2 D3 D4 db 210,211,212,213,214,215,216,217,218,219 0421 D5 D6 D7 D8 D9 DA DB 0428 DC DD DE db 220,221,222,223,224,225,226,227,228,229 042B DF E0 E1 E2 E3 E4 E5 0432 E6 E7 E8 db 230,231,232,233,234,235,236,237,238,239 0435 E9 EA EB EC ED EE EF 043C F0 F1 F2 db 240,241,242,243,244,245,246,247,248,249 043F F3 F4 F5 F6 F7 F8 F9 0446 FA FB FC db 250,251,252,253,254,255 0449 FD FE FF 044C 22 ret ;########################################## ;########################################## tab03: ;Mozna deformace rozjezdu tabulkou ;pouze pracovni tabulka rozjezd od R6 je 30d 044D 05 1E 1F db 05,30,31,31,32,32,33,33,34,34 0450 1F 20 20 21 21 22 22 0457 23 23 24 db 35, 35,36,36,37,37,38,38,39,39 045A 24 25 25 26 26 27 27 0461 28 28 29 db 40,40,41,41,42,42,43,43,44,44 0464 29 2A 2A 2B 2B 2C 2C 046B 2D 2D 2E db 45,45,46,46,47,47,48,48,49,49 The Cybernetic Micro Systems 8051 Family Assembler, Version 3.04 Page 13 10-15-23 046E 2E 2F 2F 30 30 31 31 0475 32 32 33 db 50,50,51,51,52,52,53,53,54,54 0478 33 34 34 35 35 36 36 047F 37 37 38 db 55,55,56,56,57,57,58,58,59,59 0482 38 39 39 3A 3A 3B 3B 0489 3C 3D 3E db 60,61,62,63,64,65,66,67,68,69 048C 3F 40 41 42 43 44 45 0493 46 47 48 db 70,71,72,73,74,75,76,77,78,79 0496 49 4A 4B 4C 4D 4E 4F 049D 50 51 52 db 80,81,82,83,84,85,86,87,88,89 04A0 53 54 55 56 57 58 59 04A7 5A 5B 5C db 90,91,92,93,94,95,96,97,98,99 04AA 5D 5E 5F 60 61 62 63 04B1 64 65 66 db 100,101,102,103,104,105,106,107,108,109 04B4 67 68 69 6A 6B 6C 6D 04BB 6E 6F 70 db 110,111,112,113,114,115,116,117,118,119 04BE 71 72 73 74 75 76 77 04C5 78 79 7A db 120,121,122,123,124,125,126,127,128,129 04C8 7B 7C 7D 7E 7F 80 81 04CF 82 83 84 db 130,131,132,133,134,135,136,137,138,139 04D2 85 86 87 88 89 8A 8B 04D9 8C 8D 8E db 140,141,142,143,144,145,146,147,148,149 04DC 8F 90 91 92 93 94 95 04E3 96 97 98 db 150,151,152,153,154,155,156,157,158,159 04E6 99 9A 9B 9C 9D 9E 9F 04ED A0 A1 A2 db 160,161,162,163,164,165,166,167,168,169 04F0 A3 A4 A5 A6 A7 A8 A9 04F7 AA AB AC db 170,171,172,173,174,175,176,177,178,179 04FA AD AE AF B0 B1 B2 B3 0501 B4 B5 B6 db 180,181,182,183,184,185,186,187,188,189 0504 B7 B8 B9 BA BB BC BD 050B BE BF C0 db 190,191,192,193,194,195,196,197,198,199 050E C1 C2 C3 C4 C5 C6 C7 0515 C8 C9 CA db 200,201,202,203,204,205,206,207,208,209 0518 CB CC CD CE CF D0 D1 051F D2 D3 D4 db 210,211,212,213,214,215,216,217,218,219 0522 D5 D6 D7 D8 D9 DA DB 0529 DC DD DE db 220,221,222,223,224,225,226,227,228,229 052C DF E0 E1 E2 E3 E4 E5 0533 E6 E7 E8 db 230,231,232,233,234,235,236,237,238,239 0536 E9 EA EB EC ED EE EF 053D F0 F1 F2 db 240,241,242,243,244,245,246,247,248,249 0540 F3 F4 F5 F6 F7 F8 F9 0547 FA FB FC db 250,251,252,253,254,255 054A FD FE FF 054D 22 ret ;%E 054E ends The Cybernetic Micro Systems 8051 Family Assembler, Version 3.04 Page 14 10-15-23 0000 end The Cybernetic Micro Systems 8051 Family Assembler, Version 3.04 Page 15 10-15-23 ;%T Symbol Name Type Value ACAS. . . . . . . . . . . . . . D 0033 ASTAV . . . . . . . . . . . . . B 001C BANK. . . . . . . . . . . . . . B 0008 BCAS. . . . . . . . . . . . . . D 0034 BIBIT . . . . . . . . . . . . . I 00D8 BITY0 . . . . . . . . . . . . . D 0020 BITY1 . . . . . . . . . . . . . D 0021 BITY2 . . . . . . . . . . . . . D 0022 BSTAV . . . . . . . . . . . . . B 001D BUDHA . . . . . . . . . . . . . D 0037 CCAS. . . . . . . . . . . . . . D 0035 CENZR . . . . . . . . . . . . . B 0007 CSTAV . . . . . . . . . . . . . B 001F CYKL. . . . . . . . . . . . . . L 009D CYKL10. . . . . . . . . . . . . L 00A9 FIRA. . . . . . . . . . . . . . L 00DB FIRA10. . . . . . . . . . . . . L 00DF FIRA15. . . . . . . . . . . . . L 00E7 FIRA20. . . . . . . . . . . . . L 0110 FIST02. . . . . . . . . . . . . L 0143 FIST05. . . . . . . . . . . . . L 0147 FIST08. . . . . . . . . . . . . L 014D FIST09. . . . . . . . . . . . . L 0151 FIST10. . . . . . . . . . . . . L 015E FIST20. . . . . . . . . . . . . L 015F FISTOP. . . . . . . . . . . . . L 0140 FISTRP. . . . . . . . . . . . . L 0162 FISTRZ. . . . . . . . . . . . . L 016F FISTUJ. . . . . . . . . . . . . L 0138 FIVP05. . . . . . . . . . . . . L 00F3 FIVP10. . . . . . . . . . . . . L 00F9 FIVP20. . . . . . . . . . . . . L 00FE FIVP31. . . . . . . . . . . . . L 0104 FIVP33. . . . . . . . . . . . . L 010D FIVPRE. . . . . . . . . . . . . L 00EF FIVZ05. . . . . . . . . . . . . L 011B FIVZ10. . . . . . . . . . . . . L 0121 FIVZ20. . . . . . . . . . . . . L 0126 FIVZ31. . . . . . . . . . . . . L 012C FIVZ33. . . . . . . . . . . . . L 0135 FIVZAD. . . . . . . . . . . . . L 0117 KCAS. . . . . . . . . . . . . . D 0036 KLICAS. . . . . . . . . . . . . I 0014 KLIDO . . . . . . . . . . . . . D 0032 KLIEND. . . . . . . . . . . . . L 0202 KLISPO. . . . . . . . . . . . . L 01A5 KLIT00. . . . . . . . . . . . . L 01D4 KLIT01. . . . . . . . . . . . . L 01D8 KLIT02. . . . . . . . . . . . . L 01DE KLITIK. . . . . . . . . . . . . B 0006 KLITMI. . . . . . . . . . . . . L 01EA KLITPL. . . . . . . . . . . . . L 020A The Cybernetic Micro Systems 8051 Family Assembler, Version 3.04 Page 16 10-15-23 KLITST. . . . . . . . . . . . . L 01D0 KYVADLO . . . . . . . . . . . . U 0000 KYVEC . . . . . . . . . . . . . B 0009 MOMAX . . . . . . . . . . . . . B 00B2 MSTOJI. . . . . . . . . . . . . B 0000 MVPRED. . . . . . . . . . . . . B 0001 MVZAD . . . . . . . . . . . . . B 0002 NANULO. . . . . . . . . . . . . L 0023 NAPLNC. . . . . . . . . . . . . L 001C NIMEC . . . . . . . . . . . . . L 0195 PORYCH. . . . . . . . . . . . . B 0096 POVPRE. . . . . . . . . . . . . B 0095 POVZAD. . . . . . . . . . . . . B 0094 PRCAS . . . . . . . . . . . . . I 0032 PRETIZ. . . . . . . . . . . . . L 0239 PRVSET. . . . . . . . . . . . . I 00C8 RAMEND. . . . . . . . . . . . . L 0189 RAMP. . . . . . . . . . . . . . D 0030 RAMPA . . . . . . . . . . . . . L 017C RAMTIK. . . . . . . . . . . . . B 0005 RARAMP. . . . . . . . . . . . . I 0005 REVER . . . . . . . . . . . . . I 0014 RIZE20. . . . . . . . . . . . . L 0236 RIZENI. . . . . . . . . . . . . L 0224 RUC10 . . . . . . . . . . . . . L 00BD RUC20 . . . . . . . . . . . . . L 00C3 RUC22 . . . . . . . . . . . . . L 00CB RUC30 . . . . . . . . . . . . . L 00CC RUC40 . . . . . . . . . . . . . L 00D1 RUC42 . . . . . . . . . . . . . L 00DA RUCNE . . . . . . . . . . . . . L 00B1 RYCHL . . . . . . . . . . . . . D 0031 SEDES . . . . . . . . . . . . . I 0078 SEMKA . . . . . . . . . . . . . L 022F START . . . . . . . . . . . . . L 0050 STAVY . . . . . . . . . . . . . D 0023 STES. . . . . . . . . . . . . . I 00FF STOPRO. . . . . . . . . . . . . B 0003 TAB01 . . . . . . . . . . . . . L 024B TAB02 . . . . . . . . . . . . . L 034C TAB03 . . . . . . . . . . . . . L 044D TESEND. . . . . . . . . . . . . L 01CF TESJ00. . . . . . . . . . . . . L 01A2 TESJ01. . . . . . . . . . . . . L 01AE TESJ02. . . . . . . . . . . . . L 01B5 TESJ03. . . . . . . . . . . . . L 01BC TESJ04. . . . . . . . . . . . . L 01C0 TESJ05. . . . . . . . . . . . . L 01C5 TESJ06. . . . . . . . . . . . . L 01CA TESJIZ. . . . . . . . . . . . . L 019E TESTES. . . . . . . . . . . . . L 01A7 TIK . . . . . . . . . . . . . . B 0004 TIKANI. . . . . . . . . . . . . L 018A TIKEND. . . . . . . . . . . . . L 019D TIMEC . . . . . . . . . . . . . L 0199 The Cybernetic Micro Systems 8051 Family Assembler, Version 3.04 Page 17 10-15-23 USEKA . . . . . . . . . . . . . B 00B4 USEKB . . . . . . . . . . . . . B 00B5 USEKC . . . . . . . . . . . . . B 00B7 VASTAV. . . . . . . . . . . . . B 0092 VBSTAV. . . . . . . . . . . . . B 0091 VCSTAV. . . . . . . . . . . . . B 0090 VJISTI. . . . . . . . . . . . . B 0093 VKRELE. . . . . . . . . . . . . B 0097 VPRED . . . . . . . . . . . . . B 00B3 VUVOL . . . . . . . . . . . . . B 00B1 VYKON . . . . . . . . . . . . . B 00B0 ZAKLAD. . . . . . . . . . . . . L 007A ;%Z 00 Errors (0000)