Tải bản đầy đủ (.pdf) (18 trang)

Tài liệu Hướng dẫn sử dụng ISIS Portues pptx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (491.6 KB, 18 trang )

H !ng d#n mô ph∋ng dùng ISIS Protues 22/06/2007
Biên so)n: Phan ∗ình Trung Trang 1/18
H NG D N S D NG ISIS PROTUES
D !i +ây là các công c, và các thao tác c∀ b.n nh/t giúp ng 0i s2 d,ng nhanh chóng
s2 d,ng Protues nh m3t công c, mô ph∋ng, h4c t5p và nghiên c6u khi +i7u ki9n th:c
hi9n m)ch th:c t; còn thi;u th<n, h)n ch; ho=c ki?m ch6ng các ho)t +3ng c≅a m)ch
nguyên lý tr !c khi th:c hi9n lΑp ráp m)ch. Tuy nhiên, mô ph∋ng chΒ giúp chúng ta tiên
+oán, !c l ∆ng các tình hu<ng sΕ x.y ra trong th:c t; v!i các thông s< t<i thi?u ch6 mô
ph

ng không ph

i là th

c t
&
nên +ôi khi ta th/y có nhΦng tình hu<ng x.y ra trong th:c t;
mà mô ph∋ng không có + ∆c. Do +ó, mô ph∋ng dùng Protues chΒ có giá trΓ tham kh.o
cho vi9c th:c hi9n m)ch th:c t;.
1. M ch,+ng trình ISIS Protues.
Double click vào icon +? mΙ ch ∀ng trình ISIS Protues ho=c
ta cϑng có th? ch4n:
 Start  Programs  Protues 6 professional  ISIS 6 professional.
2. T o b n v m i.
Ch4n:
 Menu File  New Design… ho=c
 Click lên
.
3. L u b/n v0.
Ch4n:
 Menu File  Save Design ho=c


 Menu File  Save Design As… (l u b.n vΕ này v!i m3t tên khác) ho=c
 Click lên
ho=c
 nh/n S
khi h3p tho)i Save ISIS Design file b5t lên, nh5p tên file vào ô file name và click ch4n
nút Save +? l u l)i.
4. M b/n v0 3ã l,u.
Ch4n:
 Menu File  Load Design… ho=c
 Click lên
ho=c
 nh/n L
khi h3p tho)i Load ISIS Design file b5t lên, tìm ki;m file cΚn mΙ trong vùng Look in và
c2a sΛ file, nh/n nút Open +? mΙ b.n vΕ +ã l u.
H !ng d#n mô ph∋ng dùng ISIS Protues 22/06/2007
Biên so)n: Phan ∗ình Trung Trang 2/18
5. t kích th c cho trang gi y v0.
Ch4n System  Set sheet sizes…
Ch4n khΛ gi/y tΜ A0  A4 trong h3p tho)i Sheet Size Configuration ho=c ng 0i s2
d,ng có th? t: nh5p kích cΝ gi/y cho riêng mình Ι phΚn l:a ch4n User.
6. t linh ki n lên vùng b n v0.
L/y linh ki9n +=t lên b.n vΕ:
 Ch4n menu Library  Pick device/symbol…ho=c
 click vào bi?u t ∆ng
ho=c
 click vào chΦ P trên

 Trong c2a sΛ Pick Devices, ta +ánh tên linh ki9n cΚn tìm vào ô keywords (không
cΚn +ánh chính xác tên, protues sΕ tìm các linh ki9n có tên gΚn gi<ng v!i tΜ khóa)
ho=c ta có th? tìm ki;m k;t qu. trong khung Category và Results.

Khung Schematic Preview và PCB Preview cho phép ta xem hình d)ng linh
ki9n trong b.n vΕ nguyên lý và b.n vΕ m)ch in.
 Click ch4n tên linh ki9n trong khung Results rΟi ch4n nút OK. Tên linh ki9n +ã ch4n
sΕ xu/t hi9n Ι khung DEVICES.
 Click ch4n tên linh ki9n cΚn +=t lên b.n vΕ trong khung DEVICES rΟi click lên vùng
b.n vΕ n∀i mu<n +=t linh ki9n, linh ki9n sΕ xu/t hi9n t)i vΓ trí vΜa click.
M o:
Ta c
)
ng có th
+
Double Click lên tên linh ki
,
n trong khung Results
−+

−%
a linh ki
,
n vào
khung DEVICES. v
.
i cách làm này, ta có th
+
l
0
y m
1
t lúc nhi
2

u linh ki
,
n khác nhau nhanh
h
/
n.
7. Xóa linh ki8n ã t.
Click ph.i lên linh ki9n cΚn xóa:
 click ph.i lΚn th6 2, ho=c
 nh/n nút Delete trên bàn phím, ho=c
 ch4n menu Edit  Cut to clipboard ho=c
 ch4n nút ho=c
 ch4n nút
.
8. Di chuy n linh ki8n ã t.
 Click ph.i lên linh ki9n cΚn di chuy?n. Nh/n và giΦ chu3t trái trên linh ki9n, rê +;n
n∀i cΚn +=t, th. chu3t trái, linh ki9n sΕ xu/t hi9n t)i vΓ trí m!i ho=c
 ch4n
, rê chu3t +;n vΓ trí m!i và click +? +=t linh ki9n.

H ng d n mô ph ng dùng ISIS Protues 22/06/2007
Biên so n: Phan ∗ình Trung Trang 3/18
9. Sao chép m t linh ki n ã t trên b/n v0.
 Click ph.i lên linh ki9n cΚn chép. Ch4n , rê chu3t +;n vΓ trí m!i và click +? +=t
linh ki9n ho=c
 nh/n nút
, rΟi nh/n nút , rê chu3t +;n vΓ trí m!i và click +? +=t linh ki9n.
10. Xoay và v0 i x ng linh ki8n.
∗? xoay ho=c vΕ +<i x6ng linh ki9n, ta click ph.i lên linh ki9n cΚn th:c hi9n, và click
l:a ch4n nút t ∀ng 6ng trong thanh tác v, nh sau: . Các nút tΜ trái qua

ph.i lΚn l ∆t là: xoay ph.i, xoay trái, xoay v!i góc cho tr !c, +<i x6ng qua tr,c d4c, +<i
x6ng qua tr,c ngang.
Chú ý: n
&
u linh ki
,
n ch
%
a ch
4
n thì thanh tác v này s
6
có màu xanh da tr i.
11. Ch nh s a thông s linh ki8n.
∗? chΒnh s2a thông s< cho linh ki9n ho=c +<i t ∆ng, ta click ch4n nút instant edit
mode (
) rΟi click vào linh ki9n ho=c +<i t ∆ng cΚn chΒnh s2a. Khi ng 0i s2 d,ng mu<n
th:c hi9n b/t kΠ thao tác nào trên linh ki9n hay +<i t ∆ng trong Protues +7u ph.i click
ph
i ch4n +<i t ∆ng cΚn thao tác. Ta cϑng có th? ch4n linh ki9n bΡng chu3t ph.i rΟi click
trái +? chΒnh giá trΓ c≅a linh ki9n.
Ta cϑng có th? dùng công c, này +? n)p ch ∀ng trình cho vi +i7u khi?n.
12. Phóng to, thu nh , chuy n vùng xem b/n v0.
Ch c nΧng Menu View Bàn phím Icon
chuy?n vùng xem Pan F5

Phóng to vùng xem Zoom In F6

Phóng nh∋ vùng xem Zoom Out F7


Xem toàn b3 b.n vΕ Zoom All F8

Phóng to 1 vùng l:a ch4n bΡng chu3t Zoom to Area

M o:
 Ta có th
+
dùng nút Scroll c a chu
1
t
−+
th c hi
,
n ch
:
c n ng Zoom in và Zoom Out.
 Ta c
)
ng có th
+
click lên vùng t
%/
ng
:
ng trong b

n v
6
thu nh



−+
chuy
+
n
−&
n v
=
trí
c
?
n xem.

H ng d n mô ph ng dùng ISIS Protues 22/06/2007
Biên so)n: Phan ∗ình Trung Trang 4/18
13. t ngu n và mass cho m ch.
Click ch4n nút Inter-sheet terminals ( ) trên thanh công c,, c2a sΛ
sΕ mΙ ra cho phép ng 0i dùng l:a ch4n lo)i terminal cΚn dùng. Có hai lo)i terminal
chúng ta có th? s2 d,ng Ι +ây là:
 GROUND: vΕ ký hi9u mass (ground), cung c/p +i9n áp 0 V cho mô ph∋ng m)ch.
 POWER: vΕ ký hi9u nguΟn, ta ch4n nút instant edit mode (
) , click lên ký hi9u
vΜa +=t trên b.n vΕ, nh5p giá trΓ nguΟn +i9n vào ô string. Ví d,: +5V.
Chú ý: ta ph

i t chính xác ngu
Α
n d
%/
ng ho


c âm, không
−%Β
c
−+
tr
Χ
ng. ví d
5
: 5V.

14. N=i dây cho m ch.
Nút Bus. ( ): phΚn m7m sΕ t: quy;t +Γnh lúc nào ng 0i s2 d,ng +ang mu<n vΕ
+ 0ng bus, hay +ang mu<n vΕ + 0ng m)ch. Thông th 0ng, khi + 0ng vΕ bΑt +Κu tΜ 1
+ 0ng m)ch ho=c tΜ 1 chân linh ki9n thì máy sΕ quy;t +Γnh là ta +ang vΕ + 0ng
m)ch. Các tr 0ng h∆p còn l)i là ta +ang vΕ + 0ng bus.

