You are on page 1of 20

HC VIN CNG NGH BU CHNH VIN THNG

CHNG TRNH O TO I HC T XA
*********************











BI TP IU KIN HC K 7


Mn : K THUT VI X L



















H tn : Nguyn Thin Thnh
M sinh vin : 206223351
Lp sinh vin : CN206A3








Nguyn Thin Thnh Lp CN206A3 Trang 2/20


CU HI

Bi 1 : Cho bit a ch bt u ca mt vng nh Ram l 00000H v dung lng ca
vng nh ny l 645KB. Hy xc nh a ch vt l cui cng ca vng nh ny.
Bi 2: Thc hin kt ni h thng 80286 vi cc dung lng nh sau:
EPROM (4M) EPROM (4M)
EPROM (4M)
SRAM (8M)

SRAM (4M) EPROM (4M)
SRAM (8M)
SRAM (4M) EPROM (4M) EPROM (4M)

SRAM (2M) SRAM (2M) SRAM (4M)
SRAM (2M) SRAM (4M) SRAM (2M)
SRAM (4M) SRAM (2M) SRAM (4M)

EPROM (8M)

EPROM (8M)

EPROM (2M)
Cho bit vng a ch ca tng b nh trong cc bn (cc b nh u c 16 bit d liu).
Bi 3: Thc hin cng ra iu khin tm LED n c a ch l F000H.
Bi 4: Thc hin cng vo nhn d liu t 8 phm nhn c a ch l F000H.
Bi 5: Cho bit a ch logic ca nh l BA00H:D1AFH.
a) Hy cho bit a ch vt l ca nh ny.
b) Hy cho 5 v d v cc a ch logic khc cng truy cp ti nh vt l nu trn.
Bi 6 : Trong ch a ch thc 80286 s phi thay i gi tr trong cc thanh ghi no khi
cn chuyn iu khin chng trnh t a ch:
a) 10500H ti 10000H.
b) 20901H ti 29A00H.
c) 40000H ti A0000H.
Bi 7: Vit cc lnh hp ng thc hin cc cng vic sau:
a) Np s 3654H vo thanh ghi BP.
b) Sao chp ni dung thanh ghi BP ti thanh ghi SP.
c) Sao chp ni dung thanh ghi AX ti nh c a ch offset = 9876H.
d) Tng ni dung thanh ghi CX ln 1.
e) Cng 07H vi DL.
f) Lp bit MSB ca AX ln 1 nhng khng lm nh hng ti cc bit khc.
g) Lp LSB ca AX ln 1 nhng khng lm nh hng ti cc bit khc.
h) Che 4 bit cao ca thanh ghi CL.
i) Nhn gi tr trong AH vi 08.
j) Nghch o 4 bit thp ca thanh ghi DX m khng lm nh hng ti cc bit khc.
k) Ly b 2 ni dung thanh ghi BP.
Bi 8 : Cho bit gi tr cha trong thanh ghi AX sau khi 8088 thc hin cc lnh sau:
MOV AX,0
MOV BX,2
MOV CX,50
Nguyn Thin Thnh Lp CN206A3 Trang 3/20
@: ADD AX,BX
ADD BX,1
LOOP @
Bi 9 : Vit chng trnh nhp t bn phm mt chui k t, sau hin th chng di
dng ch tri t tri qua phi.
Bi 10 : Vit chng trnh nhp t bn phm mt k t, sau hin th n di dng ma
trn 5 ct 8 hng bng cc du *.
Bi 11: Thit k h thng phn cng vi x l thc hin vic gim st v ng m n qut
cho mt to nh bao gm 5 phng (mi phng c 8 n v 8 qut). Khi mt thit
b chy s c mt n LED tng ng sng. Ngi s dng c th tt m bt k
mt thit b no t trung tm hoc ng m in cho tng phng.
Bi 12: Thit k mt h thng vi x l iu khin ng c bc c cc thng s k thut:
12V/2A mi bc 1
o
. Bit rng, ng c c 4 dy cp in theo xung, n quay
theo chiu kim ng h cn cung cp d liu vo 4 u dy theo d liu trong
bng sau:

