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
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
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
−+
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
%
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
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
−%Β
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:
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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.