v ,Φng BUS: ta ch4n nút Bus., click vào vùng tr<ng cΚn vΕ, kéo chu3t +? vΕ
nên các + 0ng thΣng, mu<n rΕ h !ng, ta click +? xác +Γnh +i?m quΤo. Double click
+? k;t thúc vΕ + 0ng Bus.

v ,Φng m ch: ta click vΓ trí bΑt +Κu vΕ tΜ chân linh ki9n ho=c tΜ 1 + 0ng
m)ch có sΥn.
15. T−o i m n=i dây.
∗? t)o +i?m n<i dây, ta ch4n công c, Junction Dot. ( ) Ι trên thanh công c,. Sau +ó
click vào n∀i giao nhau giΦa các + 0ng dây mà ta mu<n +=t +? t)o +i?m n<i.
Chú ý:
Dù các

ng dây c t nhau nh

%
ng không có

i
+
m n
Χ
i thì ph
?
n m
2
m v
Ε
n xem nh
%

các dây này không n
Χ
i v
.
i nhau.
16. t tên cho ,Φng dây.
Các + 0ng m)ch có cùng tên trong b.ng vΕ m)ch sΕ + ∆c n<i l)i v!i nhau dù chúng
có hay không có n<i trên b.ng vΕ. Cách này sΕ làm b.ng vΕ m)ch g4n gàng và dς +4c
h∀n. ∗? +=t tên + 0ng m)ch, ta ch4n công c, Wire label (
) trên thanh công c, rΟi click
vào + 0ng dây mu<n +=t tên, ta nh5p tên + 0ng m)ch trong ô string c≅a c2a sΛ Edit wire
label.
17. Máy phát (generators) dùng cho mô ph ng.
H ng d n mô ph ng dùng ISIS Protues 22/06/2007

Biên so)n: Phan ∗ình Trung Trang 5/18
Protues s2 d,ng m3t s< nguΟn +i9n AC, DC và nguΟn tín hi9u .o nh nguΟn Sin,
nguΟn xung vuông, nguΟn âm thanh, nguΟn xung clock… các nguΟn .o này chúng ta có
th? l/y ra s2 d,ng Ι nút generator (
) ho=c virtual instruments ( ).
18. D ng cΓ o c /o.
Bên c)nh các máy phát .o, protues cϑng cung c/p cho ng 0i s2 d,ng m3t công c, +o
.o nh Volt k; AC/DC, ampere k; AC/DC, các công c, phân tích phΛ, phân tích nhiςu,
phân tích tín hi9u hΩn h∆p DC và AC,… các b3 công c, +o .o này chúng ta có th? l/y ra
Ι các nút công c, Simulation Graph (
), Voltage Probe ( ), Current Probe ( ), Virtual
instruments (
).
19. Ch y, t−m dΙng và ng ng ch−y mô ph ng.
Chúng ta có th? cho phép bΑt +Κu mô ph∋ng m)ch nh sau:
a) Ch
y mô ph ng:
 click lên nút (
) ho=c
 ch4n menu Debug  Execute ho=c
 nh/n nút F12 trên bàn phím.
Ta cϑng có th? cho m)ch ch)y mô ph∋ng:
• liên t,c bΡng cách ch4n Debug  Execute without breakpoints ho=c nh/n
phím Alt+ ho=c
• +;n m3t th0i +i?m +Γnh tr !c bΡng cách ch4n Debug  Execute for Specified
time.
b) T
m dΙng mô ph ng:
 click lên nút (
) ho=c

 ch4n menu Debug  Pause Animation.
c) DΙ
ng mô ph ng:
 click lên nút (
) ho=c
 ch4n menu Debug  Stop Animation.
d) M
t s= ch>c nΧng khác:
B

qua vi
,
c th c hi
,
n m
1
t

o
Φ
n ch
%/
ng trình
§ ch4n Debug  Step Over ho=c
§ nh/n nút F10 trên bàn phím.
B
%.
c vào th c hi
,
n ch

%/
ng trình con
§ ch4n Debug  Step Into ho=c
§ nh/n nút F11 trên bàn phím.
B
%.
c ra kh

i ch
%/
ng trình con

ang th c hi
,
n
H ng d n mô ph ng dùng ISIS Protues 22/06/2007
Biên so)n: Phan ∗ình Trung Trang 6/18
§ ch4n Debug  Step Out ho=c
§ nh/n nút Ctrl+F11 trên bàn phím.
nh

y
−&
n th c hi
,
n ch
%/
ng trình m t v
=
trí

−%Β
c ch
−=
nh
§ ch4n Debug  Step to ho=c
§ nh/n nút Ctrl+F10 trên bàn phím.

