05 ghep noi vao ra don gian
TRANSCRIPT
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ữ
│
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….
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
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
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
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
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
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
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
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
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
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ự
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
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
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ẽ
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
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
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
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
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
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
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
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.
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
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
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
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
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
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
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
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)
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)
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│