05 ghep noi vao ra don gian

33
1 Pham Quoc Thinh, ictu.edu.vn. Ghép nối vào ra đơn Ghép nối vào ra đơn giản giản ICTU – 04-2010 │ Chương 3 Vi điều khiển 8051 và lập trình hợp ngữ

Upload: huuhuy1987

Post on 27-May-2017

223 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 05 Ghep Noi Vao Ra Don Gian

1Pham Quoc Thinh, ictu.edu.vn.

Ghép nối vào ra đơn giảnGhép nối vào ra đơn giản

ICTU – 04-2010

│ Chương 3 Vi điều khiển 8051 và lập trình hợp ngữ

Page 2: 05 Ghep Noi Vao Ra Don Gian

2

Department of Electronics & Telecommunications

Pham Quoc Thinh, ictu.edu.vn.

Ghép nối 8051 với các thiết bị vào ra sau đây Công tắc Relay LED Led 7 thanh Ma trận led

Nội dung bài giảng….Nội dung bài giảng….

Page 3: 05 Ghep Noi Vao Ra Don Gian

3

Department of Electronics & Telecommunications

Pham Quoc Thinh, ictu.edu.vn.

Một số công tắc điển hình:SPSTSPDTDPDT

Công tắcCông tắc

Page 4: 05 Ghep Noi Vao Ra Don Gian

4

Department of Electronics & Telecommunications

Pham Quoc Thinh, ictu.edu.vn.

Kết nối công tăc với 8051Kết nối công tăc với 8051+5V

8051

EA VCC

Reset

XTAL1

XTAL2

VSS

P3.7

P3.6

P3.5

P3.4

SW1

SW2

SW3

SW4

SW mở, input tới 8051 is HIGH (1)SW đóng, input tới 8051 is LOW (0)

ORG 0000H:JNB P3.7, CASE1

JNB P3.6, CASE2JNB P3.5, CASE3JNB P3.4, CASE4::

CASE1: ::

CASE2: ::

CASE3: ::

CASE4: ::

Kiểm tra trạng thái SW1

Page 5: 05 Ghep Noi Vao Ra Don Gian

5

Department of Electronics & Telecommunications

Pham Quoc Thinh, ictu.edu.vn.

Relay điện từRelay điện từ Relay điện từ bao gồm hai phần: cuộn dây và tiếp xúc

relay contacts

NC: NORMAL CLOSENO: NORMAL OPEN

Page 6: 05 Ghep Noi Vao Ra Don Gian

6

Department of Electronics & Telecommunications

Pham Quoc Thinh, ictu.edu.vn.

Điều khiển relayĐiều khiển relay Transistor mở sẽ cho phép dòng

qua cuộn dây Diode được sử dụng để bảo vệ

Transistor Relay sẽ tắt mở ON/OFF bởi TTL. Kết nối mở nếu TTL = High Kết nối đóng nếu TTL = Low

+5V

Vs

Mạch điều khiển Relay

TTL

Page 7: 05 Ghep Noi Vao Ra Don Gian

7

Department of Electronics & Telecommunications

Pham Quoc Thinh, ictu.edu.vn.

Relay - SwitchesRelay - Switches Relay đóng nếu input = High Relay mở nếu input = Low

SSR+

T1

T2

a.c. power supply

Input Control

Page 8: 05 Ghep Noi Vao Ra Don Gian

8

Department of Electronics & Telecommunications

Pham Quoc Thinh, ictu.edu.vn.

Light-Emitting Diode (LED)Light-Emitting Diode (LED)

Light-emitting diode (LED) có thể được mở khi dòng điện đi qua nó

Hình vẽ chỉ ra một mạch TTL cơ bản điều khiển 1 LEDTrở 330 dùng để giới hạn dòng qua nóTTL output là LOW, LED sẽ ONTTL output là HIGH, LED sẽ OFF

+5V

TTL

330

Page 9: 05 Ghep Noi Vao Ra Don Gian

9

Department of Electronics & Telecommunications

Pham Quoc Thinh, ictu.edu.vn.

Điều khiển LEDĐiều khiển LED

P1.7

P1.6

P1.5

P1.4

P1.3

