Bài giảng Vi điều khiển: Chapter 2 - Ngô Như Khoa
Số trang: 23
Loại file: pdf
Dung lượng: 258.64 KB
Lượt xem: 17
Lượt tải: 0
Xem trước 3 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Chương 2 của bài giảng Vi điều khiển cung cấp các kiến thức liên quan đến kiến trúc 8051 và giới thiệu về ngôn ngữ lập trình Assembly. Các nội dung được trình bày trong chương này gồm có: Kiến trúc bên trong của 8051, tập các thanh ghi, tập lệnh, bản đồ bộ nhớ, giới thiệu về ngăn xếp, ngôn ngữ lập trình Assembly. Mời các bạn cùng tham khảo để nắm bắt những nội dung chi tiết.
Nội dung trích xuất từ tài liệu:
Bài giảng Vi điều khiển: Chapter 2 - Ngô Như Khoa Kiến trúc 8051 và giới thiệu về ngôn ngữ lập trình Assembly Microcontroller Chapter 2 Ngo Nhu Khoa Department of Computer EngineeringDCE ThaiNguyen University of TechnologyCác vấn đề chínhz Kiến trúc bên trong của 8051z Tập các thanh ghiz Tập lệnhz Bản đồ bộ nhớz Giới thiệu về ngăn xếp, SFRsz Ngôn ngữ lập trình Assembly 10/1/2005 2 DCE1. Kiến trúc của 8051z Quan niệm của người lập trình – Tập thanh ghi – Tập lệnh – Bản đồ bộ nhớz Quan niệm của người thiết kế phần cứng – Sơ đồ chân ra – Các đặc trưng về định thời – Các yêu cầu về dòng/áp 10/1/2005 3 DCE2. Tập thanh ghiz Các thanh ghi: – A, B, R0 đến R7 là các thanh ghi 8 bit – DPTR : [DPH:DPL] là thanh ghi 16 bit – PC : Con đếm chương trình (con trỏ lệnh -Instruction Ptr) là thanh ghi 16bit – 4 tập dãy thanh ghi R0-R7 – Thanh ghi con trỏ ngăn xếp SP – PSW : Thanh ghi từ trạng thái (các cờ) – SFR : Các thanh ghi chức năng đặc biệt z Điều khiển các thiết bị ngoại vi trên board 10/1/2005 4 DCE2.1. Các khái niệm cơ bảnz Định dạng của 1 lệnh Assembly – Operation destination source ; commentz Các giá trị được đặt trước bởi 1 dấu # – VD: #55, #32, …z Các giá trị hệ 16 được ký hiệu thêm chữ cái H vào cuối. – VD: #55H, #32Hz Nếu ký tự đầu tiên của giá trị 16 là 1 chữ cái, thì thêm vào trước nó ký tự số 0. – VD: #0FFH, #0C1H, #0D2H 10/1/2005 5 DCE2.2. Accumulator A, ACCz Thường được sử dụng cho việc dịch chuyển dữ liệu, thực hiện các phép toán số học và logic trên dữ liệu 8 bit.z Ví dụ: z mov A, R0 ;copy nội dung của R0 vào A z push ACC ;Cất A vào ngăn xếp z mov A, #10 ;A ← 10 z mov B, A ;B ← A z mov A, 10 ;A ← mem(10) z mov A, 0xFF ;A ← 0xFF z mov A, 0FFH ;như trên24 10/1/2005 6 DCE2.3. B Registerz Thường được sử dụng như là 1 thanh ghi nháp, có thể xem như thanh ghi thứ 9 trong tập thanh ghi Rz Được sử dụng trong 2 mã lệnh: mul AB, div AB – Thanh ghi B lưu toán hạng thứ 2 và sẽ lưu giữ 1 phần kết quả: – 8bits cao của kết quả sau phép nhân – Phần dư của phép chia 10/1/2005 7 DCE2.4. R0 to R7z Tập 8 thanh ghi R0, R1, … R7, mỗi thanh ghi có độ rộng 8 bitz Được sử dụng rộng rãi như là các thanh ghi nhápz Có mặt ở cả 4 dãy (effectively 4x8 registers)z Mỗi dãy được chọn nhờ thiết lập các bit RS1:RS0 trong thanh ghi từ trangh thái PSWz Dãy ngầm định (khi bật nguồn) là dãy 0 (bank0)z Ví dụ: mov R0, A ;R0 ← A mov A, R0 ;A ← R0 mov R1, #45 ;R1 ← 45 10/1/2005 8 DCE2.5. DPTRz Thanh ghi 16 bit, được gọi là con trỏ dữ liệuz Được sử dụng bởi các lệnh truy xuất đến bộ nhớ ngoàiz Có thể được sử dụng để lưu trữ các giá trị 16 bit mov DPTR, #data16 ; setup DPTR with 16bit ext address movx A, @DPTR ; copy mem[DPTR] to Az Thanh ghi DPTR rất hữu dụng đối với các thao tác trên chuỗi, trên các bảng tra 10/1/2005 9 DCE2.6. PCz PC là 1 con đếm chương trìnhz Được xem như là con trỏ (IP) trong các bộ vi xử lý khác.z PC luôn trỏ đến lệnh kế tiếp trong chương trình.z Sau khi lấy 1 lệnh (1 hoặc nhiều byte), PC tự động được tăng lên để trỏ đến lệnh kế tiếp 10/1/2005 10 DCE2.7. SPz SP là con trỏ ngăn xếp, nó luôn trỏ đến đỉnh của ngăn xếpz Lệnh push: làm tăng SP và sau đó copy dữ liệu vào ngăn xếp.z Lệnh pop: copy dữ liệu từ đỉnh ngăn xếp, sau đó giảm SPz Trong 8051, ngăn xếp có hướng phát triển lên trên (từ vùng thấp đến vùng cao của bộ nhớ) và chỉ có thể được đặt trong bộ nhớ RAM nội.z Khi bật nguồn, SP có giá trị là 07Hz Các dãy thanh ghi 2,3 và 4 (08H to 1FH) là vùng ngăn xếp ngầm định.z Ngăn xếp có thể được cấp phát lại bằng cách thiết lập SP trỏ đến vùng nhớ cao hơn (trong vùng từ 30H đến 7FH): mov SP, #32H 10/1/2005 11 DCE2.8. PSWz Thanh ghi từ trạng thái là 1 thanh ghi 8 bit, có thể địa chỉ hoá bit “bit addressable”, mà các bit của nó là các cờ.z CY - Cờ nhớ (Carry Flag)z Được lập khi có 1 số nhớ trong phép toán số họcz AC - Cờ nhớ phụ (Aux. Carry Flag): nhớ từ bit D3 sang b ...
Nội dung trích xuất từ tài liệu:
Bài giảng Vi điều khiển: Chapter 2 - Ngô Như Khoa Kiến trúc 8051 và giới thiệu về ngôn ngữ lập trình Assembly Microcontroller Chapter 2 Ngo Nhu Khoa Department of Computer EngineeringDCE ThaiNguyen University of TechnologyCác vấn đề chínhz Kiến trúc bên trong của 8051z Tập các thanh ghiz Tập lệnhz Bản đồ bộ nhớz Giới thiệu về ngăn xếp, SFRsz Ngôn ngữ lập trình Assembly 10/1/2005 2 DCE1. Kiến trúc của 8051z Quan niệm của người lập trình – Tập thanh ghi – Tập lệnh – Bản đồ bộ nhớz Quan niệm của người thiết kế phần cứng – Sơ đồ chân ra – Các đặc trưng về định thời – Các yêu cầu về dòng/áp 10/1/2005 3 DCE2. Tập thanh ghiz Các thanh ghi: – A, B, R0 đến R7 là các thanh ghi 8 bit – DPTR : [DPH:DPL] là thanh ghi 16 bit – PC : Con đếm chương trình (con trỏ lệnh -Instruction Ptr) là thanh ghi 16bit – 4 tập dãy thanh ghi R0-R7 – Thanh ghi con trỏ ngăn xếp SP – PSW : Thanh ghi từ trạng thái (các cờ) – SFR : Các thanh ghi chức năng đặc biệt z Điều khiển các thiết bị ngoại vi trên board 10/1/2005 4 DCE2.1. Các khái niệm cơ bảnz Định dạng của 1 lệnh Assembly – Operation destination source ; commentz Các giá trị được đặt trước bởi 1 dấu # – VD: #55, #32, …z Các giá trị hệ 16 được ký hiệu thêm chữ cái H vào cuối. – VD: #55H, #32Hz Nếu ký tự đầu tiên của giá trị 16 là 1 chữ cái, thì thêm vào trước nó ký tự số 0. – VD: #0FFH, #0C1H, #0D2H 10/1/2005 5 DCE2.2. Accumulator A, ACCz Thường được sử dụng cho việc dịch chuyển dữ liệu, thực hiện các phép toán số học và logic trên dữ liệu 8 bit.z Ví dụ: z mov A, R0 ;copy nội dung của R0 vào A z push ACC ;Cất A vào ngăn xếp z mov A, #10 ;A ← 10 z mov B, A ;B ← A z mov A, 10 ;A ← mem(10) z mov A, 0xFF ;A ← 0xFF z mov A, 0FFH ;như trên24 10/1/2005 6 DCE2.3. B Registerz Thường được sử dụng như là 1 thanh ghi nháp, có thể xem như thanh ghi thứ 9 trong tập thanh ghi Rz Được sử dụng trong 2 mã lệnh: mul AB, div AB – Thanh ghi B lưu toán hạng thứ 2 và sẽ lưu giữ 1 phần kết quả: – 8bits cao của kết quả sau phép nhân – Phần dư của phép chia 10/1/2005 7 DCE2.4. R0 to R7z Tập 8 thanh ghi R0, R1, … R7, mỗi thanh ghi có độ rộng 8 bitz Được sử dụng rộng rãi như là các thanh ghi nhápz Có mặt ở cả 4 dãy (effectively 4x8 registers)z Mỗi dãy được chọn nhờ thiết lập các bit RS1:RS0 trong thanh ghi từ trangh thái PSWz Dãy ngầm định (khi bật nguồn) là dãy 0 (bank0)z Ví dụ: mov R0, A ;R0 ← A mov A, R0 ;A ← R0 mov R1, #45 ;R1 ← 45 10/1/2005 8 DCE2.5. DPTRz Thanh ghi 16 bit, được gọi là con trỏ dữ liệuz Được sử dụng bởi các lệnh truy xuất đến bộ nhớ ngoàiz Có thể được sử dụng để lưu trữ các giá trị 16 bit mov DPTR, #data16 ; setup DPTR with 16bit ext address movx A, @DPTR ; copy mem[DPTR] to Az Thanh ghi DPTR rất hữu dụng đối với các thao tác trên chuỗi, trên các bảng tra 10/1/2005 9 DCE2.6. PCz PC là 1 con đếm chương trìnhz Được xem như là con trỏ (IP) trong các bộ vi xử lý khác.z PC luôn trỏ đến lệnh kế tiếp trong chương trình.z Sau khi lấy 1 lệnh (1 hoặc nhiều byte), PC tự động được tăng lên để trỏ đến lệnh kế tiếp 10/1/2005 10 DCE2.7. SPz SP là con trỏ ngăn xếp, nó luôn trỏ đến đỉnh của ngăn xếpz Lệnh push: làm tăng SP và sau đó copy dữ liệu vào ngăn xếp.z Lệnh pop: copy dữ liệu từ đỉnh ngăn xếp, sau đó giảm SPz Trong 8051, ngăn xếp có hướng phát triển lên trên (từ vùng thấp đến vùng cao của bộ nhớ) và chỉ có thể được đặt trong bộ nhớ RAM nội.z Khi bật nguồn, SP có giá trị là 07Hz Các dãy thanh ghi 2,3 và 4 (08H to 1FH) là vùng ngăn xếp ngầm định.z Ngăn xếp có thể được cấp phát lại bằng cách thiết lập SP trỏ đến vùng nhớ cao hơn (trong vùng từ 30H đến 7FH): mov SP, #32H 10/1/2005 11 DCE2.8. PSWz Thanh ghi từ trạng thái là 1 thanh ghi 8 bit, có thể địa chỉ hoá bit “bit addressable”, mà các bit của nó là các cờ.z CY - Cờ nhớ (Carry Flag)z Được lập khi có 1 số nhớ trong phép toán số họcz AC - Cờ nhớ phụ (Aux. Carry Flag): nhớ từ bit D3 sang b ...
Tìm kiếm theo từ khóa liên quan:
Vi điều khiển Bài giảng Vi điều khiển Kiến trúc 8051 ngôn ngữ lập trình Assembly Kiến trúc bên trong của 8051 Tập các thanh ghiTài liệu liên quan:
-
Giáo trình Vi điều khiển (Nghề: Cơ điện tử - Trình độ: Cao đẳng) - Trường Cao đẳng nghề Ninh Thuận
127 trang 282 0 0 -
Báo cáo môn học vi xử lý: Khai thác phần mềm Proteus trong mô phỏng điều khiển
33 trang 185 0 0 -
Giáo trình Vi điều khiển (Nghề: Điện công nghiệp - Cao đẳng) - Trường Cao đẳng Cơ giới (2022)
144 trang 155 0 0 -
Đề cương chi tiết học phần Vi điều khiển
15 trang 142 0 0 -
Ứng dụng vi điều khiển PIC 16F877A trong thí nghiệm vật lí phổ thông
12 trang 120 0 0 -
Bài tập lớn môn Vi xử lý, vi điều khiển: Thiết kế bộ điều khiển tốc độ của động cơ điện một chiều
27 trang 118 0 0 -
Giáo trình Kỹ thuật vi điều khiển
121 trang 113 0 0 -
Tài liệu thực hành Vi điều khiển 8051
55 trang 106 0 0 -
Đồ án vi xử lý đề tài : nghiên cứu thiết kế mạch đo khoảng cách sử dụng vi điều khiển Pic 16F887
45 trang 97 1 0 -
Luận văn: Xây dựng mô hình điều khiển động cơ DC servo bằng vi điều khiển
85 trang 96 0 0