LÝ THUYẾT lập TRÌNH cơ bản (8051) CHƯƠNG2

23 450 0
LÝ THUYẾT lập TRÌNH cơ bản (8051)  CHƯƠNG2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Trong phần này chúng ta nghiên cứu các thanh ghi chính của 8051 và trình bày cách sử dụng với các lệnh đơn giản MOV và ADD. 2.1.1 Các thanh ghi. Trong CPU các thanh ghi được dùng để lưu cất thông tin tạm thời, những thông tin này có thể là một byte dữ liệu cần được sử lý hoặc là một địa chỉ đến dữ liệu cần được nạp. Phần lớn các thanh ghi của 8051 là các thanh ghi 8 bit. Trong 8051 chỉ có một kiểu dữ liệu: Loại 8 bit, 8 bit của một thanh ghi được trình bày như sau: D7 D6 D5D4D3D2D1D0 với MSB là bit có giá trị cao nhất D7 cho đến LSB là bit có giá trị thấp nhất D0. (MSB - Most Sigfican bit và LSB - Leart Significant Bit). Với một kiểu dữ liệu 8 bit thì bất kỳ dữ liệu nào lớn hơn 8 bit đều phải được chia thành các khúc 8 bit trước khi được xử lý. Vì có một số lượng lớn các thanh ghi trong 8051 ta sẽ tập trung vào một số thanh ghi công dụng chung đặc biệt trong các chương kế tiếp. Hãy tham khảo phụ lục Appendix A.3 để biết đầy đủ về các

