Bài giảng Thiết kế hệ thống vi xử lý - Tuần 6: Giới thiệu về phần mềm Assembler 8051, chưong trình dịch (Phần 2)

pdf 12 trang phuongnguyen 7481
Bạn đang xem tài liệu "Bài giảng Thiết kế hệ thống vi xử lý - Tuần 6: Giới thiệu về phần mềm Assembler 8051, chưong trình dịch (Phần 2)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_thiet_ke_he_thong_vi_xu_ly_tuan_6_gioi_thieu_ve_ph.pdf

Nội dung text: Bài giảng Thiết kế hệ thống vi xử lý - Tuần 6: Giới thiệu về phần mềm Assembler 8051, chưong trình dịch (Phần 2)

  1. Cỏc nhúm lệnh 8051 •Nhómlệnhchuyểndữliệu •Nhóm lệnh số học •Nhóm lệnh logic •Nhóm lệnh xử lý bit •Nhóm lệnh rẽ nhánh 1 Electrical Engineering Nhúm lệnh chuyển dữ liệu 2 Electrical Engineering 1
  2. Truyền dữ liệu với RAM ngoài 3 Electrical Engineering Lệnh số học 4 Electrical Engineering 2
  3. Lệnh xử lý lụgic 5 Electrical Engineering Lệnh xử lý lụgic (tiếp) 6 Electrical Engineering 3
  4. Cỏc lệnh nhảy khụng điều kiện 7 Electrical Engineering Lệnh nhảy cú điều kiện 8 Electrical Engineering 4
  5. Lệnh nhảy với cờ 9 Electrical Engineering Lệnh làm việc với bit 10 Electrical Engineering 5
  6. Lệnh làm việc với bit (tiếp) 11 Electrical Engineering Lệnh làm việc với bảng dữ liệu MOVC, nghĩa là move constant 12 Electrical Engineering 6
  7. Vớ dụ bảng tỡm kiếm MOV A, Index CALL look_up look_up: inc A movc A, @A + PC ret TABLE: DB data1, data2, 13 Electrical Engineering Lập trỡnh cú cấu trỳc •Lập trỡnh tuần tự (sequential programming) •Lập trỡnh cấu trỳc •Lập trỡnh hướng đối tượng 14 Electrical Engineering 7
  8. Cỏc đặc trưng lập trỡnh cấu trỳc •Dữ liệu + giải thuật = chương trỡnh •Chương trỡnh –Chương trỡnh con –Cú3 loại cỳ phỏp cơ bản •Lệnh gỏn •Lệnh if then •Lệnh do while 15 Electrical Engineering Phỏt biểu While/do • while [condition] Do • cỏc lệnh chương trỡnh •do • cỏc lệnh chương trỡnh • while ( ) 16 Electrical Engineering 8
  9. Vớ dụ tớnh tổng •Tớnh tổng dóy số •Chiều dài của dóy số chứa trong thanh ghi R7 • Địa chỉ bắt đầu dóy số trong thanh ghi R0 17 Electrical Engineering Vớ dụ •[sum] = 0 • WHILE (length > 0) Do – [sum = sum + @pointer] – [pointer = pointer + 1] – [length = length – 1] •End 18 Electrical Engineering 9
  10. Phỏt biểu case case [ expression] of 0: do0 1: do1 n: don default: do_default End_case 19 Electrical Engineering Vớ dụ case •Yờu cầu, chương trỡnh thực đơn, người sự dụng nhập vào giỏ trị 0, 1, 2, và chương trỡnh sẽ nhập giỏ trị tương ứng 20 Electrical Engineering 10
  11. Vớ dụ case (tiếp) Call InChar CJNE A, #’0’, Skip1 Act0: JMP Exit Skip1: CJNE A, # ’1’, Skip2 Act1: JMP Exit Exit: DoN 21 Electrical Engineering Cỏc định nghĩa phụ •Dấu ; dựng để chỳ thớch – Mov @R0, A; Lưu giỏ trị vào vựng đệm •ORG – Org 100h, điểm xuất phỏt chương trỡnh •Equ – ESC Equ 27h, lệnh gỏn giỏ trị 22 Electrical Engineering 11
  12. Cỏc định nghĩa phụ • DB (define byte) • table:DB 0,1,2,4 • message: DB, ‘Login:’, 0 • DW (define word) – temp: DW ‘A’, 1342H, • DS (define storage) – Length EQU 25H – Buffer: DS Length 23 Electrical Engineering Chương trỡnh mẫu •Chuyển đổi ký tự sang số Hex – ASCII – Hex •Bài tập về nhà – Hex -> ASCII 24 Electrical Engineering 12