Dy 1 Dy 2 Dy 3 Dy 4 Hexa
1 0 0 1 09
0 1 0 1 05
0 1 1 0 06
1 1 0 0 0A

Khi mun ng c quay ngc chiu kim ng h c th xut d liu vi chiu
ngc li ca bng trn. Hy vit chng trnh iu khin ng c quay 1 vng
theo chiu kim ng h v 90
o
theo chiu ngc li.
Bi 13: Thit k h thng vi x l s dng vo ra song song PPI 8255 hot ng ch
0 (Mode 0) iu khin bn phm ma trn 16 phm v b hin th 8 LED 7 on
iu khin theo kiu qut nh hnh B5.1. Vit chng trnh c cc phm nhn ri
hin th trn cc LED 7 on, phm u tin s hin th ti LED bn phi, khi
nhn thm mt phm gi tr ca cc LED bn phi s chuyn v bn tri mt v tr.

Hnh B5.1: H thng yu cu thit k trong bi 1
Bi 14: Thit k hai h thng vi x l truyn d liu vi nhau bng cng vo ra ni tip
8251 vi ch truyn cn ng b (Asynchronous). Vit cc on chng trnh
truyn nhn d liu cho hai h thng ny.
Bi 15: Thc hin h thng vi x l giao tip vi b ADC loi xp x lin tip bng vi
mch vo ra 8255. Vit chng trnh iu khin vic c d liu t ng vo ADC
hin th ln 2 LED 7 on di dng s HEX.
Nguyn Thin Thnh Lp CN206A3 Trang 4/20
Bi 16: Mt cng tc 4 v tr v mt b led 7 on c ni vi 8051 nh hnh v:

Vit on chng trnh nhn d liu t cc cng tc cng 3, ri hin th gi tr nh
phn tng ng ca n ln led 7 on.
Bi 17: Vit chng trnh to ra xung tc ng mc cao trong 4 sec trn cng P1.7 sau
mi 200 sec.
Bi 18: Thit k h thng vi iu khin ng m n giao thng trn mt ng t t ng
vi cc thi gian sng n , xanh, vng nh trc.



Nguyn Thin Thnh Lp CN206A3 Trang 5/20
BI GII

Bi 1 : Cho bit a ch bt u ca mt vng nh Ram l 00000H v dung lng ca
vng nh ny l 645KB. Hy xc nh a ch vt l cui cng ca vng nh ny.
Gii:
Ta bit 1 byte ca b nh s tng ng vi 1 nh
Do 645KB = 645 * 1024 = 660480 byte (tng ng vi 660480 nh)
660480 A1400H
a ch cui cng ca vng nh = a ch ban u ca vng nh + (s nh - 1)
= 00000H + (A1400H 1)
= 00000H + A13FFH = A13FFH
Bi 2: Thc hin kt ni h thng 80286 vi cc dung lng nh sau:
EPROM (4M) EPROM (4M)
EPROM (4M)
SRAM (8M)

SRAM (4M) EPROM (4M)
SRAM (8M)
SRAM (4M) EPROM (4M) EPROM (4M)

SRAM (2M) SRAM (2M) SRAM (4M)
SRAM (2M) SRAM (4M) SRAM (2M)
SRAM (4M) SRAM (2M) SRAM (4M)

EPROM (8M)

EPROM (8M)

EPROM (2M)
Cho bit vng a ch ca tng b nh trong cc bn (cc b nh u c 16 bit d liu).
Gii: Thc hin tnh ton nh bi 1 ta c vng a ch ca tng b nh trong cc bn
nh sau:
EPROM
(4M)
000000H 3FFFFFH SRAM (2M) 000000H 1FFFFFH
EPROM
(4M)
400000H 7FFFFFH SRAM (2M) 200000H 3FFFFFH
SRAM (4M) 800000H - BFFFFFH SRAM (4M) 400000H 7FFFFFH
SRAM (4M) C00000H - FFFFFFH
EPROM
(8M)
800000H - FFFFFFH

