1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài Giảng Vi Điều Khiển 8051 8051 Microcontroller

29 404 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 29
Dung lượng 0,96 MB

Nội dung

ROM chứa các chương trình cơ sở cho phép người sử dụng điều khiển kit MDA - EMS51 bằng bàn phím Hex, khối hiển thị LCD để trao đổi dữ liệu.. SRAM dùng để chứa các chương trình ứng dụng d

Trang 2

Ứng dụng: trong nhiều dụng cụ điện tử, thiết bị

điện, ôtô, máy giặt, lò vi sóng, điện thoại, đầu đọc DVD, thiết bị đa phương tiện, dây chuyền

tự động, v.v.

1 Giới thiệu về 8051

Automobile - ôtô

truyền thông

Communication-Avionics- đ.tử hàng không

Trang 3

21 April 2009 L.T.Vinh 5

Today’s high-end automobile have > 80microprocessors:

4-bit microcontroller checks seat belt;

microcontrollers run dashboard devices;

16/32-bit microprocessor controls engine.

Millions lines of code

1 Giới thiệu về 8051

Một số thông số trên máy bay

Trang 5

21 April 2009 L.T.Vinh 9

Ngôn ngữ lập trình

Ví dụ:

ORG 2000HMOV SP,#50HMOV PSW,#00HCLR P1,00H ; LED on

; SETB P1,0FH ;LED offEND

Trang 6

21 April 2009 L.T.Vinh 11

3 Đảm bảo về phần cứng

1. Nạp chương trình dạng Hex cho VĐK

2. Cấp nguồn: Vcc=+5V; (40) GND=0V(20) (mass)

3. Cấp xung nhịp (Mạch dao động,18,19)

4. Tín hiệu khởi động (ban đầu, khi xảy

ra lỗi, 9)

4 Bộ thực tập MDA-EMS51

+ MDA - EMS51 là

TB thực hành VĐK 8051 (cty Midas

Engineering, Hàn Quốc).

+ Kit MDA - EMS51 gồm các khối giao tiếp cơ bản để tìm hiểu về bộ vi điều khiển 8051 + Có 2 chế độ làm việc: KIT và PC + Có phần cứng + mềm

Trang 7

21 April 2009 L.T.Vinh 13

+ CPU & MEMORY

CPU sử dụng bộ vi điều khiển 8051 với xung nhịp 11,0592 MHz.

Khối bộ nhớ gồm bộ nhớ ROM và SRAM ROM chứa các chương trình

cơ sở cho phép người sử dụng điều khiển kit MDA - EMS51 bằng bàn phím Hex, khối hiển thị LCD để trao đổi dữ liệu SRAM dùng

để chứa các chương trình ứng dụng do người dùng tạo ra

+ LED: 4 LEDs nối với các cổngn P1.0-P1.3 + Dot Matrix: Khối ma trận điểm sử dụng các LED để hiện thị Kích

thước của ma trận điểm là 8x8 Khối này giao tiếp với với bus hệ thống thông qua vi mạch 8255A Các bài tập tìm hiểu cấu trúc và nguyên lý hiển thị của ma trận điểm sẽ được thực hiện trên khối này.

+ Keyboard: Khối bàn phím có 25 phím gồm: 16 phím dữ liệu số Hex, 8

phím chức năng và 1 phím khởi động lại (RESET) Phím RESET nằm ở góc trên bên phải và tách rời với các phím khác Các thông tin điều khiển và dữ liệu được nhập vào hệ thống thông qua bàn phím.

4 Bộ thực tập MDA-EMS51

1 Bật máy tính

2 Mở nắp Bộ thực tập

3 Bật công tắc nguồn (off -> on)

4 Suy nghĩ về bài toán cần làm, viết ra giấy thuật toán

5 Viết mã lệnh (lập trình) trên Notepad

6 Dùng phần mềm (chương trình) MDA-EMS51 để chuyển mã lệnh sang mã hex, nạp vào VĐK, chạy thử

7 Quan sát kết quả trên Bộ thực hành

8 Xem xét, phân tích và sửa chương trình cho phù hợp (lặp lại các bước 4-8)

