Tải bản đầy đủ (.doc) (53 trang)

Tài Liệu Thực Hành VĐK PIC

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.81 MB, 53 trang )

MỤC LỤC
I. GIỚI THIỆU HỆ THỐNG-------------------------------------------------------------------------------------------------2
II. MÔ TẢ CÁC THÀNH PHẦN CỦA HỆ THỐNG----------------------------------------------------------------------4
1. DIP SWITCH (DIPSW)--------------------------------------------------------------------------------------------4
-----------------------------------------------------------------------------------------------------------------------------------4
2. JUMPERs-------------------------------------------------------------------------------------------------------------5
2. MCU SOCKETs-----------------------------------------------------------------------------------------------------6
3. POWER SUPPLY---------------------------------------------------------------------------------------------------8
4. ON-BOARD PROGRAMMER----------------------------------------------------------------------------------9
5. REAL TIME CLOCK (RTC) DS1307-------------------------------------------------------------------------10
6. RS-232 COMMUNICATION -----------------------------------------------------------------------------------11
7. USB COMMUNICATION---------------------------------------------------------------------------------------12
8. PS/2 COMMUNICATION---------------------------------------------------------------------------------------13
9. DS1820 DIGITAL THERMOMETER-------------------------------------------------------------------------14
10. A-D CONVERTER INPUT------------------------------------------------------------------------------------15
11. DIRECT PORT ACCESS---------------------------------------------------------------------------------------16
PHẦN II: THỰC HÀNH-----------------------------------------------------------------------------------------------------17
Bài thực hành số 1-----------------------------------------------------------------------------------------------------------17
SỬ DỤNG PHẦN MỀM WINPIC800 -------------------------------------------------------------------------------------17
TRUY CẬP CỔNG VÀO RA SỐ VÀ ĐIỀU KHIỂN LED 7 DOẠN----------------------------------------------------17
I. MỤC ĐÍCH---------------------------------------------------------------------------------------------------------17
II. CHUẨN BỊ---------------------------------------------------------------------------------------------------------17
III. THỰC HÀNH----------------------------------------------------------------------------------------------------17
Bài thực hành số 2-----------------------------------------------------------------------------------------------------------25
BIẾN ĐỔI ADC, ĐO ĐIỆN ÁP, NHIỆT ĐỘ ----------------------------------------------------------------------------25
HIỂN THỊ TRÊN LED VÀ TRUYỀN THÔNG QUA RS232-------------------------------------------------------------25
I. MỤC ĐÍCH---------------------------------------------------------------------------------------------------------25
II. CHUẨN BỊ---------------------------------------------------------------------------------------------------------25
III. THỰC HÀNH----------------------------------------------------------------------------------------------------25
Bài thực hành số 3-----------------------------------------------------------------------------------------------------------29
ĐỌC PHÍM BẤM, ĐIỀU KHIỂN RELAY --------------------------------------------------------------------------------29


VÀ ĐỌC THỜI GIAN THỰC DS1307 HIỂN THỊ TRÊN LEB 7 ĐOẠN----------------------------------------------29
I. MỤC ĐÍCH---------------------------------------------------------------------------------------------------------29
II. CHUẨN BỊ---------------------------------------------------------------------------------------------------------29
III. THỰC HÀNH----------------------------------------------------------------------------------------------------29
PHỤ LỤC------------------------------------------------------------------------------------------------------------------------35
PHẦN I: MÔ TẢ THIẾT BỊ
THỰC HÀNH VI ĐIỀU KHIỂN PIC
1
I. GIỚI THIỆU HỆ THỐNG
HẾ THỐNG ĐÀO TẠO PIC (PIC.TS) là board mạch đầy đủ các công cụ cho
việc học tập và nghiên cứu vi điều khiển PIC của Microchip. Sinh viên dễ dàng thực
hành, kiểm tra và đánh giá khả năng của vi điều khiển PIC. PIC.TS cho phép PIC giao
tiếp với một số lượng lớn các thiết bị ngoại vi và mạch ngoài. Với PIC.TS, sinh viên
không còn lo lắng về phần cứng mà chỉ cần tập trung vào việc phát triển phần mềm.
Trên PIC.TS, mỗi thành phần được in thẳng trên board mạch rất rõ ràng đánh dấu sự
mô tả kết nối đến các thiết bị cùng một vài ghi chú hữu ích.
Hình 1.1 - PIC.TS
THỰC HÀNH VI ĐIỀU KHIỂN PIC
2
Hình 1.2 - Sơ đồ nguyên lí PIC.TS
THỰC HÀNH VI ĐIỀU KHIỂN PIC
3
II. MÔ TẢ CÁC THÀNH PHẦN CỦA HỆ THỐNG
1. DIP SWITCH (DIPSW)
PIC.TS có đặc tính là kết nối với nhiều thiết vị ngoại vi. Để kết nối những thiết
bị này trước khi lập trình, cần phải kiểm tra và thiết đặt của các jumper và DIPSW.
DIPSW là linh kiện tập hợp nhiều switch có 2 vị trí ON và OFF dùng để nối hoặc
ngắt giữa 2 chân với nhau. PIC.TS có 2 DIPSW.
DIPSW1 cho phép kết nối giữa các port của PIC (PORTA và PORTE) với điện
trở pull-up/down bên ngoài. Các điện trở pull-up/down phải được tách rời ra khi các

