Tải bản đầy đủ (.pdf) (100 trang)

Nghiên cứu ứng dụng vi điều khiển Microchip pic trong đo lường và điều khiển thời gian thực

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 (33.08 MB, 100 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
KHOA CÔNG NGHỆ
Huỳnh Vinh Hà
NGHIÊN c ú u ỨNG DỰNG VI ĐIỂU KHIỂN MICHOCHIP PIC
TRONG ĐO LƯỜNG VÀ ĐIỂU KHlỂN t h ờ i g ia n t h ụ c
Chuyên ngành: Kỹ thuật vô tuyến điện tử và thông tin liên lạc
Mã số: 2.07.00
LUẬN VĂN THẠC s ĩ
NGƯỜI HƯỚNG DẨN KHOA HỌC
TS. Ngô Diên Tập
Hà Nội - Năm 2004
Nghiên cứu ứntị dụng vi điểu khiển P ÌC trong do lường & điều khiển
MỤC LỤC
Trang
PHỤ BÌA
LỜI CAM Đ O A N 1
M Ự C LỤC 2
CÁ C KÝ H IỆU V IẾT TẮ T 4
DA N H M ỤC CÁ C BẢNG 5
DANH M ỤC C Á C HÌN H V Ẽ 6
M Ớ ĐẦU 9
Chương I T Ổ N G Q UAN VỀ VI Đ lỀ ư K H IEN 11
1.1 Tổng quan về vi mạch vi điểu khiển 11
1.2 Một số họ vi điều khiển phổ biến 13
Chương 2 Ví Đ IÊ U K ìỈIEN m i c r o c h i p 15
2.1 Lịch sử phát triển họ vi điều khiển Microchip PIC 15
2.2 Phân loại các vi diều khiển M icrochip FIC 16
2.3 Lựa chọn loại vi điều khiển để nghiên cứu ứng dụng 20
Chương 3 C Ấ U TR ÚC VI Đ IỀU K IĩlỂ N p i c 16F877A 2 1
3. ] Mô tả khái quát về tính năng của vi điều khiển PIC 16F877A 21
3.2 Sơ đồ khối chức năng và các chân vào ra 22


3.3 Tổ chức bộ nhớ và các thanh ghi chức năng đặc biệt 25
3.4 Các cổng vào/ra 27
3.5 Các khối timer 31
3.6 Cổng nối tiếp đồng bộ I2C 34
3.7 Bộ thu phát không đồng bộ vạn năng U A R T 35
3.8 Khối chuyển đổi t ươn li tự/số ADC 36
3.9 Các đặc điểm riêng và thiết lập cấu hình PIC 37
Chưong 4 LẬP TRÌ NH CHO VI Đ lỀ U K HIEN 42
4.1 Chương trình dịch Assem bler MPASM 42
4.2 Chương trình dịch ngôn ncữ bậc cao PCW-H 44
4.3 Bộ nạp trình cho vi điều khiển PIC 48
Chương 5 HỆ TI IỐNCỈ THU T H Ậ P s ố LIỆU 50
5 .1 Thiết kế hệ thốngvà các chức nãne của hệ thu thập số liệu 50
5.1.1 Các chức năn« của hệ thống thu thập số liệu môi trường 50
2
Nghiên cứu ứng dụng vi điều khiến P ÌC trong du lnứng & điều khiến
5.1.2 Sơ đổ khối của hệ thống 50
5.2 Lựa chọn cảm biến đo nhiệt độ 52
5.2.1 Các loại cám biến nhiệt độ điện tử tương tự 52
5.2.2 Cảm biến nhiệt độ số DS1820 53
5.3 Lựa chọn cảm biến độ ẩm độ ẩm tương đối 55
5.3.1 Khái niệm độ ẩm tirơng đối 55
5.3.2 Dụng cụ đo độ ẩm tương đối 55
5.3.3 Các cảm biến độ ẩm theo nguyên lý điện 56
5.3.4 M ôđun đo độ ẩrn HTM1505 58
5.4 Cảm biến đo tốc độ gió 59
5.5 Đồng hổ thời gian thực 60
5.6 Bộ nhớ sô liệu 24LC256 61
5.7 M ôđun hiển thị tinh thể lỏng 62
5.8 Kết nối với máy tính và môđem 63

5 » Nguồn nuôi và các nút điều khiển 65
Chương 6 PHA N M EM đ i ề u K H IE N h ệ t h ố n g g h i đ o 67
6.1 Các khối chức năng của chương trình 67
6.1.1 Chức năng định thời 67
6.1.2 Lấy và đặt thời gian cho đổng hồ thời gian thực 69
6.1.3 Thay đổi khoảng lấy mẫu 69
6.1.4 Đọc số liệu đo nhiệt độ từ các cảm biến 70
6.1.5 Đo và tính giá trị độ ẩm tương đối 72
6.1.6 Đo và tính tốc độ gió 73
6.1.7 Lưu và đọc số liệu 73
6.1.8 Thòng dịch các lệnh điều khiển 75
6.2 Mã nguồn chương trình 77
6.3 Lưu đổ chương trình 77
Chương 7 PH A N m ề m g ia o d i ệ n đ iề u k h i ể n h ệ T H ố N G 78
GHI Đ O
7.1 Chế độ đòng lệnh 78
7.2 Chương trinh DATA EXPLO ER 80
Chương 8 Đ ẶC T ÍN H KỸ T H U Ậ T HỆ T H ố N G TH IÊT K Ế 83
8 .1 Các bộ phận trong hệ thống thu thập dữ liệu 83
8.2 Các đặc tính kỹ thuật < 84
3
Nạhicn cứu ứiiíỊ dụng vi điểu khiến P ỈC trong do lường Á diều khiển
8.3 Ví dụ số liệu thu thập 85
NH ŨNG K ẾT Q UẢ ĐẠT Đ ư ợ c VÀ BÀN LUẬN S6
TÀI LIỆU TH A M KHẢO 89
Phụ lục I S ơ Đ Ồ NG U Y ÊN LÝ HỆ T H Ố NG 90
Phụ lục 2 VI M Ạ CH ĐO NH IỆ T Đ Ộ s ố DS 1820 9 1
Phụ lục 3 D Ụ N G c ụ Đ O T ố c ĐỘ GIÓ A N EM O M ET 97
Phụ lục 4 BỘ N Ạ P CH Ư Ơ N G TRÌNH CHO PIC 99
4

N qỉiicn cứu ứng ciụnq vi điều khiển PỈC trong do lường & điểu khiển
C A C KY H IEU V IE T T A T
A DC
Analog Digital Converter
ALU
Arithmetic Logic Unit
BRG
Baud Rate Generator
CAN
Controller Area Network
CPU
Central Processor Unit
EEPROM
Electrical Erasable Read Only M emory
GPR
General Purpose Register
HS
High Speed
I2C
Inter Integrated Communication
ICD
In Circuit D ebugger
ICSP
In Circuit Serial Programming
LCD
Liquid Crystal Display
LVP
Low Voltage Program ming
M CRL
Master Clear

