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 ....