1. Trang chủ
  2. » Luận Văn - Báo Cáo

BÀI THẢO LUẬN VI xử lí VI điều KHIỂN

16 158 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 16
Dung lượng 366,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Liên quan đến ngắt chủ yếu có hai thanh ghi là thanh ghi IE và thanh ghi IP.Thanh ghi IE là thanh ghi đánh địa chỉ bit, do đó có thể dùng các lệnh tác động bit để tác động riêng rẽ lên t

Trang 1

Nhóm thảo luận:44R2

TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP

KHOA: ĐIỆN TỬ-BỘ MÔN: TIN HỌC CÔNG NGHIỆP

- -BÀI THẢO LUẬN

VI XỬ LÍ-VI ĐIỀU KHIỂN

ĐỀ TÀI: 11

Viết chương trình điều khiển dãy LED đơn nối vào cổng P2 sáng liên tục đuổi nhau từ P3.7 đến P3.0 Mỗi lần thay đổi thì duy trì trạng thái

trong vòng 1,5 giây

LED sáng khi bit điều khiển bằng 1

GV hướng dẫn: Nguyễn Tuấn Anh

Nhóm sinh viên(số 10): Thái Trung Kiên

Trần Văn Thành

Đỗ Thị Thuỳ Ngân Nguyễn Tiến Thành Trần Tuấn Nam

Trang 2

BÀI THẢO LUẬN

VI XỬ LÝ- VI ĐIỀU KHIỂN

ĐỀ TÀI SỐ 11:

Viết chương trình điều khiển dãy LED đơn nối vào cổng P2 sáng liên tục đuổi nhau từ P3.7 đến P3.0 Mỗi lần thay đổi thì duy trì trạng thái

trong vòng 1,5 giây.LED sáng khi bit điều khiển bằng 1

NHÓM SINH VIÊN (Nhóm 10 ):

1 Thái Trung Kiên MSSV : DTK0851030321

Công việc : Nghiên cứu lý thuyết, cách sử dụng các câu lệnh phục vụ bài toán

2 Đỗ Thị Thùy Ngân MSSV : DTK0851030328

Công việc : Nghiên cứu sơ đồ khối, viết sơ đồ khối, viết chương

trình

3 Trần Tuấn Nam MSSV : DTK0851030260

Công việc : Nghiên cứu lý thuyết, cách sử dụng các câu lệnh phục vụ bài toán

4 Nguyễn Tiến Thành MSSV : DTK0851030343

Công việc : Nghiên cứu lý thuyết, cách sử dụng các câu lệnh phục vụ bài toán

5 Trần Văn Thành MSSV : DTK0851030345

Công việc : Ngiên cứu sơ đồ khối, viết chương trình, hoàn tất bài thảo luận

Trang 3

NHẬN XÉT CỦA GIÁO VIÊN

Trang 4

MỤC LỤC

2 Phần cứng của họ Vi Điều Khiển 8051 5

Trang 5

NỘI DUNG

I MỤC ĐÍCH, YÊU CẦU BÀI TẬP:

- M ụ c đich :

- Hiểu được cấu trúc phần cứng, sơ đồ chân và các mạch phụ trợ của họ điều khiển 8051

- Nắm được các loại thanh ghi,các chế độ địa chỉ,các tập lệnh của họ 8051

- Biết cách lập trình cho họ vi điều khiển 8051

- Có thể nhận ra được sự giống và khác nhau giữa 8086 và

8051

- Yêu c u ầ : Viết chương trình điều khiển dãy LED đơn nối vào cổng P2 sáng liên tục đuổi nhau từ P3.7 đến P3.0 Mỗi lần thay đổi thì duy trì trạng thái trong vòng 1,5 giây LED sáng khi bit điều khiển

bằng 1

II CÁCH TIẾP CẬN VẤN ĐỀ.

1.Các kiến thức cần biết :

 Phần cứng của họ Vi Điều Khiển 8051

 Các thanh ghi đa năng của họ Vi Điều Khiển 8051

 Các chế độ địa chỉ trong họ Vi Điều Khiển 8051

 Các tập lệnh sử dụng trong họ Vi Điều Khiển 8051

2 Phần cứng của họ Vi Điều Khiển 8051.

-Tốc độ: 0-24 MHz

-Bộ nhớ:

 Bộ nhớ ngoài: 64KB

 Bộ nhớ RAM: 128B

 Bộ nhớ FLASH ROM: 4KB, hay còn gọi là EPROM

Trang 6

-Cổng vào ra I/O Pin: Tất cả các vi điều khiển đều có 4 cổng vào/ra 8 bit có thể thiết lập như cổng vào hoặc ra Như vậy có tất cả 32 chân I/O cho phép vi điều khiển có thể kết nối với các thiết bị ngoại vi

-Truyền thông nối tiếp: Kết nối song song giữa vi điều khiển và thiết

bị ngoại vi được thực hiện qua các cổng vào/ra là giải pháp lý tưởng với khoảng cách ngắn trong vài mét Tuy nhiên khi cần truyền thông giưa các thiết bị ở khoảng cách xa thì không thể dùng kết nối song song, vì vậy truyền thông nối tiếp là giải pháp tốt nhất

-Ngắt vi điều khiển 8051:

8051 hỗ trợ 5 loại ngắt, mỗi ngắt có một vector ngắt riêng, đó là một địa chỉ cố định nằm trong bộ nhớ chương trình Khi xảy ra ngắt CPU

sẽ tựđộng nhảy đếnthực hiện lệnh thuộc địa chỉ này

Liên quan đến ngắt chủ yếu có hai thanh ghi là thanh ghi IE và thanh ghi IP.Thanh ghi IE là thanh ghi đánh địa chỉ bit, do đó có thể dùng các lệnh tác động bit để tác động riêng rẽ lên từng bit mà không làm ảnh hưởng đến giá trị các bit khác Để cho phép một ngắt, bit tương ứng với ngắt đó và bit EA phải được đặt bằng 1

-Bộ định thời/đếm (Timers/Counters): Hầu hết các chương trình sử dụng bộ định thời trong hoạt động của mình Chúng thường là các thanh ghi SFR 8 hoặc 16 bit, sau mỗi xung dao dộng clock, giá trị của chúng được tăng lên Ngay khi thanh ghi tràn, một ngắt sẽ được phát sinh

3 Các thanh ghi đa năng của họ Vi Điều Khiển 8051.

- Thanh ghi tích luỹ (Accumulator): được kí hiệu là A Thanh ghi tích

luỹ có thể truy xuất trực tiếp thông qua địa chỉ E0h (byte)

- Thanh ghi B: dùng cho các phép toán nhân, chia Thanh ghi B cóđịa

chỉ byte F0h vàđịa chỉ bit từ F0h – F7h

-Thanh ghi từ trạng thái chương trình (PSW - Program Status Word):

nằm tại địa chỉ D0h và có các địa chỉ bit từ D0h – D7h

Trang 7

Bit 7 6 5 4 3 2 1 0

-Thanh ghi con trỏ stack (SP – Stack Pointer): Con trỏ stack SP nằm

tại địa chỉ 81h và không cho phép định địa chỉ bit SP dùng để chỉ đến đỉnh của stack

- Con trỏ dữ liệu DPTR (Data Pointer): Con trỏ dữ liệu DPTR là

thanh ghi 16 bit bao gồm 2 thanh ghi 8 bit: DPH (High) nằm tại địa chỉ 83h và DPL (Low) nằm tại địa chỉ 82h

- Các thanh ghi port: Các thanh ghi P0 tại địa chỉ 80h, P1 tại địa chỉ

90h, P2, tại địa chỉ A0h, P3 tại địa chỉ B0h là các thanh ghi chốt cho 4 port xuất / nhập (Port 0, 1, 2, 3)

-Thanh ghi port nối tiếp (SBUF - Serial Data Buffer): Thanh ghi port

nối tiếp tại địa chỉ 99h thực chất bao gồm 2 thanh ghi: thanh ghi nhận

và thanh ghi truyền

- Các thanh ghi định thời (Timer Register): Các cặp thanh ghi (TH0,

TL0), (TH1, TL1) và (TH2, TL2) là các thanh ghi dùng cho các bộ định thời 0, 1 và 2 trong đó bộ định thời 2 chỉ có trong 8032/8052

- Các thanh ghi điều khiển: Bao gồm các thanh ghi IP (Interrupt

Priority), IE (Interrupt Enable), TMOD (Timer Mode), TCON (Timer Control), T2CON (Timer 2 Control), SCON (Serial port control) và PCON (Power control)

- Thanh ghi IP tại địa chỉ B8h

- Thanh ghi IE tại địa chỉ A8h

