You are on page 1of 15

1. Gi i thieu 2.

S o kh i va ch n 3. T ch c b nh 4. Cc thanh ghi ch c nng c biet (SFR) 5. Dao ng va hot ng reset 6. T p lenh 7. Cc mode inh ia ch(addressing modes) 8. L p tr nh IO 9. To tr 10.L p tr nh Timer/Counter 11.L p tr nh giao ti p n i ti p 12.L p tr nh ng t 13.L p tr nh hp ng
Nguyen Ba Hoi 1

D lieu ch a u khi th c thi 1 lenh? Nhi u li gi i t ng ng cc ki u inh ia chkhc nhau Cc ki u inh ia chcho ph p xc inh nguo n va ch cu a d lieu theo nhi u cch khc nhau ty t nh hu ng l p tr nh. 1. T c thi 2. Thanh ghi 3. Tr c ti p 4. Gin ti p 5. Chs

Nguyen Ba Hoi

7-1. inh ia cht c thi


MOV MOV MOV MOV A,#65H R6,#65H DPTR,#2343H P1,#65H EQU 30 R0, #Num DPTR, #data1 100H db BACHKHOA
Nguyen Ba Hoi 3

VD : Num MOV MOV ORG data1:

7-2. inh ia chthanh ghi


MOV ADD MOV Rn, A A, Rn DPL, R6 ;n=0,..,7

MOV DPTR, A MOV Rm, Rn

Nguyen Ba Hoi

7-3. inh ia chtr c ti p


Dng truy xu t cc bi n nh hoc cc thanh ghi trn chip Mc d u c thtruy c p c128 bytes RAM ni s d ng ki u inh ia chtr c ti p, song thng thng ta chdng cho vng RAM * ni a m c ch (c ia cht 30 7FH) MOV MOV MOV MOV R0, 40H 56H, A A, 4 6, 2

; MOV A, R4 ; copy R2 to R6; MOV R6,R2 !

Thanh ghi ch c nng c biet & ia ch : MOV 0E0H, #66H ; MOV A,#66H MOV 0F0H, R2 ; MOV B, R2 MOV 80H,A ; MOV P1,A
Nguyen Ba Hoi 5

7-4. inh ia chgin ti p


La m thna o nh n bi t 1 bi n khi ia chbi n c xc inh, t nh ton hoc s a i trong khi 1 ch ng tr nh ang chy? Khi qu n ly cc vi trnh lin ti p. Cc i m nh p c inh chs trong cc b ng ch a trong RAM (cc dy s hay cc chu i ky t ) Gi i php la ki u inh ia chgin ti p Khi na y, thanh ghi c s d ng nh 1 con tr (pointer) n d lieu MOV A,@Ri ; copy d lieu tr b i Ri va o A (i=0 hay 1) MOV @R1,B N i cch khc, ni dung cu a cc thanh ghi R0 hay R1 c thla nguo n hoc ch trong cc lenh MOV, ADD & SUBB
Nguyen Ba Hoi 6

Ba i ton 7.1. Copy bytes trong RAM ni


AVie t ch ng tr nh copy 10 bytes t vu ng RAM co i a ch1 bat u l 37H t i vu ng RAM co i a ch1 bat u l 59H Gi i p: MOV MOV MOV L1: MOV MOV INC INC DJNZ

R0,#37h R1,#59h R2,#10 A,@R0 @R1,A R0 R1 R2,L1

; Con tr nguo n ; Con tr ch ; B m

Nguyen Ba Hoi

Ba i ton 7.2. X a RAM ni


A Vie t ch ng tr nh xo a RAM ni t 60H 7FH Trli: LOOP: MOV MOV INC CJNE R0,#60H @R0,#0 R0 R0,#80H,LOOP

Nguyen Ba Hoi

7-5. inh ia chchs & truy c p ROM ni


c s d ng khi truy c p cc tha nh ph n d lieu cu a bng nhy hoc bng t m kie m MOVC A, @A+DPTR A = ni dung ti ia chA+DPTR trong ROM Chu y: Cc tha nh ph n d lieu c l u trong khng gian b nh ch ng tr nh ROM cu a 8051, nn s d ng MOVC thay v MOV. C : code.
Thanh ghi ne n PC (or DPTR) + Offset A = i a ch tac o ng PC (or DPTR)

Nguyen Ba Hoi

Ba i ton 7.3. Copy bytes ROM RAM


VD: Gi s khng gian bo nh ROM bt u t i i a ch 250H cha ROBOCON, vit ch ng tr` nh truye n cac bytes trn vo vu ng nh RAM bt u t i i a ch 40H

Nguyen Ba Hoi

10

Gi i p: ORG 0 MOV DPTR,#MYDATA MOV R0,#40H L1: CLR A MOVC A,@A+DPTR JZ L2 MOV @R0,A INC DPTR INC R0 SJMP L1 L2: SJMP L2 ;------------------------------------ORG 250H MYDATA: DB ROBOCON ,0 END
Nguyen Ba Hoi 11

Ba i ton 7.4. c x & xu t x2


Vie t ch ng tr nh c gi trix t port 1 v xu t gi tri x2 ra port 2 ?

Nguyen Ba Hoi

12

Gi i p: ORG 0 MOV DPTR, #TAB1 MOV A, #0FFH ; ch y! MOV P1, A L01: MOV A, P1 MOVC A, @A+DPTR MOV P2, A SJMP L01 ;---------------------------------------------------ORG 300H TAB1: DB 0,1,4,9,16,25,36,49,64,81 END
Nguyen Ba Hoi 13

MOVC A,@A+PC ;hot ng t ng t , ngoi tr y, b m ch ng tr nh PC c dng ch a ia chn n va b ng c truy xu t nh va o ch ng tr nh con. S cu a im nh p (entry-number) yu c u cho va o thanh ch a A, sau ch ng tr nh con c gi. B ng ph i c inh ngh a ngay sau lenh RET trong ch ng tr nh. MOV A, entry-number CALL TIM-KIEM TIM-KIEM: INC A MOVC A, @A+PC RET TABLE: DB data1,data2,data3,
Nguyen Ba Hoi

14

Homework
Vie t ch ng tr nh cho 2 v d, trn d ng MOVC A, @A+PC thay v MOVC A, @A+DPTR?

Nguyen Ba Hoi

15

You might also like