tập lệnh asm cho 8051

Lập trình ASM cho 8051

Lập trình ASM cho 8051

...   17.DIV A,B 18.RLC Chú giải: Rn: Viết tắt cho các thanh ghi từ R0­R7 DIRECT: địa chỉ của ô nhớ dữ liệu 1.Lấy dữ liệu cất ở DIRECT bỏ vào trong thanh ghi Rn. VD Mov r1,21h 21h là địa chỉ Ram trên Chíp.Địa chỉ thường viết dưới dạng số Hex, chữ h ở sau chỉ số Hex, chữ B  chỉ số nhị phân, không có chữ theo sau là số nguyên.  2.Nhập 1 số nguyên vào địa chỉ mà Rn đang nắm giữ. Vd: mov r0,#21h Mov @R0,#55 2 lệnh trên sẽ nhập số 55 vào địa chỉ 21h, lệnh thay thế 2 lệnh trên: Mov 21h,#55 3.Nhập 1 số nguyên vào Rn Hoặc có thể viết Mov r7,#11111111b. 255 ở hệ thập phân tương đương với 1111111b ở hệ nhị phân 4.Xóa 1 bít, xóa 1 ô nhớ VD1: mov 21h,#11111111b Clr 21h.0 Mov a,21h Với 3 lệnh trên thì thanh ghi A sẽ chứa số 11111110B  Mov R3,#4 Add a,r3 Kết quả: A=4 15. Lệnh trừ 16. nhân 17.chia 18. lệnh quay dịch VD mov r1,#01110011B Setb CF RLC r1  Kết quả: r1=11100111B, CF=0 Nếu thêm 1 lệnh RLC r1 nữa thì  Kq: r1=11001110, CF=1 II: TẬP LỆNH ĐẦY ĐỦ  1. NHÓM LỆNH DI CHUYỂN DỮ LiỆU:  1. Lệnh di chuyển dữ liệu trực tiếp:  ­ Cú pháp: MOV <ĐÍCH>,  Trong đó:  . <ĐÍCH>: có thể là thanh ghi, địa chỉ ô nhớ trong vùng RAM nội  . : có thể là thanh ghi, địa chỉ ô nhớ trong vùng RAM nội hoặc #  ­ Thực hiện: di chuyển nội dung vào <ĐÍCH>  ­ Ví dụ:  MOV A, 120  MOV B, #24  MOV 120,#10110010B  MOV R3, A  MOV P3,#3EH  Lúc này trong thanh ghi r2 sẽ chứa số 2 12. Lệnh giảm 1 đơn vị 13 .Lệnh kiểm tra thanh ghi Rn , nếu khác Data thì rẽ nhánh VD chương trình đếm số người đi qua cổng, đủ 5 người thì đổ chuông, cảm biến gắn vào chân số 1  của chíp Mov r0,#0 Jnb p1.0,tang_so_nguoi Ret Tang_so_nguoi: Inc r0 ;tăng biến đếm lên 1  ĐV  Cjne r0,#5,quaylai ; nếu khác 5 thì quay lại đếm người Call do_chuong ; gọi hàm đổ chuông Quaylai: Ret Do_chuong: Setb p1.1 ; chuông nối với chân số 2 của chíp Ret 14. Lệnh cộng, kết quả lưu vào A VD mov A,#1 2. Nhóm lệnh di chuyển dữ liệu gián tiếp:  a. Liên quan đến vùng nhớ RAM nội:  + Lệnh đọc bộ nhớ:  ­ Cú pháp: MOV <ĐÍCH>, @Rp  Trong đó:  . <ĐÍCH>: thanh ghi, ô nhớ  . Rp: là thanh ghi R0 hoặc R1  ­ Thực hiện: lấy nội dung ô nhớ trong vùng RAM nội có địa chỉ là nội dung thanh ghi Rp đặt vào  <ĐÍCH>  ­ Ví dụ:  MOV 120,#47  MOV R1,#120  MOV A,@R1  ; sau khi thực hiện xong đoạn lệnh nội dung thanh ghi A chứa giá trị 47  + Lệnh ghi bộ nhớ:  ­ Cú pháp: MOV @Rp,  Trong đó:  . : thanh ghi, ô nhớ hoặc #  . Rp: là thanh ghi R0 hoặc R1  ­ Thực hiện: đặt nội dung vào ô nhớ trong vùng RAM nội có địa chỉ là nội dung thanh ghi Rp.  ­ Ví dụ 1:  MOV R0,#100  MOV @R0, #0E3H  ; sau khi thực hiện xong đoạn lệnh nội dung ô nhớ 100 chứa giá trị E3H  ­ Ví dụ 2:  MOV A, #49  MOV R1,#127  MOV @R1, A ; (127) = 49  b. Liên quan đến vùng nhớ dữ liệu ngoài:  + Lệnh đọc bộ nhớ:  ­ Cú pháp: MOVX A, @DPTR  ­ Thực hiện: lấy nội dung ô nhớ trong vùng dữ liệu ngoài có địa chỉ là nội dung thanh ghi DPTR đặt  vào thanh ghi A  ­ Ví dụ:  MOV DPTR,#1000  MOVX A, @DPTR ; A ⇓ ...  A +  VD2.CLR P1.0 lệnh này làm cho điện áp trên chân số 1 của chíp AT89C51 xuống 0 vôn 5.Ngược lại với Clr VD Setb p1.0, kết quả làm điện áp trên chân số 1 lên 5 vôn 6.Quay lại chỗ mà chương trình rẽ nhánh Nếu không gặp các lệnh rẽ nhánh thì chương trình sẽ thực hiện theo thứ tự từ trên xuống dưới. 7.quay lại chỗ mà chương trình bị ngắt VD gia chủ đang kể câu chuyện về đứa con gái của ông ta, tới đoạn “Con tôi khóc nhiều nên mắt đã  bị mù” bỗng chuông điện thoại reo. Sau khi nghe xong điện thoại quay lại câu chuyện, thay vì phải  hỏi “tôi kể tới đâu rồi” RETI là câu trả lời. 8. lệnh nhảy, lệnh rẽ nhánh không điều kiện. lệnh cùng chức năng SJMP 9 .Lệnh kiểm tra 1 bít, Nếu bít đó bằng 1 thì rẽ nhánh VD Jb p0.0,xuong0 Setb p1.0 Xuong0: Clr p1.0 Ret Các lệnh trên sẽ kiểm tra 1 nút nhấn nối Mass, nếu nhấn xuống thì đèn sáng, nếu thả thì đèn tắt 10. Lệnh kiểm tra bít, nếu bít =0 thì rẽ nhánh 11 .Lệnh tăng ô nhớ lên 1 đơn vị VD mov r2,#1 Inc r2 ...   17.DIV A,B 18.RLC Chú giải: Rn: Viết tắt cho các thanh ghi từ R0­R7 DIRECT: địa chỉ của ô nhớ dữ liệu 1.Lấy dữ liệu cất ở DIRECT bỏ vào trong thanh ghi Rn. VD Mov r1,21h 21h là địa chỉ Ram trên Chíp.Địa chỉ thường viết dưới dạng số Hex, chữ h ở sau chỉ số Hex, chữ B  chỉ số nhị phân, không có chữ theo sau là số nguyên.  2.Nhập 1 số nguyên vào địa chỉ mà Rn đang nắm giữ. Vd: mov r0,#21h Mov @R0,#55 2 lệnh trên sẽ nhập số 55 vào địa chỉ 21h, lệnh thay thế 2 lệnh trên: Mov 21h,#55 3.Nhập 1 số nguyên vào Rn Hoặc có thể viết Mov r7,#11111111b. 255 ở hệ thập phân tương đương với 1111111b ở hệ nhị phân 4.Xóa 1 bít, xóa 1 ô nhớ VD1: mov 21h,#11111111b Clr 21h.0 Mov a,21h Với 3 lệnh trên thì thanh ghi A sẽ chứa số 11111110B  Mov R3,#4 Add a,r3 Kết quả: A=4 15. Lệnh trừ 16. nhân 17.chia 18. lệnh quay dịch VD mov r1,#01110011B Setb CF RLC r1  Kết quả: r1=11100111B, CF=0 Nếu thêm 1 lệnh RLC r1 nữa thì  Kq: r1=11001110, CF=1 II: TẬP LỆNH ĐẦY ĐỦ  1. NHÓM LỆNH DI CHUYỂN DỮ LiỆU:  1. Lệnh di chuyển dữ liệu trực tiếp:  ­ Cú pháp: MOV <ĐÍCH>,  Trong đó:  . <ĐÍCH>: có thể là thanh ghi, địa chỉ ô nhớ trong vùng RAM nội  . : có thể là thanh ghi, địa chỉ ô nhớ trong vùng RAM nội hoặc #  ­ Thực hiện: di chuyển nội dung vào <ĐÍCH>  ­ Ví dụ:  MOV A, 120  MOV B, #24  MOV 120,#10110010B  MOV R3, A  MOV P3,#3EH  Lúc này trong thanh ghi r2 sẽ chứa số 2 12. Lệnh giảm 1 đơn vị 13 .Lệnh kiểm tra thanh ghi Rn , nếu khác Data thì rẽ nhánh VD chương trình đếm số người đi qua cổng, đủ 5 người thì đổ chuông, cảm biến gắn vào chân số 1  của chíp Mov r0,#0 Jnb p1.0,tang_so_nguoi Ret Tang_so_nguoi: Inc r0 ;tăng biến đếm lên 1  ĐV  Cjne r0,#5,quaylai ; nếu khác 5 thì quay lại đếm người Call do_chuong ; gọi hàm đổ chuông Quaylai: Ret Do_chuong: Setb p1.1 ; chuông nối với chân số 2 của chíp Ret 14. Lệnh cộng, kết quả lưu vào A VD mov A,#1 2. Nhóm lệnh di chuyển dữ liệu gián tiếp:  a. Liên quan đến vùng nhớ RAM nội:  + Lệnh đọc bộ nhớ:  ­ Cú pháp: MOV <ĐÍCH>, @Rp  Trong đó:  . <ĐÍCH>: thanh ghi, ô nhớ  . Rp: là thanh ghi R0 hoặc R1  ­ Thực hiện: lấy nội dung ô nhớ trong vùng RAM nội có địa chỉ là nội dung thanh ghi Rp đặt vào  <ĐÍCH>  ­ Ví dụ:  MOV 120,#47  MOV R1,#120  MOV A,@R1  ; sau khi thực hiện xong đoạn lệnh nội dung thanh ghi A chứa giá trị 47  + Lệnh ghi bộ nhớ:  ­ Cú pháp: MOV @Rp,  Trong đó:  . : thanh ghi, ô nhớ hoặc #  . Rp: là thanh ghi R0 hoặc R1  ­ Thực hiện: đặt nội dung vào ô nhớ trong vùng RAM nội có địa chỉ là nội dung thanh ghi Rp.  ­ Ví dụ 1:  MOV R0,#100  MOV @R0, #0E3H  ; sau khi thực hiện xong đoạn lệnh nội dung ô nhớ 100 chứa giá trị E3H  ­ Ví dụ 2:  MOV A, #49  MOV R1,#127  MOV @R1, A ; (127) = 49  b. Liên quan đến vùng nhớ dữ liệu ngoài:  + Lệnh đọc bộ nhớ:  ­ Cú pháp: MOVX A, @DPTR  ­ Thực hiện: lấy nội dung ô nhớ trong vùng dữ liệu ngoài có địa chỉ là nội dung thanh ghi DPTR đặt  vào thanh ghi A  ­ Ví dụ:  MOV DPTR,#1000  MOVX A, @DPTR ; A ⇓...