chân của các port này dùng làm ngõ vào Analog vì làm ảnh hưởng đến mức điện áp
đầu vào. Khi các chân của PORTA và PORTE sử dụng như digital inputs/outputs thì
những điện trở pull-up/down lại thích hợp và được cho phép.
Sáu switches đầu của DIPSW2 cho phép kết nối tới PortA để điều khiển 6 LED 7
đoạn (7-Segment display). Nếu không cần 7-seg Display trong bài tập thì các SW này
cần phải OFF.
Hai switches đầu của SW2 cho phép kết nối DS1307 đến chân RC4 và RC3 của
PIC. Khi không có nhu cầu sử dụng DS1307 thì nên đưa các SW này về vị trí OFF.
Hình 1.3 - Dip switch
THỰC HÀNH VI ĐIỀU KHIỂN PIC
4
2. JUMPERs
Jumpers cũng giống như switches, có thể ngắt hoặc nối hai điểm với nhau. Bên
trong vỏ bọc nhựa của jumper là một lá kim loại dùng để tiếp xúc. Nó sẽ nối (dẫn
điện) nếu jumper này được gắn vào hai pin đang bị ngắt.
Ví dụ: Hai biến trở trong mạch ADC được ngắt rời với RA2 và RA3. Để nối
chúng với nhau cần sử dụng jumper.
Hình 1.4 - Jumper như một Switch
Các jumper cũng thường được sử dụng để lựa chọn giữa hai kết nối. Như minh
họa trong hình dưới, điểm giữa được nối với bên phải hoặc bên trái tuỳ thuộc vào vị
trí của jumper.
Hình 1.5 – Lựa chọn kết nối với jumper
THỰC HÀNH VI ĐIỀU KHIỂN PIC
5
2. MCU SOCKETs
PIC.TS được thiết kế sử dụng cho các loại vi điều khiển PIC 16F và 18F. Người
sử dụng có thể dùng các PIC khác nhau thích hợp cho công việc của mình có các kiểu
chân phù hợp với socket DIP40, DIP28, DIP18.
Hình 1.6 - MCU socket
Chú ý: Tất cả các sockets trên được nối song song với nhau, vì vậy trong cùng

