Download as pdf or txt
Download as pdf or txt
You are on page 1of 22

Bi tp di K thut vi x l

H v tn : Nguyn Vn Hng Lp MSSV Email : TB1-K52 : 20071415 : hungbkpro_2007@yahoo.com

Bi 1 : Vit CT o du 100 byte d liu t nh 100H ti Ram ngoi : chng trnh : Org 0000h dptr Ro #0100H #00H cjn e

ljmp start org nop reti org nop reti org nop reti org nop reti org nop reti org 0100h Start: Crl EA 0023h ; int timer1 ; ngat truyen tin khong dung En d 001bh Ye Ro = 64H 0013h ; int timer0 ; int ex1 000bh 0003h ; int ex0

A A A @dptr dptr + 1

@dptr A A + #01H A N

Ro + 1

mov dptr , #0100H mov lap : movx cpl add movx inc inc A , @dptr A A , #01H @dptr , A dptr Ro Ro ,#00H

cjne R0 , #64H , lap End =================================== Bi 2 : Vit chng trnh chuyn 2 mng d liu 50 byte. Bit mng 1 c a ch 50H trong Ram trong v mng 2 c a ch 1234H trong Ram ngoi . Chng trnh : Org 0000h A R2 A @R0 A ; int ex0 @R0 A @dptr A R2 dptr + 1 Ro + 1 R1 + 1 000bh Ro = 32H No Yes R0 dptr R1 #50H #1234H #00H

ljmp start org nop reti org nop reti ; int timer0 0003h

En d

org nop reti org nop reti org nop reti

0013h

; int ex1

001bh

; int timer1 0023h ; ngat truyen tin khong dung

org 0100h Start: Crl mov mov mov lap : mov mov A , @R0 R2 , A EA A , #50H dptr , #1234H R1 , #00H

movx A , @dptr mov mov @R0 , A A , R2

movx @dptr , A inc inc inc dptr R0 R1 Yes

cjne End

R1 , #32H , lap

Bi 3 : Vit chng trnh cng hai s BCD 4 ch s trong Ram trong , kt qu ct vo s th 1 . Bit s th nht t ti nh 40H , v s th 2 t ti nh 50H Start

Chng trnh :

C Org 0000h R0 R1 ; int ex0 R2

#00H #40H #50H #00H

ljmp start org nop reti org nop reti org nop reti org nop reti org 0023h ; int timer1 ; ngat truyen tin khong dung 001bh 0013h ; int timer0 ; int ex1 000bh A 0003h

@R0 A + @R1 + (C) DAA

@R0 R0 + 1 R1 + 1 R2 + 1

Cjne

No

Yes R2 = # 04H

End

nop reti org 0100h Start: Clr Clr mov mov mov lap : mov addc da mov inc int inc cjne End ======================== A , @R0 A , @R1 a @R0 , A R0 R1 R2 R3 , #04H , lap EA C R0 , #40H R1 , #50H R2 , #00H

Bi 4 : Vit chng trnh tr hai s 8 byte kt qu ct vo th 2 . Bit s th nht t ti nh 60H ti Ram trong , s th 2 t ti Ram ngoi 1000H.

Chng trnh : Org 0000h C ; int ex0 R0 R1 dptr 000bh

Start

Ljmp start org nop reti org nop reti org nop reti org nop reti org nop reti Org Start : Clr Clr EA C 0100h 0023h ; int timer1 ; ngat truyen tin khong dung 001bh 0013h ; int timer0 ; int ex1 A 0003h

# 00H #60H #00H #1000H

@dptr A - @R0 (C) A dptr + 1 R0 R1 + 1 + 1 No

cjn e

@dptr

Yes R1 = #08H

End

mov mov mov lap: movx subb movx inc inc inc cjne end

R0 , #60H R1 , #00H dptr , #1000H

A , @dptr A , @R0 @dptr , A dptr R0 R1 R1 , #08H , lap

