Học Vi xử lý qua sách vở thật là một nỗi ác mộng của sinh viên. Nếu ta không thể thử nghiệm thực tế trên mạch thì bạn phải tưởng tượng rất nhiều để biết chương trình của mình chạy như thế nào. Nếu chưa đủ tự tin làm mạch thật, bạn hoàn toàn có thể mô phỏng chúng trên máy tính. Dù không thể có được kết quả thực tế nhưng mô phỏng giúp bạn có cái nhìn trực quan hơn về chương trình học của mình.
Bạn chọn linh kiện bằng cách nhấn lần lượt vào các nút Component Mode(1), Pick Devices (2) và đánh tên linh kiện vào ô số (3).
Sau khi chọn được các linh kiện cần thiết bạn nối chúng vào với nhau. Lưu ý 1 điều là chương trình mô phỏng không cần thiết phải nối tất cả các phần mở rộng như trong thực tế. Ví dụ: Bạn không cần lắp mạch phát xung cho vi xử lý mà chỉ cần điều chỉnh tần số xung ở bên trong con vi xử lý bằng cách nhấp đúp vào nó, không cần nối trở thanh, Đèn LED sáng luôn ở ...5V...
Nạp chương trình bằng cách nhấn đúp vào con vi xử lý và chọn đường dẫn đến file hex đã dịch.
Cuối cùng là nhấn nút Run và xem xem cái mạch của mình nó chạy như thế nào.
Mình lấy luôn cái mạch bấm chuông dùng cho chương trình khoa điện tranh tài 2008 làm ví dụ.
Phần mềm mở rộng cho cả 8 nút bấm, 8 đèn. Trong mạch thật thì phải kết hợp Otto quang với Rơle điều khiển đèn và chuông. Bạn nào quan tâm tớ sẽ post cả sơ đồ nguyên lý đầy đủ.
Hồi trước làm thỉnh thoảng có lỗi về nút bấm với chuông. Bây giờ đã phát hiện ra rồi. Đó là xử lý rung cho phím bấm. Thật đơn giản là dùng delay. Có thể có cách khác là nối song song tụ với phím nhưng mà dùng phần mềm cho nó tiết kiệm
Theo phần mềm ở trên. 1 đội bấm đèn sẽ sáng liên tục. Khi nào đội đó nhả phím ra thì đèn tiếp tục sáng trong 1s nữa rồi mới tắt để cho phép nhận tín hiệu bấm từ các đội còn lại.
PS: Lười quên rồi ko viết comment vào phần mềm. Ai thích thì pm tớ sẽ edit bài sau vậy.
Dưới đây up tạm file Proteus cùng phần mềm kèm theo.
Bạn chọn linh kiện bằng cách nhấn lần lượt vào các nút Component Mode(1), Pick Devices (2) và đánh tên linh kiện vào ô số (3).
Sau khi chọn được các linh kiện cần thiết bạn nối chúng vào với nhau. Lưu ý 1 điều là chương trình mô phỏng không cần thiết phải nối tất cả các phần mở rộng như trong thực tế. Ví dụ: Bạn không cần lắp mạch phát xung cho vi xử lý mà chỉ cần điều chỉnh tần số xung ở bên trong con vi xử lý bằng cách nhấp đúp vào nó, không cần nối trở thanh, Đèn LED sáng luôn ở ...5V...
Nạp chương trình bằng cách nhấn đúp vào con vi xử lý và chọn đường dẫn đến file hex đã dịch.
Cuối cùng là nhấn nút Run và xem xem cái mạch của mình nó chạy như thế nào.
Mình lấy luôn cái mạch bấm chuông dùng cho chương trình khoa điện tranh tài 2008 làm ví dụ.
Mã:
ORG 0H
PRES: MOV P2,#0FFH
JNB P1.0,NUT0
JNB P1.1,NUT1
JNB P1.2,NUT2
JNB P1.3,NUT3
JNB P1.4,NUT4
JNB P1.5,NUT5
JNB P1.6,NUT6
JNB P1.7,NUT7
SJMP PRES
NUT0: MOV P2,#11111110B
JNB P1.0,NUT0
ACALL DELAY
SJMP PRES
NUT1: MOV P2,#11111101B
JNB P1.1,NUT1
ACALL DELAY
SJMP PRES
NUT2: MOV P2,#11111011B
JNB P1.2,NUT2
ACALL DELAY
SJMP PRES
NUT3: MOV P2,#11110111B
JNB P1.3,NUT3
ACALL DELAY
SJMP PRES
NUT4: MOV P2,#11101111B
JNB P1.4,NUT4
ACALL DELAY
SJMP PRES
NUT5: MOV P2,#11011111B
JNB P1.5,NUT5
ACALL DELAY
SJMP PRES
NUT6: MOV P2,#10111111B
JNB P1.6,NUT6
ACALL DELAY
SJMP PRES
NUT7: MOV P2,#01111111B
JNB P1.7,NUT7
ACALL DELAY
SJMP PRES
DELAY: MOV R2,#010
LOOP0: MOV R1,#0250
LOOP1: MOV R0,#0200
LOOP2: DJNZ R0,LOOP2
DJNZ R1,LOOP1
DJNZ R2,LOOP0
RET
END
Hồi trước làm thỉnh thoảng có lỗi về nút bấm với chuông. Bây giờ đã phát hiện ra rồi. Đó là xử lý rung cho phím bấm. Thật đơn giản là dùng delay. Có thể có cách khác là nối song song tụ với phím nhưng mà dùng phần mềm cho nó tiết kiệm
Theo phần mềm ở trên. 1 đội bấm đèn sẽ sáng liên tục. Khi nào đội đó nhả phím ra thì đèn tiếp tục sáng trong 1s nữa rồi mới tắt để cho phép nhận tín hiệu bấm từ các đội còn lại.
PS: Lười quên rồi ko viết comment vào phần mềm. Ai thích thì pm tớ sẽ edit bài sau vậy.
Dưới đây up tạm file Proteus cùng phần mềm kèm theo.
-
Download Now
-
Hướng dẫn mô phỏng Vi điều khiển bằng Proteus.txt 0299 bytes · Xem: 66