Ngày tải lên: 09/10/2012, 15:59

9 3,2K 104
Tập lệnh của 8051

Tập lệnh của 8051

... tạo thành dạng ñịa chỉ hiệu dụng cho lệnh. • Số byte của lệnh: 1 byte. • Cấu trúc lệnh: • Ví dụ: JMP @A+DPTR ⇒ Lệnh nhảy gián tiếp. Chương 3: Tập lệnh của 8051. Trường ðH Công nghiệp Tp.HCM. ... thi lệnh MOV A, @R0 thì: (A)=40H, (R0)=30H, (30H)=40H Chương 3: Tập lệnh của 8051. Trường ðH Công nghiệp Tp.HCM. Giáo trình Vi xử lý. 84 Biên soạn: Phạm Quang Trí • Ví dụ 3: Cho chuỗi lệnh: ... – 6 (A7) ← (C) (B) ← A0 • Ví dụ: Cho biết trước (A)=C5H và cờ CY=0. Sau khi thực thi lệnh RRC A thì: (A)=62H và cờ CY=1 Chương 3: Tập lệnh của 8051. Trường ðH Công nghiệp Tp.HCM. Giáo...

Ngày tải lên: 16/11/2012, 10:19

80 4,5K 7
GIÁO TRÌNH TẬP LỆNH PLC SIEMENS S7-200