- Thanh ghi TMOD tại địa chỉ 89h

- Thanh ghi TCON tại địa chỉ 88h

- Thanh ghi T2CON tại địa chỉ C8h

- Thanh ghi SCON tại địa chỉ 98h

- Thanh ghi điều khiển nguồn PCON: Thanh ghi PCON tại địa chỉ

87h không cho phép định địa chỉ bit bao gồm các bit như sau:

Trang 8

3 Các chế độ địa chỉ trong họ Vi Điều Khiển 8051.

- Địa chỉ tức thời: Trong chế độ đánh địa chỉ này toán hạng nguồn là

một hằng số Và như tên gọi của nó thì khi một lệnh được hợp dịch toán hạng đi tức thi ngay sau mã lệnh Lưu ý rằng trước dữ liệu tức thời phải được đặt dấu (#) chế độ đánh địa chỉ này có thể được dùng

để nạp thông tin vào bất kỳ thanh ghi nào kể cả thanh ghi con trỏ dữ liệu DPTR

Ví dụ: MOV A, # 25H ; Nạp giá trị 25H

vào thanh ghi A

MOV R4, #62 ; Nạp giá trị62 thập

phân vào R4

- Địa chỉ theo thanh ghi: Chế độ đánh địa chỉ theo thanh ghi liên quan

đến việc sử dụng các thanh ghi để lưu dữ liệu cần được thao tác và các các toán hạng là 1 trong các thanh ghi Ri của các bank được chọn

Ví dụ: MOV A,R1 ; Sao n i dung thanh ghiộ R1 vào thanh ghi A

MOV R2,A ; Sao n i dung thanh ộ ghi A vào thanh ghi R2

- Địa chỉ trực tiếp:

Ví dụ: MOV R0, 40H ; L u n i dung c a ng n ư ộ ủ ă

nh 40H c a RAM vào R0ớ ủ

MOV 56H, A ;L u n i dung thanh ư ộ ghi A vào ng n nh 56H c a RAMă ớ ủ

MOV A, R4 ; Sao nội dung thanh ghi R4 vào A

-Địa chỉ gián tiếp: Trong chế độ này, một thanh ghi được sử dụng

như một con trỏ đến dữ liệu Đặc điểm nhận ra chế độ này là luôn có

Trang 9

ký tự @ đứng trước toán hạng.

Ví dụ: MOV A, @ R0 ; Chuy n n i dung c a ể ộ ủ

ng n nh RAM có ă ớ địa ch trongỉ

;R0 vào A

-Địa chỉ số:

Ví dụ: MovC A, @ A + DPTR

MovX A, @ A + DPTR

4 Các tập lệnh sử dụng trong họ Vi Điều Khiển 8051.

Tùy thuộc vào cách và chức năng của mỗi lệnh, có thể chia ra thành 5 nhóm lệnh như sau:

- Các lệnh toán học

- Các lệnh điều khiển chương trình

- Các lệnh vận chuyển dữ liệu

- Các lệnh logic

- Các lệnh thao tác bit

Cấu trúc chung của mỗi lệnh:

Mã_l nh Toán_h ng1, Toán_h ng2, ệ ạ ạ Toán_h ng3ạ

Trong đó:

- Mã_lệnh: Tên gợi nhớ cho chức năng của lệnh (VD như add

cho addition)

- Toán_hạng1, Toán_hạng2, Toán_hạng3: Là các toán hạnh của

lệnh, tùy thuộc

vào mỗi lệnh số toán hạng có thể không có, có 1, 2 hoặc 3

Trang 10

III TRÌNH BÀY THUẬT TOÁN

Chương trình chính:

Trang 11

Chương trình con tạo trễ 1,5 giây:

IV CÁC CÂU LỆNH CHÍNH LIÊN QUAN ĐẾN BÀI TẬP

1 MOV : Chuyển dữ liệu giữa thanh ghi với thanh ghi, thanh ghi

với ô nhớ, một hằng số đến thanh ghi, một hằng số đến ô nhớ, và

ngược lại

Ví dụ: MOV R0, 40H ; L u n i dung c a ư ộ ủ

ng n nh 40H c a RAM vào R0ă ớ ủ

MOV A,R0 ; Sao n i dung thanh ộ ghi R0 vào thanh ghi A

2 LCALL : Dùng để gọi chương trình con.

Cấu trúc câu lệnh: LCALL addr16

Ý nghĩa: Khi lệnh này được thực hiện thì VĐK sẽ thực hiện chương trình con tại địa chỉ addr16 Lệnh này có thể gọi chương trình con ở đâu cũng được trong vùng 64 kbyte Addr16 của chương trình con có thể thay bằng nhãn

VD: LCALL Delay ;goi nhan Delay

3 SJMP : Lệnh nhảy tương đối

Cấu trúc câu lệnh: SJMP rel

Trang 12

Lệnh này chỉ nhảy trong tầm vực 256 byte: có thể nhảy tới 128 byte và có thể nhảy lùi 128 byte Khi tầm vực này nhảy xa hơn ta dùng lệnh AJMP hay LJMP

Ý nghĩa: Vi điều khiển này sẽ nhảy đến lệnh có địa chỉ tương đối (rel) để thực hiện tiếp Có thể thay rel bằng nhãn

VD: SJMP Start ;nhay toi nhan Start

4 RR : Lệnh xoay phải nội dung thanh ghi A

Cấu trúc câu lệnh: RR A

Ý nghĩa: Nội dung thanh ghi A được xoay phải 1 bit

5 CLR : Lệnh xóa bit

Cấu trúc câu lệnh: CLR bit

Ý nghĩa: Xóa bit về 0

gia tri 0

6 SETB : Lệnh đặt bit

Cấu trúc câu lệnh: SETB bit

Ý nghĩa: Đặt bit lên 1

7 JNB : Lệnh nhảy nếu bit =0

Cấu trúc câu lệnh: JNB bit,rel

Ý nghĩa: Nếu nội dung của bit có địa chỉ bit được xác định bằng

0 thì vi điều khiển sẽ nhảy đến thực hiện chương trình tại địa chỉ bằng rel

Trang 13

VD : JNB A,Start ;nhay ve Start neu A=0

8 DJNZ : Lệnh giảm thanh ghi và nhảy

Cấu trúc câu lệnh: DJNZ Rn,rel

Ý nghĩa : Nội dung của thanh ghi Rn giảm đi 1 và nếu kết quả trong thanh ghi Rn sau khi giảm khác 0 thì vi điều khiển sẽ thực hiện chương trình tại địa chỉ rel, nếu kết quả bằng 0 thì vi điều khiển sẽ tiếp tục thưc hiện lệnh kế

1,sau khi ;giam neu R1 khac 0 thi nhay ve Start

V TRÌNH BÀY CÁC CHƯƠNG TRÌNH CON:

;chuong trinh con lam tre 1.5s

Delay:

CLR TF1

MOV TMOD,#10H

MOV R3,#38

AGAIN:

MOV TL1,#0FEH

MOV TH1,#6FH

SET TR1

BACK:

JNB TF1,BACK

CLR TR1

CLR TF1

Trang 14

DJNZ R3,AGAIN

RET

VI TRÌNH BÀY MÃ NGUỒN CỤ THỂ :

;nhóm 10-44R2

ORG 0h

A

Start:

P3

Delay:

MOV TMOD,#10H ;su dung timer 1 che do 1

MOV R3,#38 ;tao tre 1.5s

AGAIN:

MOV TL1,#0FEH ;TL1=FEh, byte thap

MOV TH1,#6FH ;TH1=6Fh, byte cao SET TR1 ;khoi dong timer 1 BACK:

Trang 15

JNB TF1,BACK ;kiem tra co bo dinh thoi

CLR TR1 ;tat timer 1

CLR TF1 ;xóa co timer 1

DJNZ R3,AGAIN ;neu R3 khac khong thi nap lai

RET

END

Trang 16

TÀI LIỆU THAM KHẢO:

[1] Họ vi điều khiển 8051-Tống Văn On, Hoàng Đức Hải- NXB Lao động xã hội, năm 2001

[2] Bài Giảng Vi Xử Lý- Vi Điều Khiển - Nguyễn Tuấn Anh, Phát hành tháng 7 năm 2011

[3] Website: picat.dieukhien.net

[4] Cấu trúc và lập trình họ vi điều khiển 8051- Nguyễn Tăng Cường, - NXB

Khoa học và kỹ thuật, năm 2004

[5] Giáo trình hệ vi điều khiển-Võ Quang Vinh, Nguyễn Quốc Hưng,– NXB

Khoa học và kỹ thuật, năm 2010

Ngày đăng: 27/02/2016, 19:43

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w