NRZ
Non Return to Zero
OTP
One Time Programming
PIC
Peripheral Interface Controller
PWM Pulse Width Modulation
RISC
Reduced Instruction Set Code
SFR
Special Function Register
SPI Serial Port Interface
UA RT
Universal Asynchronous Receive Transmitter
USB Universal Serial Bus
u v E PR OM
Ultra Violet EEPR OM
W DT
W atch Dog Timer
NíỊỈiiên cứu ứng dụng vi điều khiển P IC trong đu lường & điều khiên
D A N H M Ụ C C Á C B Ả NG
Bảng Tiêu đề T ran g
1 Tóm lược các họ vi diều khiển PIC 19
2 M ô tả chức
năng
các chân của PIC 16P877A 24
3 Các chức năng chép của cổng c 29
4 Danh sách các hàm đựng sẵn trong PCV/-H 46
5 Các hàm c chuẩn của PCW-H 47
6 Điện trở của cảm biến H25K5 theo nhiệt độ và độ ẩm 57

7 Danh sách lệnh và công dụng 76
6
Nghiên cứu ứng dụng vi điều khiên P ỈC trong do lường & điều khiển
DANH M Ụ C C Á C H ÌN H V Ẽ
Hình Nội d u n g T ran g
1 Sơ đổ khối của vi điều khiển cấu hình đầy đủ 11
2 Bố trí chân PIC 16F877A 22
3 Sư đổ khối chức năng của PIC 16F877A 23
4 Tổ chức bộ nhớ 25
5 Tổ chức các thanh ghi chức năng SFR 26
6 Cổng A 27
7 Cổng RB <0:3> và RB<4:7> 28
8 Cổng RC<0:2 - 5:7> và RC<3:4> 29
9 Cổng D 30
10 Cổng E 30
1 1 Sơ đồ khối TimerO 3 1
12 Sơ đồ khối Timerl 32
13 Sơ đổ khối Timer2 33
14 Khối MSSP 34
15 Khối truyền không đồng bộ 35
16 Khối nhận khổng đổng bộ 36
17 Khối chuyển đổi tương tự số ADC 37
18 Các khối tạo tín hiệu RESET 38
19 Tổ hợp logic các nguồn ngắt 39
20 Khối chức năng mạch Watchclog 40
2 1 MPASM dịch trực tiếp chương trình thành m ã m áy 42
22 MPASM dịch chương trình thành tệp đôi tượnơ 43
23 Sư đồ khối của hệ thống thu thập sô liệu môi trường 51
24 Bus l-wire và mạch cấp nguồn cho D S1820 54
25 Âm kế khô-ướt và ẩm kế tóc 56

26 Quan hệ điện duníĩ-độ ẩm của cảm biến H S 1 101 51
1
Nghiên cứu ứng dụng vi diều khiển P ỈC tronẹ đo lường á điều khiển
27 Ghép nối HTM 1505 với vi điều khiển 58
2K A nemomet tự chế tạo 59
29 Sơ đồ mạch khừ rung 60
30 Ghép nối DS1302 với vi diều khiển 61
31 Ghép nối m ôđun hiển thị LCD với vi điều khiển 63
32 Mạch chuyển đổi mức RS-232/TTL 64
33 Mạch cung cấp imuồn 65
34 Quan hệ điện áp ra/ độ ẩm của cảm biến HTM 1505 72
35 Lưu dồ chương trình 78
36 Cửa sổ giao diện chương trình DataExplorer 80
37 Cửa sổ thêm trạm kết nối 8 ]
38 Cửa sổ đặt khoảng lấy mẫu 81
39 Cừa sổ nhập thời gian thực 81
40 Bèn trong thiết bị ghi đo 83
41 Hệ thốne thu thập các thông số môi trường 84
8
Nghiên cửu ứng dụng vi điều khiển P ỈC trong do lườníỊ & diêu khiển
M Ỏ ĐẦU
Bộ vi xử lý đầu tiên ra đời năm 1971 đã m ở ra một thời đại mới trôna cổng
nghệ điện tử và tin học, có ảnh hưởng sâu sắc đến mọi lĩnh vực khoa học công nghệ.
Các hệ thống dược thiết kế dựa trên nền tảng của các bộ vi xử lý có các khả năng mà
các hệ thống diện tử tương tự / số thông thường không thể thực hiện dược.
Với mục tiêu hạn chế tối đa các linh kiện ngoài khi xây dựng một hệ thống
có sứ dụns vi xử lý, các hãng chế tạo bán dẫn dã tích hợp các mạch ngoại vi và bộ vi
xử lý lên một chip duy nhấl để tạo ra các bộ vi điều khiển.
Những bộ vi điều khiển mới nhất của MICRO CHIP, M OTORO L A, ATMEL,
AVR, dã chứa bên trons nhiều thiết bị ngoại vi như các loại bộ nhớ, các bộ đếm