H ng d n mô ph ng dùng ISIS Protues 22/06/2007
Biên so)n: Phan ∗ình Trung Trang 7/18
H NG D N BIÊN D CH CH NG TRÌNH CHO H 8051
A. Biên d ch b ng công cΓ DOS.
Tr c khi biên dΓch bΡng công c, DOS, ch ∀ng trình vi +i7u khi?n ph.i + ∆c vi;t tr !c
dùng các phΚn m7m so)n th.o trong Win nh Notepad, Winword,… và l u Ι các +Γnh
d)ng text thông d,ng nh *.txt, *.a51, *.asm,… v!i phΚn tên file nên có +3 dài không quá
8 ký t: và l u file càng gΚn th m,c g<c càng t<t. file ch ∀ng trình nên nΡm cùng th
m,c v!i ch ∀ng trình biên dΓch. T<t nh/t chúng ta nên s2 d,ng Notepad +? so)n th.o.
∗? biên dΓch trong DOS, ta dùng 2 ch ∀ng trình:
 ASM51.EXE +? biên dΓch ch ∀ng trình sang d)ng file object (*.OBJ).
 OH.EXE +? th:c hi9n chuy?n các file object thành các file HEX (*.HEX) cho
ch ∀ng trình n)p vi +i7u khi?n có th? +4c + ∆c. M3t s< ch ∀ng trình n)p vi +i7u
khi?n không có kh. nΞng +4c file HEX, ta ph.i s2 d,ng thêm ch ∀ng trình
HEX2BIN.EXE +? chuy?n file HEX trên v7 d)ng file BIN tr !c khi n)p.
∗? biên dΓch ch ∀ng trình, ta th:c hi9n nh sau:
 nh/n Start  Programs  Accessories  Command Prompt +? mΙ c2a sΛ DOS
ho=c
 nh/n Start  Run… rΟi gõ l9nh cmd +? mΙ c2a sΛ DOS.
Trong c2a sΛ DOS, ta dùng các l9nh chuy?n Λ +Ψa và l9nh chuy?n th m,c +? di
chuy?n +;n th m,c có ch6a ch ∀ng trình biên dΓch. Nh trong ví d, là th m,c C:\ASM.

Gõ l9nh dΓch ch ∀ng trình sang file Object:

ASM51 <tên file ch ∀ng trình>
Chú ý: tên file ch
%/
ng trình ph.i Ι d)ng 8.3 c≅a DOS.
Ví d,, +? dΓch ch ∀ng trình TEST.TXT sang d)ng OBJ ta +ánh l9nh nh sau
ASM51 TEST.TXT

Trên màn hình sΕ thông báo cho ta bi;t là ch ∀ng trình có bΓ lΩi hay không. N;u có lΩi,
ta mΙ file *.LST +? xem báo lΩi và quay l)i ch ∀ng trình ban +Κu +? s2a (nh ví d, là file
H ng d n mô ph ng dùng ISIS Protues 22/06/2007
Biên so)n: Phan ∗ình Trung Trang 8/18
TEST.LST). N;u ch ∀ng trình không lΩi, ta ti;p t,c biên dΓch tΜ file Obj sang file HEX
bΡng cách gõ l9nh:
OH <tên file v2
i ph n m r;ng .OBJ>
Ví d,:

Bây gi0 ta có th? s2 d,ng m3t ch ∀ng trình +i kèm m)ch n)p +? n)p cho vi +i7u
khi?n.
B. Biên d ch b ng công cΓ WIN.
Có r/t nhi7u công c, biên dΓch trong Win nh 8051IDE (free trial download at
www.acebus.com/win8051.htm ), M-IDE51 (free download at
www.opcube.com/home.html ), Keil (www.Keil.com ),… trong +ó M-IDE51 là công c, s2
d,ng miςn phí. Các công c, này cho phép chúng ta so)n th.o ch ∀ng trình ngay trong
phΚn m7m mà không cΚn các phΚn m7m so)n th.o khác. Ngoài ra, các phΚn m7m này
còn có th? biên dΓch các ch ∀ng trình vi;t bΡng ngôn ngΦ ANSI C.
Sau khi cài +=t ch ∀ng trình, ta click vào bi?u t ∆ng trên desktop ho=c ch4n
Start  programs  MIDE-51 package  MIDE-51 +? ch)y ch ∀ng trình. Giao di9n
ch ∀ng trình có d)ng












Khu v c vi t ch,+ng trình
N i báo l i ch ng trình
Nút biên d ch ch,+ng trình
th> t dòng trong
ch,+
ng trình
H ng d n mô ph ng dùng ISIS Protues 22/06/2007
Biên so)n: Phan ∗ình Trung Trang 9/18
Ch ∀ng trình này chΒ ch/p nh5n nhΦng ch ∀ng trình + ∆c l u v!i phΚn mΙ r3ng + ∆c
hΩ tr∆ nh .ASM, .A51, .X51…. Do +ó khi s2 d,ng, ta ph

i l
%
u tr
%.
c các file trên v
.
i

úng

ph
?
n m
Γ
r
1
ng
−%Β
c h
ϑ
tr
Β
ngay khi v
Κ
a t
Φ
o m
.
i vùng v
;
n b