Bi 5 : vit chng trnh s dng timer to xung tn 100HZ ti chn P1.0 . Bit xung nhp thch anh 12 MHZ ( Ton = 50% , Toff = 50% ). Ta c : Xung ti chn P1.0 c : fxung = 100 Hz => Txung = 0,01 => thi gian cao v thp l : 0,5 T = 0,005 = 5000 s B nh thi c : ft = 1 1 .fthch anh = .12 ( MHZ ) = 1 MHZ t tn s 12 12 1 = 1s 106 5000 = 5000 nhp 1

Tt =

S nhp ng h : n =

Xc nh gi tr np vo timer :

65536 5000 = 60536D = EC67H Gi tr np vo l : TL0 = 78H ; TH0 = ECH.

Chng trnh :
ORG 0000H LJMP START ORG 0003H NOP RETI ORG 000BH NOP RETI ORG 0013H NOP RETI ORG 001BH NOP RETI ORG 0023H OP RETI ORG START : CLR CLR MOV MOV MOV SETB BACK : JNB MOV EA P1.0 TMOD , #10H TL1 , #1AH TH0 , #0ECH TR0 TFO , BACK TL1 , #1AH 0100H ; INT TIMER1 ; NGAT TRUYEN TIN KHONG DUNG ; INT TIMER0 ; INT EX1 ; INT EX0

Start

CLR TMOD

P1.0 #10H

TL0 TH0 TR0 = 1

#78H #0ECH

JN TF0 = 0 Ye s

TL0 TH0 P1.5

N o

#78H #0ECH P1.5 SJMP

MOV CPL SJMP END BACK

TH0 , #0ECH P1.0

Bi 6 : Vit chng trnh to xung 1HZ ti chn P1.7 . Bit xung nhp thch anh 12 MHZ ( Ton = 70 % , Toff = 30% ) Ta c : Vi fthch anh = 12 MHZ th theo trn ta c Tnh thi = 1s Xung ti chn P1.7 c : fxung = 1 Hz => Txung = 1s => Ton = 700 ms , Toff = 300 ms

chn gi tr ban u l : TL0 = B0H , TH0 = 3CH t ta c sau mi chu k b timer m c FFFFH - 3CBOH = 164 15536 = 50 000 ln tc l : 50 000 . 1s = 0.05s = 50 ms Vy ta cn thit k sao cho b timer m c : 700 / 50 = 14 ln . ri chn P1.7 i trng thi v m c : 300/50 = 6 ln . c nh th ta s p ng c yu cu ca bi.

Chng trnh : Start

TMOD TH0 TL0 P1.7 = R3 TR0 = 1 1

#01H #3CH #0B0H

# 00H

JNB TF0 = 0 NO TH0 CJN TL0 R3 #3CH #0B0H + 1 YES

NO

R3 = #0EH YES P1.7 P1.7

SJM

P1.7 = 0 JNB YES R3 SJM

NO

R3

#0EH

#06H

ORG 0000H LJMP START ORG 0003H NOP RETI ORG 000BH NOP RETI ORG 0013H NOP RETI ORG 001BH NOP RETI ORG 0023H OP RETI ORG START: MOV MOV MOV SETB MOV SETB LAP: JNB MOV MOV TMOD , #01H TH0 , #3CH TL0 , #0B0H P1.7 R0 , #00H TR0 TF0 , LAP TH0 , #3CH TL0,#B0H 0100H ; INT TIMER1 ; NGAT TRUYEN TIN KHONG DUNG ; INT TIMER0 ; INT EX1 ; INT EX0

INC

R3

CJNE R3 , LAP CPL JNB P1.7 P1.7 , TOFF

MOV R0,#0EH SJMP LAP TON: MOV R0,#06H SJMP LAP END

Bi 7 : Vit chng trnh con c 500 byte d liu t cng ni tip v ct vo vng nh c a ch u 456H . Bit cng ni tip c khi to sn , cng cho php c khi c RI = 1 , v c RI s t xa khi c xong 1 byte.

