Stránka 1 z 1
Mikropočítače a aplikace
Napsal: 12. březen 2008, 17:49
od Wendau
Zdravim,
pokud ste někdo našel nějaký srozumitelný podklady k assembleru pro 8051 nebo 8052, klidně i v angličtině, moh by ste je sem někdo hodit pls? Díky moc..
Dokumentace
Napsal: 13. březen 2008, 19:26
od MRAK
Toho je všude na netu spousty a je i mnoho českých knížek ... třeba knížka "mikroprocesory řady 8051" od Benu ... tem je to docela hezky popsaný (teda až na kapitolu o IO portech) ... zkus google určitě najdeš nepřeberné množství materiálů i česky
O co ti konkrétně jde popis instrukcí? nebo ovládání periferii ?
Napsal: 13. březen 2008, 19:33
od MRAK
Mimo to je nejlepší si vždycky pečíst datasheet

takže datasheet k Atmelu 89C51 nebo chceš-li bejt puritán tak třeba Philips 80C51
Hlavně se vyvaruj dataheetum k Dallasum a jinejm bazmekum, protože by to mohlo bejt dost zavádějící často používaj optimalizovaný jádra sice vycházející z x51 ale například s polovičnim počtem cyklů na instrukce a podobně

a neni hezký někomu tvrdit že je klasická 51čka dvakrát rychlejší než ve skutečnosti je
Kdyby jsi mel dotazy tak třeba napiš do pošty, když budu vedět tak rád poradim
Re: Mikropočítače a aplikace
Napsal: 17. červen 2008, 18:23
od shamania
Nevíte prosimvás jak se jmenujou učitelé(doktoranti), kteří měli nastarosti výuku MPA?
Jinak dost mi pomohlo toto:
http://www.dhservis.cz/popis8051.htm
Re: Mikropočítače a aplikace
Napsal: 19. červen 2008, 21:31
od expression
Jmenují se :
Doc. Ing. Jan Chyský, CSc. a Ing. Martin Novák....
Jinak nemáte prosím někdo prográmek na dělení 16 bit čísla 8 bitovým ?

Měl bych ho odevzdat v 1. seminárce ....děkuji

Re: Mikropočítače a aplikace
Napsal: 19. červen 2008, 21:32
od MRAK
pro jakej procesor ale?
Re: Mikropočítače a aplikace
Napsal: 19. červen 2008, 23:02
od expression
8052 AH ....od Intelu ....
nebo může být i Silicon Lab. 8051F120
Re: Mikropočítače a aplikace
Napsal: 20. červen 2008, 00:12
od MRAK
Takhle z patra se mi to psát nechce ... ale neni to těžký vydělíš hornich 8bitů a výsledku a pak dolních 8bitu ale výsledek z hornich ma větši vahu a pak to sectes ... stejne jako se deli na zakladce "rucne"
Tady je 16/16 .. to je uplně bezna rutina co najdes an netu, vypadá to zbesile ale je to funkcni
Kód: Vybrat vše
;*********************************************
; dělení 16b / 16b bez znaménka
;doba exekuce - min 7 cyklů pro div by 0
; - w/w max 39 cyklů
; - w/B max 143 cyklů
; - B/B max 27 cyklů
; - průměr 70 cyklů
; rozsah kódu (8051) - 93 byte
;*********************************************
;vstup v DH je bajt_H a DL je bajt_L dělence
;vstup v dih je bajt_H a dil je bajt_L dělitele
;výstup Cy =1 pro div by 0, jinak Cy =0 a
; v DH je bajt_H a DL je bajt_L - zbytku
; v dih je bajt_H a dil je bajt_L - podílu
;
; mění reg.: Acc,DH,DL,dH,dL,b,Psw
; možnost zvolit si prac. registry*****
DH equ r3
DL equ r2
dih equ r5
dil equ r4
;*******
div16x16:
cjne dih,#0,divAA
cjne dil,#0,divBA
setb C
ret ;divide by 0
divAA:
mov a,DH
mov b,dih
div ab
jnz divAB ;výsledek ma H_bajt
mov dih,a
mov dil,a
ret ;divide finalized, result=0
divAB:
push b ;odlož zbytek
mov DH,a ;ulož vysl_L do rp
mov b,dil
mul ab
xch a,DL
subb a,DL
xch a,DL
pop acc
subb a,b
jnc divABcont
dec DH
xch a,DL
add a,dil
xch a,DL
addc a,dih
clr C
divABcont:
xch a,DH
mov dil,a
mov dih,#0
ret ;divide finalized
divBA:
mov b,dil
mov a,DH
div ab
mov dih,a ;ulož H_podíl
mov DH,b
cjne DH,#0,divBB
mov b,dil
mov a,DL
div ab
mov dil,a
mov DL,b
ret
divBB:
mov DH,#8
divBB1:
mov a,DL
rlc a
mov DL,a
mov a,dil
xch a,b
rlc a
jc divBB2
div ab
rrc a
djnz DH,divBB1
mov a,b
xch a,DL ;zbytek do DL, do acc mezivysl_L
rlc a
mov dil,a
ret
divBB2: clr C
subb a,b
mov b,a
djnz DH,divBB1
mov a,b
xch a,DL ;zbytek do DL, do acc mezivysl_L
rlc a
mov dil,a
ret
;*******
Re: Mikropočítače a aplikace
Napsal: 20. červen 2008, 01:28
od expression
ok, díky

...zkusím se nad tím ještě zamyslet ....