Cơđiệntử.ogr vi xử lý 8051
Show
Uploaded byThor 0% found this document useful (0 votes) 10 views 62 pages Original TitleGT_Vi_dieu_khien_8051 ( CDT ).doc Copyright© © All Rights Reserved Available FormatsDOC, PDF, TXT or read online from Scribd Share this documentDid you find this document useful?Is this content inappropriate?Report this Document 0% found this document useful (0 votes) 10 views62 pages GT - Vi - Dieu - Khien - 8051 (CDT)Original Title:GT_Vi_dieu_khien_8051 ( CDT ).doc Uploaded byThor Full description Hợp ngữ là một ngôn ngữ lập trình cấp thấp được sử dụng để viết mã chương trình về mặt ghi nhớ. Mặc dù có rất nhiều ngôn ngữ cấp cao hiện đang được yêu cầu, nhưng ngôn ngữ lập trình hợp ngữ vẫn được sử dụng phổ biến trong nhiều ứng dụng, nó có thể được sử dụng cho các thao tác phần cứng trực tiếp. Nó cũng được sử dụng để viết Mã lập trình 8051 hiệu quả với số lượng chu kỳ đồng hồ ít
hơn bằng cách tiêu thụ ít bộ nhớ hơn so với các ngôn ngữ cấp cao khác. Lập trình 8051 Hợp ngữ là một ngôn ngữ lập trình hoàn toàn liên quan đến phần cứng. Các nhà thiết kế nhúng phải
có đủ kiến thức về phần cứng của bộ xử lý hoặc bộ điều khiển cụ thể trước khi viết chương trình. Hợp ngữ được phát triển bằng kỹ thuật ghi nhớ, do đó, người dùng không thể hiểu dễ dàng để sửa đổi chương trình.
8051 Lập trình bằng hợp ngữ Hợp ngữ lập trình được phát triển bởi nhiều trình biên dịch khác nhau và các 'sân chơi bowling' là phù hợp nhất cho vi điều khiểnlập trình phát triển. Microcontrollershoặc bộ xử lý chỉ có thể hiểu ngôn ngữ nhị phân ở dạng ‘0s hoặc 1s’. Một trình hợp dịch chuyển đổi ngôn ngữ hợp ngữ sang ngôn ngữ nhị phân và sau đó lưu trữ nó trongvi điều khiểnbộ nhớ để thực hiện nhiệm vụ cụ thể. 8051 Architecuture Vi điều khiển8051vi điều khiểnlà Kiến trúc Harvard dựa trên CISC , và nó có các thiết bị ngoại vi như 32 I / O, bộ định thời / bộ đếm, giao tiếp nối tiếp và bộ nhớ. Cácvi điều khiểnyêu cầu chương trình thực hiện các thao tác yêu cầu bộ nhớ để lưu và đọc các chức năng. 8051vi điều khiểnbao gồm bộ nhớ RAM và ROM để lưu trữ các lệnh. 8051 Architecuture Vi điều khiển Sổ đăng ký là phần chính trong bộ xử lý vàvi điều khiển được chứa trong bộ nhớ cung cấp cách thu thập và lưu trữ dữ liệu nhanh hơn. Việc lập trình hợp ngữ 8051 dựa trên các thanh ghi bộ nhớ. Nếu chúng ta muốn thao tác dữ liệu với bộ xử lý hoặc bộ điều khiển bằng cách thực hiện phép trừ, cộng, v.v., chúng ta không thể thực hiện điều đó trực tiếp trong bộ nhớ, mà nó cần các thanh ghi để xử lý và lưu trữ dữ liệu.Vi điều khiểnchứa một số loại thanh ghi có thể được phân loại theo hướng dẫn hoặc nội dung hoạt động trong đó. Các chương trình vi điều khiển 8051 bằng hợp ngữHợp ngữ được tạo thành từ các phần tử được sử dụng để viết chương trìnhCách tuần tự. Tuân theo các quy tắc đã cho để viết chương trình bằng hợp ngữ. Quy tắc của hợp ngữ
Thuật ngữ hợp ngữ ở dạng mã op, chẳng hạn như MOV, ADD, JMP, v.v., được sử dụng để thực hiện các hoạt động.
Mã op: Mã op là một lệnh duy nhất có thể được thực thi bởi CPU. Đây là mã op là một lệnh MOV. Toán hạng: Các toán hạng là một phần dữ liệu duy nhất có thể được vận hành bởi mã op. Ví dụ, phép toán nhân được thực hiện bởi các toán hạng được nhân với toán hạng. Cú pháp: MUL a,b Các yếu tố của lập trình hợp ngữ:
Hướng dẫn lắp ráp: Các chỉ thị lắp ráp cung cấp các hướng cho CPU. 8051vi điều khiểnbao gồm nhiều loại lệnh lắp ráp khác nhau để cung cấp hướng cho đơn vị điều khiển. Các chỉ thị hữu ích nhất là lập trình 8051, chẳng hạn như:
ORG(gốc): Chỉ thị này cho biết thời điểm bắt đầu chương trình. Điều này được sử dụng để thiết lập địa chỉ thanh ghi trong quá trình lắp ráp. Ví dụ ORG 0000h cho trình biên dịch biết tất cả mã tiếp theo bắt đầu từ địa chỉ 0000h. Cú pháp: ORG 0000h
DB(định nghĩa byte): Byte xác định được sử dụng để cho phép một chuỗi byte. Ví dụ: in “EDGEFX” trong đó mỗi ký tự được lấy bởi địa chỉ và cuối cùng in trực tiếp “chuỗi” bởi DB với dấu ngoặc kép. Cú pháp: ORG 0000h MOV a, # 00h
EQU (tương đương): Chỉ thị tương đương được sử dụng để cân bằng địa chỉ của biến. Cú pháp: reg
bằng,09 giờ KẾT THÚC: Lệnh END được sử dụng để chỉ ra sự kết thúc của chương trình. Cú pháp: reg bằng,09 giờ —————– Chế độ địa chỉ:Cách truy cập dữ liệu được gọi là chế độ định địa chỉ. CPU có thể truy cập dữ liệu theo nhiều cách khác nhau bằng cách sử dụng các chế độ định địa chỉ. 8051vi điều khiểnbao gồm năm chế độ địa chỉ như:
Chế độ giải quyết ngay lập tức: Trong chế độ địa chỉ này, nguồn phải là một giá trị có thể theo sau là '#' và đích phải là Thanh ghi SFR, thanh ghi mục đích chung và địa chỉ. Nó được sử dụng để lưu trữ ngay giá trị trong các thanh ghi bộ nhớ. Cú pháp: MOV A, # 20h // A làmộtthanh ghi tích lũy, 20 được lưu trữ trong A // Trước đây: MOV R0, # 1
Đăng ký Chế độ Địa chỉ: Trong chế độ định địa chỉ này, nguồn và đích phải là một thanh ghi, nhưng không phải là các thanh ghi mục đích chung. Vì vậy, dữ liệu không được di chuyển trong sổ đăng ký ngân hàng đa năng . Cú pháp: MOV A, B // A là thanh ghi SFR, B là thanh ghi mục đích chung // TRƯỚC ĐÂY: MOV R0, # 02h
Chế độ địa chỉ trực tiếp Trong chế độ định địa chỉ này, nguồn hoặc đích (hoặc cả nguồn và đích) phải là một địa chỉ, nhưng không phải là giá trị. Cú pháp: MOV A,20h // 20h là một địa chỉ A là một thanh ghi // Trước đây: MOV 07 giờ,# 01 giờ
Chế độ địa chỉ gián tiếp: Trong chế độ địa chỉ này, nguồn hoặc đích (hoặc đích hoặc nguồn) phải làđếnđịa chỉ gián tiếp, nhưng không phải là một giá trị. Chế độ địa chỉ này hỗ trợ khái niệm con trỏ. Con trỏ là một biến được sử dụng để lưu trữ địa chỉ của biến kia. Khái niệm con trỏ này chỉ được sử dụng cho các thanh ghi R0 và R1. Cú pháp: Giá trị MOVR0, # 01h // 01 được lưu trong thanh ghi R0, địa chỉ R0 là 08h // Chế độ địa chỉ gián tiếp Chế độ định địa chỉ chỉ mục cơ sở: Chế độ địa chỉ này được sử dụng để đọc dữ liệu từ bộ nhớ ngoài hoặc bộ nhớ ROM . Tất cả các chế độ địa chỉ không thể đọc dữ liệu từ bộ nhớ mã. Mã phải đọc qua thanh ghi DPTR. DPTR được sử dụng để trỏ dữ liệu trong mã hoặc bộ nhớ ngoài. Cú pháp: MOVC A, @ A + DPTR // C cho biết bộ nhớ mã // Bộ hướng dẫn:Tập lệnh là cấu trúc của bộ điều khiển hoặc bộ xử lý cung cấp các lệnh cho bộ điều khiển để hướng dẫn bộ điều khiển xử lý dữ liệu. Tập lệnh bao gồm các lệnh, kiểu dữ liệu gốc, chế độ định địa chỉ, thanh ghi ngắt, xử lý đặc biệt và kiến trúc bộ nhớ. Các 8051vi điều khiển có thể làm theo hướng dẫn của CISC với kiến trúc Harvard. Trong trường hợp lập trình 8051, các loại lệnh CISC khác nhau bao gồm:
Bộ hướng dẫn số học:Các hướng dẫn số học thực hiện các phép toán cơ bản như:
Thêm vào: ORG 0000h Phép nhân: ORG 0000h Phép trừ: ORG 0000h Bộ phận: ORG 0000h
Hướng dẫn có điều kiệnCPU thực hiện các lệnh dựa trên điều kiện bằng cách kiểm tra trạng thái bit đơn hoặc trạng thái byte. 8051vi điều khiểnbao gồm các lệnh có điều kiện khác nhau như:
Hướng dẫn có điều kiện 1. Cú pháp: JB P1.0, nhãn 2. Cú pháp: JNB P1.0, nhãn 3. Cú pháp:JC, nhãn 4. Cú pháp: JNC, nhãn JZ, nhãn 6. Cú pháp: JNZ, nhãn Hướng dẫn Gọi và Nhảy:Lệnh gọi và lệnh nhảy được sử dụng để tránh sao chép mã của chương trình. Khi một số mã cụ thể được sử dụng nhiều lần ở các vị trí khác nhau trong chương trình, nếu chúng tôi đề cậptên cụ thểđếnsau đó mãchúng ta có thể sử dụng tên đó ở bất cứ đâu trong chương trình mà không cần nhập mã cho mọi lúc Điều này làm giảm độ phức tạp của chương trình. Lập trình 8051 bao gồm lệnh gọi và lệnh nhảy như LCALL, SJMP.
1. Cú pháp: ORG 0000h 2. Cú pháp: ORG 0000h Hướng dẫn Gọi và Nhảy Hướng dẫn lặp lại:Các lệnh lặp được sử dụng để lặp lại khối mỗi lần trong khi thực hiện các thao tác tăng và giảm. 8051vi điều khiểnbao gồm hai loại hướng dẫn vòng lặp:
1. Cú pháp: củaCJNE 2. Cú pháp: củaDJNE MOV R0, # 10H Bộ hướng dẫn logic:Tập lệnh vi điều khiển 8051 cung cấp các lệnh logic AND, OR, XOR, TEST, NOT và Boolean để thiết lập và xóa các bit dựa trên nhu cầu trong chương trình. Bộ hướng dẫn logic 1. Cú pháp: MOV A, # 20H / 00100000 / 2. Cú pháp: MOV A, # 20H / 00100000 / 3. Cú pháp: MOV A, # 20H / 00100000 / Người điều hành dịch chuyểnCác toán tử ca được sử dụng để gửi và nhận dữ liệu một cách hiệu quả. 8051vi điều khiểnbao gồm bốn toán tử thay đổi:
Xoay phải (RR): Trong hoạt động dịch chuyển này, MSB trở thành LSB và tất cả các bit dịch chuyển về phía bên phải từng bit một, tuần tự. Cú pháp: MOV A, # 25 giờ
Xoay trái (RL): Trong hoạt động dịch chuyển này, MSB trở thành LSB và tất cả các bit dịch chuyển về phía Trái từng bit một, tuần tự. Cú pháp: MOV A, # 25 giờ
RRC Xoay Phải qua Thực hiện: Trong hoạt động dịch chuyển này, LSB di chuyển để mang và mang trở thành MSB, và tất cả các bit được dịch chuyển về phía bên phải vị trí từng bit. Cú pháp: MOV A, # 27 giờ RLC Xoay Trái qua Thực hiện: Trong hoạt động dịch chuyển này, MSB di chuyển để mang và mang trở thành LSB và tất cả các bit dịch chuyển về phía bên trái theo vị trí từng bit. Cú pháp: MOV A, # 27 giờ
Các chương trình C nhúng cơ bản:Cácvi điều khiểnlập trình khác nhau đối với từng loại hệ điều hành. Có nhiều hệ điều hành chẳng hạn như Linux, Windows, RTOS, v.v. Tuy nhiên, RTOS có một số lợi thế để phát triển hệ thống nhúng. Dưới đây là một số ví dụ lập trình cấp Assembly. Đèn LED nhấp nháy sử dụng với 8051vi điều khiển:
Các chương trình LED với 8051 Microcontrller1. WAP để chuyển đổi các đèn LED PORT1 ORG 0000H Tính toán và chương trình hẹn giờ / bộ đếm sử dụng 8051 Microcontroller:Sự chậm trễ là một trong những yếu tố quan trọng trong việc phát triển phần mềm ứng dụng. Các bộ đếm thời gian và bộ đếm là các thành phần phần cứng củavi điều khiển, được sử dụng trong nhiều ứng dụng để cung cấp độ trễ thời gian chính xác với các xung đếm. Both các nhiệm vụ được thực hiện bởi kỹ thuật phần mềm. 1. WAP để tính toán thời gian trễ 500us. MOV TMOD, # 10H // chọn chế độ hẹn giờ bằng các thanh ghi // 2. WAP để chuyển đổi các đèn LEDvới5giâythời gian trễ ORG 0000H 3. WAP để đếm 250 xung sử dụng mode0 count0 Cú pháp: ORG 0000H Lập trình giao tiếp nối tiếp sử dụng 8051 Microcontroller:Truyền thông nối tiếp thường được sử dụng để truyền và nhận dữ liệu. 8051vi điều khiểnbao gồm giao tiếp nối tiếp UART / USART và các tín hiệu được truyền và nhận bởiTxvà chân Rx. Giao tiếp UART truyền dữ liệu từng bit một. UART là một giao thức bán song công truyền và nhận dữ liệu, nhưng không phải cùng một lúc. 1. WAP để truyền các ký tự tới Hyper Terminal MOV SCON, # 50H // thiết lập giao tiếp nối tiếp // 2. WAP để truyền nhận ký tự bằng Hyper Terminal MOV SCON, # 50H // thiết lập giao tiếp nối tiếp // Đây là tất cả về Lập trình 8051 trong ngôn ngữ Hợp ngữ ngắn gọn với các chương trình dựa trên ví dụ. Chúng tôi hy vọng thông tin đầy đủ này về hợp ngữ chắc chắn sẽ hữu ích cho độc giả và chúng tôi mong muốn nhận được ý kiến quý báu của họ trong phần bình luận bên dưới. |