Gii thut v chng trnh : Read: mov mov mov lap : jnb mov movx inc int R0 , #00H R1 , #00H dptr , #0456H RI , lap A , sbuf @dptr , A dptr R0 A cjn e @dptr R0 R1 dptr

read

#00H #00H #0456h

jnb RI = 1 Yes sbuf A dptr + 1 R0 + 1 No

cjne R0 , #FAH , lap mov inc R0 , #FAH R1

cjne R1 , #02H , lap ret No

R0 = #FAH Yes R0 R1 + 1 #FAH

cjn e

R1 = #02H Yes ret

No

start Bi 8 : vit chng trnh iu khin n giao thng ti 1 ng t theo yu cu : iu khin 0 l n sng , 1 l n tt. ta c s iu khin trng thi nh sau : 1 X1 V1 1 X2 V2 2 P1.0 0 P1.1 1 P1.2 1 P1.4 1 P1.4 1 P1.5 0 2 1 0 1 1 1 0 3 1 1 0 0 1 1 4 1 1 0 1 0 1 1 0 1 1 1 1 0 No TMOD TH0 TLO R1 R2 P1.0 = 0 P1.1 = 1 P1.2 = 1 P1.3 = 1 P1.4 = 1 P1.5 = 0 Chng trnh : Org . . . reti org 0100h Start : ; back 1 mov mov mov mov mov TMOD,#01H TH0,#3CH TL0,#0B0H R1 , #14H R2 , #19H djnz R2 P1.1 = P1.0 P1.1 djnz djnz No 0000h delay R2 - 1 TR0 = 1 #01H # 03CH #0B0H #14H #19H

R2 = 0 Yes = 1 = 0 #03H 1 0 0 sjmp

P1.2 = delay P1.3-1 = R2 No

P1.5 = 1 P1..3 = 1 R2 R2 = 0 # 21H P1.4 delay 0 = R2 = 0 R2 = 0 Yes R2 R2 - 1 #03H

setb setb setb setb setb clr setb back2 : lcall djnz setb clr mov back2 : lcall djnz setb clr clr setb

P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 TR0 delay R2 , back2 P1.0 P1.1 R2 ,#03H delay R2 , back2 P1.1 P1.2 P1.3 P1.5 Ye djn z

mov R2,#21H back3 : lcall delay djnz R2 , back3 setb P1.3 clr P1.4

mov R2,#03H back4: lcall delay1s delay

djnz

R2 , back4 jnb No

ljmp back1 delay : jnb TF0 , delay TF0 = 1

mov TH0,#3CH mov TL0,#0B0H mov R1 ,#14H djnz ret R1 , delay djn TH0 TL0 R1 R1 - 1 #3CH Yes #0B0H #14H

No

R1 = 0

Yes ret

Bi 9 : vit chng trnh hin th 2 LED 7 thanh m li t 20s vi s phn cng SV t xut

start

TMOD TH0 Chng trnh : Org . . . reti org 0100h start : clr EA mov TMOD , #01H mov TH0 , #3CH mov TL0 , #0B0H mov R0, #14H mov P0, #20H setb TR0 mov R1 , #10H lcall lap mov R1 , #00H lcall lap lap: back: jnb TF0 back mov TH0, #3CH lap R1 lap R1 0000h TL0 R0 P0 TR0

#01H #3CH #0B0H #14H #20H =1

#10H

#00H

sjm

lap mov TL0 , #0B0H mov R2 , #0AH mov A , R1 djnz R0 , back back1: dec R2 add A ,@ R2 mov P0 , A cjne R2 , #00H , back1 ret sjmp start R0 = #00H Yes R2 1 A P0 A + @R2 A cjne No TF0 =1 Yes TH0 TL0 R2 A R0 - 1 No #3CH #0B0H #0AH R1 djnz

R2 = #00H Yes ret

No

You might also like