Chương Lập trình hợp ngữ 8051 2.1 Bên 8051 Trong phần nghiên cứu ghi 8051 trình bày cách sử dụng với lệnh đơn giản MOV ADD 2.1.1 Các ghi Trong CPU ghi dùng để lưu cất thông tin tạm thời, thông tin byte liệu cần sử lý địa đến liệu cần nạp Phần lớn ghi 8051 ghi bit Trong 8051 có kiểu liệu: Loại bit, bit ghi trình bày sau: D7 D6 D5 D4 D3 D2 D1 D0 với MSB bit có giá trị cao D7 LSB bit có giá trị thấp D0 (MSB - Most Sigfican bit LSB - Leart Significant Bit) Với kiểu liệu bit liệu lớn bit phải chia thành khúc bit trước xử lý Vì có số lượng lớn ghi 8051 ta tập trung vào số ghi công dụng chung đặc biệt chương Hãy tham khảo phụ lục Appendix A.3 để biết đầy đủ A B R0 R1 R2 DPTR PC DPH DPL PC (program counter) R3 R4 R5 R6 R7 ghi 8051 Hình 2.1: a) Một số ghi bit 8051 b) Một số ghi 16 bit 8051 Các ghi sử dụng rộng rãi 8051 A (thanh ghi tích luỹ), B, R0 - R7, DPTR (con trỏ liệu) PC (bộ đếm chương trình) Tất liệu g hi bit trừ DPTR PC 16 bit Thanh ghi tích luỹ A sử dụng cho tất phép toán số học lơ-gíc Để hiểu sử dụng ghi ta giới thiệu chúng ví dụ với lệnh đơn giản ADD MOV 2.1.2 Lệnh chuyển MOV Nói cách đơn giản, lệnh MOV chép liệu từ vị trí đến ví trí khác Nó có cú pháp sau: MOV ; Đích, nguồn; chép nguồn vào đích Lệnh nói CPU chuyển (trong thực tế chép) tốn hạng nguồn vào tốn hạng đích Ví dụ lệnh “MOV A, R0” chép nội dung ghi R0 vào ghi A Sau lênh thực ghi A có giá trị giống ghi R0 Lệnh MOV khơng tác động tốn hạng nguồn Đoạn chương trình nạp ghi A tới giá trị 55H 9là giá trị 55 dạng số Hex) sau chuyển giá trị qua ghi khác bên CPU Lưu ý dấu “#” lệnh báo giá trị Tầm quan trọng trình bày sau ví dụ MOV A, #55H; ; Nạp trí trị 55H vào ghi A (A = 55H) MOV R0, A ; Sao chép nội dung A vào R0 (bây R0=A) MOV R1, A ; Sao chép nội dung A R1 (bây R1=R0=A) MOV R2, A ; Sao chép nội dung A R2 (bây R2=R1=R0=A) MOV R3, #95H ; Nạp giá trị 95H vào ghi R3 (R3 = 95H) MOV A, R3 ; Sáo chép nội dung R3 vào A (bây A = 95H) Khi lập trình vi điều khiển 8051 cần lưu ý điểm sau: Các giá trị nạp vào trực tiếp ghi A, B, R0 R7 Tuy nhiên, để thơng báo giá trị tức thời phải đặt trước ký hiệu “#” MOV A, #23H MOV R0, #12H MOV R1, #1FH MOV R2, #2BH MOV B, # 3CH MOV R7, #9DH MOV R5, #0F9H MOV R6, #12 ; Nạp giá trị 23H vào A (A = 23H) ; Nạp giá trị 12H vào R0 (R0 = 2BH) ; Nạp giá trị 1FH vào R1 (R1 = 1FH) ; Nạp giá trị 2BH vào R2 (R2 = 2BH) ; Nạp giá trị 3CH vào B (B = 3CH) ; Nạp giá trị 9DH vào R7 (R7 = 9DH) ; Nạp giá trị F9H vào R5 (R5 = F9H) ;Nạp giá trị thập phân 12 = 0CH vào R6 (trong R6 có giá trị 0CH) Để ý lệnh “MOV R5, #0F9H” phải có số đứng trước F sau dấu # báo F số Hex ký tự Hay nói cách khác “MOV R5, #F9H” gây lỗi 2 Nếu giá trị đến F chuyển vào ghi bit bit lại coi tất số Ví dụ, lệnh “MOV A,#5” kết A=0.5, A = 0000 0101 dạng nhị phân Việc chuyển giá trị lớn khả chứa ghi gây lỗi ví dụ: MOV A, #7F2H MOV R2, 456 ; Không hợp lệ 7F2H > FFH ; Khơng hợp lệ 456 > 255 (FFH) Để nạp giá trị vào ghi phải gán dấu “#” trước giá trị Nếu khơng có dấu hiểu nạp từ vị trí nhớ Ví dụ “MOV A, 17H” có nghĩa nạp giá trị ngăn nhớ có giá trị 17H vào ghi A địa liệu có giá trị từ đến FFH Còn để nạp giá trị 17H vào ghi A cần phải có dấu “#” trước 17H “MOV A, #17H” Cần lưu ý thiếu dấu “#” trước khơng gây lỗi hợp ngữ cho lệnh hợp lệ Tuy nhiên, kết không ý muốn người lập trình Đây lỗi thường hay gặp lập trình viên 2.1.3 Lệnh cộng ADD Lệnh cộng ADD có phép sau: ADD a, nguồn ; Cộng toán hạng nguồn vào ghi A Lệnh cộng ADD nói CPU cộng byte nguồn vào ghi A đặt kết ghi A Để cộng hai số 25H 34H số chuyển đến ghi sau cộng lại với như: MOV A, #25H ; Nạp giá trị 25H vào A MOV R2, #34H ; Nạp giá trị 34H vào R2 ADD A, R2 ; Cộng R2 vào A kết A = A + R2 Thực chương trình ta A = 59H (vì 25H + 34H = 59H) R2 = 34H, ý nội dụng R2 không thay đổi Chương trình viết theo nhiều cách phụ thuộc vào ghi sử dụng Một cách viết khác là: MOV R5, #25H ; Nạp giá trị 25H vào ghi R5 MOV R7, #34H ; Nạp giá trị 34H vào ghi R7 MOV A, #0 ; Xoá ghi A (A = 0) ADD A, R5 ; Cộng nội dung R5 vào A (A = A + R5) ADD A, R7 ; Cộng nội dung R7 vào A (A = A + R7 = 25H + 34H) Chương trình có kết A Là 59H, có nhiều cách để viết chương trình giống Một câu hỏi đặt sau xem đoạn chương trình liệu có cẩn chuyển hai liệu vào ghi trước cộng chúng với không? Câu trả lời khơng cần Hãy xem đoạn chương trình đây: MOV A, #25H ; Nạp giá trị thứ vào ghi A (A = 25H) ADD A, #34H ; Cộng giá trị thứ hai 34H vào A (A = 59H) Trong trường hợp đây, ghi A chứa số thứ giá trị thứ hai theo toán hạng Đây gọi tốn hạng tức thời (trực tiếp) Các ví dụ trước lệnh ADD báo tốn hạng nguồn ghi liệu trực tiếp (tức thời) ghi đích ln ghi A, ghi tích luỹ Hay nói cách khác lệnh “ADD R2, #12H” lệnh khơng hợp lệ phép toán số học phải cần đến ghi A lệnh “ADD R4, A” khơng hợp lệ A ln ghi đích cho phép số học Nói cách đơn giản 8051 phép toán số học cần đến A với vai trị tốn hạng đích Phần trình bày giải thích lý ghi A thi tích luỹ Cú pháp lệnh hợp ngữ mô tả cách sử dụng chúng liệt kê kiểu toán hạng hợp lệ cho phụ lục Appendix A.1 Có hai ghi 16 bit 8051 đếm chương trình PC trỏ liệu DPTR Tầm quan trọng cách sử dụng chúng trình bày mục 2.3 Thanh ghi DPTR sử dụng để truy cập liệu làm kỹ chương nói chế độ đánh địa 2.2 Giới thiệu lập trình hợp ngữ 8051 Trong phần bàn dạng thức hợp ngữ định nghĩa số thuật ngữ sử dụng rộng rãi gắn liền với lập trình hợp ngữ CPU làm việc với số nhị phân chạy với tốc độ cao Tuy nhiên, thật ngán ngậm chậm chạp người phải làm việc với số để lập trình cho máy tính Một chương trình chứa số gọi ngôn ngữ máy Trong ngày đầu máy tính, lập trình viên phải viết mã chương trình dạng ngơn ngữ máy Mặc dụ hệ thống thập lục phân (số Hex) sử dụng cách hiệu để biểu diễn số nhị phân trình làm việc với mã máy cịn cơng việc cồng kềnh người Cuối cùng, nguồn ngữ hợp ngữ phát, cung cấp từ gợi nhớ cho lệnh mã máy cộng với đặc tính khác giúp cho việc lập trình nhanh mắc lỗi Thuật ngữ từ gợi nhớ (mnemonic) thường xuyên sử dụng tài liệu khoa học kỹ thuật máy tính để tham chiếu cho mã từ rút gọn tương đối dễ nhớ, chương trình hợp ngữ phải dịch mã máy chương trình trình hợp ngữ (hợp dịch) Hợp ngữ coi ngông ngữ bậc thấp giao tiếp trực tiếp với cấu trúc bên CPU Để lập trình hợp ngữ, lập trình viên phải biết tất ghi CPU kích thước chúng chi tiết khác Ngày nay, ta sử dụng nhiều ngơn ngữ lập trình khác nhau, chẳng hạn Basic, Pascal, C, C++, Java vô số ngôn ngữ khác Các ngôn ngữ coi ngôn ngữ bậc cao lập trình viên khơng cần phải tương tác với chi tiết bên CPU Một trình hợp dịch dùng để dịch chương trình hợp ngữ mã máy cịn (cịn đơi gọi mà đối tượng (Object Code) hay mã lệnh Opcode), cịn ngơn ngữ bậc cao dịch thành ngơn ngữ mã máy chương trình gọi trình biên dịch Ví dụ, để viết chương trình C ta phải sử dụng trình biên dịch C để dịch chương trình dạng mã máy Bây ta xét dạng thức hợp ngữ 8051 sử dụng trình hợp dịch để tạo chương trình sẵn sàng chạy 2.2.1 Cấu trúc hợp ngữ Một chương trình hợp ngữ bao gồm chuỗi dòng lệnh hợp ngữ Một lệnh hợp ngữ có chứa từ gợi nhớ (mnemonic) theo lệnh sau có hai toán hạng Các toán hạng liệu cần thao tác từ gợi nhớ lệnh CPU nói làm với liệu ORG 0H ; Bắt đầu (origin) ngăn nhớ MOV R5, #25H ; Nạp 25H vào R5 MOV R7, #34H ; Nạp 34H vào R7 MOV A, #0 ; Nạp vào ghi A ADD A, R5 ; Cộng nôi dụng R5 vào A (A = A + R5) ADD A, R7 ; Cộng nội dung R7 vào A (A = A + R7) ADD A, #12H ; Cộng giá trị 12H vào A (A = A + 12H) HERE: SJMP HERE ; lại vòng lặp END ; Kết thúc tệp nguồn hợp ngữ Chương trình 2.1: Ví dụ mẫu chương trình hợp ngữ Chương trình 2.1 cho chuỗi câu lệnh dòng lệnh viết lệnh hợp ngữ ADD MOV câu lệnh gọi dẫn Trong lệnh hợp ngữ nói CPU phải làm lệnh (hay cịn gọi giả lệnh) đưa lệnh cho hợp ngữ Ví dụ, chương trình 2.1 lệnh ADD MOV lệnh đến CPU, ORG END lệnh hợp ngữ ORG nói hợp ngữ đặt mã lệnh ngăn nhớ END báo cho hợp ngữ biết kết thúc mã nguồn Hay nói cách khác lệnh để bắt đầu lệnh thứ hai để kết thúc chương trình Cấu trúc lệnh hợp ngữ có trường sau: [nhãn:] [từ gợi nhớ] [các toán hạng] [; giải] Các trường dấu ngoặc vuông tuỳ chọn dịng lệnh có chúng Các dấu ngoặc vng không viết vào Với dạng thức cần lưu ý điểm sau: Trường nhãn cho phép chương trình tham chiếu đến dịng lệnh tên Nó khơng viết q số ký tự định Hãy kiểm tra quy định hợp ngữ mà ta sử dụng Từ gợi nhớ (lệnh) toán hạng trường kết hợp với thực thi cơng việc thực tế chương trình hồn thiện nhiệm vụ mà chương trình viết cho chúng Trong hợp ngữ câu lệnh như: “ ADD “MOV A, B” A, #67H” ADD MOV từ gợi nhớ tạo mã lệnh, “A, B” “A, #67H” tốn hạng hai trường chứa lệnh giả lệnh hợp ngữ Hãy nhớ lệnh không tạo mã lệnh (mã máy) chúng dùng hợp ngữ, ngược lại lệnh chúng dịch mã máy (mã lênh) cho CPU thực Trong chương trình 2.1 lệnh ORG END lệnh (một số hợp ngữ 8051 sử dụng dạng ORG END) Hãy đọc quy định cụ thể hợp ngữ ta sử dụng Chương giải phải bắt đầu dấu chấm phẩy (;) Các giải bắt đầu đầu dòng dòng Hợp ngữ bỏ qua (làm ngơ) giải chúng lại cần thiết lập trình viên Mặc dù giải tuỳ chọn, không bắt buộc ta nên dùng chúng để mơ tả chương trình để giúp cho người khác đọc hiểu chương trình dễ dàng Lưu ý đến nhãn HERE trường nhãn chương trình 2.1 Một nhãn tham chiếu đến lệnh phải có dấu hai chấm (:) đứng sau EDITOR Trong câu lệnh nhảy ngắn SJMP PRAGRA 8051 lệnh lại vòng myfile.as lặp vô hạn Nếu hệ thống có chương trình giám ASSEMBLE sát takhơng cần dịng lệnh R xố khỏi myfile.lst other obj chương trình myfile.o 2.3 Hợp dịch chạy chương trình 8051 LINKER Như cấu trúc chương trình PRAGRA hợp ngữ ta biết, câu hỏi đặt chương trình tạo hợp dịch myfile.abs làm để chạy được? Các bước để tạo chương trình OH hợp ngữ chạy là: PRAGRA myfile.he Trước hết ta sử dụng mộ trình soạn thảo để gỡ vào chương trình giống chương trình 2.1 Có nhiều trình soạn thảo tuyệt vời sử lý từ sử dụng để tạo và/ để soạn thảo chương trình Một trình soạn thảo sử dụng rộng rãi trình soạn thảo EDIT MS-DOS (hoặc Noterad Windows) chạy hệ điều hành Microsoft Lưu ý rằng, trình soạn thảo phải có khả tạo tệp mã ASCII Đối với nhiều trình hợp ngữ tên tệp tuân theo quy ước thường lệ củ DOS, phần mở rộng tệp nguồn phải “asm” hay “src” tuỳ theo trình hợp ngữ mà ta sử dụng Tệp nguồn có phần mở rộng “asm” chứa mã chương trình tạo bước nạp vào trình hợp dịch 8051 Trình hợp dịch chuyển lệnh mã máy Trình hợp dịch tạo tệp đối tượng tệp liệt kê với thành phần mở rộng “obj” “lst” tương ứng Các trình hợp dịch yêu cầu bước thứ ba gọi liên kết Chương trình liên kết lấy nhiều tệp đối tượng tạo tệp đối tượng tuyệt thành phần mở rộng “abs” Tệp “abs” sử dụng thùng chứa 8051 có chương trình giám sát Kế sau tệp “abs” nạp vào chương trình gọi “0H” (chuyển đối tượng object dạng số Hex) để tạo tệp với đuôi mở rộng “Hex” nạp tốt vào ROM Chương trình có tất trình hợp ngữ 8051 trình hợp ngữ dựa Windows kết hợp bước đến vào thành bước Hình 2.2: Các bước để tạo chương trình 2.3.1 Nói thêm tệp “.asm” “.object” Tệp “.asm” gọi tệp nguồn lý mà số trình hợp ngữ địi hỏi tệp phải có phần mở rộng “src” từ chữ “source” nguồn Hãy kiểm tra hợp ngữ 8051 mà ta sử dụng xem có địi hỏi khơng? Như ta nói trước tệp tạo nhờ trình biên tập chẳng hạn Edit DOS Notepad Windows Hợp ngữ 8051 chuyển đổi tệp hợp ngữ tệp asm thành ngôn ngữ mã máy cung cấp tệp đối tượng object Ngoài việc tạo tệp đối tượng trình hợp ngữ cho tệp liệt kê “lst” (List file) 2.3.2 Tệp liệt kê “.lst” Tệp liệt kê tuỳ chọn, hữu ích cho lập trình viên liệt kê tất mã lệnh địa tất lỗi mà trình hợp ngữ phát Nhiều trình hợp ngữ giả thiết rằng, tệp liệt kê không cần thiết trừ ta báo ta muốn tạo Tệp truy cập trình biên dịch Edit DOS Notepad Window hiển thị hình gửi máy in Lập trình viên sử dụng tệp liệt kê để tìm lỗi cú pháp Chỉ sau sửa hết lỗi đánh dấu tệp liệt kê tệp đối tượng sẵn sàng làm đầu vào cho chương trình liên kết 1 0000 ORG 0H ; Bắt đầu địa 0000 7D25 MOV R5, #25H ; Nạp giá trị 25H vào R5 0002 7F34 MOV R7, #34H ; Nạp giá trị 34H vào R7 0004 7400 MOV A, #0 ; Nạp vào A (xoá A) 0006 2D ADD A, R5 ; Cộng nội dung R5 vào A (A = A + R5) 0007 2F ADD A, R7 ; Cộng nội dung R7 vào A (A = A + R7) 0008 2412 ADD A, #12H ; Cộng giá trị 12H vào A (A = A + 12H) 00A BCEF HERE: SJMP HERE ; lại vòng lặp 000C END ; Kết thúc tệp asm Chương trình 2.2: Tệp liệt kê 2.4 Bộ đếm chương trình khơng gian ROM 8051 2.4.1 Bộ đếm chương trình 8051 Một ghi quan trọng khác 8051 đếm chương trình Bộ đếm chương trình đếm địa lệnh cần thực Khi CPU nạp mã lệnh từ nhớ ROM chương trình đếm chương trình tăng lên đếm lệnh kết tiếp Bộ đếm chương trình 8051 truy cập địa chương trình 8051 rộng 16 bit Điều có nghĩa 8051 truy cập địa chỉa chương trình từ 0000 đến FFFFH tổng cộng 64k byte mã lệnh Tuy nhiên, tất thành viên 8051 có tất 64k byte ROM chíp cài đặt Vậy 8051 bật nguồn đánh thức địa chỉa nào? 2.4.2 Địa bắt đầu 8051 cấp nguồn Một câu hỏi mà ta phải hỏi vi điều khiển cấp nguồn địa nào? Mỗi vi điều khiển khác Trong trường hợp họ 8051 thành viên kể từ nhà sản xuất hay phiên vi điều khiển địa 0000 bật nguồn Bật nguồn có nghĩa ta cấp điện áp Vcc đến chân RESET trình bày chương Hay nói cách khác, 8051 cấp nguồn đếm chương trình có giá trị 0000 Điều có nghĩa chờ mã lệnh lưu địa chỉa ROM 0000H Vì lý mà vị trí nhớ 0000H nhở ROM chương trình nơi mà tìm lệnh bật nguồn Chúng ta đạt điều câu lệnh ORG chương trình nguồn trình bày trước Dưới hoạt động bước đếm chương trình qúa trình nạp thực thi chương trình mẫu 2.4.3 Đặt mã vào ROM chương trình Để hiểu tốt vai trị đếm chương trình trình nạp thực thi chương trình, ta khảo sát hoạt động đếm chương trình lệnh nạp thực thi Trước hết ta khảo sát lần tệp liệt kê chương trình mẫu cách đặt mã vào ROM chương trình 8051 nào? Như ta thấy, mã lệnh tốn hạng lệnh liệt kê bên trái lệnh liệt kê Chương trình 2.1: Ví dụ mẫu chương trình hợp ngữ Chương trình 2.1 cho chuỗi câu lệnh dòng lệnh viết lệnh hợp ngữ ADD MOV câu lệnh gọi dẫn Trong lệnh hợp ngữ nói CPU phải làm lệnh (hay cịn gọi giả lệnh) đưa lệnh cho hợp ngữ Ví dụ, chương trình 2.1 lệnh ADD MOV lệnh đến CPU, ORG END lệnh hợp ngữ ORG nói hợp ngữ đặt mã lệnh ngăn nhớ END báo cho hợp ngữ biết kết thúc mã nguồn Hay nói cách khác lệnh để bắt đầu lệnh thứ hai để kết thúc chương trình Cấu trúc lệnh hợp ngữ có trường sau: [nhãn:] [từ gợi nhớ] [các toán hạng] [; giải] Các trường dấu ngoặc vuông tuỳ chọn khơng phải dịng lệnh có chúng Các dấu ngoặc vuông không viết vào Với dạng thức cần lưu ý điểm sau: Trường nhãn cho phép chương trình tham chiếu đến dịng lệnh tên Nó khơng viết q số ký tự định Hãy kiểm tra quy định hợp ngữ mà ta sử dụng Từ gợi nhớ (lệnh) toán hạng trường kết hợp với thực thi cơng việc thực tế chương trình hồn thiện nhiệm vụ mà chương trình viết cho chúng Trong hợp ngữ câu lệnh như: “ ADD A, B” “MOV A, #67H” Thì ADD MOV từ gơi nhớ tạo mã lệnh, “A, B” “A, #67H” tốn hạng hai trường chứa lệnh giả lệnh hợp ngữ Hãy nhớ lệnh không tạo mã lệnh (mã máy) chúng dùng hợp ngữ, ngược lại lệnh chúng dịch mã máy (mã lênh) cho CPU thực Trong chương trình 2.1 lệnh ORG END lệnh (một số hợp ngữ 8051 sử dụng dạng ORG END) Hãy đọc quy định cụ thể hợp ngữ ta sử dụng Trương giải phải bắt đầu dấu chấm phẩy (;) Các giải bắt đầu đầu dòng dòng Hợp ngữ bỏ qua (làm ngơ) giải chúng lại cần thiết lập trình viên Mặc dù giải tuỳ chọn, không bắt buộc ta nên dùng chúng để mơ tả chương trình để giúp cho người khác đọc hiểu chương trình dễ dàng Lưu ý đến nhãn HERE trường nhãn chương trình 2.1 Một nhãn tham chiếu đến lệnh phải có dấu hai chấm (:) đứng sau Trong câu lệnh nhảy ngắn SJMP 8051 lệnh lại vịng lặp vơ hạn Nếu hệ thống có chương trình giám sát takhơng cần dịng lệnh xố khỏi chương trình Chương trình 2.1: Tệp liệt kê Sau chương trình đốt vào ROM thành viên họ 8051 8751 AT 8951 DS 5000 mã lệnh tốn hạng đưa vào vị trí nhớ ROM địa 0000 bảng liệt kê Địa ROM 0000 0002 0004 0006 0007 0008 000A Ngôn ngữ máy 7D25 7F34 7400 2D 2F 2412 80EF Hợp ngữ MOV R5, #25H MOV R7, #34H MOV A, #0 ADD A, R5 ADD A, R7 ADD A, #12H HERE: SJMP HERE Bảng nội dung ROM chương trình 2.1 Bảng liệt kê địa 0000 chứa mã 7D mã Địa Mã lệnh lệnh để chuyển giá trị vào ghi R5 địa 0000 7D 0001 chứa toán hạng (ở giá trị 254) cần 0001 25 0002 F7 chuyển vào R5 Do vậy, lệnh “MOV R5, #25H” 0003 34 có mã “7D25” 7D mã lệnh, cịng 25 0004 74 tốn hạng Tương tự vậy, mã máy “7F34” 0005 00 đặt ngăn nhớ 0002 0003 biểu diễn mã 0006 2D 2F lệnh toán hạng lệnh “MOV R7, #34H” 0007 0008 24 Theo cách vậy, mã máy “7400” đặt địa 0009 12 0004 0005 biểu diễn mã lệnh toán hạng 000A 80 lệnh “MOV A, #0” Ngăn nhớ 0006 có mã 000B FE 2D mã lệnh “ADD A, R5” ngăn nhớ 0007 có nội dung 2F mã lệnh cho “ADD A, R7” Mã lệnh lệnh “ADD A, #12H” đặt ngăn nhớ 0008 toán hạng 12H đặt ngăn nhớ 0009 Ngăn nhớ 000A có mã lệnh lệnh SJMP địa đích đặt ngăn nhớ 000B Lý địa đích FE giải thích chương 2.4.4 Thực chương trình theo byte Giả sử chương trình đốt vào ROM chíp 8051 hoặc( 8751, AT 8951 DS 5000) mơ tả hoạt động theo bước 8051 cấp nguồn Khi 8051 bật nguồn, đếm chương trình PC có nội dung 0000 bắt đầu nạp mã lệnh từ vị trí nhớ 0000 ROM chương trình Trong trường hợp chương trình mã 7D để chuyển toán hạng vào R5 Khi thực mã lệnh CPU nạp giá trị 25 vào đếm chương trình tăng lên để đến 0002 (PC = 0002) có chứa mã lệnh 7F mã lệnh chuyển toán hạng vào R7 “MOV R7, ” Khi thực mã lệnh 7F giá trị 34H chuyển vào R7 sau PC tăng lên 0004 Ngăn nhớ 0004 chứa mã lệnh lệnh “MOV A, #0” Lệnh thực PC = 0006 Lưu ý tất lệnh lệnh byte, nghĩa lệnh chiếm hai ngăn nhớ Bây PC = 0006 đến lệnh “ADD A, R5” Đây lệnh byte, sau thực lệnh PC = 0007 Ngăn nhớ 0007 chứa mã 2F mã lệnh “ADD A, R7” Đây lệnh byte, thực lệnh PC tăng lên 0008 Qúa trình tiếp tục tất moi lệnh nạp thực Thực tế mà đếm chương trình đến lệnh cần thực giải thích số vi xử lý (đáng nói × 86) gọi đếm trỏ lệnh (Instruction Pointer) 2.4.5 Bản đồ nhớ ROM họ 8051 Như ta thấy chương trước, số thành viên họ 8051 có 4k byte nhớ ROM chíp (ví dụ 8751, AT 8951) số khác AT 8952 có 8k byte ROM, DS 5000-32 Dallas Semiconductor có 32k byte ROM chíp Dallas Semiconductor có motọ 8051 với ROM chíp 64k byte Điểm cần nhớ khơng có thành viên họ 8051 truy cập 64k byte mã lệnh đếm chương trình 8051 16 bit (dải địa từ 0000 đến FFFFH) Cần phải ghi nhớ lệnh ROM chương trình đặt 0000, lệnh cuối phụ thuộc vào dung lượng ROM chíp thành viên họ 8051 Trong số thành viên họ 8051 8751 AT 8951 có 4k byte ROM chíp Bộ nhớ ROM chíp có địa từ 0000 đến 0FFFH Do vậy, ngăn nhớ có địa 0000 ngăn nhớ cuối có địa chỉa 0FFFH Hãy xét ví dụ 2.1 Ví dụ 2.1: Tìm địa nhớ ROM thành viên họ 8051 sau a) AT 8951 (hoặc 8751) với 4k byte b) DS 5000-32 với 32k byte Lời giải: a) Với 4k byte khơng gian nhớ ROM chíp ta có 4096 byte 1000H dạng Hex (4 × 1024 = 4096 hay 1000 dạng Hex) Bộ nhớ xắp xếp ngăn nhớ từ 0000 đến 0FFFH Lưu ý ngăn nhớ b) Với 32k byte nhớ ta có 32.768 byte (32 × 1024) Chuyển đổi 32.768 số Hex ta nhận giá trị 8000H Do vậy, không gian nhớ dải từ 0000 đến 7FFFH byte 000 byte 000 byte 000 0FF 8751 AT89C51 1FF 8752 AT89C52 7FF DS5000-32 Hình 2.3: Dải địa ROM chíp số thành viên họ 8051 2.5 Các kiểu liệu lệnh 2.5.1 Kiểu liệu lệnh 8051 Bộ vi điều khiển có kiểu liệu, bit độ dài ghi bit Công việc lập trình viên phân chia liệu lớn bit thành khúc bit (từ 00 đến FFH hay từ đến 255) để CPU xử lý Ví dụ xử lý liệu lớn bit trình bày chương Các liệu sử dụng 8051 số âm số dương xử lý số có dấu bàn chương 2.5.2 Chỉ lệnh DB (định nghĩa byte) Chỉ lệnh DB lệnh liệu sử dụng rộng rãi hợp ngữ Nó dùng để định nghĩa liệu bit Khi DB dùng để định nghĩa byte liệu số dạng thập phân, nhị phân, Hex dạng thức ASII Đối với liệu thập phân cần đặt chữ “D” sau số thập phân, số nhị phân đặt chữ “B” liệu dạng Hex cần đặt chữ “H” Bất kể ta sử dụng số dạng thức hợp ngữ chuyển đối chúng thành dạng Hex Để báo dạng thức dạng mã ASCII cần đơn giản đặt vào dấu nháy đơn ‘như này’ Hợp ngữ gán mã ASCII cho số ký tự cách tự động Chỉ lệnh DB lệnh mà sử dụng để định nghĩa chuỗi ASCII lớn ký tự Do vậy, sử dụng cho tất định nghĩa liệu ASCII Dưới số ví dụ DB: ORG 500H DATA1: DB 20 ; Số thập phân (1C dạng Hex) DATA2: DB 00110101B ; Số nhị phân (35 dạng Hex) DATA3: DATA4: DATA5 DB ORG DB ORG DB 39H ; Số dạng Hex 510H “2591” ; Các số ASCII 518H “My name is Joe” ; Các ký tự ASCII Các chuỗi ASCII sử dụng dấu nháy đơn ‘như này’ nháy kép “như này” Dùng dấu phẩy kép hữu ích trường hợp dấu nháy đơn dùng sở hữu cách “Nhà O’ Leary” Chỉ lệnh DB dùng để cấp phát nhớ theo đoạn kích thước byte 2.5.3 Các lệnh hợp ngữ Chỉ lệnh ORG: Chỉ lệnh ORG dùng để báo bắt đầu địa Số sau ORG có kể dạng Hex thập phân Nếu số có kèm chữ H đằng sau dạng Hex khơng có chữ H sau số thập phân hợp ngữ chuyển thành số Hex Một số hợp ngữ sử dụng dấu chấm đứng trước “ORG” thay cho “ORG” Hãy đọc kỹ trình hợp ngữ ta sử dụng Chỉ lệnh EQU: Được dùng để định nghĩa số mà không chiếm ngăn nhớ Chỉ lệnh EQU không dành chỗ cất cho liệu gắn giá trị số với nhãn liệu cho nhãn xuất chương trình giá trị số thay nhãn Dưới sử dụng EQU cho số đếm sau số dùng để nạp ghi RS COUNT EQU 25 MOV R3, #count Khi thực lện “MOV R3, #COUNT” ghi R3 nạp giá trị 25 (chú ý đến dấu #) Vậy ưu điểm việc sử dụng EQU gì? Giả sử có số (một giá trị cố định) dùng nhiều chỗ khác chương trình lập trình viên muốn thay đổi giá trị chương trình Bằng việc sử dụng lệnh EQU ta thay đổi số lần hợp ngữ thay đổi tất lần xuất tìm tồn chương trình gắng tìm lần xuất Chỉ lệnh END: Một lệnh quan trọng khác lệnh END Nó báo cho trình hợp ngữ kết thúc tệp nguồn “asm” lệnh END dịng cuối chương trình 8051 có nghĩa mã nguồn thứ sau lệnh END để bị trình hợp ngữ bỏ qua Một số trình hợp ngữ sử dụng END có dấu chấm đứng trước thay cho END 2.5.4 Các quy định đố với nhãn hợp ngữ Bằng cách chọn tên nhãn có nghĩa lập trình viên làm cho chương trình dễ đọc dễ bảo trì hơn, có số quy định mà tên nhãn phải tuân theo Thứ tên nhãn phải thống nhất, tên sử dụng làm nhãn hợp ngữ gồm chữ viết hoa viết thường, số từ đến dấu đặc biệt như: dấu hỏi (?), dấu (≅), dấu gạch (_), dấu đô ($) dấu chu kỳ (.) Ký tự nhãn phải chữ Hay nói cách khác khơng thể số Hex Mỗi trình hợp ngữ có số từ dự trữ từ gợi nhớ cho lệnh mà không dùng để làm nhãn chương trình Ví dụ “MOV” “ADD” Bên cạnh từ gợi nhớ cịn có số tự dự trữ khác, kiểm tra liệt kê từ dự phòng hợp ngữ ta sử dụng 2.6 Các bit cờ ghi đặc PSW 8051 Cũng vi xử lý khác, 8051 có ghi cờ để báo điều kiện số học bit nhớ Thanh ghi cờ 8051 gọi ghi từ trạng thái chương trình PSW Trong phần đưa số ví dụ cách thay đổi chúng 2.6.1 Thanh ghi từ trạng thái chương trình PSW Thanh ghi PSW ghi bit Nó cịn coi ghi cờ Mặc dù ghi PSW rộng bit có bit 8051 sử dụng Hai bit chưa dùng cờ ch người dùng định nghĩa Bốn số cờ gọi cờ có điều kiện, có nghĩa chúng báo số điều kiện kết lệnh vừa thực Bốn cờ cờ nhớ CY (carry), cờ AC (auxiliary cary), cờ chẵn lẻ P (parity) cờ tràn OV (overflow) Như nhìn thấy từ hình 2.4 bit PSW.3 PSW.4 gán RS0 RS1 chúng sử dụng để thay đổi ghi băng Chúng giải thích phần kế sau Các bit PSW.5 PSW.1 bit cờ trạng thái công dụng chung lập trình viên sử dụng cho mục đích CY AC F0 RS1 RS0 OV − P CY PSW.7 ; Cờ nhớ AC PSW.6 ; Cờ PSW.5 ; Dành cho người dùng sử dụng mục đích chung RS1 PSW.4 ; Bit = chọn băng ghi RS0 PSW.3 ; Bit = chọn băng ghi OV PSW.2 ; Cờ bận PSW.1 ; Bit dành cho người dùng định nghĩa P PSW.0 ; Cờ chẵn, lẻ Thiết lập/ xoá phần cứng chu kỳ lệnh báo tổng số bit ghi A chẵn/ lẻ RS1 RS0 Băng ghi Địa 0 00H - 07H 1 08H - 0FH 1 10H - 17H 18H - 1FH Hình 2.4: Các bit ghi PSW Dưới giải thích ngắn gọn bit cờ ghi PSW Cờ nhớ CY: Cờ thiết lập có nhớ từ bit D7 Cờ tác động sau lệnh cộng trừ bit Nó thiết lập lên xoá trực tiếp lệnh “SETB C” “CLR C” nghĩa “thiết lập cờ nhớ” “xoá cờ nhớ” tương ứng Về lệnh đánh địa theo bit bàn kỹ chương Cờ AC: Cờ báo có nhớ từ bit D3 sang D4 phép cộng ADD trừ SUB Cờ dùng lệnh thực thi phép số học mã BCD (xem chương 6) Cờ chẵn lẻ P: Cờ chẵn lẻ phản ánh số bit ghi A chẵn hay lẻ Nếu ghi A chứa số chẵn bit P = Do vậy, P = A có số lẻ bit Cờ chàn OV: Cờ thiết lập kết phép tính số có dấu lớn tạo bit bậc cao làm tràn bit dấu Nhìn chung cờ nhớ dùng để phát lỗi phép số học không dấu Còn cờ tràn dùng để phát lỗi phép số học có dấu bàn kỹ chương 2.6.2 Lệnh ADD PSW Bây ta xét tác động lệnh ADD lên bit CY, AC P ghi PSW Một số ví dụ làm rõ trạng thái chúng, bit cờ bị tác động lệnh ADD CY, P, AC OV ta tập trung vào cờ CY, AC P, cờ OV nói đến chương liên quan đến phép tính số học số có dấu Các ví dụ 2.2 đến 2.4 phản ánh tác động lệnh ADD lên bit nói Bảng 2.1: Các lệnh tác động lên bit cờ Ví dụ 2.2: Hãy trình bày trạng thái bit cờ CY, AC P sau lệnh cộng 38H với 2FH đây: MOV A, #38H ADD A, #2FH ; Sau cộng A = 67H, CY = Lời giải: + 38 2F 67 00111000 00101111 01100111 Cờ CY = khơng có nhớ từ D7 Cờ AC = có nhớ từ D3 sang D4 Cờ P = ghi A có bit (lẻ) Ví dụ 2.3: Hãy trình bày trạng thái cờ CY, AC P sau phép cộng 9CH với 64H Lời giải: 9C + 64 100 10011100 01100100 00000000 Cờ CY = có nhớ qua bit D7 Cờ AC = có nhớ từ D3 sang D4 Cờ P = ghi A khơng có bit (chẵn) Ví dụ 2.4: Hãy trình bày trạng thái cờ CY, AC P sau phép cộng 88H với 93H Instruction ADD ADDC SUBB MUL DIV DA RRC RLC SETB C CLR C CPL C ANL C, bit ANL C,/ bit ORL C, bit ORL C,/bit MOV C, bit CJNE CY X X X 0 X X X X X X X X X X OV X X X X X AC X X X Lời giải: 88 + 93 11B 10001000 10010011 00011011 Cờ CY = có nhớ từ bit D7 Cờ AC = khơng có nhớ từ D3 sang D4 Cờ P = số bit A (chẵn) 2.7 Các băng ghi ngăn xếp 8051 Bộ vi điều khiển 8051 có tất 128 byte RAM Trong mục ta bàn vệ phân bố 128 byte RAM khảo sát công dụng chúng ghi ngăn xếp 2.7.1 Phân bố không gian nhớ RAM 8051 Có 128 byte RAM 8051 (một số thành viên ý 8052 có 256 byte RAM) 128 byte RAM bên 8051 gán địa từ 00 đến 7FH Như ta thấy chương 5, chúng truy cập trực tiếp ngăn nhớ 128 byte RAM phân chia thành nhóm sau: Tổng cộng 32 byte từ ngăn nhớ 00 đến 1FH dành cho ghi ngăn xếp Tổng cộng 16 byte từ ngăn nhớ 20H đến 2FH dành cho nhớ đọc/ ghi đánh địa theo bit Chương bàn chi tiết nhớ lệnh đánh địa theo bit Tổng cộng 80 byte từ ngăn nhớ 30H đến 7FH dùng cho lưu đọc ghi hay thường gọi bảng nháp (Serach pad) Những ngăn nhớ (80 byte) RAM sử dụng rộng rãi cho mục đích lưu liệu tham số lập trình viên 8051 Chúng ta sử dụng chúng chương sau để lưu liệu nhận vào CPU qua cổng vào-ra 2.7.2 Các băng ghi 8051 Như nói trước, tổng cộng 32 byte RAM dành riêng cho băng ghi ngăn xếp 32 byte chia thành băng ghi băng có ghi từ R0 đến R7 Các ngăn nhớ RAM số 0, R1 ngăn nhớ RAM số 1, R2 ngăn nhớ RAM số v.v Băng thứ hai ghi R0 đến R7 nhớ RAM số ngăn nhớ RAM số 0FH Băng thứ ba ngăn nhớ 10H đến 17H cuối từ ngăn nhớ 18H đến 1FH dùng cho băng ghi R0 đến R7 thứ tư R0 - R7 R0 - R7 R0 - R7 07 08 0F10 1718 1F 20 R0 - R7 00 2F 30 RAM đánh RAM băng địa theo nhớ bit (Seratch Pad) Băng0 Hình 2.5: Ngăn xếp nhớ RAM 8051 Bank Bank Bank Bank R7 F R7 R7 1F R7 R6 E R6 R6 1E R6 R5 D R5 R5 1D R5 R4 C R4 R4 1C R4 R3 B R3 R3 1B R3 R2 A R2 R2 1A R2 R1 R1 R1 19 R1 R0 R0 R0 18 R0 Hình 2.6: Các băng ghi 8051 địa chúng Như ta nhìn thấy từ hình 2.5 băng sử dụng không gian RAM ngăn xếp Đây vấn đề lập trình 8051 Chúng ta phải không sử dụng băng phải đánh không gian khác RAM cho ngăn xếp Ví dụ 2.5: Hãy phát biểu nội dung ngăn nhớ RAM sau đoạn chương trình sau: MOV R0, #99H ; Nạp R0 giá trị 99H MOV R1, #85H ; Nạp R1 giá trị 85H MOV R2, #3FH ; Nạp R2 giá trị 3FH MOV R7, #63H ; Nạp R7giá trị 63H MOV R5, #12H ; Nạp R5 giá trị12H Lời giải: Sau thực chương trình ta có: Ngăn nhớ RAM có giá trị 99H Ngăn nhớ RAM có giá trị 85H Ngăn nhớ RAM có giá trị 3FH Ngăn nhớ RAM có giá trị 63H Ngăn nhớ RAM có giá trị 12H 2.6.3 Băng ghi mặc định Nếu ngăn nhớ 00 đến 1F dành riêng cho bốn băng ghi, băng ghi R0 đến R7 ta phải truy cập tới 8051 cấp nguồn? Câu trả lời băng ghi Đó ngăn nhớ RAM số 0, 1, 2, 3, 4, 5, truy cập với tên R0, R1, R2, R3, R4, R5, R6 R7 lập trình 8051 Nó dễ dàng nhiều tham chiếu ngăn nhớ RAM ơví tên R0, R1 v.v số vị trí ngăn nhớ Ví dụ 2.6 làm rõ khái niệm Ví dụ 2.6: Hãy viết lại chương trình ví dụ 2.5 sử dụng địa RAM thay tên ghi Lời giải: Đây gọi chế độ đánh địa trực tiếp sử dụng địa vị trí ngăn nhớ RAM địa đích Xem chi tiết chương chế độ đánh địa MOV 00, #99H ; Nạp ghi R0 giá trị 99H MOV 01, #85H ; Nạp ghi R1 giá trị 85H MOV 02, #3FH MOV 07, #63H MOV 05, #12H ; Nạp ghi R2 giá trị 3FH ; Nạp ghi R7giá trị 63H ; Nạp ghi R5 giá trị12H 2.6.4 Chuyển mạch băng ghi nào? Như nói trên, băng ghi mặc định 8051 cấp nguồn Chúng ta chuyển mạch sang băng ghi khác cách sử dụng bit D3 D4 ghi PSW theo bảng 2.2 Bảng 2.2: Bit lựa chọn băng ghi RS0 RS1 RS1 (PSW.4) RS0 (PSW.3) Băng 0 Băng 1 Băng Băng 1 Bit D3 D4 ghi PSW thường tham chiếu PSW.3 PSW.4 chúng truy cập lệnh đánh địa theo bit SETB CLR Ví dụ “SETB PSW.3” thiết lập PSW.3 chọn băng ghi Xem ví dụ 2.7 Ví dụ 2.7: Hãy phát biểu nội dung ngăn nhớ RAM sau đoạn chương trình đây: SETB PSW.4 ; Chọn băng ghi MOV R0, #99H ; Nạp ghi R0 giá trị 99H MOV R1, #85H ; Nạp ghi R1 giá trị 85H MOV R2, #3FH ; Nạp ghi R2 giá trị 3FH MOV R7, #63H ; Nạp ghi R7giá trị 63H MOV R5, #12H ; Nạp ghi R5 giá trị12H Lời giải: Theo mặc định PSW.3 = PSW.4 = Do vậy, lệnh “SETB PSW.4” bật bit RS1 = RS0 = 0, lệnh băng ghi R0 đến R7 số chọn Băng sử dụng ngăn nhớ từ 10H đến 17H Nên sau thực đoạn chương trình ta có nội dung ngăn nhớ sau: Ngăn nhớ vị trí 10H có giá trị 99H Ngăn nhớ vị trí 11H có giá trị 85H Ngăn nhớ vị trí 12H có giá trị 3FH Ngăn nhớ vị trí 17H có giá trị 63H Ngăn nhớ vị trí 15H có giá trị 12H 2.6.5 Ngăn xếp 8051 Ngăn xếp vùng nhớ RAM CPU sử dụng để lưu thông tin tạm thời Thông tin dự liệu, địa cỉ CPU cần khơng gian lưu trữ số ghi bị hạn chế 2.6.6 Cách truy cập ngăn xếp 8051 Nếu ngăn xếp vùng nhớ RAM phải có ghi CPU đến Thanh dùng để đến ngăn xếp gọi ghi trỏ ngăn xếp SP (Stack Pointer) Con trỏ ngăn xếp 8051 rộng bit có nghĩa có thể địa từ 00 đến FFH Khi 8051 cấp nguồn SP chứa giá trị 07 có nghĩa ngăn nhớ 08 RAM ngăn nhớ dùng cho ngăn xếp 8051 Việc lưu lại ghi PCU ngăn xếp gọi lần cất vào PUSH việc nạp nội dung ngăn xếp trở lại ghi CPU gọi lấy POP Hay nói cách khác ghi cất vào ngăn xếp để lưu cất lấy từ ngăn xếp để dùng tiếp công việc SP nghiêm ngặt thao tác cất vào (PUSH) lấy (POP) thực thi Để biết ngăn xếp làm việc xét lệnh PUSH POP 2.6.7 Cất ghi vào ngăn xếp Trong 8051 trỏ ngăn xếp đến ngăn nhớ sử dụng cuối ngăn xếp Khi ta cất liệu vào ngăn xếp trỏ ngăn xếp SP tăng lên Lưu ý điều vi xử lý khác khác nhau, đáng ý vi xử lý × 86 SP giảm xuống cất liệu vào ngăn xếp Xét ví dụ 2.8 đây, ta thấy lệnh PUSH thực nội dung ghi cất vào ngăn xếp SP tăng lên Lưu ý byte liệu cất vào ngăn xếp SP tăng lên lần Cũng lưu ý để cất ghi vào ngăn xếp ta phải sử dụng địa RAM chúng Ví dụ lệnh “PUSH 1” cất ghi R1 vào ngăn xếp Ví dụ 2.8: Hãy biểu diễn ngăn xếp trỏ ngăn xếp đoạn chương trình sau Giả thiết vùng ngăn xếp mặc định MOV R6, #25H MOV R1, #12H MOV R4, #0F3H PUSH PUSH PUSH Lời giải: 0B Sau PUSH 0B Sau PUSP 0B Sau PUSH 0B ... chương trình nguồn trình bày trước Dưới hoạt động bước đếm chương trình qúa trình nạp thực thi chương trình mẫu 2.4.3 Đặt mã vào ROM chương trình Để hiểu tốt vai trị đếm chương trình trình nạp... bit Cơng việc lập trình viên phân chia liệu lớn bit thành khúc bit (từ 00 đến FFH hay từ đến 255) để CPU xử lý Ví dụ xử lý liệu lớn bit trình bày chương Các liệu sử dụng 8051 số âm số dương xử lý. .. hợp ngữ phải dịch mã máy chương trình trình hợp ngữ (hợp dịch) Hợp ngữ coi ngơng ngữ bậc thấp giao tiếp trực tiếp với cấu trúc bên CPU Để lập trình hợp ngữ, lập trình viên phải biết tất ghi CPU

