Giáo trình Vi điều khiển

Hầu hết các vi xử lý đều được bổ sung một không gian bộ nhớ chung cho các

chương trình và dữ liệu. Lý do ở đây là các chương trình thường được lưu trữ

trên một đĩa và được tải vào RAM để thực thi, vì vậy khi đó cả dữ liệu và các

chương trình đều hiện diện trong RAM hệ thống.

Mặt khác, các vi điều khiển thì rất hiếm khi được sử dụng như là CPU trong

các "hệ thống máy tính". Thay vào đó, chúng giữ vai trò như là thành phần trung

tâm trong các thiết kế hướng điều khiển. Hệ thống vi điều khiển có dung lượng

bộ nhớ bị giới hạn và không có đĩa lưu trữ chương trình. Chương trình điều

khiển phải được lưu trữ trong ROM.

Vì lý do nêu trên, vi điều khiển 8051 cung cấp một không gian bộ nhớ tách

biệt cho các chương trình (mã) và dữ liệu. Như được minh họa trong Hình 2.3.1,

cả hai thành phần chương trình và dữ liệu có thể được lưu trữ vào loại bộ nhớ

tương ứng bên trong vi điều khiển, tuy nhiên khi cần thiết có thể mở rộng cả hai

loại bộ nhớ này lên, bằng cách sử dụng thêm các thành phần linh kiện bên ngoài,

có dung lượng tối đa là 64KB bộ nhớ chương trình và 64KB bộ nhớ dữ liệu.

Giáo trình Vi điều khiển trang 1

Trang 1

Giáo trình Vi điều khiển trang 2

Trang 2

Giáo trình Vi điều khiển trang 3

Trang 3

Giáo trình Vi điều khiển trang 4

Trang 4

Giáo trình Vi điều khiển trang 5

Trang 5

Giáo trình Vi điều khiển trang 6

Trang 6

Giáo trình Vi điều khiển trang 7

Trang 7

Giáo trình Vi điều khiển trang 8

Trang 8

Giáo trình Vi điều khiển trang 9

Trang 9

Giáo trình Vi điều khiển trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 416 trang duykhanh 18261
Bạn đang xem 10 trang mẫu của tài liệu "Giáo trình Vi điều khiển", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Giáo trình Vi điều khiển

Giáo trình Vi điều khiển
K
+5V
+5V
D8
R10
330
+5V
D9
R11
330
+5V
D10
R12
330
+5V
D11
R13
330
+5V
D12
R14
330
+5V
D13
R15
330
+5V
D14
R16
330
+5V
D15
R17
330
+5V
KEY15 KEY14 KEY13 KEY12 KEY11 KEY10 KEY9 KEY8
Hình 6.5.15: Sơ đồ nguyên lý mô phỏng hệ thống điều khiển. 
 Mạch mô phỏng này đã được thiết kế sẵn và lưu trong máy tính với tên tập 
tin là: SerialPort_1.DSN. Vì thế người học có thể tự vẽ thiết kế mạch mô phỏng 
hoặc lấy mạch mô phỏng có sẵn trong cơ sở dữ liệu của môn học. 
 Bước 9: Chọn tập tin chương trình cần mô phỏng (tập tin mã máy 
đã được tạo ra từ Bước 6) cho hệ thống vi điều khiển: SP_1_M.HEX và 
SP_1_S.HEX 
 412 
 Bước 10: Thực hiện chạy mô phỏng và quan sát trực tiếp kết quả 