n.
Chúng ta nên xem thêm h !ng d#n s2 d,ng phΚn m7m này trong m,c Help c≅a phΚn
m7m.
C. M t s l i biên d ch th,Φng g p
Sau +ây là m3t s< lΩi biên dΓch th 0ng mΑc ph.i khi vi;t ch ∀ng trình.
1. text found beyond END statement – có các ký t: d phía sau l9nh END  xóa h;t
t/t c. các ký t: phía sau chΦ D c≅a l9nh END k? c. các ký t: kho.ng trΑng và ký
t: xu<ng dòng.

2. undefined symbol – lΩi ch a khai báo nhãn/ ký hi9u +ang s2 d,ng ho=c thi;u s< 0
tr !c khai báo s< hex  khai báo nhãn ho=c ký hi9u +ang dùng ho=c xem l)i có
+ánh sai chính t. so v!i khai báo hay không, xem có thi;u s< 0 trong khai báo s<
hex hay không.
3. no END statement found – thi;u l9nh END cu<i ch ∀ng trình  thêm END cu<i
ch ∀ng trình.
4. illegal statement syntax – lΩi sai cú pháp  xem l)i t5p l9nh cho câu l9nh t ∀ng
6ng +ang s2 d,ng.
5. illegal operand – lΩi sai vΓ trí ho=c sai ki?u toán h)ng  xem l)i t5p l9nh cho câu
l9nh t ∀ng 6ng +ang s2 d,ng.



H ng d n mô ph ng dùng ISIS Protues 22/06/2007
Biên so n: Phan ∗ình Trung Trang 10/18
P2.7
P2.6
P2.5
P2.4
P2.3
P2.2
P2.1
P2.0
P 2 . 0
P 2 . 7
P 2 . 1
P 2 . 2
P 2 . 3
P 2 . 4
P 2 . 5

P 2 . 6
XTAL2
18
XTAL1
19
ALE
30
EA
31
PSEN
29
RST
9
P0.0/AD0
39
P0.1/AD1
38
P0.2/AD2
37
P0.3/AD3
36
P0.4/AD4
35
P0.5/AD5
34
P0.6/AD6
33
P0.7/AD7
32
P1.0

1
P1.1
2
P1.2
3
P1.3
4
P1.4
5
P1.5
6
P1.6
7
P1.7
8
P3.0/RXD
10
P3.1/TXD
11
P3.2/INT0
12
P3.3/INT1
13
P3.4/T0
14
P3.7/RD
17
P3.6/WR
16
P3.5/T1

15
P2.7/A15
28
P2.0/A8
21
P2.1/A9
22
P2.2/A10
23
P2.3/A11
24
P2.4/A12
25
P2.5/A13
26
P2.6/A14
27
U1
AT89C51
X2
CRYSTAL
C1
33p
C2
33p
R1
360R
R2
360R
R3

360R
R4
360R
R5
360R
R6
360R
R7
360R
R8
360R
R9
360R
R10
360R
R11
360R
R12
360R
R13
360R
R14
360R
R15
360R
R16
360R
R17
360R
R18

360R
R19
360R
R20
360R
R21
360R
R22
360R
R23
360R
R24
360R
D1
LED-BLUE
D2
LED-GREEN
D3
LED-RED
D4
LED-YELLOW
D5
LED-BLUE
D6
LED-GREEN
D7
LED-RED
D8
LED-YELLOW
D9

LED-BLUE
D10
LED-GREEN
D11
LED-RED
D12
LED-YELLOW
D13
LED-BLUE
D14
LED-GREEN
D15
LED-RED
D16
LED-YELLOW
D17
LED-BLUE
D18
LED-GREEN
D19
LED-RED
D20
LED-YELLOW
D21
LED-BLUE
D22
LED-GREEN
D23
LED-RED
D24

LED-YELLOW
+5V
+5V
H NG D N DÙNG ISIS PROTUES MÔ PH NG
BÀI 1 – GIAO TI P V I LED
A. Giao ti p v i LED n.
M ch ∀ng trình ISIS và l/y các linh ki9n trong danh sách nh hình
bên và th:c hi9n vΕ m)ch nh sau.































H ng d n mô ph ng dùng ISIS Protues 22/06/2007
Biên so)n: Phan ∗ình Trung Trang 11/18
M c2a sΛ ch ∀ng trình MIDE–51 và nh5p +o)n ch ∀ng trình sau:
MAIN:
MOV P3,#00000001B
JMP MAIN
END
Biên dΓch ch ∀ng trình sang file HEX và mΙ c2a sΛ ISIS +? n)p ch ∀ng trình trên cho
AT89C51 nh sau:
§ Ch4n
và click lên linh ki9n AT89C51.
§ ch4n
và ch4n file HEX vΜa dΓch Ι trên, nh/n OK.