9 Làm bài tập khác (các bước 4-8)

10 Kết thúc buổi thực hành: Đóng phần mềm, Tắt Bộ thực đậy nắp hộp, Tắt máy tính

Trang 9

21 April 2009 L.T.Vinh 17

Một số giao diện: … F2, F3, - F5, F6.

4 Bộ thực tập MDA-EMS51

Một số giao diện: … F2, F3, - F5, F6.

Trang 11

- Ph-ơng pháp triển khai các ứng dụng điều khiển

- Làm quen với lập trình cho 8051, xem xét, phân tích thuật toán, hình thành kỹ năng làm việc

- Rèn luyện ý thức chấp hành kỹ luật trong lao

động, học tập

Trang 12

21 April 2009 L.T.Vinh 23

Mục đớch mụn học

Định h-ớng:

- Đối t-ợng nghiên cứu: VĐK 8051 và đối t-ợng cần

điều khiển: LED, LED ma trận, Bàn phím,…

- Công việc cần làm: Hiểu mục đích bài toán, lập trìnhcho VĐK, làm bộc lộ bản chất của quá trình điềukhiển

- Nghiên cứu: Dựa vào hoạt động của đối t-ợng cần

điều khiển, phân tích mối quan hệ, sự phụ thuộc thuậttoán, ảnh h-ớng đến kết quả mong muốn của bài toánntn? tốt hay ch-a tốt? dự đoán tại sao? và đ-a ra cácph-ơng án giải quyết

5 Một số bài tập thực hành

Giao tiếp với LED đơn

Bật

ORG 2000h MOV SP,#50h MOV PSW,#0 ; Bank 0

END

Tắt:

ORG 2000h MOV SP,#50h MOV PSW,#0 ; Bank 0

Trang 13

21 April 2009 L.T.Vinh 25

Làm sao cho LED nhấp nháy?

ORG 2000h MOV SP,#50h MOV PSW,#0 ; Bank 0 LOOP: CLR P1.3 ; Led on CALL DELAY

SETB P1.3 ; Led off CALL DELAY

JMP LOOP DELAY: PUSH PSW MOV PSW,#18h ; Bank 3 MOV R7,#0

DLY1: MOV R6,#0 DLY2: NOP

NOP NOP DJNZ R6,DLY2 DJNZ R7,DLY1

RET END

Trang 15

21 April 2009 L.T.Vinh 29

Bật sáng LED (0,0)

;- Khai bao Bien dia chi HANGA EQU 0C014h ; Port A COTC EQU 0C016h ; Port C TuDK EQU 0C017h ; Control Word Register

;- Khoi dong ORG 2000h MOV SP,#50h MOV PSW,#0 ; Bank 0

-; Khoi dong 8255A MOV DPTR,#TuDK MOV A,#80h ; Tu dieu khien MOVX @DPTR,A ; Khoi tao cho 8255A

-;- Dua gia tri DK ra Port A

-MOV A,#00000001B

MOV DPTR,#HANGA MOVX @DPTR,A ; PA = 0FFh

;- Dua gia tri DK ra Port C MOV DPTR,#COTC ; DPTR tro vao PC

-MOV A,#11111110B ; Gia tri lieu cho PC MOVX @DPTR,A ; PC = A END

5 Một số bài tập thực hành

Bật sáng LED (7,7)

; chuong trinh: Bat LED (7,7)

;- Khai bao Bien dia chi HANGA EQU 0C014h ; Port A COTC EQU 0C016h ; Port C TuDK EQU 0C017h ; Control Word Register

;- Khoi dong ORG 2000h MOV SP,#50h MOV PSW,#0 ; Bank 0

-; Khoi dong 8255A MOV DPTR,#TuDK MOV A,#80h ; Tu dieu khien MOVX @DPTR,A ; Khoi tao cho 8255A

-;- Dua gia tri DK ra Port A

-MOV A,#10000000B

MOV DPTR,#HANGA MOVX @DPTR,A ; PA = 0FFh

;- Dua gia tri DK ra Port C MOV DPTR,#COTC ; DPTR tro vao PC