SRAM (2M) 000000H 1FFFFFH
SRAM (8M)

000000H 7FFFFFH
SRAM (4M) 200000H 5FFFFFH
EPROM
(4M)
800000H - BFFFFFH SRAM (2M) 600000H 7FFFFFH
EPROM
(4M)
C00000H - FFFFFFH
EPROM
(8M)
800000H - FFFFFFH

EPROM
(4M)
000000H 3FFFFFH SRAM (4M) 000000H 3FFFFFH
SRAM (2M) 400000H 5FFFFFH
SRAM (8M)

400000H BFFFFFH
SRAM (4M) 600000H 9FFFFFH
Nguyn Thin Thnh Lp CN206A3 Trang 6/20
EPROM
(4M)
C00000H - FFFFFFH
EPROM
(2M)
A00000H - BFFFFFH

Bi 3: Thc hin cng ra iu khin tm LED n c a ch l F000H.
Gii:
.Mode small
.Stack 100H
.Data
CW EQU 80H
PA EQU F000H
PB EQU F001H
PC EQU F002H
CWR EQU F003H
Bang db 01H, 02H,04H, 08H ,10H, 20H, 40H, 80H
.code
Main:
MOV AL, 80H
out CWR, AL

Start: MOV CX, 08
LEA BX, Bang
Lap: MOV AL, [BX]
OUT PA, AL
Call delay
INC BX
Loop lap
JMP start
MOV AH, 4 CH
INT 21H
Delay proc
Push CX
Mov CX, 10
Pop CX
Ret
Delay endp
End main
Bi 4: Thc hin cng vo nhn d liu t 8 phm nhn c a ch l F000H.
Gii:
.Model small
.Stack 100H
.Data
Bang db 01H, 02H, 04H,08H, 10H, 20H, 40H, 80H
PA EQU F000H
PB EQU F001H
PC EQU F002H
CWR EQU F003H
CW EQU 90H
.Code
Main :
Mov AL, 90H
Out DX, AL
Nguyn Thin Thnh Lp CN206A3 Trang 7/20
Start: mov Cx, 8
Lea BX, bang
Lap: mov AL, [BX]
In PA, AL
INC BX
Loop lap
JMP start
End main
Bi 5: Cho bit a ch logic ca nh l BA00H:D1AFH.
a) Hy cho bit a ch vt l ca nh ny.
b) Hy cho 5 v d v cc a ch logic khc cng truy cp ti nh vt l nu trn.
Gii:
a) Ta c cch tnh a ch vt l ca nh nh sau:
a ch vt l = a ch on (segment)*16 + a ch lch (offset)
= BA00h * 16 + D1AFh
= BA000h + D1AFh
= C71AFh
Hoc ta c th tnh nhanh a ch vt l bng cch dch tri a ch on 4 bit ri cng
vi a ch lch. (a ch vt l = dch tri a ch on 4 bit + a ch lch)
BA00h dch tri 4 bit BA000h
a ch vt l = BA000h + D1AFh = C71AFh
b) Ta thy s 0 cui cng ca BA00H s tng ng vi hng chc ca D1AFh
Do , tm cc a ch logic khc cng truy cp a ch vt l C71AFh ta ch cn
thc hin nh sau:
- Thm (hoc bt) 1 hng n v ca segment_a ch on
BA00h BA01h
- Gim (hoc tng) 1 hng chc ca offset_a ch lch
D1AFh D19Fh
C tip tc nh vy, ta s c v s a ch logic. Di y l 1 s v d cc a ch
logic cng truy cp ti a ch vt l C71AFh
BA02h:D18Fh
BA03h:D17Fh
BA04h:D16Fh
B9FFh:D1BFh
C71Ah:000Fh
C719h:001Fh
Bi 6 : Trong ch a ch thc 80286 s phi thay i gi tr trong cc thanh ghi no khi
cn chuyn iu khin chng trnh t a ch:
a) 10500H ti 10000H.
b) 20901H ti 29A00H.
c) 40000H ti A0000H.
Gii:
a) 10500H ti 10000H
Gi s ban u CS:IP = 1000H:0500H
Sau khi chuyn CS:IP = 1000H:0000H
Nguyn Thin Thnh Lp CN206A3 Trang 8/20
Nh vy s phi thay i gi tr trong IP t 0500H sang 00000H
b) 20901H ti 29A00H
Gi s ban u CS:IP = 2000H:0901H
Sau khi chuyn: CS:IP = 2000H:9A00H
Nh vy phi thay i gi tr trong IP t 0901H sang 9A00H
c) 40000H ti A0000H
Gi s ban u CS:IP = 4000H:0000H
Sau khi chuyn CS:IP = A000H:0000H
Nh vy phi thay i gi tr trong CS t 4000H sang A000H
BI 7: Vit cc lnh hp ng thc hin cc cng vic sau:
a) Np s 3654H vo thanh ghi BP.
b) Sao chp ni dung thanh ghi BP ti thanh ghi SP.
c) Sao chp ni dung thanh ghi AX ti nh c a ch offset = 9876H.
d) Tng ni dung thanh ghi CX ln 1.
e) Cng 07H vi DL.
f) Lp bit MSB ca AX ln 1 nhng khng lm nh hng ti cc bit khc.
g) Lp LSB ca AX ln 1 nhng khng lm nh hng ti cc bit khc.
h) Che 4 bit cao ca thanh ghi CL.
i) Nhn gi tr trong AH vi 08.
j) Nghch o 4 bit thp ca thanh ghi DX m khng lm nh hng ti cc bit khc.
k) Ly b 2 ni dung thanh ghi BP.
Gii:
a) MOV BP, 3654H
b) MOV SP, BP
c) MOV [9876H], AX
d) INC CX
e) ADD DL, 07
f) OR AX, 8000H
g) OR AX, 1H
h) AND CL, 0FH
i) MOV AL, 8
MUL AH
j) XOR DX, 0FH
k) MOV AX, 0
SUB AX, BP ; AX cha gi tr b 2 ca thanh ghi BP
hoc MOV AX, BP
NEG AX
BI 8 : Cho bit gi tr cha trong thanh ghi AX sau khi 8088 thc hin cc lnh sau:
MOV AX,0
MOV BX,2
MOV CX,50
@: ADD AX,BX
ADD BX,1
LOOP @
Nguyn Thin Thnh Lp CN206A3 Trang 9/20
Gii:
MOV AX, 0 gn gi tr ban u trong thanh ghi AX l a
0
= 0
MOV BX, 2 gn gi tr ban u trong thanh ghi BX l b
0
= 2
MOV CX, 50 gn s ln lp (thanh ghi CX) l 50 ln
ADD AX, BX cng gi tr thanh ghi BX vo thanh ghi AX
ADD BX, 1 cng 1 vo thanh ghi BX
Nh vy vng lp @ s thc hin cc lnh sau: cng gi tr thanh ghi BX vo thanh
ghi AX, sau cng thm 1 vo gi tr thanh ghi BX v lp li 50 ln. T ta c th tnh
c gi tr cha trong thanh ghi AX sau khi thc hin cc lnh trn
Ta c:
* a0 = 0 , b0 = 2
* a1 = a0 + b0 , b1 = b0 + 1
* a2 = a1+b1=(a0+b0)+(b0+1) = a0 + 2b0 + 1
b2 = b1 + 1 = (b0 + 1) + 1 = b0 + 2
* a3=a2 + b2 = (a0 + 2b0 + 1) + (b0 + 2) = a0 + 3b0 + 1 + 2
b3 = b2 + 1 = (b0 + 2) + 1 = b0 + 3
* a4 = a3 + b3 = (a0 + 3b0 + 1 + 2) + (b0 + 3) = a0 + 4b0 + 1 + 2 +3
b4 = b3 + 1 = b0 + 4
.
Suy ra:
a
50
= a
49
+ b
49
= a
0
+ 50b
0
+ 1 + 2 + + 48 + 49 = a
0
+ 50b
0
+ [(1 + 49)*49]/2
= 50*2 + (50*49)/2 = 100 + 1225 = 1325 tng ng vi 052DH
Bng gi tr (theo thp phn) ca AX sau mi ln lp nh sau:

Vy gi tr trong thanh ghi AX l: 052DH

BI 9 : Vit chng trnh nhp t bn phm mt chui k t, sau hin th chng di
dng ch tri t tri qua phi.
Gii:
.Model small
.Stack 100H
.Data
TB1 DB "Nhap vao chuoi ky tu : $"
Buffer DB 100 Dup (?)
.Code
Main:
Nguyn Thin Thnh Lp CN206A3 Trang 10/20
MOV AX, @DATA
MOV DS, AX
MOV AH, 0
MOV AL, 3
INT 10H
Lea DX, TB1
MOV AH, 09H
INT 21H
MOV CL, 0
MOV BP, 0
Lea BP, Buffer

Nhap: MOV AH, 01H
INT 21H
MOV [BP], AL
INC BP
INC CL
CMP AL, 13
JNE nhap
MOV AL, CL
MOV CL, 80
SUB CL, AL
call chay

MOV AH, 4CH
INT 21H

Chay proc
MOV DL, 0
Nhan_1:
MOV AH, 0
MOV AL, 3
INT 10H
MOV AH, 02H
MOV DH, 12
INC DL
INT 10H
CMP CL, DL
JE nhan
Call hien
Call tre
JMP nhan_1
Nhan: Ret
Chay endp

Hien proc
Push DX
MOV BP, 0
Lea BP, buffer
A : MOV AH, 02
MOV DL,(BP)
Int 21H
INC BP
CMP DL, 13
Nguyn Thin Thnh Lp CN206A3 Trang 11/20
JNE A
POP DX
Ret
Hien endp