GIÁO TRÌNH TẬP LỆNH PLC SIEMENS S7-200

... nhớ dành cho chúng có hạn). Ví dụ cho các lệnh NOT, P, N: Tập lệnh S7-200 Trang 3 Một số qui định khi tra cứu lệnh và sử dụng lệnh: - Trên cùng là phần tên lệnh hoặc nhóm lệnh. ... Coil 6 1.2.1 Lệnh ra 6 1.2.2 Lệnh ra tức khắc 6 1.2.3 Lệnh Set, Reset 6 1.2.4 Lệnh Set, Reset Immediat 6 1.2.5 Lệnh không làm gì cả 7 2. Lệnh so sánh 8 3. Lệnh chuyển đổi 9 4. Lệnh định thời ... hoàn Tập lệnh S7-200 Trang 28 Tập lệnh S7-200 Trang 2 MỤC LỤC 1. Lệnh logic với bit 4 1.1 Contact 4 1.1.1 Công tắc 4 1.1.2 Công tắc tức khắc 4 1.1.3 Lệnh đảo bit, lệnh...

Ngày tải lên: 17/08/2012, 09:18

38 7,4K 77
Tap lenh su ly chuoi.doc

Tap lenh su ly chuoi.doc

... t=int2str(n) t = 2001 6. Lệnh ISSTR a) Công dụng: Kiểm tra nội dung biến có phải là chuỗi ký tự không. Trang 3 Vietebooks Nguyễn Hồng Cương V. TẬP LỆNH XỬ LÝ CHUỖI 1. Lệnh ABS a) Công dụng: Tạo ... tương ứng trong bảng mã ASCII. d) Ví dụ: » n=3.1416; » kq=num2str(n) kq = 3.1416 9. Lệnh SETSTR a) Công dụng: Cho ra ký tự tương ứng với số thứ tự trong bảng mã ASCII. b) Cú pháp: x = Set Str(n) c) ... n='MATLAB'; » kq=isstr(n) kq = 1 » m=[1 2 3 4]; » kq=isstr(m) kq = 0 7. Lệnh LOWER a) Công dụng: Cho ra chuỗi ký tự viết thường. b) Cú pháp: b = lower(s) c) Giải thích: b: biến chứa...