trên màn hình máy tính. 
o Nếu có bất kỳ lỗi nào xuất hiện thì thực hiện việc hiệu chỉnh 
khắc phục các lỗi này. Nguyên nhân phát sinh lỗi thông thường do giải thuật 
chương trình không chính xác hoặc do mạch mô phỏng vẽ không chính xác, cần 
phải được kiểm tra lại. Sau khi hoàn tất việc hiệu chỉnh sai sót thì quay trở về 
thực hiện từ Bước 5 (do giải thuật chương trình không chính xác) hoặc Bước 8 
(do mạch mô phỏng vẽ không chính xác). 
o Nếu không có lỗi xuất hiện thì thực hiện tiếp theo các phần 
nội dung dưới đây. 
6.5.13. Lắp mạch và nạp chương trình điều khiển. 
Sử dụng các khối "Microcontroller Unit Slot", "Point LED", "Inverter" và 
"Power Supply" có sẵn trên mô hình thực hành vi điều khiển để lắp ráp mạch 
theo thiết kế bên trên. 
 Bước 11: Kết nối các khối trên mô hình như Hình 6.5.16 để tạo 
thành hệ thống mạch điều khiển như bên trên. 
o Tắt nguồn AC cấp cho mô hình thực hành. 
Hình 6.5.16: Sơ đồ kết nối mạch trên mô hình. 
Sử dụng phần mềm Flash Magic để thực hiện việc nạp chương trình cho vi 
điều khiển P89V51RB2 trên mô hình thực hành. 
 Bước 12: Bật nguồn AC cấp cho mô hình thực hành. 
 Bước 13: Khởi động phần mềm Flash Magic. 
 Bước 14: Kiểm tra cấu hình phần mềm (loại vi điều khiển, cổng 
COM, tốc độ truyền, chuẩn giao tiếp,... 
 Bước 15: Chọn tập tin chương trình điều khiển (tập tin mã máy đã 
được tạo ra từ Bước 6): SP_1_M.HEX và SP_1_S.HEX 
413 
 Bước 16: Nạp chương trình vào vi điều khiển. 
 Bước 17: Nhấn nút "Master Reset" ở khối "Microcontroller Unit 
Slot" để chạy chương trình và quan sát trực tiếp kết quả trên mô hình thực hành. 
o Nếu có bất kỳ lỗi nào xuất hiện thì thực hiện việc hiệu chỉnh 
khắc phục các lỗi này. Nguyên nhân phát sinh lỗi thường do việc lắp ráp phần 
cứng không chính xác hoặc các linh kiện bị hư hỏng, cần phải được kiểm tra lại. 
Sau khi hoàn tất việc kiểm tra và hiệu chỉnh sai sót thì quay trở về thực hiện từ 
Bước 15. 
o Nếu không có lỗi xuất hiện thì hoàn tất bài thực hành. 
6.5.14. Bài tập thực hành. 
6.5.14.1. Bài tập mẫu. 
 Bài tập số 1: 
Nội dung: 
"Viết chương trình, mô phỏng và lắp ráp mạch điều khiển truyền dữ 
liệu thông qua port nối tiếp. Thay đổi trạng thái của các LED đơn tại vi 
điều khiển 2 (Slave) theo trạng thái của các nút nhấn tại vi điều khiển 1 
(Master) và ngược lại, trong khi các LED 7 đoạn vẫn hiển thị số đếm liên 
tục từ 00 đến 99. Sử dụng phương pháp ngắt port nối tiếp cho việc truyền 
dữ liệu." 
Lưu đồ giải thuật: 
 414 
Sơ đồ nguyên lý mô phỏng: 
P0.7M
P0.0M
P0.0M
P0.1M
P0.2M
P0.3M
P0.4M
P0.5M
P0.6M
P0.7M
P0.6M
P0.5M
P0.4M
P0.3M
P0.2M
P0.1M
P0.7S
P0.0S
P0.0S
P0.1S
P0.2S
P0.3S
P0.4S
P0.5S
P0.6S
P0.7S
P0.6S
P0.5S
P0.4S
P0.3S
P0.2S
P0.1S
D
0
S
D0M D0M
D1M D1M
D2M D2M
D3M D3M
D4M D4M
D5M D5M
D6M D6M
D7M D7M
D
7
S
D
6
S
D
5
S
D
4
S
D
3
S
D
2
S
D
1
S
P
0
.0
S
P
0
.1
S
P
0
.2
S
P
0
.3
S
P
0
.4
S
P
0
.5
S
P
0
.6
S
P
0
.7
S
D0SD0S
D1SD1S
D2SD2S
D3SD3S
D4SD4S
D5SD5S
D6SD6S
D7SD7S
D
0
M
D
7
M
D
6
M
D
5
M
D
4
M
D
3
M
D
2
M
D
1
M
P
0
.0
M
P
0
.1
M
P
0
.2
M
P
0
.3
M
P
0
.4
M
P
0
.5
M
P
0
.6
M
P
0
.7
M
P2.0M
P2.7M
P2.0S
P2.7S
P2.1M
P2.2M
P2.3M
P2.4M
P2.5M
P2.6M
P2.1S
P2.2S
P2.3S
P2.4S
P2.5S
P2.6S
P2.4M
P2.5M
P2.6M
P2.7M
A1
B1
C1
D1
E1
F1
G1
A1
B1
C1
D1
E1
F1
G1
P2.0M
P2.1M
P2.2M
P2.3M
A2
B2
C2
D2
E2
F2
G2
A2
B2
C2
D2
E2
F2
G2
P2.4S
P2.5S
P2.6S
P2.7S
A3
B3
C3
D3
E3
F3
G3
A3
B3
C3
D3
E3
F3
G3
P2.0S
P2.1S
P2.2S
P2.3S
A4
B4
C4
D4
E4
F4
G4
A4
B4
C4
D4
E4
F4
G4
XTAL218
XTAL119
ALE
30
EA
31
PSEN
29
RST
9
P0.0/AD0 39
P0.1/AD1
38
P0.2/AD2
37
P0.3/AD3 36
P0.4/AD4
35
P0.5/AD5
34
P0.6/AD6 33
P0.7/AD7
32
P1.0
1
P1.1
2
P1.2
3
P1.3
4
P1.4
5
P1.5
6
P1.6
7
P1.7
8
P3.0/RXD
10
P3.1/TXD
11
P3.2/INT0
12
P3.3/INT1
13
P3.4/T0
14
P3.7/RD
17
P3.6/WR
16
P3.5/T1
15
P2.7/A15
28
P2.0/A8
21
P2.1/A9
22
P2.2/A10
23
P2.3/A11
24
P2.4/A12
25
P2.5/A13
26
P2.6/A14
27
U9
AT89C51
C1
33p
C2
33p
X1
11.0592MHz
C3
10uF
R1
10k
+5V
2
3
4
5
6
7
8
9
1
RP1
10K
+
5
V
MA ÏCH Ñ I EÀU K H I EÅN GI A O T IEÁP COÅN G N OÁI T I EÁP
XTAL2 18
XTAL1 19
ALE
30
EA
31
PSEN
29
RST
9
P0.0/AD039
P0.1/AD1
38
P0.2/AD2
37
P0.3/AD336
P0.4/AD4
35
P0.5/AD5
34
P0.6/AD633
P0.7/AD7
32
P1.0
1
P1.1
2
P1.2
3
P1.3
4
P1.4
5
P1.5
6
P1.6
7
P1.7
8
P3.0/RXD
10
P3.1/TXD
11
P3.2/INT0
12
P3.3/INT1
13
P3.4/T0
14
P3.7/RD
17
P3.6/WR
16
P3.5/T1
15
P2.7/A15
28
P2.0/A8
21
P2.1/A9
22
P2.2/A10
23
P2.3/A11
24
P2.4/A12
25
P2.5/A13
26
P2.6/A14
27
U1
AT89C51
C4
33p
C5
33p
X2
11.0592MHz
C6
10uF
R18
10k
+5V
2
3
4
5
6
7
8
9
1
RP2
10K
+
5
V
MA ST ER SLA V E
D0
R2
330
+5V
D1
R3
330
+5V
D2
R4
330
+5V
D3
R5
330
+5V
D4
R6
330
+5V
D5
R7
330
+5V
D6
R8
330
+5V
D7
R9
330
+5V
1B
1
2B
2
3B
3
4B
4
5B
5
6B
6
7B
7
8B
8
1C
18
2C
17
3C
16
4C
15
5C
14
6C
13
7C
12
8C
11
COM
10
U2
ULN2803
2
3
4
5
6
7
8
9
1
RP3
10K
+5V
+5V
KEY7 KEY6 KEY5 KEY4 KEY3 KEY2 KEY1 KEY0
1B
1
2B
2
3B
3
4B
4
5B
5
6B
6
7B
7
8B
8
1C
18
2C
17
3C
16
4C
15
5C
14
6C
13
7C
12
8C
11
COM
10
U3
ULN2803
2
3
4
5
6
7
8
9
1
RP4
10K
+5V
+5V
D8
R10
330
+5V
D9
R11
330
+5V
D10
R12
330
+5V
D11
R13
330
+5V
D12
R14
330
+5V
D13
R15
330
+5V
D14
R16
330
+5V
D15
R17
330
+5V
KEY15 KEY14 KEY13 KEY12 KEY11 KEY10 KEY9 KEY8
A7 QA 13
B
1
QB
12
C
2
QC
11
D6 QD 10
BI/RBO
4
QE
9
RBI
5
QF
15
LT3 QG 14
U4
74LS47
+5VR19
56
R20
56
R21
56
R22
56
R23
56
R24
56
R25
56
A
7
QA
13
B
1
QB
12
C2 QC 11
D
6
QD
10
BI/RBO
4
QE
9
RBI5 QF 15
LT
3
QG
14
U5
74LS47
R2656
R2756
R2856
R2956
R3056
R3156
R3256
+5V
A7 QA 13
B
1
QB
12
C
2
QC
11
D6 QD 10
BI/RBO
4
QE
9
RBI
5
QF
15
LT3 QG 14
U6
74LS47
+5VR33
56
R34
56
R35
56
R36
56
R37
56
R38
56
R39
56
A
7
QA
13
B
1
QB
12
C2 QC 11
D
6
QD
10
BI/RBO
4
QE
9
RBI5 QF 15
LT
3
QG
14
U7
74LS47
R4056
R4156
R4256
R4356
R4456
R4556
R4656
+5V
415 
Sơ đồ lắp ráp: 
Chương trình điều khiển cho vi điều khiển Master: 
;*************************************************** 
;CHUONG TRINH DIEU KHIEN GIAO TIEP PORT NOI TIEP TRUC TIEP 
GIUA HAI VI DIEU KHIEN. 
;CHUONG TRINH CHO VI DIEU KHIEN MASTER. 
;DIEU KHIEN CAC LED SANG/TAT THEO SU DIEU KHIEN CUA CAC 
SW TUONG UNG. 
;TRONG KHI SO DEM TANG DAN TU 00 DEN 99. 
;MO PHONG PROTUES: SERIALPORT_1. 
;*************************************************** 
;*************************************************** 
;KET NOI: 8 SWITCH -> PORT 0 (ACT = 0). 
; 8 LED -> PORT 1 (CO SU DUNG DEM DAO - ACT = 1). 
; 2 LED 7 -> PORT 2 (BCD). 
;*************************************************** 
 $MOD51 
 ORG 00H ;DIEM NHAP RESET. 
 SJMP MAIN 
 ORG 23H ;DIEM NHAP NGAT PORT NOI TIEP. 
 AJMP SP_ISR ;NHAY TOI CTC PHUC VU NGAT PORT NOI 
TIEP. 
 ORG 30H ;DIEM NHAP CHUONG TRINH CHINH. 
MAIN: 
 MOV P1,#00H ;LED TAT 
 ;**************************************************** 
 416 
 ;KHOI DONG PORT NOI TIEP. 
 MOV SCON,#52H;SERIAL: MODE 1, TI = 1, RI = 0, REN = 1. 
 MOV TMOD,#20H ;TIMER 1: MODE 2 - TAO TOC DO BAUD 
CHO SERIAL PORT. 
 MOV TH1,#(-3) ;BAUD RATE = 9600. 
 SETB TR1 ;TIMER HOAT DONG - PORT NOI TIEP HOAT 
DONG. 
 ;**************************************************** 
 ;THIET LAP CAC NGAT CHO PORT NOI TIEP. 
 MOV IE,#90H ;CHO PHEP NGAT PORT NOI TIEP. 
 ;**************************************************** 
MP1: ;DOAN CHUONG TRINH SE THUC HIEN KHI KHONG 
CO TIN HIEU NGAT. 
 MOV A,#00H ;GIA TRI BAT DAU. 
LOOP: 
 MOV P2,A ;XUAT HIEN THI. 
 LCALLDELAY500MS 
 ADD A,#1 ;TANG GIA TRI (+1). 
 DA A 
 CJNE A,#00,LOOP 
 SJMP MP1 ;QUAY LAI. 
;**************************************************** 
SP_ISR: ;CTC PHUC VU NGAT PORT NOI TIEP. 
 ;P0 = DU LIEU PHAT. 
 ;P1 = DU LIEU THU. 
 PUSH ACC 
 JB TI,TRANS_DATA ;KIEM TRA TIN HIEU NGAT LA 
NGAT PHAT HAY NGAT THU. 
RECEI_DATA: ;XU LY THU DU LIEU TU PORT NOI TIEP 
VAO THANH GHI A. 
 CLR RI ;XOA RI DE CHUAN BI CHO LAN THU KE TIEP. 
 MOV A,SBUF ;THU DU LIEU. 
 MOV P1,A ;XUAT DU LIEU THU DUOC RA PORT LED. 
 SJMP EXIT_SP_ISR ;THOAT KHOI ISR. 
TRANS_DATA: ;XU LY PHAT DU LIEU TU THANH GHI A 
RA PORT NOI TIEP. 
 CLR TI ;XOA TI DE CHUAN BI CHO LAN PHAT KE TIEP. 
 MOV A,P0 ;DOC DU LIEU LAY TU PORT SW. 
 CPL A ;DAO TRANG THAI (SW ACT = 0, LED ACT = 1). 
 MOV SBUF,A ;PHAT DU LIEU. 
EXIT_SP_ISR: 
 POP ACC 
 RETI 
;*************************************************** 
417 
DELAY500MS: ;CHUONG TRINH CON TAO THOI GIAN TRE 500MS 
 PUSH 00H 
 PUSH 01H 
 PUSH 02H 
MOV R0,#250 
DEL2: 
 MOV R1,#100 
DEL1: 
 MOV R2,#10 
DJNZ R2,$ 
 DJNZ R1,DEL1 
 DJNZ R0,DEL2 
 POP 02H 
 POP 01H 
 POP 00H 
 RET 
 END 
Chương trình điều khiển cho vi điều khiển Slave: 
;*************************************************** 
;CHUONG TRINH DIEU KHIEN GIAO TIEP PORT NOI TIEP TRUC TIEP 
GIUA HAI VI DIEU KHIEN. 
;CHUONG TRINH CHO VI DIEU KHIEN SLAVER. 
;DIEU KHIEN CAC LED SANG/TAT THEO SU DIEU KHIEN CUA CAC 
SW TUONG UNG. 
;TRONG KHI SO DEM GIAM DAN TU 99 DEN 00. 
;MO PHONG PROTUES: SERIALPORT_1. 
;*************************************************** 
;KET NOI: 8 SWITCH -> PORT 0 (ACT = 0). 
; 8 LED -> PORT 1 (CO SU DUNG DEM DAO - ACT = 1). 
; 2 LED 7 -> PORT 2 (BCD). 
;*************************************************** 
 $MOD51 
 ORG 00H ;DIEM NHAP RESET. 
 SJMP MAIN 
 ORG 23H ;DIEM NHAP NGAT PORT NOI TIEP. 
 AJMP SP_ISR ;NHAY TOI CTC PHUC VU NGAT PORT NOI 
TIEP. 
 ORG 30H ;DIEM NHAP CHUONG TRINH CHINH. 
MAIN: 
 MOV P1,#00H ;LED TAT 
 ;**************************************************** 
 ;KHOI DONG PORT NOI TIEP. 
 MOV SCON,#52H;SERIAL: MODE 1, TI = 1, RI = 0, REN = 1. 
 418 
 MOV TMOD,#20H ;TIMER 1: MODE 2 - TAO TOC DO BAUD 
CHO SERIAL PORT. 
 MOV TH1,#(-3) ;BAUD RATE = 9600. 
 SETB TR1 ;TIMER HOAT DONG - PORT NOI TIEP HOAT 
DONG. 
 ;**************************************************** 
 ;THIET LAP CAC NGAT CHO PORT NOI TIEP. 
 MOV IE,#90H ;CHO PHEP NGAT PORT NOI TIEP. 
 ;**************************************************** 
MP1: ;DOAN CHUONG TRINH SE THUC HIEN KHI KHONG 
CO TIN HIEU NGAT. 
 MOV A,#99H ;GIA TRI BAT DAU. 
LOOP: 
 MOV P2,A ;XUAT HIEN THI. 
 LCALLDELAY500MS 
 ADD A,#99H ;GIAM GIA TRI (-1). 
 CJNE A,#0FFH,PROCESS_ERROR ;KIEM TRA LOI KHI GIAM QUA 
GIA TRI 66 - 65. 
 SETB C ;XU LY LOI (CHO CO C = 1). 
PROCESS_ERROR: 
 DA A 
 CJNE A,#0F9H,LOOP 
SJMP MP1 ;QUAY LAI. 
;**************************************************** 
SP_ISR: ;CTC PHUC VU NGAT PORT NOI TIEP. 
 ;P0 = DU LIEU PHAT. 
 ;P1 = DU LIEU THU. 
 PUSH ACC 
 JB TI,TRANS_DATA ;KIEM TRA TIN HIEU NGAT LA 
NGAT PHAT HAY NGAT THU. 
RECEI_DATA: ;XU LY THU DU LIEU TU PORT NOI TIEP 
VAO THANH GHI A. 
 CLR RI ;XOA RI DE CHUAN BI CHO LAN THU KE TIEP. 
 MOV A,SBUF ;THU DU LIEU. 
 MOV P1,A ;XUAT DU LIEU THU DUOC RA PORT LED. 
 SJMP EXIT_SP_ISR ;THOAT KHOI ISR. 
TRANS_DATA: ;XU LY PHAT DU LIEU TU THANH GHI A 
RA PORT NOI TIEP. 
 CLR TI ;XOA TI DE CHUAN BI CHO LAN PHAT KE TIEP. 
 MOV A,P0 ;DOC DU LIEU LAY TU PORT SW. 
 CPL A ;DAO TRANG THAI (SW ACT = 0, LED ACT = 1). 
 MOV SBUF,A ;PHAT DU LIEU. 
EXIT_SP_ISR: 
 POP ACC 
419 
 RETI 
;*************************************************** 
DELAY500MS: ;CHUONG TRINH CON TAO THOI GIAN TRE 500MS 
 PUSH 00H 
 PUSH 01H 
 PUSH 02H 
MOV R0,#250 
DEL2: 
 MOV R1,#100 
DEL1: 
 MOV R2,#10 
DJNZ R2,$ 
 DJNZ R1,DEL1 
 DJNZ R0,DEL2 
 POP 02H 
 POP 01H 
 POP 00H 
 RET 
 END 
6.5.15. Bài tập ứng dụng. 
 Bài 1: Cho hệ thống truyền dữ liệu giữa hai vi điều khiển (Master 
và Slave) thông qua port nối tiếp (UART) được thiết kế như hình vẽ bên dưới. 
Viết chương trình điều khiển hệ thống để thực hiện các hoạt động sau: 
o Ban đầu khi chưa nhấn nút thì tất cả các LED đơn đều tắt và 
các LED 7 đoạn đều hiển thị số 0. 
o Truyền dữ liệu từ MASTER sang SLAVE: 
 Nhấn nút “KEY8/MASTER”: 8 LED đơn “D0-
D7/SLAVE” sáng tắt liên tục. 
 Nhấn nút “KEY9/MASTER”: 8 LED đơn “D0-
D7/SLAVE” sáng đuổi từ trái sang phải liên tục. 
 Nhấn nút “KEY10/MASTER”: 8 LED đơn “D0-
D7/SLAVE” sáng dần từ trái sang phải liên tục. 
 Nhấn nút “KEY11/MASTER”: 8 LED đơn “D0-
D7/SLAVE” sáng dần từ hai bên vào giữa liên tục. 
 Nhấn nút “KEY12/MASTER”: 8 LED đơn “D0-
D7/SLAVE” tắt hết. 
 Nhấn nút “KEY13/MASTER”: 8 LED đơn “D0-
D7/SLAVE” sáng hết. 
o Truyền dữ liệu từ SLAVE sang MASTER: 
 420 
 Nhấn nút “KEY0/SLAVE”: 2 LED 7 đoạn 
“7seg/MASTER” đếm lên liên tục (giá trị đếm nằm trong khoảng 0099). 
 Nhấn nút “KEY0/SLAVE”: 2 LED 7 đoạn 
“7seg/MASTER” đếm xuống liên tục (giá trị đếm nằm trong khoảng 0099). 
 Nhấn nút “KEY1/SLAVE”: 2 LED 7 đoạn 
“7seg/MASTER” đang đếm (lên hoặc xuống) sẽ bị dừng lại và hiển thị liên tục 
giá trị tại thời điểm bị dừng. 
 Nhấn nút “KEY2/SLAVE”: 2 LED 7 đoạn 
“7seg/MASTER” đang dừng sẽ tiếp tục đếm (lên hoặc xuống) từ giá trị bị dừng. 
 Nhấn nút “KEY4/SLAVE”: 2 LED 7 đoạn 
“7seg/MASTER” hiển thị liên tục giá trị 00. 
 Bài 2: Cho hệ thống truyền dữ liệu giữa hai vi điều khiển (Master 
và Slave) thông qua port nối tiếp (UART) như hình vẽ ở Bài 1 bên trên. Viết 
chương trình điều khiển hệ thống để thực hiện các hoạt động sau: 
o Ban đầu khi chưa nhấn nút thì tất cả các LED đơn đều tắt và 
các LED 7 đoạn đều hiển thị số 0. 
o Nhấn nút “KEY8/MASTER”: 16 LED đơn “D8-
D15/MASTER” và “D0-D7/SLAVE” sáng đuổi từ trái sang phải liên tục. 
o Nhấn nút “KEY9/MASTER”: 16 LED đơn “D8-
D15/MASTER” và “D0-D7/SLAVE” sáng đuổi từ phải sang trái liên tục. 
o Nhấn nút “KEY10/MASTER”: 16 LED đơn “D8-
D15/MASTER” và “D0-D7/SLAVE” tắt hết. 
o Nhấn nút “KEY0/SLAVE”: 4 LED 7 đoạn “7seg/MASTER” 
và “7seg/SLAVE” đếm lên liên tục từ 0000 đến 9999. 
o Nhấn nút “KEY1/SLAVE”: 4 LED 7 đoạn “7seg/MASTER” 
và “7seg/SLAVE” đếm xuống liên tục từ 9999 đến 0000. 
o Nhấn nút “KEY2/SLAVE”: 4 LED 7 đoạn “7seg/MASTER” 
và “7seg/SLAVE” hiển thị giá trị 0000. 

File đính kèm:

  • pdfgiao_trinh_vi_dieu_khien.pdf