một thời điểm bạn chỉ có thể sử dụng được một vi điều khiển PIC mà thôi.
Chân MCU được sử dụng để nối đến nhiêu thiết bị ngoại vi như được minh hoạ
trong Hình 1.8. Do đó tất cả các port đều kết nối trực tiếp đến những đầu nối 5x2.
Những đầu nối như vậy cho phép mở rộng kết nối đến các thiết bị ngoại vi bên ngoài
hoặc hữu ích cho việc kết nối với các đầu dò digital logic.
Tất cả các ports đều được nối đến điện trở pull-ip/down và được đánh số ghi chú
rất chi tiết để dễ dàng cho việc kiểm tra và đo thử.
Một vài chân được kết nối tới các thiết bị ngoại vi khác như DS1820 temperature
sensor, RS-232 communication, 7-segment displays, LCD.
THỰC HÀNH VI ĐIỀU KHIỂN PIC
6
Hình 1.8 - Sự kết nối hệ thống
PIC.TS có một nút bấm sử dụng cho mục đích RESET, sơ đồ mạch RESET
được nhìn thấy trong hình dưới.
Hình 1.9 – Sơ đồ mạch reset
THỰC HÀNH VI ĐIỀU KHIỂN PIC
7
3. POWER SUPPLY
Để hệ thống làm việc cần phải cấp nguồn. PIC.TS có thể hoạch động bằng nguồn
ngoài hoặc được cung cấp qua cable USB.
Trong trường hợp cấp nguồn qua USB, hệ thống phải được nối với PC bằng
cable USB và công tắc nguồn phải được gạt về phía USB. Lưu ý là việc cấp nguồn
qua USB chỉ sử dụng khi chạy thử chương trình. Khi nạp chương trình cho chip bạn
phải sử dụng nguồn ngoài. Khi sử dụng nguồn ngoài, PIC.TS sẽ tạo ra điện áp +5V
cấp cho hệ thống và điện áp +13V dùng làm điện áp lập trình chip.
Hình 1.10 – Lựa chọn nguồn cung cấp
THỰC HÀNH VI ĐIỀU KHIỂN PIC
8
Power supply swichesPower supply connector
4. ON-BOARD PROGRAMMER

Không cần sử dụng bất kỳ mạch nạp nào khác, PIC.TS có riêng một mạch nạp
on-board rất tiện lợi và dễ sử dụng. Bạn chỉ cần cắm cáp kết nối đến PC qua cổng
LPT.
Hình 1.11 –Mạch nạp
Đây là mạch nạp giao tiếp qua cổng máy in sử dụng phần mềm WinPIC800 có
độ ổn định cao, tốc độ nhanh, hỗ trợ rất nhiều PIC.
THỰC HÀNH VI ĐIỀU KHIỂN PIC
9
Mạch nạp cho PIC trên PIC.TS Cáp kết nối
5. REAL TIME CLOCK (RTC) DS1307
PIC.TS sử dụng đồng hồ thời gian thực DS1307 giao tiếp chuẩn I2C với vi điều
khiển PIC. Hai chân SCL và SDA nối với RC3 và RC4 qua SW2. Pin CMOS dùng
nuôi DS1307 khi ngắt nguồn.
Hình 1.12 – Sơ đồ kết nối DS1307
THỰC HÀNH VI ĐIỀU KHIỂN PIC
10
RTC DS1307 Pin Cmos
RS-232 communiction
6. RS-232 COMMUNICATION
Truyền thông RS-232 cho phép truyền dữ liệu điểm tới điểm. RS232 thường
được dùng trong các ứng dụng giao tiếp truyền thông giữa giữa vi điều khiển và máy
tính. Mức điện áp giữa vi điều khiển và
máy tính không thích hợp nhau. Do vậy
bộ đệm Max-232 được sử dụng. Để sử
dụng linh hoạt hơn, trên PIC.TS vi điều
khiển được nối tới Max232 qua cặp
jumper JP_TX và JP_TD. Jumper JP_RX
được sử dụng để nối tới đường Rx tới
RC7, RB2 hoặc RB1. Jumper JP_TX
được sử dụng để nối tới đường Tx tới

RC6, RB5 hoặc RB2. Chú ý: JP5 và JP6
không được nối cùng lúc đến RB2.
Hình 1.13 - Kết nối PIC với máy tính
THỰC HÀNH VI ĐIỀU KHIỂN PIC
11
7. USB COMMUNICATION
PIC.TS có một cổng USB. Nó được
sử dụng cho những loại vi điều khiển PIC
đặc biệt c
ó hỗ trợ giao tiếo USB như 18F2450,
18F2550, 18F4550… ngoài khả năng giao
tiếp USB nó còn là bộ phận cấp nguồn 5V
cho chế độ chạy thử (không sử dụng được
nguồn USB ở chế độ nạp).
Để kết nối giữa vi điều khiển và
socket USB cần phải nối cả 3 jumpers
JP17, JP18 và JP19 lên phía trên. Kết quả là
vi điều khiển có RC3, RC4 và RC5 được
tách ra khỏi các phần tử khác trên board và
nối với socket USB.
Hình 1.14 – Sơ đồ kết nối truyền thông USB
THỰC HÀNH VI ĐIỀU KHIỂN PIC
12
USB communication connector
8. PS/2 COMMUNICATION
Đầu nối PS/2 cho phép kết nối trực tiếp giữa PIC.TS với những thiết bị có sử
dụng giao tiếp PS/2 như PC, bàn phím hoặc chuột. Ví dụ: vi điều khiển được nối với
bàn phím để đọc những phím được nhấn hoặc kết nối với PC để hoạt động như một
bàn phím. Đường DATA cà CLK được sử dụng cho việc truyền dữ liệu. Trong trường
hợp này chúng được nối tới những pin tương ứng RC1 và RC0 của vi điều khiển.

