Bài 01
TỔNG QUAN VI ĐIỀU KHIỂN
1
Tổng quan vi điều khiển
PIC là một họ vi điều khiển RISC của MICROCHIP
PIC: Programmable Intelligent Computer
2
1. Một số đặc tính của vi điều khiển PIC16F877A
Tần số hoạt động
DC- 20MHz
Reset (và Delay)
POR, BOR (PWRT, OST)
Bộ nhớ chương trình Flash (14-bit word)
8K
Bộ nhớ dữ liệu RAM (byte)
368
Bộ nhớ dữ liệu EEPROM (byte)
256
Các nguồn ngắt
15
Các port xuất nhập: 33 I/O
Các port A, B, C, D, E
Timer
3
Các module capture/compare/PWM
2
Giao tiếp nối tiếp
USART
Module A/D 10bit
8 kênh ngõ vào
Số chân
40 / 44
3
4
2. Hình dạng PIC16F877A
5
15
16
17
18
23
24
25
26
31
GND
RB7/PGD
RB6/PGC
RB5
RB4
RB3/PGM
RB2
RB1
RB0/INT
RE0/RD/AN5
RE1/WR/AN6
RE2/CS/AN7
40
39
38
37
36
35
34
33
8
9
10
OSC2/CLKO
Chân 32,11: Nguồn VDD = 5VDC
Chân 31,12: GND
Chân 1: RESET; tích cực mức thấp
Chân 39, 40: Dùng cho cổng ghi chương trình
Chân 13, 14: nối thạch anh tạo dao động cho
Chân 16, 17: ngõ ra PWM (CCP2, CCP1)
Chân 18, 23, 24: giao tiếp SPI/I2C
Chân 25, 26: giao tiếp USART (TxD, RxD)
RC0/T1OSO/T1CKI
RC1/T1OSI/CCP2
RC2/CCP1
RC3/SCL
RC4/SDA
RC5/SDO
RC6/TX/CK
RC7/RX/DT
GND
14
OSC1/CLKIN
PIC16F877A
vi điều khiển.
12
13
RA0/AN0
RA1/AN1
RA2/AN2/Vref RA3/AN3/Vref +
RA4/TOCKI
RA5/AN4/SS
VCC
2
3
4
5
6
7
MCLR/Vpp
11
1
VCC
U2
32
3. Sơ đồ chân PIC16F877A
RD7/PSP7
RD6/PSP6
RD5/PSP5
RD4/PSP4
RD3/PSP3
RD2/PSP2
RD1/PSP1
RD0/PSP0
30
29
28
27
22
21
20
19
Các chân (2,3,4,6,7,8,9,10): ngõ vào ADC
Chân 4, 5: ngõ vào điện áp chuẩn riêng cho bộ
ADC
Chân 33: tín hiệu ngắt ngoài; mức thấp
33 I/O: PA (6), PB (8), PC (8), PD (8), PE (3)
6
* Điều kiện hoạt động:
VDD
4.7uF - 10uF
VDD: 5VDC
C2
1
VCC
MCLR/Vpp
1uF
2
3
4
5
6
7
Thạch anh 4/8/12/20 MHz
Cổng ghi chương trình: JTAG
PIC16F877A
31
U2
C3
GND
32
RST
RESET
RESET: tích cực mức thấp
VDD
R1
10K
RA0/AN0
RA1/AN1
RA2/AN2/Vref RA3/AN3/Vref +
RA4/TOCKI
RA5/AN4/SS
RB7/PGD
RB6/PGC
RB5
RB4
RB3/PGM
RB2
RB1
RB0/INT
40
39
38
37
36
35
34
33
ICSPDAT
ICSPCLK
C6 33P
13
OSC1/CLKIN
RE0/RD/AN5
RE1/WR/AN6
RE2/CS/AN7
Y1
14
11
VCC
RC0/T1OSO/T1CKI
RC1/T1OSI/CCP2
RC2/CCP1
RC3/SCL
RC4/SDA
RC5/SDO
RC6/TX/CK
RC7/RX/DT
RD7/PSP7
RD6/PSP6
RD5/PSP5
RD4/PSP4
RD3/PSP3
RD2/PSP2
RD1/PSP1
RD0/PSP0
30
29
28
27
22
21
20
19
12
15
16
17
18
23
24
25
26
GND
OSC2/CLKO
8M
C11 33P
8
9
10
VDD
J1
CCS
PIC KIT
6
5
4
3
2
1
ICSPCLK
ICSPDAT
VDD
RST
JTAG
7
2
* Tạo nguồn cung cấp 5 VDC:
-
+
1
1
C3
C4
2200uF
104
VIN
D3
1A
VOUT
VDD
3
C5
2
6VAC
4
LM7805
DIODE
104
3
2
1
U2
GND
D1
J2
8
* Cấu trúc I/O: dòng IL và IH là 25 mA
9
4. Mạch điều khiển thiết bị DC/AC:
12V
PIN
PIN
12V/10W
R10
R11
270
270
PIN
LED
R10
Q1
LED
VDD
12V
12V
LS1
5
R12
10K
DIODE
3
Q3
PIN
R11
Q1
12V/10W
PIN
4
1
2
R10
RELAY SPDT
Q1
10
Kí hiệu MOSFET:
11
5. Mạch hiển thị dùng LED 7S, 5VDC:
R9 4K7
R10 4K7
Q1
PIN
A1013
R12 4K7
Q3
C2
C1
LED7S
8
a
b
c
d
e
f
g
p
3
C2
7
6
4
2
1
9
10
5
8
C1
a
b
c
d
e
f
g
p
PIN
A1013
LED4
a
b
c
d
e
f
g
p
LED7S
3
C2
R11 4K7
Q2
PIN
7
6
4
2
1
9
10
5
8
a
b
c
d
e
f
g
p
LED3
a
b
c
d
e
f
g
p
LED7S
C1
7
6
4
2
1
9
10
5
3
C2
C1
a
b
c
d
e
f
g
p
LED2
a
b
c
d
e
f
g
p
LED7S
8
PORT
LED1
a 7
b 6
c 4
d 2
e 1
f
9
g 10
p 5
3
R1
R2
R3
R4
R5
R
R6
R
R7
R
R8
R
R
R
R
100X8
8
7
6
5
4
3
2
1
Q4
PIN
A1013
A1013
VCC
Số
Bit: (7)
p
(6)
g
(5)
f
(4)
e
(3)
d
(2)
c
(1)
b
(0)
a
HEX
0
1
1
0
0
0
0
0
0
0xC0
1
1
1
1
1
1
0
0
1
0xF9
.
.
.
.
12
Hiển thị thông tin bằng phương pháp quét:
ALL LED OFF
DATA = “1”7S
LED1 ON
DELAY
x MS
ALL LED OFF
DATA = “5”7S
LED2 ON
ALL LED OFF
DATA = “9”7S
LED3 ON
DELAY
x MS
ALL LED OFF
DATA = “0”7S
LED4 ON
DELAY
x MS
DELAY
x MS
13
6. Mạch hiển thị dùng LED 7S-12VDC và TEXT-LCD:
A
K
15
16
VCC
2
1
GND
CONST
R/W
CS
6
3
VCC
CS
RS
4
5
RW
DT4
DT5
DT6
DT7
RS
D0
D1
D2
D3
D4
D5
D6
D7
THIS IS THE LCD
2 LINES x 16 CHARACTERS
LAMP
LCD1_TC1602A1
7
8
9
10
11
12
13
14
C2
8
C1
LED7S
1
a
b
c
d
e
f
g
p
TC1602A hiển thị mã ASCII
7
6
4
3
2
9
10
5
R4
5/3W
R3
10K
LMP
Q2
R6
4K7
VCC
A1013
14
7. Mạch điều khiển chiều quay động cơ DC (mạch cầu H)
15
Mạch cầu H điều khiển chiều quay và tốc độ động cơ bằng PWM sử
dụng linh kiện rời.
16
Mạch cầu H điều khiển chiều quay và tốc độ động cơ bằng PWM sử
dụng mạch tích hợp (L298).
24VDC
D1
D2
U1
5
7
10
12
ADC PIN
R2
470
1
15
C4
C5
R3
6
11
103
VDD
24VDC
10uF/50V
1/10W
9
4
1A1
1A2
2A1
2A2
1Y 1
1Y 2
2Y 1
2Y 2
1E
2E
1EN
2EN
2
3
24VDC
MG1
+
A
C1
100uF/50V
13
14
D3
2
PWM1
PWM2
FR504
1
FR504
FR504
D4
FR504
VCC1
VCC2
L298
Tùy chọn; nếu không sử dụng thì cho R3 = 0
17
8. Mạch điều khiển phím nhấn:
a) Một phím nhấn SW và 1 ngõ vào
b) Nhiều phím nhấn và 1 ngõ vào ADC
VDD
R1
VDD
ADC PIN
R18
R17
10K
PIN
R19
SW
SW1
SW2
R20
a)
b)
18
c) Mạch bàn phím HEX:
VDD
0
4
8
R13
R14
R15
R16
10K
10K
10K
10K
C
J1
1
5
9
D
1
2
3
4
5
6
7
8
PORT
2
6
A
E
3
7
B
F
c)
19
PIN (Col.)
SW
PIN (Row)
VDD
Columm = Outputs
Row = inputs
10K
R17
c) Đọc bàn phím HEX bằng phương pháp quét:
CL1 = 0
R1 = 0 -> 0
R2 = 0 -> 1
R3 = 0 -> 2
R4 = 0 -> 3
CL2 = 0
R1 = 0 -> 4
R2 = 0 -> 5
R3 = 0 -> 6
R4 = 0 -> 7
CL3 = 0
R1 = 0 -> 8
R2 = 0 -> 9
R3 = 0 -> A
R4 = 0 -> B
CL4 = 0
R1 = 0 -> C
R2 = 0 -> D
R3 = 0 -> E
R4 = 0 -> F
c)
20
BÀI TẬP
1. Vẽ mạch điều khiển 3 led đơn tại các chân RD3, RD2, RD1; các LED tích cực
mức thấp?
2. Vẽ mạch điều khiển 3 led đơn tại các chân RB3, RC2, RC1; các LED tích cực
mức cao?
3. Vẽ mạch điều khiển 1 quạt AC (220V) dùng RC4; biết RC4 = 0: quạt hoạt động?
4. Vẽ mạch điều khiển 2 led 7 đoạn 5V, Cathod chung; hiển thị bằng phương pháp
quét; sử dụng PORT B và PORT D?
5. Vẽ mạch điều khiển 2 led 7 đoạn 9V, Anode chung; hiển thị bằng phương pháp
quét; sử dụng mạch đệm 2803 cho đường DATA; sử dụng PORT C và PORT B?
U3
1
2
3
4
5
6
7
8
10
IN1
IN2
IN3
IN4
IN5
IN6
IN7
IN8
OUT1
OUT2
OUT3
OUT4
OUT5
OUT6
OUT7
OUT8
18
17
16
15
14
13
12
11
ULN2803: bộ đệm đảo 500 mA, 8
ngõ vào và 8 ngõ ra
COM
ULN2803
21
BÀI TẬP
6. Cho mạch điện (DATA nối PORT B theo thứ tự 8->1 nối RB7 ->RB0):
R9 4K7
R10 4K7
Q1
PIN
R12 4K7
Q3
C2
C1
LED7S
8
a
b
c
d
e
f
g
p
3
C2
C1
7
6
4
2
1
9
10
5
8
a
b
c
d
e
f
g
p
PIN
A1013
LED4
a
b
c
d
e
f
g
p
LED7S
3
7
6
4
2
1
9
10
5
R11 4K7
Q2
PIN
A1013
C2
a
b
c
d
e
f
g
p
LED3
a
b
c
d
e
f
g
p
LED7S
8
7
6
4
2
1
9
10
5
3
C2
C1
a
b
c
d
e
f
g
p
LED2
a
b
c
d
e
f
g
p
LED7S
C1
LED1
a 7
b 6
c 4
d 2
e 1
f
9
g 10
p 5
8
PORT
R1
R2
R3
R4
R5
R
R6
R
R7
R
R8
R
R
R
R
100X8
3
8
7
6
5
4
3
2
1
Q4
PIN
A1013
A1013
VCC
a) Định nghĩa mã led 7 đoạn từ 0 đến 9
b) Định nghĩa mã led 7 đoạn “oC”
c) Định nghĩa mã led 7 đoạn “HELP”
d) Định nghĩa mã led 7 đoạn “StOP”
e) Định nghĩa mã led 7 đoạn “run-”
f) Định nghĩa mã led 7 đoạn “FILL”
22