16 bit, khối ADC phân aiải 10 - 12 bít với nhiều lối vào, các cổng truyền thông loại
PSP / ƯART/ l2C/ C A N / USB, khối điều khiển màn hiển thị tinh thể lỏng, thậm chí
cá khối điéu chế/giải điều ch ế dải tần UHF dùne cho kết nối không dây Giải pháp
này làm cho việc ứng dụng các vi điều khiển để chế tạo các hệ thống có vi xử lý
Ihèm thuận lợi. thu gọn đáng kể kích thước m ạch điện và đạt tý số hiệu năng/giá
thành càne rất cao.
Trong một số lĩnh vực sản xuất cũng như đời sống, việc do đạc, theo dõi và
thu thập các thông số về điều kiện môi trường như nhiệt độ, độ ẩm, áp suất, gió
theo thời gian thực là một nhu cẩu cần thiết. Việc xây dựng được một hệ thống tự
động đáp ứng dược các yêu cầu trên rất có ý nghĩa thực tiễn.
Những hệ thống tự động theo dõi thu thập số liệu có thể thực hiện được trên
máy tính bàng cách lắp thêm những card mở rộng dể sliép nối máy tính với các bộ
cám biến. Giải pháp này có ưu điểm là khai thác được khả năng đa nhiệm của máy
tính: máy tínlì để điều khiển việc thu thập số liệu đồng thời dùng để xử lý kết quả.
Tuy nhiên trong m ột số công tác quan trắc cụ thể, việc sử dụng các hệ thốn2 xây
dựng trên cơ sở m áy tính tỏ ra chưa hẳn đã phù hợp do hệ thống có kích thước lớn,
không hoạt dộnc lâu dài trong điều kiện đo đạc ngoài hiện trường có diều kiện thời
tiết khác nghiệt, tại các địa điểm xa nguồn điện lưới
Một hướng khác để xây dựng cấc hệ thống thu thập sô liệu là sử dụng bộ vi
điều khiến đóng vai trò là bộ xử lý truns tâm, điều khiển toàn bộ hoạt độn« của hệ
9
Nghiên cứu ÍOIIỊ (lụng vi (Hèn khiên P IC ironíỊ (lo lường & điều khiển
thốnụ, máy tính (nếu có) chỉ được dùng như là một phương tiện trợ giúp đé việc giao
tiếp ciữa ncười sử dụnc và hệ thống thêm linh hoại dễ dàng hơn.
Theo xu hướng áp dụng các vi điều khiển để thiết kế các hệ thống đo lường
diều khiến tự động, tronc khuôn khổ bàn luận vãn này tôi tập trung nghiên cứu, áp
dụng vi điều khiển P1C16F8XX của hãng MICR OCHIP để thiết kế chế tạo một hệ
thốnẹ thu thập số liệu nhiệt độ đa điểm, độ ẩm, tốc độ gió theo thời gian thực phục
vụ công tác nghiên cứu, giám sát môi trường.
Các mục tiêu được đặt ra trong luận văn này là:

- Hiểu rõ chức năng và làm chủ phương pháp lập trình cho các khối bên
trong của vi điều khiển PIC16F877A 2ổm các cổng vào/ra số, các bộ đếm,
cổng truyền không đổng bộ, khối biến đổi số tương tự ADC
- Xây dựng sơ đồ khối tổng thể cho hệ thống.
- Lựa chọn các vi mạch phụ trợ thích hựp như đồng hồ thời gian thực, bộ
nhớ EEPRO M , niôđun hiển thị LCD và ghép nối chúng với vi điều khiển.
- Lựa chọn và ghép nối các cảm biến đo nhiệt độ, độ ẩm, đo tốc độ gió với
hệ thống thu thập số liệu.
- Thiết kế, lắp ráp phần cứng, viết phần mềm điều khiển hệ thống.
- Nùng cao khả năng ứng dụng của hệ thống bằng việc đưa ra khả năng truy
nhập vào hệ thống từ xa thông qua môđem .
Níioài ra để hoàn thành việc chế tạo, lắp ráp, thử nghiệm hệ thống, tác giả
còn phải xây dựng các công cụ hỗ trợ như bộ nạp chương trình, chế tạo dụng cụ đo
vận tốc gió, thiết k ế các bản mạch in, lựa chọn bộ ch ươn 2, trình dịch phục vụ việc
lập trình cho vi điều khiển.
Tác giả xin bày tô lòne biết ơn sâu sắc đêu giáo viên hướng dẩn: Tiến sỹ Ngô
Diên Tập, giáng viên Khoa Công nghệ - Đại học Quốc gia Hà nội, người đã tận tình
hướng dẫn và đưa ra các nhận xét vô cùng quí báu trong quá trình tlụrc hiện luận
vãn. Tác íỉiả cũng chân thành cảm ơn Ban lãnh đạo và các bạn đổng nghiệp trong
Công ty Liên Doanh Thiết bị Viễn thôns ANSV nơi tác giả đang công tác đã tạo
điều kiện dể hoàn thành bản luận văn này.
10
Nghiên cứu ứng dụng vi diều khiển P IC trong đo lường á điêu khiển
C hư ơ ng 1 T Ổ N G QUAN VỂ VI D IE U K H IR N
1.1 T ổN G QUAN VỂ VI MẠCH VI ĐíỂU KHIỂN
ỉ ỉiện nay việc thiết kế và chế tạo ra các bộ vi xử lý phát triển theo hai hướng
chính. Hưứng thứ nhất là thiết kế các bộ vi xử lý m ạnh tốc độ cao - thực hiện hàng ti
lệnh mỗi giây, độ dài từ dữ liệu lớn 32 hoặc 64 bit, truy nhập khôn2 gian bộ nhớ đến
hànc trăm Mbyte. Các bộ xử lý này được dùns trong nliữna hệ thống cần có công
suất tính toán cao như ờ máy tính cá nhân, các hệ điều khiển trong công nghiệp.

Hướng thứ hai là thiết kế, chế tạo các vi điều khiển (microcontroller), đó là một vi
mạch dơn bén trong chứa một bộ vi xử lý 8-16 bit xử lý vài triệu lệnh/giây và các
khối: bộ nhớ, bộ đếm, bộ biến đổi tương tự số, bộ so sánh, các cổng truyền thông
Nói cách khác, đó chính là một hệ thốns m áy tính (computer và microcomputer)
tronc một vi mạch. Các bộ vi điểu khiển điển hình là Motorola 68HC11, Intel 8051,
Microchip PIC, ATMEL AVR, V. V
Nhân tố chính để thúc đẩy việc nehiên cứu chế tạo các vi mạch vi điều khiển
là tính đa dụng, dễ dàng lập trình và giá thành thấp. Vi diều khiển rất hấp dẫn trong
tlúết kế các hệ thống điều khiển diện tử vì có kích thước nhỏ, chức năng đa dạng, dễ
dàng lích hợp vào trong hệ thống để thực hiện tất cá các chức năng điều khiển.
Vi điểu khiển
CPU
cổng vàoíra
RAM
Giao diện
SPW2C.UART
■ :
J
ROM.EEPROM
Program & Data
Màn hiển thị
- VI điéu Khiển khác
- Cảm biến tưclng lự
Mạch điện tưang tư
Thiết bị sổ
- Máy linh HOST • Oión áp đo lưùng
• Động cơ oc
Ro le
- Bỏ nhó ngoài
Hình 1: Sơ đổ khối của vi điều khiển cấu hình đầy đủ.

I 1
Nghiên cứu ứng dụng vi điều khiển P ỈC trong đo lường & điểu khiển
Bộ vi điểu khiển được dùng rộng rãi trong các thiết bị điện tử: chúng có mật
trong các thiết bị viễn thônẹ, m áy văn phòng, thiết bị uiái trí, đổ điện tử gia dụng và
cá trong đồ chơi cho trẻ em. Các thiết bị đó nói chung đều cần m ột cơ sở điểu khiển
"thông minh", có kha nãng tương tác với neười sử dụnu.
Hình 1 là sơ đồ khối của vi điều khiên có đầy đủ tính năng và các thiết bị bên
nuoài có thể được nối với bộ vi điều khiển.
Các thành phần của vi điều khiển là CPU, R A M , R O M , cổne vào/ra số, giao
diện truyền thông nối tiếp, bộ đếm thời gian, chuyển đối tương tự số A/D và số
tương tự D/A. CPU thực hiện các chỉ thị được lưu tronơ bộ nhớ chương trình ROM
để điều khiển tất cả các thành phần còn lại. R A M được dùng để lưu các thiết lập và
các biến được sử dụng trong chương trình. RO M dùng lưu chương trình và các số
liệu cố định. Bộ nhớ RO M của vi điểu khiển sau khi được nạp trình trở thành phần
sụn (firmware). Bộ nhớ chương trình R O M này có thể là loại R O M mặt nạ ịmasked
RO M ): chương trình dược đưa vào ngay trong quá trình chế tạo vi m ạch, loại OTP
RO M cho phép nạp chương trình một lần, còn loại EPR O M có thể ghi và xoá nhiều
lần, chúng được lập trình bởi na ười thiết kế hệ thống.
Ch ươn ẹ trình cho vi điều khiển là m ột tập các lệnh đã dịch thành mã m áy -
l hườn tỉ được nạp trực tiếp từ m áy rinh vào bộ nhớ RO M bên trong vi điều khiển
thông qua m ột bộ nạp trình. M ột phía bộ nạp trình nhận dữ liệu từ cổnc máy tính,
phía kia đưa dữ liệu vào vi điều khiển qua các chân “nạp trình” của vi mạch, các
chân này lại là các chân vào/ra thông thường sau khi vi điều khiển đã được nạp
chương trình.
Các cổng vào/ra số cho các dữ liệu nhị phân di chuyển vào ra qua các chân
của vi mạch. Các chân này tỉùne để ẹhép nối vi điều khiển với các thiết bị vào/ra số
hay ghép nối với bộ vi điều khiển khác để thực hiện các chức năng khác nhau.
Cổng truyền dữ liệu nối tiếp tạo khả năng giao tiếp của hệ thống với các hệ
thốne khác qua các chuẩn và giao thức bao gồm SPI, I2C, U A RT, CA N
Khối chuyển đổi A/D cho phép vi điều khiển chuyển đổi các mức điện áp

urơnc tự từ lối vào thành số để có thể xử lý số và lưu trữ. Khối D/A tạo cho vi điều
khiến có thể đưa ra mức điện áp tương tự cho các thiết bị không tươns thích điều
khiển số.
Các bộ đếm dùng để tạo ra các nhịp thời gian chính xác hoặc để đếm số
lượn2 xung.
12
N ỉịhiên cứu ứng dụng vi dieu khiển P ÌC trong do lường & điều khiển
1.2 M ỘT SỐ HỌ VI ĐIỀU KHIỂN P H ổ b iế n
Ị.2.1 Microchip P IC Ỉ2ẨXXX, 16Xxxx, 17Xxxx, ISX xxx
- Đóng vò 8 - 18 - 28 - 40 chân, tương ứng với 5 - 13 - 22 - 33 chân vào/ra.
- Dung lượng bộ nhớ ROM chươne trình 512 byte đến 8 kbyte.
- Có 25 byte đến 400 byte RAM.
- Cổ khối u A RT ở các loại cấp trung, cấp cao.
- Có I đến 3 timer 8 hit, 16 bit.
- Bộ A D C 8-10 bit, 6 - 8 kênh vào.
- Có bộ nhớ EEPROM dung lượng 6 4 -5 1 2 byte ở họ Fxxx.
- Khả năng định địa chỉ cho bộ nhớ ngoài trong các họ cấp cao 17Xxxx.
- Tần số xung nhịp từ 4 - 40 MHz.
- Tập lệnh RISC.
- Đa số nạp trình theo kiểu nối tiếp, theo giao thức ICSP.
1.2.2 IN T E L 8051
- Đóng vỏ 40 chân, có 32 chân vào ra.
Dun« lượne bộ nhớ ROM tuỳ theo các phân họ, từ 0 đến 20 kbyte.
- Có 128 byte RA M .
- Có khả năng định địa chi cho 64 kbyte bộ nhớ ngoài.
Có khối UART.
- Có 2 hoặc 3 timer 16 bit.
- Tần số xung nhịp 1 2 -2 4 MHz.
Nạp trình song song ở các phân họ có bộ nhớ chương trình.
1.2.3 A T M E L A VR AT90Sxxxx

- Đ óng vỏ 8 - 20 - 40 chân, tươns ứng với 3 - 1 5 -3 2 chân vào/ra.
- Dung lượng bộ nhớ chương trình 512 byte - 8 kbyte.
- Có 128 byte đến 5 12 byte RAM.
- Có khối U A R T trong m ột số loại cấp cao.
- Có 1 đến 2 tim er 8 hit, một số loại có timer 16 bit.
Bộ ADC 10 bit, 6 - 8 kênh vào.
- Có bộ nhớ EEPR O M dung lượng 64 - 5 12 byte.
13
Nghiên cứu ứng dụng vi diều khiển PỈC trong đo lường & điều khiển
- Tấn số xung nhịp 10 MHz.
- Tập lệnh RISC.
Nạp trinh theo kiểu nối tiếp, theo aiao thức ICSP.
1.2.3 M O TO R O LA 6SH Cxx
- Đóng vỏ PLCC 52, 68 hoặc 82 chân.
- 38 chân vào ra.
- Không có hoặc tối đa 20 kbyte bộ nhớ lệnh.
- Có 1 kbyte bộ nhớ RA M bén trong.
- Có khối LJART.
- 5 bộ timer 16 bit.
- Bộ A P C 8 bit, 6 - 8 kênh vào.
- Có bộ nhớ không phụ thuộc nguồn nuôi E EPR O M 512 byte.
- Khá năng định địa chỉ đến 16 kbyte cho bộ nhớ ngoài.
- Tần số xung nhịp 8 MHz.
- Nạp trình song sonc.
14
Nghiên cứu ứiìiỊ (lụng vi (lien khiển P ỈC trong do lường & diều khiển
Chương 2 VI ĐIỂU KHIỂN MICROCHIP
2.1 LỊCH SỨ PHÁT TRIỂN HỌ VI ĐIỂU KHIỂN m i c r o c h i p p ic
Năm 1965 hãng General Instrument thành lập Ban Vi điện lử nhằm tập trung
nghiên cứu cône nghệ chế tạo bộ nhó' kiểu EPROM và EEPROM , đó là các linh

kiện thu hút nhiều đầu tư của các phòng thí nghiệm bán dần. Trong những năm đầu
thập kỷ 70 General Instrument cũng chế tạo bộ vi xử lý 16 bit CP1600. Bộ xử lý trên
khá tốt nhưng có yếu điểm là khả nãng vào ra không mạrih. Đổ thích ứng bộ xử lý
CP1600 trong các ứng dụng cần có tính năng cao, năm 1975 General Instrument
thiết kê vi m ạch Điều khiển giao tiếp ngoại vi (Peripheral Interface Controller) viết
tắt là PIC, đó là linh kiện hỗ trợ các chức năng vào/ra cho vi xử lý. PIC không cần có
nhiều chức nãne vì chỉ xử lý các công việc vào/ra do đó bộ mã lệnh của nó nhỏ gọn.
Những vi điều khiển PIC đầu tiên có điểm yếu là chế tạo theo công nghệ n-MOS nên
tiêu thụ nhiều năng lượng, bộ nhớ chương trình là loại ROM mặt nạ: ch ươn 2 trình
điều khiển dược “nạp trình” ngay khi chế tạo vi mạch nên chỉ thích hợp cho các
khách hàng đặt m ua với số lượng lớn, để lắp ráp trong sản xuất những sản phẩm
thương mại cụ thể.
Nhừng năm đẩu thập kỷ 80 General Instrument gặp khó khăn trong thương
mại và phái tổ chức lại. Hãng tập trung vào chế tạo các linh kiện bán dẫn cônẹ suất
lớn - là thế mạnh cho tới hiện nay của hãng- General Instrument đã chuyển nhượng
Ban vi điện tử và nhà m áy tại Chandle, ban« Arizona cho các nhà đầu tư. Họ lập ra
một cône ty mới, đặt tên là Arizona Microchip Technology, hiện nay là Microchip
Technology Inc.
Chiến lược phát triển của các nhà đầu tư là tập trung vào vi điểu khiển và các
bộ nhớ bán dẫn. Các vi mạch PIC n-MO S dược cải tiến, ch ế tạo dựa trên nén tảng
cốnc nehệ mới CMOS. Các sản phẩm đầu tiên của M icrochip được biết đến và bán
ra với sô lưựng lớn là các vi điều khiển PIC thuộc họ CM O S PIC16C5x. Họ 16C5x
có 2 biến thể với kiểu bộ nhớ ch ươn a trình là OTP và u v E PRO M . Loại OTP có thể
nạp trình một lần dùng cho sán xuất loạt lớn. Loại u v EPROM xóa được bằng tia
cực tím dùne khi phát triển, thử nghiệm phần mềm.
Nam 1983 Microchip là hãng đầu tiên đã tích hợp được bộ nhớ chương trình
kiểu flash EF.PROM vào những vi điều khiển mới, trong đó được biết đến nhiều nhất
là PIC16C84 và PIC16F84. Bộ nhớ ch ươn s trình flash trong PIC đã loại bỏ vai trò
15
N iịhicn cứu ứniỊ dụng vi điểu khiển P ÌC trong do lường & điều khiển

cúa các vi điều khiên xoá bằng tia cực tím, có vỏ bằng gốm đát tiền và các đèn chiếu
tia cực tím.
C ác ưu điểm của vỉ điều khiển PIC
Vi điều khiển M icrochip PIC được nạp trình theo kiểu nối tiếp, sử dụng giao
thức ICSP (In-Circuit Serial Programming) là phương thức nạp trình đồng bộ tuần
tự: các dữ liệu được nạp vào bộ nhớ chương trình thông qua 2 chân vào/ra dược gán
là cổns truy nhập đến bộ nhớ chương trình trong quá trình nạp trình. N hờ có khá
nan« ICSP và bộ nhớ chương trình kiểu flash nên các nhà nghiên cứu phát triển ứng
dụng dùng PIC tiết kiệm được hàng trăm USD so với chi phí m ua các công cụ nạp
trình cho các loại vi diều khiển khác [13]. Việc nạp trình cho flash PIC rất dễ dàng,
với một bộ nạp trình đưn giản - có thể tự lắp ráp - chi phí ít hơn 10 USD. Thời gian
để xoá và chi chương trình vào flash PIC chỉ vài chục giây, so với 15 phút để xoá
ƯV EPR OM PIC bằng đèn tia cực tím.
M icrochip cung cấp rất đầy đủ chi tiết các tài liệu kỹ thuật về tất cả các sản
phẩm vi điều khiển P1C. Hãng còn cung cấp bộ phần m ềm công cụ miễn phí
M PLAB-ID E và được đánh giá là tốt nhất so với các công cụ phát triển tương tự của
các hãng chế tạo vi điều khiển khác trên thế mới. Bên cạnh các tài liệu và sự hỗ trợ
của M icrochip, người m uốn nghiên cứu sử dụnc vi điều khiển PIC còn có thể tìm
trôn hàng trăm trang W eb về mọi chủ đề liên quan đến PIC như hỏi đáp thắc mắc,
các ví dụ áp dụng, các đề tài Có rất nhiều sách viết về PIC, dẫn dắt các độc giả
từng bước tiếp cận các quá trình phát triển những ứng dụng cũng như đưa ra các
chương trình ví dụ. Theo M yke Predko, tác giả cuốn Program ming and Customizing
PICmicro® Microcontrollers, PIC là linh kiện điện tử có được sự hỗ trợ về tài liệu
xếp thứ hai, chi sau m áy tính cá nhân PC và hãng M icrochip cũnẹ đứng thứ hai về số
lượng vi điều khiển bán ra thị trường hàng năm, chỉ sau Motorola [13].
2.2 PHÂN LOẠI CÁC VI ĐlỂU KHIEN m i c r o c h i p p i c
Có 4 họ vi điều khiển PỈC khác nhau, tiêu chuẩn để phân nhóm dựa trên sự
khác nhau về kiến trúc của bộ xử lý bên trone vi điều khiển. Sự nhau về bộ xử lý bao
gổm:
• Số lượn 2 các phần cứng có chức năng đặc biệt.

• Số các thanh ghi có thể truy nhập được.
• C ó/ không có ngắt. Số lưọno các nsắi.
• Số các lệnh tănq cường có thể có.
16
Nghiên cửu ÍÙ
1
Í> dụng vi lỉiéu khiển P IC trong đo lường & (liều khiển
2.2.1 Họ cấp th ấ p (Low-end)
Gồm các ký hiệu l2C5xx, l6C5x, 16C505, 16HV540.
- Độ dài từ lệnh 12 bit.
Bố trí các thanh ghi: có 32 thanh ghi trên một bank, tôi đa 4 bank.
Đặc điếm
- Rất thích hợp trong các ứng dụng giao diện đơn giản với ngoại vi.
- Tốc độ cao, thực hiện được 5 triệu chí thị / giây ở tẩn số xung nhịp 20 MHz.
- Không có các ngắt cứng.
- Chỉ có 1 bộ đếm - timer.
Không có các lối ra tăng cường.
- Bộ nhớ chương trình kiểu OTP hoặc EPROM xoá bằng cực tím.
- Nạp trình song song, trừ PIC12C5XX và PIC16C505 được nạp trình nối tiếp
ICSP.
2.2.2. Họ cấp tru n g ịMid-rangeì
Bao gồm các ký hiệu 12CÓXX, 14C000, 16C55x, 16CÓX, 16C62x, 16F62x,
16C7x, 16C8x, 16F87x và 16C9xx.
- Độ dài từ lệnh 14 bit.
Bố trí các thanh ghi: 128 byte trên một bank, tối đa 4 bank.
Là vi điều khiên vạn năng tính năng mạnh.
Là họ vi điều khiển PIC thông dụng nhất.
- Có rất nhiều biến thê khác nhau, đa dạng về kiểu đóng vỏ: DIP, SSOP.
PLCC
Đặc điểm

- Tốc độ cao, thực hiện được 5 triệu chí thị / giây ở xung nhịp 20 M Hz.
- Có các ngắt phần cứng.
- Có từ 1 đến 3 bộ đếm - timer.
- Có rất nhiều khiếu khác nhau về chân vào/ra tăng cưừng bao gồm các lối
vào/ra tương tự, bộ điều khiển màn hình LCD, giao diện truyền thông nối
tiếp: đồng bộ, không đồng bộ, I2C, MicroWire, SPI, C A N, USB
- Bộ nhớ chương trình flash ở hầu hết các vi mạch.
Khả năng nạp trình nối tiếp ICSP.
- Có kha năng tự ghi vào bộ nhớ chương trình (self-programming).
1
\|-L0
Nghiên cứu ứng dụng vi (íiền khiển PỈC trong (ỉo lường & diều khiển
- Có phần cứng gỡ rỏi chương trình ICD ứ một sô loại.
2.2.3 Họ cấp cao (High - end) 17Cxxx
Bao com các vi mạch ký hiệu l7Cxxx.
- Độ dài từ lệnh 16 bit.
Bô trí các thanh ghi: 224 byte trên một bank, tối đa 8 bank, 48 thanh ghi
chức nãng đặc biệt.
Đặc điểm
- Vi điều khiển giao tiếp bus, truy nhập các thiết bị song song trực tiếp.
- Tốc độ xung nhịp 33 MHz.
- Có 3 véc tơ ngắt cứng.
- Có 3 bộ đếm - timer 16 bit.
- Kiến trúc khác so với các họ PIC cấp trung, cấp thấp.
- Cỏ các lệnh tăng cường và nhiều khả năng định địa chỉ.
- Có một vài lối vào/ra tăng cường.
- Bộ nhớ chương trình OTP.
- Nạp trình kiểu song song.
2.2.4 Họ cáp ca« (High- Peformance) 18Cxxx 18Fxx2
- Độ dài từ lệnh 16 bit.

Bố trí các thanh ghi: 256 byte trên một bank, tối đa 16 bank.
Đặc điểm
- Kiến trúc nâng cao, dựa trên nền tảng của họ cấp trung, xu hướng tương lai
sẽ thay thế cho họ PIC cấp trung, do tính tươne thích và khai thác được các
tính năng mới.
- Có khả năng truy nhập tới 2 Mbvte bộ nhớ chương trình, 4 kbyte bộ nhớ
RAM.
- Có các lệnh tăng cường và nhiều khả năn2 định địa chi.
- Véc tơ ngát dơn, có thổ lập trình dược mức độ ưu tiên các nguổn ngắt.
- Kha nàn» vào/ra tương tự như các PIC họ cấp trung.
- Hoạt động ở tần số tối đa 40 MHz, sử dụng bộ dao động thạch anh 10 MHz
và bộ nhân tẩn số PLL.
- Có bộ nhớ chương trình kiểu flash cho tất cả các loại.
- Nạp trình nối tiếp ICSP, có khả năng tự chi vào bộ nhớ chương trình.
18
Nạhicn cửu ứng dụng vi diều khiển PỈC trong đo lường cỉicu khiên
2.2.5 róm lược các ho vi điều khiên Microchip PIC
Iỉảng I : Tóm lược các họ vi điểu khiển PIC.
Ký hiệu
Kiến trúc
Đặc điếm
Ung dụng
I2C5XX
Cấp lliấp Bộ lạo nhịp trong / Reset
Chức nàng giao tiếp đơn
giản
12CÓXX
Cấp trung
ADC / bộ tạo nhịp trong / Reset / bộ
nhớ Data EERPOM

Chức năng giao tiếp đom
giản
14C000
Cấp í rung ADC / Vref
Bộ điểu khiển nauồn điện
16C5x
Cấp thấp
Bộ nhớ OTP. nạp trình song sons
Các ứng dụng cơ bản
16C505 Cấp thấp Bộ nhớ OTP
Các ứng dụng cơ bàn
16HV540
Cấp thấp
Có ổn áp bên trong, điện áp làm việc
cao
Các ứng dụng cơ bản
I6C55X
Cấp trung
Bộ nhớ OTP
Các ứng dụng cơ bán
16C6x
Cấp trung
Bộ nhớ OTP
Các ứng dụng điều khiển
digital
16C62X
Cấp trung
Có bộ so sánh điộn áp
Giám sát các đại lượng điện
tương tự

16F62x
Cấp trung Có bộ so sánh điện áp / bộ nhớ flash
Giám sát các đại lượng điện
tương tự
16C7x Cap trung ADC
Giao tiếp với các đại lượng
điện tương tự
16x8x
Cấp trung
Bô nhớ flash / bỏ nhớ Data
EERPOM
Phát triển ứng dụng
16F87x Cấp trung
A DC / bô nhớ flash / bộ nhớ Data
EERPOM
Giao tiếp với các đại lượng
điện tương tự / phát iriến
ứng dụng
16C9XX
Cấp trung
A DC / I2C, OTP
Giao liếp với các đại lượng
(tiện tương tự
17Cxx Cấp cao
Truy nhập dược bộ nhớ ngoài
Các ứng dụng tiên liến
18Cxxx
Cấp cao
ISCxx
. . ,,,, , . , , Các ứng dung giao liếp các

A IX / I2C, bô nhớ OTP , . , ‘° ■ c c . 1 '
dại lượng tương tự /sô
1 .
19
Nghiên cứu ứ/ìíỊ dụng vi (liều khiển P IC trong đo lường & đ iêu k hiể n
2.3 LỰA CHỌN LOẠI VI ĐlỂU KHIỂN đ ể n g h iê n c ứ u ÚN (ỉ DỤNí;
Tronu khuôn khổ bản luận văn này vi điều khiển PIC16F877A được lựa chọn
nghiên cứu ứng dụng do có các ưu điếm sau:
- Là vi điều khiển flash PIC thuộc họ cấp trung. Bộ nhớ chương trình dung
lượng 8 kbyte đú lưu chương trình ứng dụng tương đối phức tạp.
- Đóng trong vỏ DIP 40 chân, có 5 cổng A-B-C-D-E với tổng số 33 lối vào/ra.
Số lượng cổng vào ra nhiều nên ẹhép nối được với nhiều thiết bị ngoại vi như
các cảm biến với lối ra số, nút bấm điều khiển, vi mạch đồng hổ thời gian
thực, bộ nhớ ngoài, môđun hiển thị tinh thể lỏng LCD
- Có 3 bộ timer dùng để định thời gian và đếm xung trong các ứng dụns đếm
số lượng và đo tần số xung.
- Có khôi biến đổi tưưng tự - số 8 kênh, độ phân giải 10 bit, thích hợp cho các
ứng dụng cần do tín hiệu điện áp tương tự nhiều kênh.
- Có khối UART để uhép nối với thiết bị truyền thông, điều khiển như môđem,
máy tính theo chuẩn giao tiếp RS-232.
- Có khối điều khiển giao thức bus I2C để ghép nối với bộ nhớ EEPROM
chuẩn I2C.
- Giá không quá cao, chi 5,76 USD/ vi mạch.
20
Nghiên cứu ứnạ (lụng vi (licit khiên PIC trung đu lường ổ i diều khiển
Chương 3 CẢU TRÚC VI ĐIẼU KHIÊN PIC 16F877A
3.1 MÔ TẢ KHÁI QUÁ I VẾ TÍNH NĂNG CỦA VI ĐlỀU KHIỂN PIC 16F877A
• Hộ xử lý trung tám CPU RISC
Tập lệnh chỉ gồm 35 lệnh RISC.
Các lệnh thực hiện trong I chu kỳ máy, trừ các lệnh rẽ nhánh chiếm 2 chu kỳ.

Tốc độ hoạt động: tần số xung nhịp từ 0 Hz đến 20 MHz nhờ thiết kế hoàn toàn
tĩnh.
Bộ nhớ chương trình 8 k X 14 bit.
Bộ nhớ dữ liệu RAM 368 X 8 bit.
Bộ nhớ dữ liệu EEPROM 256
X 8 bit.
• Các thiết bị ngoại vi giao tiếp số (digital)
TimẹrO: Bộ đếm/timer 8 bit, có bộ chia trước 8 bit.
Timer 1: Bộ đếm 16 bit, có bộ chia trước hệ số 1, 4, 16. Đếm xung được trong trạng
thái SLEEP với xung nhịp đưa từ bên ngoài.
Timer2: Bộ đếm /timer 8 bit có chia trước, chia sau.
Hai khối Compare/Capture/PWM thực hiện chức năng so sánh/bắt giữ số xung và
điều chế độ rộng xung.
Cổng nối tiếp đổng bộ theo chuẩn giao thức SPI và I2C.
Bộ thu/phát đổng không đồng bộ vạn năng UART có phần cứng phân biệt địa chỉ.
Cổng son« song PSP 8 bít có chân điều khiển RD, WR, cs.
Cớ mạch phát hiện sự giảm điện áp nguồn, chức năng BOR.
• Khả năng giao tiếp với tín hiệu tương tự (analog)
Bộ biến đổi tương tự/số 10 bit, 8 kênh.
Khôi so sánh tương lự có dặc tính:
- Gồm 2 bộ so sánh tương tự.
- Khối tạo điện áp chuẩn bên trong lập trình được.
- Lối ra của bộ so sánh có thể truy nhập từ bên ngoài.
• Các đặc tính riêng
Đảm bảo 100.000 lần «hi/xoá vào bộ nhớ ch ươn 2 trình flash.
Đảm bảo 1.000.000 lần uhi/xoá vào bộ nhớ dữ liệu EEPROM.
21
Nghiên cứu ứng (lụng vi cỉiềit khiển PIC trong đo lường & (tiều khiển
Bó nhớ dữ liệu kiểu EEPROM lưu được dữ liệu trên 40 năm.
Tự nạp trình dưới sự điều khiển của phần mềm bootstrap qua giao diện nối tiếp.

Nạp trình nối tiếp ICSP.
Điện áp nạp trình 5 V ở chê độ LVP.
Bộ đếm giám sát Watchdog có mạch tạo nhịp RC bên trong, độc lập.
Có cơ chế khoá chống sao chép chương trình.
Chế độ SLEEP tiết kiệm năng lượng.
Nhiều lựa chọn về bộ dao động tạo nhịp RC, LP, XT, HS.
Chức năne eỡ rối chương trình ICD qua 2 chân.
Chế tạo bằng công nghệ CMOS, tiêu thụ ít năng lượng, tốc độ cao.
3.2 SO ĐỔ KHỐI CHÚC NÂNG VÀ CÁC CHÂN VÀO RA
Vi điều khiển PIC có kiến trúc Harvard, trona đó CPU truy nhập chương trình
và dữ liệu được trên 2 bus riêng biệt, nên làm tăng đáng kể bãng thông so với kiến
trúc kiểu Von Neumann trong đó CPU truy nhập chương trình và dữ liệu trên cùng
một bus.
Việc tách riêng bộ nhớ chương trình và bộ nhớ dữ liệ u cho phép sô bit của từ
lệnh có thể khác với số bit của từ dữ liệu, ở PIC 16F877A, từ lệnh dài 14 bit, từ dữ
liệu 8 bit.
PIC 16F877A chứa một bộ ALU 8 bit và thanh ghi làm việc WR (Working
Register). ALAJ là đơn vị tính toán số học và logic, nó thực hiện các phép tính số học
và đại số Boole trên thanh ghi làm việc WR và các thanh ghi dữ liệu. ALU có thể
thực hiện các phép cộne, trừ, dịch bít và các phép toán logic.
Vi điều khiển PIC 16F877A được dons trong vỏ nhựa hai hàng 40 chân DIP.
việc bố trí các lối ra mồ tả trong hình 2.
PDIP (40 pin)
1 } 40
~1 - ■ ■ 0R7/Pr5n
iflULIvVt 1 l_,
RA0/AN0 -—- c
7 39
_J nu/iruu
J ■*— RB6.*PGC

RAI.'AN 1 •—«- C 3 38
5 • RB5
RA^/AIW.Vaf’e-fCVREP -t a [■
4 37
-J ^
RA3/AN3/VREF* -—► C
5 36
□ RĐ3/PGM
RA4/T0CKI/C1QUT
J M Rft?
fiAr«/ANM.'«ĩ5jT?ni JT
_
(
V ^3
Ị <í 34
3 * * Rữt
RFO'RD-'ANS •+ *■ c
8 33
-)-*
_
to- MHO/iNt
RE1/WRMN6
9 2 32 D

Vdo
RÊ2/CS/AN7 «—
10 5 31 D *— Vss
Vnc'.
__
«. Q

11 Ịĩ 30
1 ■ ■ Rn7i'PcĨP7
Vss
__
c
n CO 00
^ ” nui'r or /
OSC1/CLKIN
__
•• Ẽ
u_
13 CO 23
_J r%uvi r Oỉ ụ
„ RD5/PSPS
0SC 2/CLK 0ur «
__
C
14 rr
J RD4/PSP4
RCOTlOSO/TtCKI C
™ u
15 £ 26
5—- RC?/RX>'DT
KCVMOSI/CCP2 C
16 °- 25
5 —- RC6 7X/CK
RC2/CCP1 C
17 24
5 ► RCWSOO
RC3/SCK/SCI ■«

_
►C 18 23
J
_
». RC4/SOt’SOA
ROO.P5PO —
_
_
£
"í — r RD3/PSP3
ROlíPSPl 20 21 5 R02PSP2
Hình 2: Bò trí chân PIC I6F877A.
22
NiỊỈiiân cứu ứng dụng vi diều khiển PÌC trong đo lường & điều khiển
13
Program Counter !<]:
PORTA
RAO/ANO
RA1/AN1
RA2/AN2A/REF-/CVR£é
RA3'AN3A/REF*
RA4.T0CKÎ/C1OUT
RA5/AN4/SS/C20UT
RC0/T1OSO/T1CKỈ
Rcimosí/ccP2
RC2/CCP1
RC3/SCK/SCL
RC4/SDI/SDA
RC5VSDO
RC6^TX7CK

RC7/RX/DT
Data EEPROM
CCP1.2
Synchronous
Serial Port
USART
Comparator
Voltage
Rcíercnco
Hìnli 3: Sơ đồ khối chức năng của PIC 16F877A.
Hình 3 là sư dồ khối chức năng của vi điều khiển PIC 16F877A.
Báng 2 mò tả chức năng của các chân vào ra của vi điều khiển. Ớ PIC 16F877A
đa số các chùn vào ra được sử dụng cho nhiều chức năng, ví dụ các chân của cổng A
là cổng vào ra số và là các lối vào cho điện áp tương tự của khối biến đổi ADC hay
khối so sánh tương tự (Comparator).
Các chức năng cụ thể cho từng chân vào ra được xác lập khi lập trình qua việc
điều khiển các thanh ghi chức năng thuộc các khối liên quan đến chân này.
23
NíỊhién cửu ứiiíi dụniỊ vi diêu klìicn PIC trong đo lường & điều khiên
Bảng 2: Mô tá chức nâng các chân cùa PIC 16F877A.
Tén
Chân
Loại
Mô tá chức năng
0SC1/CLK1 13
I Dao động linh thể hoặc lối vào dao động ngoài
OSC2/CLKO
14
0 Dao động tinh thể hoặc lối ra xung nhịp
MCLR/Vpp

1
I/P
Lối vào Reset. Lối vào diện áp nạp trình Vpp
RAO/ANO
2
I/O Vào/ra số. Lối vào analog 0
R A I/AN I
3 I/O
Vào/ra số. Lối vào analog 1
RA2/AN2/V-Rcff/CVRcf
4
I/O
Vào/ra số. Lối vào analog 2. Lôi vào điện áp chuẩn
V-ref của ADC. Lối ra Vrcf so sánh
RA 3/AN 3/V +Ref 5
I/O
Vào/ra số. Lối vào analog 3. Lối vào điện áp chuẩn
v+ ref cùa A DC.
RA4/TOCK1/C1 OUT
6 I/O
Vào/ra số cực máng ngó. Lối vào xung ngoài cho
TimerO. Lối ra bộ so sánh 1
RA.VSS/AN4/C20UT
7 I/O
Vào/ra số. Lối vào chọn SP1. Lói vào analog 4. Lối
ra bộ so sánh 2
RBO/INT
33 I/O
Vào/ra số. Lối vào ngái ngoài.
RBI

34 I/O Vào/ra số
RB2 35
I/O Vào/ra số
RB3/PGM 36 I/O
Vào/ra số. Nạp trình LVP
RB4
37
I/O Vào/ra số
RB5
38
I/O
Vào/ra số
R B6
39
I/O
V à o /ra số. Xu nu nhịp nạp trình ICSP
RB7 40
I/O
Vào/ra số. Dữ liệu nạp trình ICSP
RCO/T1OSO/T1CK1
15 I/O
Vào/ra số. Tạo dao động tim erl. Xung nhịp ngoài
cho timer 1
RC1/T10SI/CCP2
16 I/O
Vào/ra số. Tạo dao động timer 1. Lối vào Capturc2.
Lối ra Compare2. Lôi ra PWM2
RC2/CCP1
17
I/O

Vào/ra số. Lối vào Capture 1. Lối ra Compare!. Lối
ra PW M 1
RC3/SCK/SCL
18
I/O
Vào/ra số . Nhịp đồng bộ cho SPI VÌ1 12C
RC4/SDI/SDA
23
i/o
Vào/ra số. Vào dừ liệu SP1. Vào/ra dữ liệu I2C
RCS/SDO
24
I/O
Vào/ra sô Ra dữ liệu SPI
RC6/TX/CK
25
I/O
Vào/ra sô. cổng truyền không đổng bộ. Xung nhịp
truyền đồng bộ
2 4
Nghiên cửu ứng (ỉiiníỊ vi (tiêu khiển PIC trong đo lường & diêu khiển
Tên
Chân
Loại Mó tá chức nâng
RC7/R X/D T
26 I/O Vào/ra số. cổng nhận khổng đổng hộ. Dữ liệu đồng
bộ
RDO
19
I/O

Vào/ra số. cổng song song tớ
RD I
20
I/O
Vào/ra số. cổng song song tớ
RD2
21
I/o Vào/ra số. cổng song song tớ
RD3
22 I/o Vào/ra số, cổng song song tớ
RD4 27 I/o Vào/ra số. cổng song song tớ
RD5
28
I/o
Vào/ra số. cổng song song tớ
RD6
29
I/o
Vào/ra số. cổng song song tớ
RD7 30
I/o Vào/ra số. cổng song song tớ
REO/RD/AN5 7
I/o Vào/ra số. Điều khiển RD cổng song song
RHI/VVR/AN6
8
I/o
Vào/ra số. Điều khiển W R cổng song song
RE2/CS/AN7 9 I/o Vào/ra số. Điều khiển c s cổng song song
Vss
12,31 p

Đất chung cho lối vào/ra số và analog
Vdđ
11,32
p Cấp nguồn dương
CALL. RETURN
RKTPỈk*. P.ÏTLW
0 't’Ctop
Prcỵyam
Slrt<:k I nvnlA
3.3 TỔ CHỨC lỉộ NHỚ VÀ CÁC THANH GHI CHỨC NĂNG ĐẶC BIỆT
Có 3 loại bộ nhớ trong vi điều khiển
16F877A: bộ nhớ chương trình, bộ nhớ dữ liệu
RAM và bộ nhớ dữ liệu EEPROM. Bộ nhớ chương
trinh và bộ nhớ dữ liệu có 2 bus riêng nên có thể
truv nhập dồng thời.
3.3.1 Bộ nhớ chương trình flash
Vi điều khiến PIC16F877A có bộ nhớ
chương trình kiểu flash đun« lượne 8 k X 14 bit,
chia làm 4 bank. Thanh ghi của bộ đếm chương
trình PC (Program Counter) 13 bit, đủ định địa chí
cho 8 k không gian bộ nhớ. Khi khởi động, bộ đếm
ch ươn 2 trinh bắt đầu từ địa chỉ OOOOh, vectơ ngắt
có địa chi 0004h.
Bộ nhớ dữ liệu flash được ghi vào trong khi
IntKmipt V«xỉor
Po<>c2
oooo.s
<5=
00ò4h
OOOSh

07FFM
0800h
OWFh
lOOOh
17FPÎI
Ilìnli 4: Tổ chức hộ nhớ.
25

×