Hình 1.15 – Sơ đồ kết nối PS/2 với vi điều khiển
THỰC HÀNH VI ĐIỀU KHIỂN PIC
13
9. DS1820 DIGITAL THERMOMETER
DS1820 là IC cảm biến nhiệt độ dạng số rất tốt cho việc đo nhiệt độ môi trường
với dải nhiệt độ đo rộng -55
O
C đến 125
O
C với độ chính xác +/- 0.5
O
C. Nó phải được
đặt chính xác trong socket 3 chân và đúng chiều với hình vẽ in trên PIC.TS. Nếu
không DS1820 có thể bị hỏng. Chân data của DS1820 có thể nối tới pin RA5 hoặc
RE2 của vi điều khiển PIC bởi jumper JP14.
Hình 1.16 – Sơ đồ kết nối DS18b20 với vi điều khiển
THỰC HÀNH VI ĐIỀU KHIỂN PIC
14
10. A-D CONVERTER INPUT
Board phát triển Kit phát triển Vi điều khiển PIC có 2 biến trở để làm việc với
Analog to Digital converter – ADC. Biến trở P1 thì hoạt động khi Jumper JP 15 được
chọn gắn vào cho tín hiệu analog đến chân RA2 của Microcontroller. Biến trở P2 thì
hoạt động khi jumper JP16 được chọn gắn vào cho tín hiệu analog đến chân RA3 của
microcontroller. Cả 2 đầu ra analog của biến trở trong phạm vi 0V đến 5V.
Hình 1.17 - ADC Converter input
Để đo tín hiệu tương tự các jumper pull-up/down của PORTA cần phải được loại
bỏ. Các chân của PORTA không kết nối tới bất cứ các thành phần thiết bị nào khác.
Ứng dụng chuyển đổi tương tự - số khác nhau, vi điều khiển nhận tín hiệu tương
tự từ chân đầu vào và chuyển nó thành tín hiệu số. Về cơ bản, bạn có thể đo bất kỳ tín
hiệu tương tự nào trong phạm vi 0 ÷ 5V

Hình 1.18 – Sơ đồ kết nối khi đo ADC
THỰC HÀNH VI ĐIỀU KHIỂN PIC
15
11. DIRECT PORT ACCESS
Tất cả các pin vào/ra của microcontroller có thể được truy cập trực tiếp qua các
đầu nối đặt bên mép phải của PIC.TS cho mỗi PORTA, PORTB, PORTC, PORTD và
PORTE. Đây là socket 10-pin (5x2) cung cấp VDD, GND và 8 pin port kết nối với
bên ngoài bằng cáp kết nối.
Những đầu nối này sử dụng cho việc mở rộng hệ thống với những board mở rộng
hệ thống bên ngoài và cần bảo đảm những thiết bị ngoại vi trên board phải được tách
ra bằng việc đặt các jumper thích hợp khi thiết bị ngoại vi bên ngoài cũng dùng chân
đó.
Những đầu nối cũng có thể sử dụng để gắn đầu dò logic hoặc các thiết bị đo thử khác.
Hình 1.19 - Sơ đồ kết nối PORTB
THỰC HÀNH VI ĐIỀU KHIỂN PIC
16
PHẦN II: THỰC HÀNH
Bài thực hành số 1
SỬ DỤNG PHẦN MỀM WINPIC800
TRUY CẬP CỔNG VÀO RA SỐ VÀ ĐIỀU KHIỂN LED 7 DOẠN
I. MỤC ĐÍCH
- Làm quen với phần mềm WinPIC800, biết cách sử dụng phần mềm và mạch nạp
có sẵn trên PIC.TS để nạp chương trình cho PIC.
- Tìm hiểu các cổng vào ra của vi điều khiển PIC16f877A.
- Viết chương trình điều khiển các cổng vào ra, thực hiện giải mã và hiển
thị các số từ 0 ÷ 9 trên leb 7 thanh.
II. CHUẨN BỊ
- Máy tính có cài chương trình WinPIC800, trình dịch CCS, HT-PIC.
- PIC.TS và các module, vi điều khiển PIC16F877A, đồng hồ đo, cáp nguồn, cáp
kết nối.