-MOV A,#01111111B ; Gia tri lieu cho PC

Trang 16

21 April 2009 L.T.Vinh 31

5 Một số bài tập thực hành

Bật sáng LED (0,0)

MOV A,#11111110B ; DL cho PC

MOVX @DPTR,A ; PC = A CALL DELAY ; Luu y Do dai

;- BAT LED (7,7)

-MOV A,#10000000B

MOV DPTR,#HANGA MOVX @DPTR,A ; PA = 0FFh MOV DPTR,#COTC ; DPTR tro vao PC

MOV A,#01111111B ; DL cho PC

MOVX @DPTR,A ; PC = A JMP LP

RET

Trang 17

21 April 2009 L.T.Vinh 33

Cột LED chạy?

PA=1 màu đỏ PB=1 m xanh PA=PB=1 vàng

5 Một số bài tập thực hành

Lưu đồ thuật toán – Chương trình

Trang 18

1- Bật/tắt một điểm LEDbất kỳ, với các màu

đỏ, xanh, vàng Vídụ: LEDs (1,3);

(2,6); (5,5); v.v

2- Thử nghiệm thuật toánQUÉT cho 2 điểmLED bất kỳ khôngcùng hàng, cột vớithời gian trể nhanh –chậm khác nhau

5 Một số bài tập thực hành

KT Lập trình cho VĐK

Cấu trúc chương trình Định nghĩa, khai báo biến, hằng Bắt đầu: ORG 2000h

Chương trình chính Các chương trình con Kết thúc END

CALL Delay

Delay: ; chuong trinh delay

Trang 19

21 April 2009 L.T.Vinh 37

KT Lập trình cho VĐK

CLR P1.0 CLR P1.1 CLR P1.2 CLR P1.3

CLR P1 Hoặc MOV a,#00000000h MOV P1,a

MOV DPTR,#MANG2 ; Tro vao mang

LAP:MOVC A,@B+DPTR ; Lay du lieu

Trang 21

Hiện thị các chữ, số, biểu tượng khác tùy ý như chữ: B,

C, E … ; số 1, 2,

3 …; Quả tim v.v.

Hai chế độ: Tĩnh và động

Trang 22

- Đọc dữ liệu hàng cho đến khi tìm được phím ấn thì dừng.

VD: D3 – D0 = 1110, phím được ấn nằm trên hàng D0

- Vậy đó là số 2

Trang 23

21 April 2009 L.T.Vinh 45

Giao tiếp với Bàn phím

Dữ liệu đọc từ địa chỉ 0C004H có dạng:

1xxxxxxx, D 7 =1: là chưa có phím bấm.

0xxxxxxx, D 7 =0: có phím đã bấm, thì tổ hợp 5 bit thấp nhất trong đó chính là mã của phím được bấm.

Lưu ý: khi đã nhận được mã của phím, ta cần truy cập tới địa chỉ 0C000H để lập lại bit cờ I 7 (D 7 ) về 1 chuẩn bị cho quá trình kiểm tra phím tiếp theo.

5 Một số bài tập thực hành

Giao tiếp với Bàn phím

Trang 24

5 Một số bài tập thực hành

Lập trình cho VĐK 8051 – Vòng lặp

MOV A,B CJNE A,#2,Viec2

; Việc 1 Viec2: ; - Việc 2 -

-CJNE A,#3,Viec4

; Việc 3 Viec4: ; - Việc 4 -

Trang 25

-21 April 2009 L.T.Vinh 49

MOV A,#10 MOV R1,#0 Viec1: INC R1

DJNZ A,Viec1 ;giam A, A#0 nhay

Vòng lặp FOR

5 Một số bài tập thực hành

Vòng lặp DO-WHILE

Trang 27

21 April 2009 L.T.Vinh 53

Một số bài tập (3)

5 Một số bài tập thực hành

Một số bài tập khác (4)

Trang 29

21 April 2009 L.T.Vinh 57

Chúc các bạn học tốt

Ngày đăng: 14/12/2016, 10:34

TỪ KHÓA LIÊN QUAN

w