§ nh/n nút
+? th:c hi9n mô ph∋ng.
Nhi m vΓ.
§ Quan sát hi9n t ∆ng xu/t hi9n trên m)ch khi ch)y mô ph∋ng.
§ N;u thay Port 3 trong ch ∀ng trình bΡng Port 2, quan sát hi9n t ∆ng x.y ra trên
các led n<i vào Port 2.
§ N;u thay Port 3 trong ch ∀ng trình bΡng Port 0, quan sát hi9n t ∆ng x.y ra trên
các led n<i vào Port 0. Hãy cho bi;t t)i sao v!i cùng cách mΑc led nh Port 3

nh ng Ι Port 0 led có hi9n t ∆ng nh v5y? Hãy +7 xu/t bi9n pháp khΑc ph,c.
G i ý: xem +=c tính c/u t)o c≅a chân Port 0.
§ Hãy rút ra k;t lu5n, cách mΑc led nh Ι Port 3 và Port 2 là ki?u nào sau +ây: CA
(Common Anode – Anode chung), CC (Common Cathode – Cathode chung). V!i
tΜng ki?u mΑc +ó, hãy cho bi;t mu<n 1 led nào +ó sáng thì chân +i7u khi?n t ∀ng
6ng ph.i Ι m6c m/y (0 hay 1)? N;u mu<n tΑt thì sao?
Bài t p.
Vi;t các +o)n ch ∀ng trình th:c hi9n các yêu cΚu sau:
1) Các led n<i vào Port 3 sáng dΚn rΟi tΑt dΚn và l=p l)i liên t,c.
2) Các led n<i vào Port 2 có 1 led sáng ch)y tΜ trái qua ph.i rΟi tΜ ph.i qua trái và l=p
l)i liên t,c.
H ng d n mô ph ng dùng ISIS Protues 22/06/2007
Biên so)n: Phan ∗ình Trung Trang 12/18
Hãy chèn thêm m t câu l nh g i ch ∀ng trình con delay1s (ph.i vi;t khai báo ch ∀ng
trình con delay1s) sau mΩi lΚn xu/t dΦ li9u ra Port.
Hãy quan sát hi9n t ∆ng trên m)ch khi có và không có chèn câu l9nh g4i delay1s Ι
trên.
G i ý ch,+ng trình con delay1s:
DELAY1S:
PUSH ACC
MOV TMOD,#01H
MOV A,#20
LOOP:
MOV TH0,#HIGH(–50000)
MOV TL0,#LOW(–50000)
SETB TR0
JNB TF0,$
CLR TR0
CLR TF0
DJNZ ACC,LOOP

POP ACC
RET
G i ý bài t p 2 – ta có th? s2 d,ng l9nh quay trái/ theo l u +Ο +7 nghΓ nh sau:








H ng d n mô ph ng dùng ISIS Protues 22/06/2007
Biên so)n: Phan ∗ình Trung Trang 13/18
B. Giao ti p v2i LED b y o n.
Th c hi9n vΕ m)ch sau v i danh sách linh ki9n nh hình bên




LED23
LED10
LED11
LED12
LED13
LED20
LED21
LED22
LED
LED
LED13

LED10
LED11
LED12
LED23
LED20
LED21
LED22
XTAL2
18
XTAL1
19
ALE
30
EA
31
PSEN
29
RST
9
P0.0/AD0
39
P0.1/AD1
38
P0.2/AD2
37
P0.3/AD3
36
P0.4/AD4
35
P0.5/AD5

34
P0.6/AD6
33
P0.7/AD7
32
P1.0
1
P1.1
2
P1.2
3
P1.3
4
P1.4
5
P1.5
6
P1.6
7
P1.7
8
P3.0/RXD
10
P3.1/TXD
11
P3.2/INT0
12
P3.3/INT1
13
P3.4/T0

14
P3.7/RD
17
P3.6/WR
16
P3.5/T1
15
P2.7/A15
28
P2.0/A8
21
P2.1/A9
22
P2.2/A10
23
P2.3/A11
24
P2.4/A12
25
P2.5/A13
26
P2.6/A14
27
U1
AT89C51
X1
CRYSTAL
C1
33p
C2

33p
R1
330R
R2
330R
R3
330R
R4
330R
R5
330R
R6
330R
R7
330R
R8
330R
R9
330R
R10
330R
R11
330R
R12
330R
R13
330R
R14
330R
R15

330R
R16
330R
R17
330R
R18
330R
R19
330R
R20
330R
R21
330R
R22
330R
R23
330R
R24
330R
+5V
D1
LED-YELLOW
D2
LED-YELLOW
D3
LED-YELLOW
D4
LED-YELLOW
D5
LED-YELLOW

D6
LED-YELLOW
D7
LED-YELLOW
D8
LED-YELLOW
+5V
Q1
PNP
R25
1k
+5V
A
7
QA
13
B
1
QB
12
C
2
QC
11
D
6
QD
10
BI/RBO
4

QE
9
RBI
5
QF
15
LT
3
QG
14
U4
7447
+5V
R26
330R
R27
330R
R28
330R
R29
330R
R30
330R
R31
330R
R32
330R
+5V
A
7