- Lý thuyết về lập trình C, lập trình C cho PIC trên CCS, HT-PIC…
- Giải mã và hiển thị với led 7 thanh.
III. THỰC HÀNH
1. Nạp chương trình cho PIC bằng phần mềm WinPIC
Trên PIC.TS được thiết kế sẵn một mạch nạp do đó sẽ không cần bất kỳ mạch
nạp nào từ bên ngoài. Mặt khác với mạch nạp sẵn có này bạn không cần phải tháo
chip nhiều lần tránh các phiền phức và hư hỏng vật lý.
Phần mền WinPIC800 đi cùng không cần cài đặt có thể sử dụng ngay rất tiện lợi.
Nhấn dúp vào biểu tượng WinPIC800 trên desktop hoặc file WinPIC800.exe trong
thư mục WinPIC800. Cửa sổ chương trình WinPIC800 hiện lên:
Hình 2.1 – Giao diện WinPIC800
THỰC HÀNH VI ĐIỀU KHIỂN PIC
17
Nhấn vào menu Settings ->Hardware để chọn cấu hình sử dụng WinPIC800 cho
PIC.TS như sau:
Hình 2.2 – Cầu hình cho WinPIC800
Lưu ý:
- Nếu không hiện lên bảng như hình trên thì nhấp chuột vào ô tròn số 1
- Nhấp vào ô tròn số 2 để bật các chức năng chọn cấu hình
Cài đặt cấu hình cho WinPIC800 chính xác như hình sau:
Hình 2.3 – Cấu hình WinPIC800 để sử dụng cho PIC.TS
THỰC HÀNH VI ĐIỀU KHIỂN PIC
18
Nhấn vào nút Apply edits để xác nhận cài đặt.
Kết nối với PIC.TS:
- Chuyển chuyển mạch nguồn sang chế độ nguồn từ kit (lên trên).
- Bật Công tắc nguồn – Đèn Power sáng.
- Nối cable programmer vào cổng LPTx của PC và bo mạch.
Kiểm tra kết nối:
Sau khi kết nối phần cứng, chạy phần mềm WinPIC800. Nhấn vào Icon Detect

device (trong vòng tròn hình dưới) màn hình hiện lên như hình sau:
Hình 2.4 – Quá trình kiểm tra kết nối và loại pic sử dụng
Nhấn chọn ô “Close this window….” Để lần sau bảng detect tự động. Nhấn nút
accept để đóng cửa sổ.
Lưu ý: Khi nhân nút detect device WinPIC800 sẽ tự động chọn device mà nó
detect được. Điều này này giúp bạn khỏi tốn công chọn device.
Kích vào menu chọn File -> Open sau đó chọn đường dẫn dến file .hex.
Ví dụ: D:\PIC\port test.hex chọn OK.
Sau đó vào menu chọn thực đơn Device -> Program All.
Kết quả: Chíp sẽ được nạp chương trình điều khiển.
THỰC HÀNH VI ĐIỀU KHIỂN PIC
19
Hình 2.5 – Đang nạp chương trình cho vi điều khiển
Chú ý: Sau khi nạp chương trình thành công phải tháo cáp nạp để tránh gây ảnh
hưởng tới hoạt động của hệ thống.
2. Truy cập cổng vào ra số
Nhiệm vụ: Tìm hiểu vi điều khiển 16F877A và lập trình điều khiển các cổng
vào ra số.
R0 R1 R2 R3 R4 R5 R6 R7
D0 D1 D2 D3 D4 D5 D6 D7
1 2
3 4
5 6
7 8
9 10
JP1
VCC
1 2
3 4
5 6