P1.2

P1.1

P1.0

+5V

8051

EA VCC

Reset

XTAL1

XTAL2

VSS

• 8 LED được kết nối tới Port 1 và kết nối tới nguồn 5V

•LED có thể tắt mở trực tiếp bởi 8051 • Sử dung kết nối như hình, LED sẽ có thể

Tắt khi bit cổng ở mức logic 1 Mở khi bit cổng ở mức logic 0

0 = mở1 = tắt

Page 10: 05 Ghep Noi Vao Ra Don Gian

10

Department of Electronics & Telecommunications

Pham Quoc Thinh, ictu.edu.vn.

Vi dụ 1:Vi dụ 1: Điều khiển 8 LED ON/OFF Điều khiển 8 LED ON/OFF

Tất cả LED Mở

Tất cả LED Tắt

Page 11: 05 Ghep Noi Vao Ra Don Gian

11

Department of Electronics & Telecommunications

Pham Quoc Thinh, ictu.edu.vn.

Chương trìnhChương trình

ORG 0000HCLR A

LOOP: MOV P1, ACPL AACALL DELAYSJMP LOOP

DELAY: MOV R6, #250DL1: MOV R7, #200DL2: DJNZ R7, DL2

DJNZ R6, DL1RETEND

Start

Set A = 00

Move the content of A to P1

Delay for 0.1s

Invert the content of A

Sử dụng thạch anh 12MHz

Page 12: 05 Ghep Noi Vao Ra Don Gian

12

Department of Electronics & Telecommunications

Pham Quoc Thinh, ictu.edu.vn.

ORG 0000HSTART: MOV R1, #07H

MOV A, #11111110BLEFT: MOV P1, A

ACALL DELAYRL ADJNZ R1, LEFT;MOV R1, #07HMOV A, #01111111B

RIGHT: MOV P1, AACALL DELAYRR ADJNZ R1, RIGHTSJMP START;

DELAY: ……….

Vi dụ 2: Vi dụ 2: Điều khiển LED sáng theo thứ tựĐiều khiển LED sáng theo thứ tự

Page 13: 05 Ghep Noi Vao Ra Don Gian

13

Department of Electronics & Telecommunications

Pham Quoc Thinh, ictu.edu.vn.

Ví dụ 3: Điều khiển LED theo thứ tự sử dụng Look-up Table

Page 14: 05 Ghep Noi Vao Ra Don Gian

14

Department of Electronics & Telecommunications

Pham Quoc Thinh, ictu.edu.vn.

Chương trình

ORG 0000HSTART: MOV R0, #OKMDATA+1

MOV DPTR, #MDATAMOV R1, #00H

LOOP: MOV A, R1MOVC A, @A+DPTRMOV P1, AACALL DELAYINC R1DJNZ R0, LOOPAJMP START;

DELAY: MOV R5, #2DL1: MOV R6, #250DL2: MOV R7, #200DL3: DJNZ R7, DL3

DJNZ R6, DL2DJNZ R5, DL1RET;

MDATA: DB 01111110BDB 00111100BDB 00011000BDB 00000000BDB 00011000BDB 00111100BDB 01111110BDB 11111111B;DB 01111110BDB 00111100BDB 00011000BDB 00000000BDB 00011000BDB 00111100BDB 01111110BDB 11111111B;DB 00000000BDB 11111111BDB 00000000B

OK: DB 11111111BEND

Page 15: 05 Ghep Noi Vao Ra Don Gian

15

Department of Electronics & Telecommunications

Pham Quoc Thinh, ictu.edu.vn.

Bài tập về nhà: Viết một chương trình, sử dụng bảng look-up table, để điều khiển LED sáng theo thứ tự như hình vẽ

Page 16: 05 Ghep Noi Vao Ra Don Gian

16

Department of Electronics & Telecommunications

Pham Quoc Thinh, ictu.edu.vn.

Các ứng dụng vào ra đơn giảnCác ứng dụng vào ra đơn giản

P1.7

P1.6

P1.5

P1.4

P1.3

P1.2

P1.1

P1.0

+5V

8051

EA VCC

Reset

XTAL1

XTAL2

VSS

P3.7

P3.6

P3.5

P3.4

SW1

SW2

SW3

SW4

Page 17: 05 Ghep Noi Vao Ra Don Gian

17

Department of Electronics & Telecommunications

Pham Quoc Thinh, ictu.edu.vn.

Khi SW1 đóng

Khi SW3 đóng Khi SW4 đóng

Khi SW2 đóng

Ưu tiên: SW1 SW2 SW3 SW4

Ví dụ 4: Tham khảo mạch điều khiển LED cơ bản, Viết một chương trình 8051 để điều khiển LED được chỉ ra như hình vẽ.

YELLOW= BậtRED = tắt

Page 18: 05 Ghep Noi Vao Ra Don Gian

18

Department of Electronics & Telecommunications

Pham Quoc Thinh, ictu.edu.vn.

Lưu đồ

Start

Initialization

Set P3 as input port

Read SW1SW4 status

SW1 closed?

SW2 closed?

SW3closed?

SW4 closed?

SW1 HandlerY

SW2 HandlerY

SW3 HandlerY

SW4 HandlerY

2

1

21

N

N

N

Page 19: 05 Ghep Noi Vao Ra Don Gian

19

Department of Electronics & Telecommunications

Pham Quoc Thinh, ictu.edu.vn.

Chương trình

ORG 0000HMOV R1, #00000000BMOV R2, #01010101BMOV R3, #00001111BMOV R4, #11110000B;

TEST: ORL P3, #0FFHJNB P3.7, CASE1

JNB P3.6, CASE2JNB P3.5, CASE3JNB P3.4, CASE4AJMP TEST;

CASE1: MOV A, R1MOV P1, AACALL DELAYXRL A, #11111111BMOV P1, AAJMP TEST;

CASE2: MOV A, R2MOV P1, AACALL DELAYXRL A, #10101010B

MOV P1, AAJMP TEST;

CASE3: MOV A, R3MOV P1, AACALL DELAYXRL A, #11110000BMOV P1, AAJMP TEST;

CASE4: MOV A, R4MOV P1, AACALL DELAYXRL A, #00001111BMOV P1, AAJMP TEST;

DELAY: ………..END

P1.x = 0, ONP1.x = 1. OFF

Page 20: 05 Ghep Noi Vao Ra Don Gian

20

Department of Electronics & Telecommunications

Pham Quoc Thinh, ictu.edu.vn.

Bao gồm 7 đoạn LED được sắp xếp như một số “8”

Có hai loại: anode chung và cathode chung

7-Segment LED7-Segment LED

a

b

c

d

e

f g

Segment Pattern

Dp

Page 21: 05 Ghep Noi Vao Ra Don Gian

21

Department of Electronics & Telecommunications

Pham Quoc Thinh, ictu.edu.vn.

Anode chung

Cathode chung

7-Segment LED7-Segment LED

a b c d e f g DpCommon

a b c d e f g DpCommon

Pull-high

Pull-low

Page 22: 05 Ghep Noi Vao Ra Don Gian

22

Department of Electronics & Telecommunications

Pham Quoc Thinh, ictu.edu.vn.

Hiển thị các thông qua các bit của cổng tuỳ thuộc theo cách sử dụng loại anốt chung hay catốt chung

7-Segment LED7-Segment LED

Bit của cổng 7 6 5 4 3 2 1 0

Thanh hiển thị Dp g f e d c b a

Bình thường các LED có thể được nối với nguồn thông qua trở để chống cháy

Page 23: 05 Ghep Noi Vao Ra Don Gian

23

Department of Electronics & Telecommunications

Pham Quoc Thinh, ictu.edu.vn.

7-Segment LED7-Segment LED

Vi dụ 5: Sử dụng R3 như bộ đếm, viết chương trình sử dụng phương pháp look-up table, để hiển thị giá trị trong R3 ra LED 7 thanh

8051

bc

defg

aXTAL1

XTAL2

P2.0

P2.1

P2.2

P2.3

P2.4

P2.5

P2.6

P2.7

Vcc

a

b

c

d

e

fg

Dp.

Dp.

Page 24: 05 Ghep Noi Vao Ra Don Gian

24