Ngày đăng: 21/08/2013, 10:59

Hình ảnh liên quan

Hình 2.1: a) Một số thanh ghi 8 bit của 8051 b) Một số thanh ghi 16 bit của 8051  - LÝ THUYẾT lập TRÌNH cơ bản (8051)  CHƯƠNG2

Hình 2.1.

a) Một số thanh ghi 8 bit của 8051 b) Một số thanh ghi 16 bit của 8051 Xem tại trang 1 của tài liệu.
Hình 2.3: Dải địa chỉ của ROM trên chíp một số thành viên họ 8051. 2.5 Các kiểu dữ liệu và các chỉ lệnh - LÝ THUYẾT lập TRÌNH cơ bản (8051)  CHƯƠNG2

Hình 2.3.

Dải địa chỉ của ROM trên chíp một số thành viên họ 8051. 2.5 Các kiểu dữ liệu và các chỉ lệnh Xem tại trang 12 của tài liệu.
Như nhìn thấy từ hình 2.4 thì các bit PSW.3 và PSW.4 - LÝ THUYẾT lập TRÌNH cơ bản (8051)  CHƯƠNG2

h.

ư nhìn thấy từ hình 2.4 thì các bit PSW.3 và PSW.4 Xem tại trang 14 của tài liệu.
Hình 2.6: Các băng thanh ghi của 8051 và địa chỉ của chúng. - LÝ THUYẾT lập TRÌNH cơ bản (8051)  CHƯƠNG2

Hình 2.6.

Các băng thanh ghi của 8051 và địa chỉ của chúng Xem tại trang 17 của tài liệu.
Hình 2.5: Ngăn xếp các thanh nhớ RAM trong 8051. - LÝ THUYẾT lập TRÌNH cơ bản (8051)  CHƯƠNG2

Hình 2.5.

Ngăn xếp các thanh nhớ RAM trong 8051 Xem tại trang 17 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan