Tài liu thc hành Vi điu khin
Phm Hùng Kim Khánh Trang 9
BÀI 2: CÁC LNH CƠ BN CA 89C51
MC ĐÍCH
Giúp sinh viên kho sát các vn đề sau:
- S dng phn mm Proteus để mô phng mch đin.
- Thc hin mô phng mt s lnh ca 89C51.
THIT B S DNG
- Máy vi tính.
- Phn mm Proteus
1. Cơ s lý thuyết
Mô phng 89C51
Để thc hin quá trình mô phng 89C51 trong Proteus, ta cn thc hin
các bước sau:
- Bước 1: V mch nguyên lý.
- Bước 2: Định nghĩa chương trình dch
Chn menu Source > Define Code Generation Tools
Sau đó thc hin chn chương trình dch mong mun. đây ta thc hin
mô phng cho 89C51 nên chn chương trình ASEM51.
Tài liu thc hành Vi điu khin
Phm Hùng Kim Khánh Trang 10
Phn Tools: chn ASEM51, phn Command Line: gõ vào %1.
- Bước 3: Định nghĩa file chương trình cho 89C51.
Chn menu Source > Add/Remove Source File
Chn phn Code Generation ToolASEM51.
Do chưa có chương trình cho 89C51, ta nhn vào nút New để to file.
Trong phn File name, ta gõ vào tên chương trình (gi s gõ vào bai2).
To file
mi
Tài liu thc hành Vi điu khin
Phm Hùng Kim Khánh Trang 11
Nếu chưa có file bai2.ASM, Proteus s xut hin thông báo yêu cu to
file, nhn Yes để to:
Sao khi to file thành công, trên menu Source s xut hin thêm file
bai2.ASM.
- Bước 4: Định nghĩa file thc thi cho 89C51
Chn file bai2.ASM để son tho chương trình ngun, nhp vào END
nhn nút Save.
Sau khi lưu file ngun, ta thc hin dch chương trình ngun.
Nhn Save
để lưu
Tài liu thc hành Vi điu khin
Phm Hùng Kim Khánh Trang 12
Khi biên dch, nếu có li, chương trình dch s thông báo li, nếu không
thì s to ra file bai2.HEX.
Thc hin gán file thc thi cho 89C51 bng cách nhn chut phi lên
89C51 để chn (89C51 s chuyn sang màu đỏ) ri nhn chut trái để m ca s
thuc tính ca 89C51.
Nhn vào nút Browse (hình v trên) để m chương trình thc thi, chn
chương trình là bai2.HEX
Thông báo chương
trình không có li
Nút Browse:
M chương
trình thc thi
Tài liu thc hành Vi điu khin
Phm Hùng Kim Khánh Trang 13
Nhn nút Open để m file, khi đó trong thuc tính Program File ca
89C51 s có tên chương trình là bai2.HEX.
Sau khi gán file thc thi cho 89C51, ta ch cn thc hin sa chương trình
ngun và biên dch li mà không cn gán li file thc thi.
Các lnh cơ bn
- Lnh MOV: di chuyn d liu
VD: MOV A,30h ; chuyn ni dung ca ô nh 30h vào thanh ghi A
MOV A,#30h ; chuyn giá tr 30h vào thanh ghi A
MOV A,R0 ; chuyn ni dung ca thanh ghi R0 vào thanh ghi A
MOV A,@R0 ; chuyn ni dung ca ô nh vào thanh ghi A, địa ch
ca ô nh cha trong thanh ghi R0 (nếu R0 = 30h
thì lnh này tương đương lnh MOV A,30h)
- Lnh INC: tăng giá tr lên 1
- Lnh DEC: gim giá tr xung 1
- Lnh SJMP: lnh nhy không điu kin