Department of Electronics & Telecommunications

Pham Quoc Thinh, ictu.edu.vn.

Chương trìnhChương trìnhORG 0000HMOV R3, #00H

LOOP: MOV DPTR, #TABLEMOV A, R3MOVC A, @A+DPTR

;; Hiển thị LED 7 thanh

MOV P2, AACALL DELAY

;; Tăng R3 và LOOP

MOV A, R3ADD A, #1DA AANL A, #0FHMOV R3, AAJMP LOOP;

DELAY: …………..

TABLE: DB 11000000B ; 0DB 11111001B ; 1DB 10100100B ; 2DB 10110000B ; 3DB 10011001B ; 4DB 10010010B ; 5DB 10000010B ; 6DB 11111000B ; 7DB 10000000B ; 8DB 10010000B ; 9; 0=ON, 1=OFFEND

Display 0,1,2,,,,8,9,0,1,2,3….

Output port , P2

7 6 5 4 3 2 1 0

Display segment

Dp g f e d c b a

7-segment ‘0’

1 1 0 0 0 0 0 0BCD addition

Page 25: 05 Ghep Noi Vao Ra Don Gian

25

Department of Electronics & Telecommunications

Pham Quoc Thinh, ictu.edu.vn.

Bao gồm một số các LED được sắp đặt thành dạng matrậnVD 35 LED sắp thành matrận5 cột x 7 hàng hay 64 LED thành matrận 8 x 8Để hiển thị ta sử dụng phương pháp quét

cdefg

a

1 2 3 4 5

b

Quét một cột ở một thời điểm. Nếu quét dủ nhanh, nó sẽ hiện ra các cần hiển thị

Dot-matrix LED DisplayDot-matrix LED Display

Page 26: 05 Ghep Noi Vao Ra Don Gian

26

Department of Electronics & Telecommunications

Pham Quoc Thinh, ictu.edu.vn.

Mạch bên trong của một matrận LED 5 x 7

Dot-matrix LED DisplayDot-matrix LED Display

c

d

e

f

g

a

b

1 2 3 4 5

Page 27: 05 Ghep Noi Vao Ra Don Gian

27

Department of Electronics & Telecommunications

Pham Quoc Thinh, ictu.edu.vn.

P3.0

P3.1

P3.2

P3.3

P3.4

P3.5

P3.6

8051

Reset

XTAL1

XTAL2

VSS

EA Vcc

P1.0

P1.1

P1.2

P1.3

P1.4

cdefg

ab

1 2 3 4 5

Dot-matrix LED DisplayDot-matrix LED Display

Điều khiển cột với P1On column 1 00001Off 00000On column 2 00010Off 00000On column 3 00100Off 00000On column 4 01000Off 00000On column 5 10000Off 00000

Lập lại 100 time

Page 28: 05 Ghep Noi Vao Ra Don Gian

28

Department of Electronics & Telecommunications

Pham Quoc Thinh, ictu.edu.vn.

Vi dụ 6: hiển thị ký tự “E” trên ma trậnDot-matrix LED DisplayDot-matrix LED Display

bcdefg

a

1 2 3 4 5

Hiển thị ký tự “E” trên 5x7dot-matrix.

Bước 1: tín hiệu trên các chân12345 – “10000”Chân gfedcba – “1111111”

Bước 2: tín hiệu trên các chân12345 – “01000”chân gfedcba – “1001001”

Bước 3: tín hiệu trên các chân 12345 – “00100”Chân gfedcba – “1001001”

Bước 4: tín hiệu trên các chân 12345 – “00010”chân gfedcba – “1001001”

bcdefg

a

1 2 3 4 5 1 2 3 4 5

bcdefg

a

1 2 3 4 5

bcdefg

a

1 2 3 4 5

bcdefg

a

1 2 3 4 5

bcdefg

a

Page 29: 05 Ghep Noi Vao Ra Don Gian

29

Department of Electronics & Telecommunications

Pham Quoc Thinh, ictu.edu.vn.

Từ mã và hiển thị các ký tự số ‘0’ đến ‘4’Từ mã và hiển thị các ký tự số ‘0’ đến ‘4’00

1111