7 8
9 10
JP2
1 2
3 4
5 6
7 8
9 10
JP3
1 2
3 4
5 6
7 8
9 10
JP4
1 2
3 4
5 6
7 8
9 10
JP5
VCC VCC VCC VCC
D8 D9 D10 D11 D12 D13 D14 D15
D16 D17 D18 D19 D20 D21 D22 D23 D24 D25 D26 D27 D28 D29 D30 D31 D32
R8 R9 R10 R11 R12 R13 R14 R15
R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29 R30 R31 R32
A0 A1 A2 A3 A4 A5 B0 B1 B2 B3 B4 B5 B6 B7 C0 C1
C2 C3 C4 C5 C6 C7 D0 D1 D2 D3 D4 D5 D6 D7 E0 E1 E2
A0 A1
A2 A3

A4 A5
B0 B1
B2 B3
B4 B5
B6 B7
C0 C1
C2 C3
C4 C5
C6 C7
D0 D1
D2 D3
D4 D5
D6 D7
E0 E1
E2
Hình 2.6 – Sơ đồ nguyên lý module PIC.TS01
THỰC HÀNH VI ĐIỀU KHIỂN PIC
20
Nguyên lý hoạt động:
Các đèn led trên PIC.TS01 sẽ được nối trực tiếp chân anot đến cổng của vi điều
khiển PIC trên PIC.TS đồng thời nối tiếp một điện trở 100ohm rồi đưa xuống đất. Các
cổng của PIC có thể cấp dòng trực tiếp cho led mà không cần đệm hay khuếch đại.
Mỗi cổng vào ra số được nối với một đèn led. Khi một cổng được xuất giá trị là “1”
thì led sáng ngược lại nếu xuất giá trị “0” led tắt. Chú ý: ở đây giả định là PIC đang
được cấu hình là một cổng ra số.
Các bước tiến hành:
- Nối các cổng PA, PB, PC, PD và PE của PIC.TS tương ứng với các JP1, JP2,
JP3, JP4 và JP5 của module PIC.TS01.
- Viết chương trình điều kiển các đèn led tắt sáng theo yêu cầu.
- Biên dịch và nạp chương trình lên vi điều khiển PIC

- Sửa lại chương trình để có được chu chình led sáng theo ý muốn.
Có thể chạy thử chương trình mẫu: PORT_TEST.C có sẵn ở thư mục .../sample/
PORT_TEST/ để tham khảo hoặc kiểm tra các module có chạy tốt hay không trước
khi viết một chương trình cho riêng mình.
3. Điều khiển led 7 đoạn
Nhiệm vụ: Tìm hiểu led 7 đoạn, PIC16F877A trong điều khiển và giải mã hiển
thị các số. Viết được chương trình giải mã hiển thị các số theo yêu cầu trên led 7
đoạn.
R0 R1 R2 R3 R4 R5
D0 D1 D2 D3 D4 D5
1 2
3 4
5 6
7 8
9 10
JP1
VCC
1 2
3 4
5 6
7 8
9 10
JP2
1 2
3 4
5 6
7 8
9 10
JP3
1 2

3 4
5 6
7 8
9 10
JP4
1 2
3 4
5 6
7 8
9 10
JP5
VCC VCC VCC VCC
D10 D11 D12 D13
D30 D31 D32
R10 R11 R12 R13
R14
R15
R16
R17
R18
R19
R20
R21
R22
R23
R24
R25
R26
R27
R28

R29
R30 R31 R32
A0 A1 A2 A3 A4 A5
B0
B1
B2
B3
B4 B5 B6 B7
C0
C1
C2
C3
C4
C5
C6
C7
D0
D1
D2
D3
D4
D5
D6
D7
E0 E1 E2
A0 A1
A2 A3
A4 A5
B0 B1
B2 B3

B4 B5
B6 B7
C0 C1
C2 C3
C4 C5
C6 C7
D0 D1
D2 D3
D4 D5
D6 D7
E0 E1
E2
f
9
g
10
e
1
d
2
A
3
c
4
DP
5
b
6
a
7

A
8
DIGIT1
f
9
g
10
e
1
d
2
A
3
c
4
DP
5
b
6
a
7
A
8
DIGIT2
VCC
F1 F2 F3 F4
1
2
3
JPVCC