Tre proc
CLI
Push CX
MOV CX, 65530
Pop CX
STI
Ret
Tre endp
End main
BI 10: Vit chng trnh nhp t bn phm mt k t, sau hin th n di dng ma
trn 5 ct 8 hng bng cc du *.
Gii:
Trc ht, ta khai bo bng d liu bao gm cc du * v khong trng sp
thnh k t. V d : K t A v E s c khai bo nh sau:
,
V s lng k t c th nhp t bn phm qu ln (256 k t), do nu khai bo
ht tt c k t th chng trnh qu di nn trong bi gii ny tm rt gn li thnh nhp
cc k t t A G, cn cc k t khc cch lm cng tng t.
on chng trnh nh sau:

.MODEL Small
.STACK 100H

.DATA
TB DB 10,13,"Hay nhap vao mot ky tu (A-G): ", "$"
TB2 DB 10,13,"Ky tu vua nhap khong nam trong khoang (A-G)", "$"

A DB 10,13," *** "
DB 10,13," * * "
DB 10,13," * * "
DB 10,13," * * "
DB 10,13," ***** "
DB 10,13," * * "
DB 10,13," * * "
DB 10,13," * * ","$"

B DB 10,13," **** "
DB 10,13," * * "
DB 10,13," * * "
DB 10,13," **** "
DB 10,13," * * "
DB 10,13," * * "
DB 10,13," * * "
DB 10,13," **** ","$"

C DB 10,13," *** "
DB 10,13," * * "
Nguyn Thin Thnh Lp CN206A3 Trang 12/20
DB 10,13," * * "
DB 10,13," * "
DB 10,13," * "
DB 10,13," * * "
DB 10,13," * * "
DB 10,13," *** ","$"