QA
13
B
1
QB
12
C
2
QC
11
D
6
QD
10
BI/RBO
4
QE
9
RBI
5
QF
15
LT
3
QG
14
U2
7447
+5V
R33

330R
R34
330R
R35
330R
R36
330R
R37
330R
R38
330R
R39
330R
+5V










H ng d n mô ph ng dùng ISIS Protues 22/06/2007
Biên so)n: Phan ∗ình Trung Trang 14/18
MΙ c2a sΛ MIDE–51 và nh5p +o)n ch ∀ng trình sau rΟi th:c hi9n ch)y mô ph∋ng
m)ch dùng ISIS.
MAIN:
MOV P1, #25H

MOV P0, #0AAH
MOV P3, #00010010B
JMP $
END
Nhi m vΓ.
§ Quan sát hi9n t ∆ng xu/t hi9n trên m)ch khi ch)y mô ph∋ng.
§ Hãy gi.i thích t)i sao các led +∀n n<i vào Port 0 không sáng  +7 xu/t cách khΑc
ph,c bΡng cách vi;t l)i ch ∀ng trình trên.
G i ý: quan sát/ +o +)c xem Transistor +ã d#n ch a? n;u ch a thì ph.i kích nh
th; nào +? transistor d#n + ∆c.
§ Hãy cho bi;t ph ∀ng th6c gi.i mã led 7 +o)n c≅a led 7 +o)n mΑc vào port 3 và 2
led 7 +o)n mΑc vào U2 và U4 là gi.i mã c6ng hay gi.i mã m7m. N;u ta thay 25H
trong ch ∀ng trình bΡng 25 thì +i7u gì x.y ra.
§ Hãy quan sát cách xu/t m3t s< c, th? lên các led 7 +o)n trong m)ch.
Bài t p.
Vi;t các +o)n ch ∀ng trình th:c hi9n các yêu cΚu sau:
1) Hãy vi;t ch ∀ng trình th:c hi9n +;m lên tΜ 0  9 trên led 7 +o)n Ι port 3 và l=p l)i
liên t,c.
2) Hãy vi;t ch ∀ng trình th:c hi9n +;m xu<ng tΜ 9  0 trên led 7 +o)n Ι port 3 và
l=p l)i liên t,c.
3) Hãy vi;t ch ∀ng trình th:c hi9n +;m lên tΜ 00  99 trên 2 led 7 +o)n Ι port 1 và
l=p l)i liên t,c.
4) Hãy vi;t ch ∀ng trình th:c hi9n +;m xu<ng tΜ 99  00 trên 2 led 7 +o)n Ι port 1
và l=p l)i liên t,c.
5) Hãy vi;t ch ∀ng trình th:c hi9n +;m lên trên 2 led 7 +o)n Ι port 1 tΜ 00 +;n m3t
s< +=t tr !c (ví d,: 56) thì ch!p các led +∀n Ι port 0.



H ng d n mô ph ng dùng ISIS Protues 22/06/2007

Biên so)n: Phan ∗ình Trung Trang 15/18
BÀI 2 – GIAO TI P V I BÀN PHÍM HEXA
Th:c hi9n vΕ m)ch sau v i danh sách linh ki9n cho Ι danh sách bên


























MΙ c2a sΛ ch ∀ng trình MIDE–51 và nh5p +o)n l9nh sau rΟi th:c hi9n mô ph∋ng

dùng ISIS ( ta ch4n nút component +? có th? tác +3ng lên các nút khi th:c hi9n mô ph∋ng
trong ISIS)
MAIN:
CALL GET_KEY
JNC MAIN
MOV P2,A


H ng d n mô ph ng dùng ISIS Protues 22/06/2007
Biên so)n: Phan ∗ình Trung Trang 16/18
JMP MAIN
GET_KEY:
;xem phần gợi ý chương trình con get_key ở dưới
RET
END
G i ý Ch,+ng trình con quét phím:
∗ây là g i ý v ch ∀ng trình con quét phím không ch<ng rung.
N;u k;t thúc ch ∀ng trình con mà C = 0  không có phím nh/n, ng ∆c l)i n;u C=1
 có phím nh/n và giá trΓ phím nh/n nΡm trong thanh ghi A
GET_KEY:
PUSH 05H ; STORE REGISTERS
PUSH 06H
PUSH 07H

MOV A,#0FEH ; START WITH COLUMN 0
MOV R6,#4 ; USE R6 AS COUNTER
TEST:
MOV P1,A ; ACTIVE COLUMN LINE
MOV R7,A ; SAVE ACC
MOV A,P1 ; READ BACK PORT 0