Hình 2.7 – Sơ đồ nguyên lý PIC.TS03
THỰC HÀNH VI ĐIỀU KHIỂN PIC
21
Nguyên lý hoạt động:
Trong PIC.TS03 sử dụng các led catot chung. Anot của mỗi thanh led của led 7
đoạn được nối đến cổng vi điều khiển PIC thông qua điện trở 100ohm nhằm hạn
dòng. Catot của mỗi led 7 đoạn được nôi xuống đất. Khi cổng đó xuất giá trị là “1” thì
thành led sáng và ngược lại xuất “0” thì tắt. Chữ số bên phải nối với cổng PC, chữ số
bên trái nối với cổng PD. Các thanh a, b, c, d, e, f, g của mỗi chữ số tương ứng nối
với các bit b0, b1, b2, b3, b4, b5, b6 của mỗi cổng.
Các bước tiến hành:
- Nối các PORT PC và PD PIC.TS tương ứng với JP3 và JP4 trên module
PIC.TS03.
- Viết chương trình điều kiển led 7 đoạn để hiển thị chữ số theo yêu cầu.
- Biên dịch và nạp chương trình cho vi điều khiển PIC.
- Sửa lại chương trình để có được sự hiển thị theo yêu cầu.
Có thể chạy thử chương trình mẫu: 7SegCount00To99.c có sẵn ỏ thư mục
…/sample/7SEGS_LED/ để tham khảo hoặc kiểm tra module có chạy tốt hay không
trước khi viết một chương trình theo ý muốn.
4. Điều khiển đèn giao thông
Nhiệm vụ: Tìm hiểu PIC16F877A trong việc vào ra số và giải mã điều khiển led
7 đoạn. Viết chương trình điều khiển đèn giao thông.
R0 R1 R2 R3 R4 R5
D0 D1 D2 D3 D4 D5
1 2
3 4
5 6
7 8
9 10
JP1

VCC
1 2
3 4
5 6
7 8
9 10
JP2
1 2
3 4
5 6
7 8
9 10
JP3
1 2
3 4
5 6
7 8
9 10
JP4
1 2
3 4
5 6
7 8
9 10
JP5
VCC VCC VCC VCC
D10 D11 D12 D13
D30 D31 D32
R10 R11 R12 R13
R14

R15
R16
R17
R18
R19
R20
R21
R22
R23
R24
R25
R26
R27
R28
R29
R30 R31 R32
A0 A1 A2 A3 A4 A5
B0
B1
B2
B3
B4 B5 B6 B7
C0
C1
C2
C3
C4
C5
C6
C7

D0
D1
D2
D3
D4
D5
D6
D7
E0 E1 E2
A0 A1
A2 A3
A4 A5
B0 B1
B2 B3
B4 B5
B6 B7
C0 C1
C2 C3
C4 C5
C6 C7
D0 D1
D2 D3
D4 D5
D6 D7
E0 E1
E2
f
9
g
10

e
1
d
2
A
3
c
4
DP
5
b
6
a
7
A
8
DIGIT1
f
9
g
10
e
1
d
2
A
3
c
4
DP

5
b
6
a
7
A
8
DIGIT2
VCC
F1 F2 F3 F4
1
2
3
JPVCC
Hình 2.8 – Sơ đồ nguyên lý PIC.TS03
THỰC HÀNH VI ĐIỀU KHIỂN PIC
22
Nguyên lý hoạt động:
Trong PIC.TS03 sử dụng các led catot chung. Anot của mỗi thanh led của led 7
đoạn được nối đến cổng vi điều khiển PIC thông qua điện trở 100ohm nhằm hạn
dòng. Catot của mỗi led 7 đoạn được nôi xuống đất. Khi cổng đó xuất giá trị là “1” thì
thành led sáng và ngược lại xuất “0” thì tắt. Chữ số bên phải nối với cổng PC, chữ số
bên trái nối với cổng PD. Các thanh a, b, c, d, e, f, g của mỗi chữ số tương ứng nối
với các bit b0, b1, b2, b3, b4, b5, b6 của mỗi cổng.
Các đèn led xanh, đỏ và vàng cũng được nối đến các cổng của vi điều khiển
PIC thông qua trở 100ohm. Khi vi điều khiển xuất giá trị “1” ra cổng đó thì đèn tương
ứng sáng ngược lại nếu xuất giá trị “0” đèn sẽ tắt. Các đèn led và led 7 đoạn được nối
với vi điều khiển PIC theo như bảng sau:
Bảng 1
LED Tên cổng Gi chú

