Chọn: Menu File Save Design hoặc Menu File Save Design As… lưu bản vẽ này với một tên khác hoặc Click lên hoặc nhấn S khi hộp thoại Save ISIS Design file bật lên, nhập tên file vào ô fil
Trang 1H 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ười sử dụng nhanh chóng
sử dụng Protues như một công cụ mô phỏng, học tập và nghiên cứu khi điều kiện thực hiện mạch thực tế còn thiếu thốn, hạn chế hoặc kiểm chứng các hoạt động của mạch nguyên lý trước khi thực hiện 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 chứ 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 việc thực hiện mạch thực tế
Double click vào icon để mở chương trình ISIS Protues hoặc
ta cũng có thể chọn:
Start Programs Protues 6 professional ISIS 6 professional
Chọn:
Menu File New Design… hoặc
Click lên
3 L u bản vẽ
Chọn:
Menu File Save Design hoặc
Menu File Save Design As… (lưu bản vẽ này với một tên khác) hoặc
Click lên hoặc
nhấn S
khi hộp thoại Save ISIS Design file bật lên, nhập tên file vào ô file name và click chọn
nút Save để lưu lại
4 M bản vẽđã lưu
Chọn:
Menu File Load Design… hoặc
Click lên hoặc
nhấn L
khi hộp thoại Load ISIS Design file bật lên, tìm kiếm file cần mở trong vùng Look in và cửa sổ file, nhấn nút Open để mở bản vẽ đã lưu
Trang 25 t kích th c cho trang gi y vẽ
Chọn System Set sheet sizes…
Chọn khổ giấy từ A0 A4 trong hộp thoại Sheet Size Configuration hoặc người sử dụng có thể tự nhập kích cỡ giấy cho riêng mình ở phần lựa chọn User
Lấy linh kiện đặt lên bản vẽ:
Chọn menu Library Pick device/symbol…hoặc
click vào biểu tượng hoặc
click vào chữ P trên
Trong cửa sổ Pick Devices, ta đánh tên linh kiện 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 kiện 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
kiện trong bản vẽ nguyên lý và bản vẽ mạch in
Click chọn tên linh kiện trong khung Results rồi chọn nút OK Tên linh kiện đã chọn
sẽ xuất hiện ở khung DEVICES
Click chọn tên linh kiện 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 kiện, linh kiện sẽ xuất hiện 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ấy một lúc nhiều linh kiện khác nhau nhanh
hơn
Click phải lên linh kiện cần xóa:
click phải lần thứ 2, hoặc
nhấn nút Delete trên bàn phím, hoặc
chọn menu Edit Cut to clipboard hoặc
chọn nút hoặc
chọn nút
Click phải lên linh kiện cần di chuyển Nhấn và giữ chuột trái trên linh kiện, rê đến nơi cần đặt, thả chuột trái, linh kiện sẽ xuất hiện tại vị trí mới hoặc
chọn , rê chuột đến vị trí mới và click để đặt linh kiện
Trang 39 Sao chép m t linh ki n ã t trên bản vẽ
Click phải lên linh kiện cần chép Chọn , rê chuột đến vị trí mới và click để đặt linh kiện hoặc
nhấn nút , rồi nhấn nút , rê chuột đến vị trí mới và click để đặt linh kiện
Để xoay hoặc vẽ đối xứng linh kiện, ta click phải lên linh kiện cần thực hiện, và click lựa chọn nút tương ứng 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 xứng qua trục dọc, đối xứng qua trục ngang
Chú ý: nếu linh kiện chưa chọn thì thanh tác v này sẽ có màu xanh da tr i
Để chỉnh sửa thông số cho linh kiện hoặc đối tượng, ta click chọn nút instant edit
mode ( ) rồi click vào linh kiện hoặc đối tượng cần chỉnh sửa Khi người sử dụng muốn thực hiện bất kỳ thao tác nào trên linh kiện hay đối tượng trong Protues đều phải click
ph i chọn đối tượng cần thao tác Ta cũng có thể chọn linh kiện bằng chuột phải rồi click trái để chỉnh giá trị của linh kiện
Ta cũng có thể dùng công cụ này để nạp chương trình cho vi điều khiển
Phóng to 1 vùng lựa chọn bằng chuột Zoom to Area
M o:
Ta có thể dùng nút Scroll c a chuộ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ẽ thu nhỏ để chuyển đến vị trí
cần xem
Trang 413 t ngu n và mass cho m ch
Click chọn nút Inter-sheet terminals ( ) trên thanh công cụ, cửa sổ
sẽ mở ra cho phép người dùng lựa chọn loại terminal cần dùng Có hai loại terminal chúng ta có thể sử dụng ở đây là:
GROUND: vẽ ký hiệu mass (ground), cung cấp điện áp 0 V cho mô phỏng mạch
POWER: vẽ ký hiệu nguồn, ta chọn nút instant edit mode ( ) , click lên ký hiệu vừa đặt trên bản vẽ, nhập giá trị nguồn điện 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ụ: 5V
Nút Bus ( ): phần mềm sẽ tự quyết định lúc nào người sử dụng đang muốn vẽ đường bus, hay đang muốn vẽ đường mạch Thông thường, khi đường vẽ bắt đầu từ 1 đường mạch hoặc từ 1 chân linh kiện thì máy sẽ quyết định là ta đang vẽ đường mạch Các trường hợp còn lại là ta đang vẽ đường bus
v ường BUS: ta chọn nút Bus., click vào vùng trống cần vẽ, kéo chuột để vẽ
nên các đường thẳng, muốn rẽ hướng, ta click để xác định điểm quẹo Double click
để kết thúc vẽ đường Bus
v ường m ch: ta click vị trí bắt đầu vẽ từ chân linh kiện hoặc từ 1 đường mạch có sẵn
15 Tạo i m nối dây
Để tạo điểm nối dây, ta chọn công cụ Junction Dot ( ) ở trên thanh công cụ Sau đó click vào nơi giao nhau giữa các đường 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ềm vẫn xem như các dây này không nối với nhau
Các đường 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 gọn gàng và dễ đọc hơn Để đặt tên đường mạch, ta chọn công cụ Wire label ( ) trên thanh công cụ rồi click vào đường dây muốn đặt tên, ta nhập tên đường mạch trong ô string của cửa sổ Edit wire
label
Trang 5Protues sử dụng một số nguồn điện AC, DC và nguồn tín hiệu ả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 sử dụng ở nút generator ( ) hoặc virtual instruments ( )
Bên cạnh các máy phát ảo, protues cũng cung cấp cho người sử dụng một 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 hiệu hỗn hợp DC và AC,… các bộ 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 ( )
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
chọn 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 chọn Debug Execute without breakpoints hoặc nhấn
phím Alt+ hoặc
• đến một thời điểm định trước bằng cách chọn Debug Ú Execute for Specified time
b) T m dừng mô ph ng:
click lên nút ( ) hoặc
chọn menu Debug Ú Pause Animation
c) Dừng mô ph ng:
click lên nút ( ) hoặc
chọn menu Debug Ú Stop Animation
d) M t số chức năng khác:
Bỏ qua việc th c hiện một đoạn chương trình
§ chọn 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
§ chọn 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
Trang 6§ chọn 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
§ chọn Debug Ú Step to hoặc
§ nhấn nút Ctrl+F10 trên bàn phím
Trang 7H NG D N BIÊN D CH CH NG TRÌNH CHO H 8051
Tr c khi biên dịch bằng công cụ DOS, chương trình vi điều khiển phải được viết trước dùng các phần mềm 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ó độ 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 sử 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 hiện chuyển các file object thành các file HEX (*.HEX) cho chương trình nạp vi điều khiển có thể đọc được Một số chương trình nạp vi điều khiển không có khả năng đọc file HEX, ta phải sử dụng thêm chương trình
HEX2BIN.EXE để chuyển file HEX trên về dạng file BIN trước khi nạp
Để biên dịch chương trình, ta thực hiện như sau:
nhấn Start Programs Accessories Command Prompt để mở cửa sổ DOS hoặc
nhấn Start Run… rồi gõ lệnh cmd để mở cửa sổ DOS
Trong cửa sổ DOS, ta dùng các lệnh chuyển ổ đĩa và lệnh chuyển thư mục để di chuyển đến thư mục có chứa chương trình biên dịch Như trong ví dụ là thư mục C:\ASM
Gõ lệnh 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 lệnh 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 để sửa (như ví dụ là file
Trang 8TEST.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õ lệnh:
OH <tên file với ph n m rộng OBJ>
Ví dụ:
Bây giờ ta có thể sử dụng một chương trình đi kèm mạch nạp để nạp cho vi điều khiển
Có rất nhiều 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ụ sử 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 mềm mà không cần các phần mềm soạn thảo khác Ngoài ra, các phần mềm 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 chọn
Start programs MIDE-51 package MIDE-51 để chạy chương trình Giao diện 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
Trang 9Chương trình này chỉ chấp nhận những chương trình được lưu với phần mở rộng được
hỗ trợ như ASM, A51, X51… Do đó khi sử dụng, ta phải lưu trước các file trên với đúng
phần mở rộ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 sử dụng phần mềm này trong mục Help của phần mềm
Sau đây là một số lỗi biên dịch thường 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 lệnh END xóa hết tất cả các ký tự phía sau chữ D của lệnh 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ý hiệu đang sử dụng hoặc thiếu số 0 trước khai báo số hex Ú khai báo nhãn hoặc ký hiệu đ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 lệnh 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 tập lệnh cho câu lệnh tương ứng đang sử dụng
5 illegal operand – lỗi sai vị trí hoặc sai kiểu toán hạng Ú xem lại tập lệnh cho câu lệnh tương ứng đang sử dụng
Trang 10P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0
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
M chương trình ISIS và lấy các linh kiện trong danh sách như hình
bên và thực hiện vẽ mạch như sau
Trang 11M cửa sổ chương trình MIDE–51 và nhập đ ạ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ở cửa sổ ISIS để nạp chương trình trên cho AT89C51 như sau:
§ Chọn và click lên linh kiện AT89C51
§ chọn và chọn file HEX vừa dịch ở trên, nhấn OK
§ nhấn nút để thực hiện mô phỏng
§ Quan sát hiện tượng xuất hiện 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 hiện 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 hiện 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ó hiện tượng như vậy? Hãy đề xuất biện 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 luận, 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 điều khiển tương ứng phải ở mức 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 hiện 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
Trang 12Hã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ữ liệu ra Port
Hãy quan sát hiện tượng trên mạch khi có và không có chèn câu lệnh gọi 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,$
DJNZ ACC,LOOP
RET
G i ý bài t p 2 – ta có thể sử dụng lệnh quay trái/ theo lưu đồ đề nghị như sau:
Trang 13B Giao ti p với LED b y o n
Th c hiện vẽ mạch sau v i danh sách linh kiện 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