10B

0101

0001

B01

0010

01B

0100

0101

B00

1111

10B

0000

0000

B01

0000

10B

0111

1111

B01

0000

00B

0000

0000

B

0100

0110

B01

1000

01B

0101

0001

B01

0010

01B

0100

0110

B

0010

0001

B01

0000

01B

0100

1001

B01

0011

01B

0011

0011

B

0001

1000

B00

0101

00B

0001

0010

B01

1111

11B

0001

0000

B

Page 30: 05 Ghep Noi Vao Ra Don Gian

30

Department of Electronics & Telecommunications

Pham Quoc Thinh, ictu.edu.vn.

Từ mã và hiển thị của ký tự số ‘5’ đến ‘9’Từ mã và hiển thị của ký tự số ‘5’ đến ‘9’00

1001

11B

0100

0101

B01

0001

01B

0100

0101

B00

1110

01B

0011

1100

B01

0010

10B

0100

1001

B01

0010

01B

0011

0000

B

0000

0001

B00

0000

01B

0111

1001

B00

0001

01B

0000

0011

B

0011

0110

B01

0010

01B

0100

1001

B01

0010

01B

0011

0110

B

0000

0110

B

0100

1001

B

0100

1001

B00

1010

01B

0001

1110

B

Page 31: 05 Ghep Noi Vao Ra Don Gian

31

Department of Electronics & Telecommunications

Pham Quoc Thinh, ictu.edu.vn.

Chương trình– Chương trình– hiển thị ký tự trên matrận 5x7 hiển thị ký tự trên matrận 5x7 (1/2)(1/2)ORG 0000H

START: MOV DPTR, #TABLE ; trỏ tới địa chỉ của ký tự đầu tiênMOV R3, #10 ; hiển thị 10 ký tự: 0,1,2,3,,,,,9,0,1,….

LOOP: MOV R2, #100 ; quét 100 lần cho mỗi ký tựSCAN: ACALL SCAN1 ; 10ms x 100 = 1000ms

DJNZ R2, SCANINC DPTR ; tăng con trỏ DPTR 5 lầnINC DPTR ; trỏ tới địa chỉ đầu tiên của ký tự tiếp theoINC DPTR ; INC DPTRINC DPTRDJNZ R3, LOOP ; lập lại hiển thị 10 ký tựAJMP START; ==========================; == Chương trình con quét led ==; ==========================

SCAN1: MOV R1, #00H ; R1 trỏ tới byte đầu tiên mã của ký tựMOV R5, #00000001B ; Bắt đầu từ cột đầu tiên bên phảiMOV R4, #05 ; có năm cột, R4 như một bộ đếm!

LOOP1: MOV A, R1 ; MOVC A, @A+DPTRMOV P3, A ; xuất mã hiển thị ra ma trận (hàng)MOV P1, R5 ; mở transistor tương ứng(cột)

Page 32: 05 Ghep Noi Vao Ra Don Gian

32

Department of Electronics & Telecommunications

Pham Quoc Thinh, ictu.edu.vn.

MOV R6, #5 ; tre 2 msDL1: MOV R7, #200 ; DL2: DJNZ R7, DL2 ;

DJNZ R6, DL1 ; ANL P1,#00000000B ; tắt hiển thịMOV A, R5 ; RL A ; chuyển tới cột tiếp theoMOV R5, A ; có 5 cộtINC R1 ; chuyển dữ liệu tới cột tiếpDJNZ R4, LOOP1 ;RET ; trở về chương trình chính; ============================; == Bảng ký tự ==; ============================

TABLE: DB 00111110B ; mã cho số 0DB 01010001BDB 01001001BDB 01000101BDB 00111110BDB 00000000B ; mã cho số 1: ; mã các cho số tiếp: ;END

Chương trình– Chương trình– hiển thị ký tự trên matrận 5x7 hiển thị ký tự trên matrận 5x7 (2/2)(2/2)

Page 33: 05 Ghep Noi Vao Ra Don Gian

1Pham Quoc Thinh, ictu.edu.vn.

Ghép nối vào ra đơn giảnGhép nối vào ra đơn giản

ICTU –2010

│ END of Lecture│