ANL A,#0F0H ; ISOLATE ROW LINES
CJNE A,#0F0H,KEY_HIT ; ROW LINE ACTIVE?
MOV A,R7 ; NO  MOVE TO NEXT
RL A ; COLUMN LINE
DJNZ R6,TEST
CLR C ; NO KEYPRESSED
SJMP EXIT ; EXIT WITH C = 0
KEY_HIT:
MOV R7,A ; SAVE IN R6
MOV A,#4 ; PREPAIR FOR CALCULATE
CLR C ; COLUMN WEIGHTING
SUBB A,R6 ; 4 – R6 = WEIGHTING
MOV R6,A ; SAVE IN R6
MOV A,R7 ; RESTORE SCAN CODE
SWAP A ; PUT IN LOW NIBBLE
MOV R5,#4 ; USE R5 AS COUNTER
AGAIN:
RRC A ; ROTATE UNTIL 0
JNC DONE ; DONE WITH C = 0
INC R6 ; ADD 4 UNTIL ACTIVE ROW
INC R6
INC R6
INC R6
DJNZ R5,AGAIN
DONE:
SETB C ; C=1 IF KEYPRESSED
MOV A,R6 ; CODE IN A
EXIT:

POP 07H ; RESTORE REGISTER

POP 06H
H ng d n mô ph ng dùng ISIS Protues 22/06/2007
Biên so)n: Phan ∗ình Trung Trang 17/18
POP 05H
RET
Gi ý Ch,+ng trình con quét phím có ch=ng rung:
∗ây là g∆i ý v7 ch ∀ng trình con quét phím có ch<ng rung, n;u có phím nh/n, giá trΓ
phím nh/n sΕ c/t trong stack, +;n khi phím + ∆c nh., giá trΓ phím nh/n + ∆c tr. v7 trong
thanh ghi A. Khi s2 d,ng +o)n ch ∀ng trình này, ta không cΚn xét +;n c0 C nΦa vì
ch ∀ng trình chΒ thoát ra khi nh. phím và giá trΓ phím nh/n tr. v7 trong thanh ghi A.
DEBOUNCED:
MOV R3,#50 ; debounce count
BACK:
CALL GET_KEY ; key pressed?
JNC DEBOUNCED ; no: check again
DJNZ R3,BACK ; yes: repeat checking 50 times
PUSH ACC ; store key code in stack
BACK2:
MOV R3,#50 ; wait gor key up
BACK3:
CALL GET_KEY ; key pressed?
JC BACK2 ; yes: keep checking
DJNZ R3,BACK3 ; no: repeat checking 50 times
POP ACC ; restore key code
RET
Nhi m vΓ.
§ Dùng chu3t nh/n giΦ m3t nút trên bàn phím, quan sát xem led có hi9n s< không?
Cho bi;t giá trΓ mà phím nh/n +ó tr. v7 trong thanh ghi A.
§ N;u b∋ l9nh JNC MAIN thì +i7u gì x.y ra?
§ N;u +.o th6 t: dây n<i c3t trong m)ch, +i7u gì x.y ra khi mô ph∋ng.

§ N;u +.o th6 t: dây n<i hàng trong m)ch, +ìêu gì x.y ra khi mô ph∋ng.
§ Thay +o)n ch ∀ng trình chính trên bΡng +o)n ch ∀ng trình sau rΟi th:c hi9n l)i
các b !c trên.
MAIN:
CALL DEBOUNCED
MOV P2,A
JMP MAIN
GET_KEY:
;xem phần gợi ý chương trình con get_key ở trên
RET

DEBOUNCED:
;xem phần gợi ý chương trình con debounced ở trên
RET

END
Bài t p.
Hãy vi;t ch ∀ng trình th:c hi9n các yêu cΚu sau:
H ng d n mô ph ng dùng ISIS Protues 22/06/2007
Biên so)n: Phan ∗ình Trung Trang 18/18
1) Nh5p m3t s< tΜ bàn phím và hi?n thΓ s< +ó ra led Ι Port 3 (g∆i ý: dùng thêm MOVC).
2) Nh5p m3t s< tΜ bàn phím và th:c hi9n vi9c +;m lên trên led Ι port 2 tΜ 0 +;n s< vΜa
nh5p.
3) vi;t ch ∀ng trình chuy?n +Λi b< trí bàn phím hexa chuΖn v7 d)ng b< trí phím nh
trong s∀ +Ο m)ch.
VΕ thêm m3t m)ch gi.i mã c6ng led n<i vào nibble cao c≅a port 2, vi;t ch ∀ng trình
th:c hi9n yêu cΚu sau:
4) Khi ta nh/n phím X, giá trΓ phím X sΕ hi9n lên led Ι nibble th/p. n;u nh/n ti;p phím
Y thì giá trΓ phím X sΕ hi9n lên led Ι nibble cao và giá trΓ phím Y sΕ hi9n lên led Ι
nibble th/p (

g∆i ý: dùng thêm SWAP).
5) vi;t ti;p ch ∀ng trình Ι bài 4 trên sao cho khi nh/n phím >9 thì th:c hi9n vi9c +;m
lên tΜ 00 +;n 2 s< vΜa nh5p Ι trên.
















×