D DB 10,13," **** "
DB 10,13," * * "
DB 10,13," * * "
DB 10,13," * * "
DB 10,13," * * "
DB 10,13," * * "
DB 10,13," * * "
DB 10,13," **** ","$"

E DB 10,13," ***** "
DB 10,13," * "
DB 10,13," * "
DB 10,13," ***** "
DB 10,13," * "
DB 10,13," * "
DB 10,13," * "
DB 10,13," ***** ","$"

F DB 10,13," ***** "
DB 10,13," * "
DB 10,13," * "
DB 10,13," ***** "
DB 10,13," * "
DB 10,13," * "
DB 10,13," * "
DB 10,13," * ","$"

G DB 10,13," *** "
DB 10,13," * * "
DB 10,13," * * "
DB 10,13," * "
DB 10,13," * ** "
DB 10,13," * * "
DB 10,13," * * "
DB 10,13," *** ","$"

; cac ky tu con lai cung lam tuong tu


.CODE

inchuoi macro chuoi ;Macro in ky tu ra man hinh
mov ah, 9h
LEA dx, chuoi
int 21h
endm

Main Proc

mov ax, data
mov ds, ax
mov es, ax

Nhap:
inchuoi TB ; Hien thong bao nhap ky tu

MOV AH,1 ; Nhap ky tu
INT 21H
MOV BL,AL

Nguyn Thin Thnh Lp CN206A3 Trang 13/20
CMP BL, "A"
je Kytu_A

CMP BL, "B"
je Kytu_B

CMP BL, "C"
je Kytu_C

CMP BL, "D"
je Kytu_D

CMP BL, "E"
je Kytu_E

CMP BL, "F"
je Kytu_F

CMP BL, "G"
je Kytu_G

; cac ky tu con lai cung lam tuong tu

; Neu nhap cac ky tu khong nam trong khoang A-G,
; xuat hien thong bao loi va yeu cau nhap lai ky tu

inchuoi TB2 ; Thong bao loi
JMP nhap

Kytu_A:
inchuoi A
JMP exit

Kytu_B:
inchuoi B
JMP exit

Kytu_C:
inchuoi C
JMP exit

Kytu_D:
inchuoi D
JMP exit

Kytu_E:
inchuoi E
JMP exit

Kytu_F:
inchuoi F
JMP exit

Kytu_G:
inchuoi G
JMP exit

; cac ky tu con lai cung lam tuong tu

;Exit to DOS
Exit:
mov ax, 4ch
int 21h

Main Endp

Nguyn Thin Thnh Lp CN206A3 Trang 14/20
BI 12: Thit k mt h thng vi x l iu khin ng c bc c cc thng s k thut:
12V/2A mi bc 1
o
. Bit rng, ng c c 4 dy cp in theo xung, n quay
theo chiu kim ng h cn cung cp d liu vo 4 u dy theo d liu trong
bng sau:

Dy 1 Dy 2 Dy 3 Dy 4 Hexa
1 0 0 1 09
0 1 0 1 05
0 1 1 0 06
1 1 0 0 0A

Khi mun ng c quay ngc chiu kim ng h c th xut d liu vi chiu
ngc li ca bng trn. Hy vit chng trnh iu khin ng c quay 1 vng theo chiu
kim ng h v 90
o
theo chiu ngc li.
Gii:
Theo bi ta c, ng c quay 1 bc c 1
o

Ta c 4 m lnh lm quay ng c c 4 bc (tng ng vi 4
o
)
ng c quay thun 1 vng 360
o
, ta cn c s ln lp li 4 m lnh l 360
o
/ 4
o
=
90 (ln), vi cc m lnh c cung cp theo th t l 09 05 06 - 0A
ng c quay ngc li th cc m lnh s c cung cp theo t t ngc li l
0A 06 05 - 09.
V 22 ln 4 m lnh tng ng vi 88
0
nn ta phi lp li thm 2 bc na c
90
0