Ngày tải lên: 22/08/2012, 14:18

6 626 2
2-8 Cac tap lenh ma tran.doc

2-8 Cac tap lenh ma tran.doc

... 11 tương tự cho các phép tính trừ, nhân và chia. 2. Lệnh DET a) Công dụng: Dùng để tính định thức của ma trận. b) Ví dụ: Tính định thức của ma trận a a = 1 4 5 6 det(a) ans = -8 3. Lệnh DIAG ... Vietebooks Nguyễn Hồng Cương VIII. TẬP LỆNH THAO TÁC TRÊN MA TRẬN 1. Cộng, trừ, nhân, chia từng phần tử của ma trận với hằng số a) Cú ... giá trị là 1 2 3 4 5 6 1 0 0 a = [1 2 3; 4 5 6; 1 0 0] a = 1 2 3 4 5 6 1 0 0 9. Lệnh tạo vector đơn a) Công dụng: Lệnh này dùng để tạo 1 vector đơn gồm có n phần tử. b) Cú pháp 1: Tên vector =...

Ngày tải lên: 22/08/2012, 14:18

14 1,1K 0
Tập lệnh cơ bản của Matlab.DOC

Tập lệnh cơ bản của Matlab.DOC

... trong điều khiển tự động TẬP LỆNH CƠ BẢN CỦA MATLAB LỆNH CƠ BẢN Chú ý: Các lệnh đều viết bằng chữ thường, nhưng vì tác giả muốn viết hoa để người xem tiện theo dõi. 1. Lệnh ANS a) Công dụng: ... 4 24. Lệnh TYPE a) Công dụng: Hiển thị nội dung của tập tin. b) Cú pháp: type filename c) Giải thích: filename: tên file cần hiển thị nội dung. Lệnh này trình bày tập tin được chỉ ra. 25. Lệnh ... Matlab hay tập tin. b) Cú pháp: which funname c) Giải thích: funname: là tên lệnh trong Matlab hay tên tập tin d) Ví dụ: which inv inv is a build-in function which f c:\matlab\bin\f.m 27. Lệnh WHO,...

Ngày tải lên: 22/08/2012, 14:18

102 1,7K 10
bài tập ứng dụng cho môn truyền động điện.DOC

bài tập ứng dụng cho môn truyền động điện.DOC