D0 A0 Đỏ
D1 A1 Vàng
D2 A2 Xanh
D3 A3 Xanh
D4 B4 Vàng
D5 A5 Đỏ
D11 B5 Đỏ
D12 B6 Vàng
D13 B7 Xanh
D30 E0 Xanh
D31 E1 Vàng
D32 E2 Đỏ
F1 B0 Nút 1
F2 B1 Nút 2
F3 B2 Nút 3
F43 B3 Nút 4
Cách tiến hành:
- Nối các port PA, PB, PC, PD và PE của kit chính PIC.TS tương ứng với các
port JP1, JP2, JP3, JP4 và JP5 của module PIC.TS03.
- Viết chương trình điều kiển các đèn led xanh, đỏ, vàng tắt sáng theo thời gian
yêu cầu đồng thời hiển thị thời gian đếm ngược trên led 7 đoạn cho một chiều
được quy định.
- Biên dịch và nạp chương trình lên vi điều khiển PIC.
THỰC HÀNH VI ĐIỀU KHIỂN PIC
23
- Sửa lại chương trình để có được thời gian lưu thông các luồng theo theo yêu
cầu.
Có thể thử chương trình mẫu: TRAFFIC_LIGHT.c có sẵn ỏ thư mục
…/sample/TRAFFIC_LIGHT/ để tham khảo hoặc kiểm tra module có chạy tốt hay
không trước khi viết một chương trình theo yêu cầu.

Mở rộng, nếu có thể hãy viết chương trình dùng các phím F để thay đổi thời
gian lưu thông của các luồng.
THỰC HÀNH VI ĐIỀU KHIỂN PIC
24
Bài thực hành số 2
BIẾN ĐỔI ADC, ĐO ĐIỆN ÁP, NHIỆT ĐỘ
HIỂN THỊ TRÊN LED VÀ TRUYỀN THÔNG QUA RS232
I. MỤC ĐÍCH
Làm quen với bộ biến đổi tương tự số ADC có sẵn trên vi điều khiển
PIC16F877A. Tìm hiểu chuẩn 1 dây và truyền thông không đồng bộ UART. Viết
chương trình biến đổi ADC, đo điện áp, giao tiếp vơi cảm biến nhiệt độ DS18B20.
II. CHUẨN BỊ
- Máy tính có cài chương trình WinPIC800, trình dịch CCS, HT-PIC.
- PIC.TS và các module, vi điều khiển PIC16F877A, đồng hồ đo, cáp nguồn, cáp
kết nối.
- Lý thuyết về lập trình C, lập trình C cho PIC trên CCS, HT-PIC…
- Lý thuyết về chuẩn 1 dây, truyền thông không đồng bộ UART.
III. THỰC HÀNH
1. Biến đồi ADC và hiển thị trên led
Nhiệm vụ: Tìm hiểu và sử dụng bộ biến đổi ADC của vi điều khiển
PIC16F877A
1
2
JP_ADC1
1
2
JP_ADC2
VCC
RA2 RA3
1

2
3
VR1
1
2
3
VR2
Hình 2.9 – Sơ đồ nguyên lý khối biến trở
Nguyên lý hoạt động:
Khi vặn biến trở VR1 và VR2 tương ứng điện áp tai RA2 và RA3 sẽ thay đổi.
Cấu hình PIC cho phép bộ biến đổi ADC kênh 2 và kênh 3 (RA2 và RA3) hoạt động.
Giá trị tương tự tai RA2 và RA3 sẽ được bộ ADC của PIC chuyển sang thành tín hiệu
số.
Cách tiến hành:
- Kiểm tra jumper JP_ADC2 ở trạng thái kết nối, để nối đầu ra biến trở với
đầu vào ADC của PIC. VR2 và JP_ADC2 nối đến ngõ vào AN3.
- Công tắc DIP_SW1.3, DIP_SW1.4 ở trạng thái OFF để ngắt đầu vào ADC
ra khỏi điện trở treo khi làm việc với điện áp tương tự (điện trở treo dùng
khi làm việc ở chế độ vào ra tín hiệu số)
THỰC HÀNH VI ĐIỀU KHIỂN PIC
25

×