Các nhóm lệnh cơ bản của 8051

24 765 6
Các nhóm lệnh cơ bản của 8051

Đ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

1 1 Electrical Engineering Các nhóm lệnh bản của 8051 TS Nguyễn Hồng Quang Electrical Engineering 2 Lập trình 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 2 Electrical Engineering 3 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 bản •Lệnh gán •Lệnh if then •Lệnh do while Electrical Engineering 4 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 3 Electrical Engineering 5 Nhóm lệnh chuyển dữ liệu Electrical Engineering 6 Truyền dữ liệu với RAM ngoài 4 Electrical Engineering 7 Lệnh xử lý lôgic Electrical Engineering 8 Ví dụ 5 Electrical Engineering 9 Ví dụ XOR Electrical Engineering 10 Kiểm tra dùng XOR Đọc và kiểm tra cổng P1 xem nó chứa giá trị A5H không? Nếu gửi FFH đến cổng P2, nếu không xoá nó 6 Electrical Engineering 11 Ví dụ về debounce XOR Electrical Engineering 12 Lấy bù 2 7 Electrical Engineering 13 Lệnh xử lý lôgic (tiếp) Electrical Engineering 14 Ví dụ 8 Electrical Engineering 15 Quay nhớ Electrical Engineering 16 Nhân và Chia số 2 9 Electrical Engineering 17 Ví dụ Viết một chương trình để tìm số các số 1 trong một byte đã cho. Electrical Engineering 18 Ví dụ ASCII - BCD Giả sử thanh ghi A số mã BCD hãy viết một chương trình để chuyển đổi mã BCD đó về hai số ASCII và đặt chúng vào R2 và R6 10 Electrical Engineering 19 Lệnh làm việcvới bit (tiếp) Electrical Engineering 20 Lệnh làm việcvớibit [...]... Message”) Electrical Engineering 23 Lệnh nhảy điều kiện Electrical Engineering 24 12 Tính tổng Hãy tìm tổng của các giá trị 79H, F5H và E2H Đặt vào trong các thanh ghi R0 (byte thấp) và R5 (byte cao) 25 Electrical Engineering Chuỗi ký tự Electrical Engineering 26 13 Các lệnh nhảy không điều kiện 27 Electrical Engineering Ví dụ JMP Electrical Engineering 28 14 Lệnh làm việc với bảng dữ liệu MOVC, nghÜa lµ... kết quả kiểm tra hãy đặt giá trị nhiệt độ vào các thanh ghi được chỉ định như sau: Nếu T = 75 thì A = 75 Nếu T < 75 thì R1 = T Nếu T > 75 thì R2 = T Electrical Engineering 34 17 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 ( ) 35 Electrical Engineering 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ỉ... tự Rẽ phải thì bật 3 LED phải tuần tự Electrical Engineering 42 21 Lệnh số học 43 Electrical Engineering Ví dụ lệnh cộng Cộng 2 số 16-bit tại RAM 30h (high byte) và 31h (low byte), cộng với 1045h và lưu tại32h (high byte) and 33h (lowbyte) Electrical Engineering 44 22 Sự khác nhau cơ bản giữa ADD và ADDC • Lệnh ADD tương đương với lệnh – CLR C – ADDC • Cờ OV xác định số phải là số âm không – Ví... Electrical Engineering Ví dụ tiếp Trạng thái của các bít P1.2 và P1.3 của cổng vào/ra P1 phải được lưu cất trước khi chúng được thay đổi Hãy viết chương trình để lưu trạng thái của P1.2 vào vị trí bít 06 và trạng thái P1.3 vào vị trí bít 07 Electrical Engineering 22 11 Ví dụ với bit C Hãy viết một chương trình để hiển thị (“New Message”) trên màn hình LCD nếu bít 12H của RAM giá trị cao Nếu nó giá trị... MOVC, nghÜa lµ move constant Electrical Engineering 29 Ví dụ bảng tìm kiếm Electrical Engineering 30 15 Lệnh nhảy với cờ Electrical Engineering 31 Lưu ý với lệnh CJNE • Nếu tham số 1 < tham số 2, bit nhớ C được đặt lên 1 • Nếu tham số 1 > tham số 2, bit nhớ C được xóa về 0 Electrical Engineering 32 16 Ví dụ 33 Electrical Engineering Ví dụ lệnh if Giả sử P1 là một cổng đầu vào được nối tới một cảm biến... Ví dụ: 20h + 70h = 90 h (tương đương -10h) Electrical Engineering 45 Ví dụ về MUL, DIV Electrical Engineering 46 23 Lệnh DA • Lệnh DA (Decimal Adjust for addition điều chỉnh thập phân đối với phép cộng) trong 8051 để dùng hiệu chỉnh sự sai lệch đã nói trên đây liên quan đến phép cộng các số BCD • Nếu 4 biýt thấp lớn hơn 9 hoặc nếu AC = 1 thì nó cộng 0110 vào 4 bít thấp • Nếu 4 bit cao lớn hơn 9 hoặc

Ngày đăng: 25/05/2014, 04:49

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

Tài liệu liên quan