... đã tạo điều kiện để cho sinh viên có cơ hội được củng cố kiến thức đã học vào việc soạn giáo án, giáo trình. Nay Em được giao cho đề tài tốt nghiệp là : " SOẠN BỘ BÀI TẬP BỘ MÔN CƠ SỞ TRUYỀN ... bạn, gia đình đã đóng góp ý kiến cho tập luận án này được hoàn thành tốt đẹp. Ngày … tháng …. năm… Sinh viên : Hoàng Anh Kiên Cường. Kính Bút Bộ Bài Tập Truyền Động Điện Cán bộ hướng dẫn ... Khí Hóa Và Cung Cấp Điện Cán Bộ Hướng Dẫn : NGUYỄN LÊ TRUNG ♦ Đề tài : BIÊN SOẠN BỘ BÀI TẬP ỨNG DỤNG CHO MÔN HỌC CƠ SỞ TRUYỀN ĐỘNG ĐIỆN BẬC CAO ĐẲNG Nhận Xét Của Cán Bộ Phản Biện ...

Ngày tải lên: 24/08/2012, 13:52

6 3,6K 68
Tập lệnh đồ họa

Tập lệnh đồ họa

... pink 8. Lệnh FIGURE a) Công dụng: Tạo mới hình ảnh (đồ thị). b) Cú pháp: figure 9. Lệnh GCA a) Công dụng: Tạo các đặc tính cho trục. b) Cú pháp: h = gca c) Giải thích: h: là biến gán cho lệnh ... thích: semylogx và semylogy giống như lệnh plot nhưng chỉ khác một điều là lệnh này vẽ đồ thị theo trục logarith. Do đó, ta có thể sử dụng tất cả các loại ‘linetype’ của lệnh plot. d) Ví dụ: Vẽ đồ thị ... 6 vùng. subplot(231) subplot(232) subplot(233) Trang 7 Vietebooks Nguyễn Hồng Cương X. TẬP LỆNH ĐỒ HỌA 1. Lệnh AXES a) Công dụng: Đặt các trục tọa độ tại vị trí định trước. b) Cú pháp: axes(‘propertyname’,...

Ngày tải lên: 10/09/2012, 10:02

22 737 3
Tập lệnh sử lý chuỗi

Tập lệnh sử lý chuỗi

... Vietebooks Nguyễn Hồng Cương V. TẬP LỆNH XỬ LÝ CHUỖI 1. Lệnh ABS a) Công dụng: Tạo vector đơn có giá trị của mỗi phần tử là số thứ tự tương ... cần so sánh. d) Ví dụ: a = ‘MatLab WoRkS’ b = ‘MatLab WoRkS’ strcmp(a,b) ans = 1 13. Lệnh UPPER a) Công dụng: Cho ra chuỗi viết hoa. b) Cú pháp: b = upper c) Giải thích: b: biến chứa kết quả. s: ... tương ứng trong bảng mã ASCII. d) Ví dụ: » n=3.1416; » kq=num2str(n) kq = 3.1416 9. Lệnh SETSTR a) Công dụng: Cho ra ký tự tương ứng với số thứ tự trong bảng mã ASCII. b) Cú pháp: x = Set Str(n) c)...

Ngày tải lên: 10/09/2012, 10:02

6 671 0
Các tập lệnh ma trận

Các tập lệnh ma trận

... 11 tương tự cho các phép tính trừ, nhân và chia. 2. Lệnh DET a) Công dụng: Dùng để tính định thức của ma trận. b) Ví dụ: Tính định thức của ma trận a a = 1 4 5 6 det(a) ans = -8 3. Lệnh DIAG ... phần tử, với các giá trị là:1, 3, 7, 4 a = [1 3 7 4] Trang 5 Vietebooks Nguyễn Hồng Cương VIII. TẬP LỆNH THAO TÁC TRÊN MA TRẬN 1. Cộng, trừ, nhân, chia từng phần tử của ma trận với hằng số a) Cú ... giá trị là 1 2 3 4 5 6 1 0 0 a = [1 2 3; 4 5 6; 1 0 0] a = 1 2 3 4 5 6 1 0 0 9. Lệnh tạo vector đơn a) Công dụng: Lệnh này dùng để tạo 1 vector đơn gồm có n phần tử. b) Cú pháp 1: Tên vector =...

Ngày tải lên: 10/09/2012, 10:02

14 628 1

Bạn có muốn tìm thêm với từ khóa:

w