Do , sau khi lp li 22 ln nhm 4 m lnh 0A 06 05 09, ta s lp thm 1 ln
2 m lnh 0A 06
Ta c on chng trnh iu khin ng c bc nh sau:

ORG 00h
MAIN:

MOV R7, #90 ;LAP LAI 90 LAN
CHIEU_THUAN:
MOV P0, #09H
LCALL DELAY
MOV P0, #05H
LCALL DELAY
MOV P0, #06H
LCALL DELAY
MOV P0, #0AH
LCALL DELAY
DJNZ R7, CHIEU_THUAN

MOV R7, #22 ;LAP LAI 22 LAN
CHIEU_NGHICH:
MOV P0, #0AH
LCALL DELAY
MOV P0, #06H
LCALL DELAY
MOV P0, #05H
LCALL DELAY
Nguyn Thin Thnh Lp CN206A3 Trang 15/20
MOV P0, #09H
LCALL DELAY
DJNZ R7, CHIEU_NGHICH

MOV P0, #0AH
LCALL DELAY
MOV P0, #06H
LCALL DELAY
JMP MAIN

DELAY:
MOV R2,#2
L1:
MOV R6,#250
L:
MOV R5,#250
DJNZ R5,$
DJNZ R6,L
DJNZ R2,L1
RET
END

Bi 13: Thit k h thng vi x l s dng vo ra song song PPI 8255 hot ng ch
0 (Mode 0) iu khin bn phm ma trn 16 phm v b hin th 8 LED 7 on
iu khin theo kiu qut nh hnh B5.1. Vit chng trnh c cc phm nhn ri
hin th trn cc LED 7 on, phm u tin s hin th ti LED bn phi, khi
nhn thm mt phm gi tr ca cc LED bn phi s chuyn v bn tri mt v tr.

Hnh B5.1: H thng yu cu thit k trong bi 1
Gii:
.Model small
.Stack 100H
.Data
Day DB 8 dup [0FF]
Led DB 0C0H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,A1H,86H,8EH

.Code
Main:
Mov AX, @data
Mov DS, AX
Mov AL, 89H ; nap tu dieu khien
Out DX, AL

Start:
Call Quet_phim
Nguyn Thin Thnh Lp CN206A3 Trang 16/20
CMP AL, 0FFH
JE hien_thi
Mov CX, 7
LEA DX, Day

@ : MOV AH,[BX + 1] : dich cac con so qua trai 1 so
MOV [BX], AH
INC BX
Loop @
Mov [BX], AL
Hien_thi:
call led_7doan
JMP start
MOV AH, 4CH
INT 21H

Quet_phim proc
MOV AL, 0
OUT [PC], AL
CMP AL, 0FH
JE KT ; Neu khong co phim nao nhan thi thoat
MOV BL, 11101111B
MOV CX, 4

Tiep: MOV AL, BL
OUT [PC], AL
In AL, [PC]
AND AL, OFH ; cho 4 bit cao vao AL
CMP AL, OFH
JE Tiep ; neu chua thay phim nhan thi quet tiep
MOV BH, AL
MOV AH, 4
SUB AH, CL
MOV AL, 4

Dich_trai:
SHR BH, 1
INC dung
Add AL, 1
JMP dich_trai

Dung: JMP kq
Lap: SHL BL, 1
Loop lap
KT: MOV AL, FFH

Kq:
Ret
Quet phim endp

Led_7doan proc
Lea DX, day
MOV AL,[DX]
A: Lea BX, LED
XLAT
OUT [PA], AL
MOV AL, AH
OUT [PB], AL
INC DX
Nguyn Thin Thnh Lp CN206A3 Trang 17/20
ROL AH, 1
Loop A
Led_7doan endp

End main

Bi 14: Thit k hai h thng vi x l truyn d liu vi nhau bng cng vo ra ni tip
8251 vi ch truyn cn ng b (Asynchronous). Vit cc on chng trnh
truyn nhn d liu cho hai h thng ny.
Gii:
on lnh truyn d liu:
MOV DX,Ctr_Add ; a ch thanh ghi trng thi
Test1: IN AL,DX ; c thanh ghi trng thi
AND AL,10000001B ; Kim tra DSR v TxRDY
CMP AL,10000001B
JNE Test1 ; Ch bt u truyn khi sn sng
MOV DX,Data_Add ; a ch thanh ghi d liu

MOV AL, Data_Send ; Np d liu mun truyn vo AL
OUT DX,AL ; Gi d liu ti cng truyn
on lnh nhn d liu:
MOV DX,Ctr_Add ; a ch thanh ghi trng thi
Test2: IN AL,DX ; c thanh ghi trng thi
AND AL,00000010B ; Kim tra RxRDY
JZ Test2 ; Ch bt u truyn khi sn sng
MOV DX,Data_Add ;a ch thanh ghi d liu
IN AL,DX ;c d liu

BI 17: Vit chng trnh to ra xung tc ng mc cao trong 4 sec trn cng P1.7 sau
mi 200 sec.
Gii:
ORG 0000H
MAIN:
SETB P1.7
ACALL DELAY_4US
CLR P1.7
ACALL DELAY_200US
SJMP MAIN
DELAY_4US: ; tre 4s
MOV TMOD , #01H
MOV TH0, #HIGH(-4)
MOV TL0, #LOW(-4)
SETB TR0
JNB TF0, $
CLR TR0
CLR TF0
RET
DELAY_200US: ; tre 200s
MOV TMOD , #01H
MOV TH0, #HIGH(-200)
Nguyn Thin Thnh Lp CN206A3 Trang 18/20
MOV TL0, #LOW(-200)
SETB TR0
JNB TF0, $
CLR TR0
CLR TF0
RET
END

BI 18: Thit k h thng vi iu khin ng m n giao thng trn mt ng t t ng
vi cc thi gian sng n , xanh, vng nh trc.
Gii:
Chng trnh n iu khin giao thng xut ra port 0, ti 1 ng t gm 4 tr n.
Trong c hai tr n i din ging nhau, nn chng trnh ch vit cho hai tr n
khc nhau.
Cc n cc n sng nh sau:
- n xanh sng 30s
- n vng sng 3s
- n sng 33s
* LU GII THUT


Nguyn Thin Thnh Lp CN206A3 Trang 19/20


QUY C:
P0.0: n xanh 1 P0.1: n vng 1 P0.2: n 1
P0.3: n xanh 2 P0.4: n vng 2 P0.5: n 2

CHNG TRNH:

ORG 00H
MAIN:
MOV P0,#00H
SETB P0.0
SETB P0.5
LCALL DELAY30S
CLR P0.0
SETB P0.1
LCALL DELAY3S
CLR P0.1
CLR P0.5
SETB P0.2
SETB P0.3
LCALL DELAY30S
CLR P0.3
SETB P0.4
LCALL DELAY3S
SJMP MAIN
;****************
DELAY30S:
PUSH 00H
PUSH 01H
MOV TMOD,#01H
MOV R0,#30
WAIT1:
MOV R1,#100
LOOP1:
MOV TH0,#HIGH(-10000)
MOV TL0,#LOW(-10000)
SETB TR0
JNB TF0,$
CLR TF0
CLR TR0
Nguyn Thin Thnh Lp CN206A3 Trang 20/20
DJNZ R1,LOOP1
DJNZ R0,WAIT1
POP 01H
POP 00H
RET
;****************
DELAY3S:
PUSH 03H
PUSH 04H
MOV TMOD,#01H
MOV R3,#3
WAIT2:
MOV R4,#100
LOOP2:
MOV TH0,#HIGH(-10000)
MOV TL0,#LOW(-10000)
SETB TR0
JNB TF0,$
CLR TF0
CLR TR0
DJNZ R4,LOOP2
DJNZ R3,WAIT2
POP 04H
POP 03H
RET
END

You might also like