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

Chuyên Đề Tốt Nghiệp Kiểm Soát Nhiệt Độ Bể Ươm Thủy Sản

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 (2.45 MB, 50 trang )

Chuyên đề tốt nghiệp: Kiểm soát nhiệt độ bể ươm thủy sản

SVTT: Phạm Đức Dương

TRƯỜNG ĐẠI HỌC NHA TRANG

Chuyên đề:

KIỂM SOÁT NHIỆT ĐỘ BỂ
ƯƠM THỦY SẢN
GVHD:Nhữ Khải Hoàn
SVTT: Phạm Đức Dương
MSSV: 50130270
Lớp: 50DDT

Nha Trang, tháng 06 năm 2015

LỜI MỞ ĐẦU
Trang 1


Chuyên đề tốt nghiệp: Kiểm soát nhiệt độ bể ươm thủy sản

SVTT: Phạm Đức Dương

Hiện nay, ngành kỹ thuật điện- điện tử tiến bộ,phát triển không ngừng và được ứng
dụng trong tất cả các mặt của đời sống. Đặc biệt các thiết bị điện tử được sử dụng rộng rãi
khắp trong các ứng dụng về điều khiển ,đo lường và tự động hóa….. Một trong những ứng
dụng quan trọng đó là sử dụng Vi Điều Khiển để đo lường và điều khiển. Kết hợp với các
loại cảm biến, ứng dụng của đo lường bằng Vi Điều Khiển không chỉ giới hạn trong các đại
lượng điện mà còn mở rộng ra các tín hiệu không phải điện. Sử dụng Vi Điều Khiển chúng


ta thu thập các đại lượng cần đo dễ dàng hơn, có thể xử lý ngay các đại lượng đó và đưa ra
những kết quả và thực hiện những nhiệm vụ như mong muốn.
Được sự quan tâm hướng dẫn của thầy Nhữ Khải Hoàn tạo điều kiện cho em làm đề
tài này .Do em đã xa trường khá lâu và kiến thức chuyên không còn nhiều nên rong quá
trình làm chuyên đề tốt nghiệp này còn sơ sài và không áp dụng được nhiều kiến thức
chuyên môn mà các thầy cô đã từng hướng dẫn và do sự hạn chế về thời gian, tài liệu và
trình độ có hạn nên em không thể đào sâu nghiên cứu để chuyên đề được sâu sắc và đậm
chất chuyên môn. Em rất mong sự thông cảm và đóng góp ý kiến của thầy để chuyên đề tốt
nghiệp của em được hoàn thiện hơn.
Em xin gửi lời cảm ơn đến các thầy cô trong Khoa Điện-Điện tử, đặc biệt là thầy Nhữ
Khải Hoàn đã giúp đỡ em hoàn thành chuyên đề.

MỤC LỤC
1.
1.1.
1.2.
1.3.
1.4.

Tầm quan trọng
Gía trị ngành thủy sản
Tầm quan trọng của vấn đề kiểm soát nhiệt độ
Ảnh hưởng của nhiệt độ đối với thủy sản
Ngưỡng nhiệt độ của thủy sản
Trang 2

5
5
5
6

6


Chuyên đề tốt nghiệp: Kiểm soát nhiệt độ bể ươm thủy sản

SVTT: Phạm Đức Dương

2.
Thiết kế hệ thống chung
2.1. Thiết kế môi trường kho chứa bể ươm để có môi trường nhiệt độ phù hợp
2.2.. Thiết kế hệ thống quản lý nhiệt độ bể ươm thủy sản
2.2.2. Thu thập nhiệt độ
2.2.3. Xử lý dữ liệu và điều khiển
2.2.4. Hệ thống ổn định nhiệt độ
2.2.4.1.
Làm nóng
2.2.4.2.
Làm lạnh
2.2.5. Truyền nhận dữ liệu, xử lý trên máy tính
3.
Thiết kế hệ thống quản lý, ổn định nhiệt độ
3.1. Tổng quan về hệ thống
3.2. Thực hiện hệ thống
3.2.1. Cảm biến nhiệt độ sử dụng NTC
3.2.1.1.
Nguyên lý
3.2.1.2.
Đặc tính và ứng dụng
3.2.2. Vi xử lý và điều khiển PIC 16F877
3.2.2.1.

Đặc điểm
3.2.2.2.
Chức năng các chân
3.2.2.3.
Tổ chức bộ nhớ
3.2.2.4.
Cổng ra vào
3.2.2.5.
Các bộ Timer của chip
3.2.2.6.
Bộ chuyển đổi tương tự sang số
3.2.2.7.
Các ngắt của PIC16F877
3.2.3. Module LCD QC1602a
3.2.3.1.
Giới thiệu về LCD
3.2.3.2.
Cơ chế hoạt động và điều khiển hiển thị trên LCD
3.2.4. Hệ thống công tắc tơ, role
3.2.4.1.
Khái niệm
3.2.4.2.
Nguyên lý hoạt động
3.2.4.3.
Các thông số chủ yếu của công tắc tơ
3.2.4.4.
Ứng dụng của công tắc tơ
3.2.5. Hệ thống làm nóng – lạnh
3.2.6. Truyền nhận dữ liệu – Giao tiếp với máy tính sử dụng UART của VDK
3.3. Hệ thống thực

3.3.1. Thiết kế bo mạch
3.3.1.1.
Bộ ổn áp tạo áo 5v chuẩn để cấp cho toàn bộ mạch
3.3.1.2.
VXL và LCD
3.3.1.3.
Mạch phân áp dựa vào cảm biến nhiệt độ môi trường
3.3.1.4.
Hệ thống công tắc, nút nhấn điều khiển
3.3.1.5.
Hệ thống công tắc tơ, role điều khiển làm nóng, lạnh
3.3.1.6.
Giao tiếp với máy tính
3.3.2. Viết chương trình
Trang 3

7
7
7
7
8
8
8
8
9
11
11
11
11
13

14
14
15
15
18
21
24
26
27
27
27
28
29
29
30
31
32
32
33
36
36
36
37
37
38
39
40
42



Chuyên đề tốt nghiệp: Kiểm soát nhiệt độ bể ươm thủy sản

3.3.2.1.
3.3.2.2.

Viết chương trình cho VXL PIC16F877
Viết chương trình cho phần mềm trên máy tính

1. Tầm quan trọng
1.1.
Giá trị ngành thủy sản

Trang 4

SVTT: Phạm Đức Dương

42
47


Chuyên đề tốt nghiệp: Kiểm soát nhiệt độ bể ươm thủy sản

SVTT: Phạm Đức Dương

Theo Tạp chí Cộng sản điện tử, tổng sản phẩm trong nước (GDP) năm 2014 ước tính
tăng 5,98% so với năm 2013, trong đó quý I tăng 5,06%; quý II tăng 5,34%; quý III tăng
6,07%; quý IV tăng 6,96%. Mức tăng trưởng năm nay cao hơn mức tăng 5,25% của năm
2012 và mức tăng 5,42% của năm 2013 cho thấy dấu hiệu tích cực của nền kinh tế. Trong
mức tăng 5,98% của toàn nền kinh tế, khu vực nông, lâm nghiệp và thủy sản tăng 3,49%,
cao hơn mức 2,64% của năm 2013, đóng góp 0,61 điểm phần trăm vào mức tăng chung; khu

vực công nghiệp và xây dựng tăng 7,14%, cao hơn nhiều mức tăng 5,43% của năm trước,
đóng góp 2,75 điểm phần trăm; khu vực dịch vụ tăng 5,96%, đóng góp 2,62 điểm phần
trăm.
Trong khu vực nông, lâm nghiệp và thủy sản, ngành nông nghiệp mặc dù tăng thấp ở
mức 2,60% nhưng quy mô trong khu vực lớn nhất (Khoảng 74%) nên đóng góp 0,35 điểm
phần trăm. Trong khu vực công nghiệp và xây dựng, ngành công nghiệp tăng 7,15% so với
năm trước, trong đó công nghiệp chế biến, chế tạo có chuyển biến khá tích cực với mức tăng
cao là 8,45%, cao hơn nhiều so với mức tăng của một số năm trước (Năm 2012 tăng 5,80%;
năm 2013 tăng 7,44%), đóng góp đáng kể vào tốc độ tăng của khu vực II và góp phần quan
trọng vào mức tăng trưởng chung. Trong khu vực dịch vụ, đóng góp của một số ngành có tỷ
trọng lớn vào mức tăng trưởng chung như sau: Bán buôn và bán lẻ chiếm tỷ trọng lớn nhất,
đạt mức tăng 6,62% so với năm 2013, đóng góp 0,91 điểm phần trăm; hoạt động tài chính,
ngân hàng và bảo hiểm tăng 5,88%; hoạt động kinh doanh bất động sản được cải thiện hơn
với mức tăng 2,85%, cao hơn mức tăng 2,17% của năm trước.
Về cơ cấu nền kinh tế, khu vực nông, lâm nghiệp và thủy sản chiếm tỷ trọng 18,12%;
khu vực công nghiệp và xây dựng chiếm 38,50%; khu vực dịch vụ chiếm 43,38% (Cơ cấu
tương ứng của năm 2013 là: 18,38%; 38,31%; 43,31%).
Sản lượng thuỷ sản năm 2014 ước tính đạt 6332,5 nghìn tấn, tăng 5,2% so với năm
trước, trong đó cá đạt 4571 nghìn tấn, tăng 4,5%; tôm đạt 790,5 nghìn tấn, tăng 9,3%. Sản
lượng thuỷ sản nuôi trồng cả năm ước tính đạt 3413,3 nghìn tấn, tăng 6,1% so với năm
trước, trong đó cá 2449,1 nghìn tấn, tăng 4,1%; tôm 631,5 nghìn tấn, tăng 12,7%. Sản lượng
tôm nuôi tăng mạnh chủ yếu do tôm thẻ chân trắng tăng cao, đạt 349 nghìn tấn, tăng 36,3%
so với năm trước. Sản lượng thủy sản khai thác năm nay ước tính đạt 2919,2 nghìn tấn, tăng
4,1% so với năm trước, trong đó khai thác biển đạt 2711,1 nghìn tấn, tăng 4%.
Theo Tổng cục Thống kê, ước tính giá trị sản xuất thủy sản năm 2014 (tính theo giá
so sánh 2010) ước đạt gần 188 nghìn tỷ đồng, tăng 6,5% so với cùng kỳ năm ngoái. Trong
đó, giá trị nuôi trồng thủy sản ước đạt hơn 115 nghìn tỷ đồng và giá trị khai thác thủy sản
ước đạt hơn 73 nghìn tỷ đồng.
Trang 5



Chuyên đề tốt nghiệp: Kiểm soát nhiệt độ bể ươm thủy sản

SVTT: Phạm Đức Dương

Có thể thấy ngành thủy sản chiếm một phần không nhỏ trong nền kinh tế Việt Nam.
1.2.

Tầm quan trọng của vấn đề kiểm soát nhiệt độ

Ngoài các điều kiện về nồng độ oxi,photpho,ph,mức độ ô nhiễm,vi khuẩn…..thì nhiệt độ
cũng là 1 trong những điều kiện quan trọng cho thủy sản phát triển.
1.2.1 Ảnh hưởng của nhiệt độ đối với thủy sản: Giống như con người cần không khí
trong lành để sống, thủy sản cần môi trường sống có chất lượng tốt để phát triển.
Thủy sản không thể phát triển trong môi trường có nhiều chất độc, thiếu oxy và nhiệt
độ biến động. Vì vậy, duy trì chất lượng nước là rất cần thiết để nuôi thủy sản thành
công.
1.2.2. Ngưỡng nhiệt độ của thủy sản: Cá, tôm là loài biến nhiệt, thân nhiệt thay đổi theo
nhiệt độ môi trường. Nhiệt độ quá nóng hoặc quá lạnh, chúng sẽ ít ăn, chậm lớn.
Nhiệt độ thích hợp cho cá tôm vùng nhiệt đới nằm trong khoảng 25 – 320C, tuy nhiên
cá có thể chịu được nhiệt độ trong khoảng 20 – 350C..Nhiệt độ này tùy vào giống
thủy sản mà ta ương,có khả năng còn tùy vào chu kì phát triển

Trang 6


Chuyên đề tốt nghiệp: Kiểm soát nhiệt độ bể ươm thủy sản

SVTT: Phạm Đức Dương


2. Thiết kế hệ thống chung
2.1. Thiết kế môi trường kho, lán chứa, bể ươm để có môi trường nhiệt độ phù hợp
2.1.1. Kho, lán chứa
Cần quan tâm tới các vấn đề về địa hình, hướng, độ cao vòm mái, độ cao 4 góc để
nhiệt độ thay đổi không ảnh hưởng quá mạnh và nhanh tới các bể.
• Kho, lán cần đảm bảo yêu cầu về chống chịu với nhiệt độ thay đổi.
- Mùa lạnh có thể chống gió lạnh, gió lùa, làm mất nhiệt bể.
- Mùa nóng có thể chống nắng nóng làm nhiệt độ bể tăng quá cao.
• Đảm bảo kho, lán luôn thoáng khí, tạo điều kiện cho hệ thống giữ nhiệt cho bể
luôn hoạt động .
2.1.2. Bể chứa
Kho lán đã được thiết kế để chống lại các thay đổi quá đột ngột của môi trường nên
bể nuôi cũng có sự thay đổi nhiệt độ khá chậm so với nhiệt độ môi trường bên ngoài.
• Vật liệu làm bể không nên dùng các vật liệu có sự trao đổi nhiệt quá nhanh như bể
nhôm, nên dùng bể bê tông, bể kính chịu lực và nhiệt… để nhiệt độ nước ít thay
đổi so với môi trường.
• Hệ thống dẫn lọc, tạo oxi, thay nước: Các quá trình này sẽ làm ảnh hưởng trực
tiếp tới nhiệt độ của bể nuôi.
- Lọc nước, tạo oxi: Hệ thống này có phạm vi chỉ trong bể, làm lưu thông nước,
khuấy nước tạo oxi… qua 2 quá trình này, nhiệt độ của nước sẽ thay đổi nhanh
hơn do trao đổi nhiệt thường xuyên với môi trường ngoài.
- Thay nước: Quá trình này nếu quản lí không tốt sẽ thay đổi hoàn toàn môi
trường sống của thủy sản. Bể chứa nước dự phòng để thay nước cũng nên thết
kế để có môi trường nước, nhiệt độ, các thành phần gần như nước trong bể cá
để khi thay không ảnh hưởng lớn đến mội trường nước trong bể nuôi, quá trình
này nên diễn ra từ từ. Nhiệt độ nước của bể nuôi và bể nước chứa chênh lệch
nhau quá nhiều thì khi thay sẽ làm thay đổi nhiệt độ bể nuôi một cách nhanh
chóng, vậy nên cần có phương án thay nước cho hợp lý.
• Ngoài ra cần các hệ thống quản lý khối tạo vi khuẩn, cân bằng nito, photpho,
pH… để đảm bảo môi trường nước thuận lợi cho thủy sản phát triển.

2.2. Thiết kế hệ thống quản lý nhiệt độ bể ươm thủy sản
2.2.1. Thu thập nhiệt độ
Để có thể quản lý tốt hệ thống nhiệt độ kho, lán chứa, bể chứa, cần có các hệ thống
cảm biến sự thay đổi của môi trường ngoài, môi trường trong kho, lán và môi trường trong
bể để từ đó tổng hợp và có các biện pháp khắc phục, thích ứng kịp thời với các thay đổi đó.
Trang 7


Chuyên đề tốt nghiệp: Kiểm soát nhiệt độ bể ươm thủy sản

SVTT: Phạm Đức Dương

2.2.2. Xử lý dữ liệu và điều khiển
• Tùy theo mục đích nuôi trồng thủy hải sản mà có các chế độ, phương án điều
khiển khác nhau cho phù hợp với môi trường sống của chúng.
• Khối này sẽ có nhiệm vụ tổng hợp, theo dõi những thay đổi của môi trường thông
qua các cảm biến nhiệt độ và hiển thị, báo hiệu nhiệt độ môi trường ngoài, lán,
kho, bể.
• Khi đã thu thập được và biết được sự chênh lênh nhiệt độ, lúc này ta sẽ thay đổi,
điều chỉnh để nhiệt độ đạt ở mức yêu cầu phù hợp với mục đích ươm trồng.
- Điều khiển nhiệt độ yêu cầu bằng tay: Khi được báo thấy các thay đổi môi
trường từ bộ xử lý, người chủ có thể chủ động thực hiện các thao tác làm cân
bằng nhiệt cho kho, lán, bể.
- Điều khiển nhiệt độ tự động: Khi nhận thấy các sự thay đổi nhiệt độ, bộ xử lý
sẽ tự động có các cơ chế, chế độ yêu cầu các thiết bị tham gia vào quá trình
cân bằng nhiệt độ khởi động nhằm đạt được mục đích nhiệt độ mà người chủ
đã cài đặt để phù hợp hướng đối tượng thủy sản.
2.2.3. Hệ thống ổn định nhiệt độ
Tùy từng vùng, từng mùa mà nhiệt độ môi trường khác nhau nên sẽ có các phương án
cân bằng nhiệt khác nhau để phù hợp với điều kiện.

2.2.3.1.

Làm nóng

Mùa đông lạnh, mùa gió lùa, gió lạnh: Nhiệt độ môi trường ngoài xuống thấp. Các
cảm biến nhiệt độ sẽ báo sự thay đổi này về bộ xử lí, bộ xử lí đang ở chế độ tự động thì sẽ có
các phương án để tránh mất nhiệt cho kho, lán, bể .
• Thay đổi cấu trúc hệ thống kho, lán như điều khiển các cửa chắn gió nhằm làm
giảm quá trình trao đổi nhiệt với môi trường ngoài.
• Điều khiển hệ thống làm nóng nước ở bể để bù nhiệt làm cân bằng nhiệt của bể,
có thể sử dụng đèn chiếu sáng sưởi ấm gián tiếp hoặc làm nóng nước trực tiếp
bằng các hệ thống tạo nhiệt dưới nước, điều quan trong trong cách này là phải
đảm bảo nước được luân chuyển liên tục tránh tình trạng nhiệt độ trong bể không
đồng đều và vấn đề cách điện, rò rỉ điện cũng phải được đảm bảo để an toàn cho
thủy sản.
2.2.3.2. Làm lạnh
Mùa hè, nóng: Nhiệt độ môi trường tăng lên quá cao, các cảm biến báo về, bộ xử lí
nhận được thông tin nhiệt độ môi trường vượt qua ngưỡng cho phép thì sẽ bắt đầu chế độ
làm lạnh, mát.
Trang 8


Chuyên đề tốt nghiệp: Kiểm soát nhiệt độ bể ươm thủy sản

SVTT: Phạm Đức Dương

• Tiến hành thay đổi cấu trúc hệ thống kho lán: Điều khiển các cửa thông gió giúp
trong kho, lán thông thoáng, điều khiện hệ thống quạt gió làm mát, hệ thống làm
lạnh không khí nhằm giảm nhiệt độ trong kho, lán tới mức yêu cầu.
• Điều khiển hệ thống làm lạnh ngay trong bể để cân bằng ngay nhiệt độ của nước

nhằm tránh nước nóng quá. Có thể sử dụng quạt gió phía trên bể, phương pháp
này có khả năng làm giảm nhiệt xuống vài độ, áp dụng cho những vùng nhiệt độ k
quá nóng, tuy nhiên nó sẽ làm nước bốc hơi nhanh làm thường xuyên tụt mức
nước của bể. Phương pháp tiếp theo là làm lạnh trực tiếp nước trong bể, các hệ
thông này có thể sẽ rút nhiệt trong bể để thải ra môi trường ngoài, làm lạnh bằng
khí ga, nito dẫn qua ống đồng…
2.2.4. Hệ thống cảnh báo, truyền nhận dữ liệu, xử lý trên máy tính
2.2.4.1. Hệ thống cảnh báo
Đây là hệ thống cực kì quan trong để kiểm soát toàn bộ quá trình cân bằng nhiệt.
Nhiệt độ quá cao hay quá thấp, các thiết bị được điều khiển có hoạt động hay không hoạt
động, toàn bộ hệ thống có hoạt động trơn tru hay gặp lỗi, tất cả đều được phát tín hiệu cảnh
báo để có biện pháp khắc phục tránh tình trạng hệ thống hoạt động mà không hiệu quả và
gây lãng phí.
2.2.4.2.

Hệ thống truyền nhận dữ liệu, xử lý trên máy tính

Đây là hệ thống giúp người chủ quản lí, theo dõi sát sao và có các biện pháp nhanh,
hiệu quả hơn trong mọi trường hợp. Người chủ có thể điều khiển các thiết bị, thay đổi được
hệ thống xử lí mà không cần phải tới kho, lán để thao tác bằng tay thay đổi hệ thống xử lí.
• Bộ truyền nhận dữ liệu này sẽ chuyển các thông tin mà bộ xử lí tổng hợp được sau
khi thu thập dữ liệu, điều khiển các hệ thống tới cho một máy tính qua một dạng
giao tiếp và hiển thị trên màn hình máy tính. Đồng thời khi người chủ thay đổi các
thông số, cấu trúc trên màn hình máy tính thì bộ này sẽ truyền sự thay đổi này tới
cho bộ xử lí để thay đổi cách hoạt động, cách điều khiển các hệ thống khác cho
phù hợp với môi trường như người chủ mong muốn.
• Phương pháp truyền dữ liệu giữa bộ xử và máy tính: Các phương pháp này được
ứng dụng nhằm đáp ứng nhiều nhu cầu khác nhau và nhiều điều kiện kinh tế khác
nhau của người chủ.
- Không dây: Phương pháp này cho phép kết nối và điều khiển từ xa, có khả

năng không hạn chế về khoảng cách tùy vào phương thức sử dụng, tầm gần có
thể là bluetooth, xa hơn thì qua wifi, tiếp tới nữa thì sau đó truyền qua internet.
- Có dây: Phương pháp này cho phép điều khiển ở tầm gần qua dây,hạn chế về
khoảng cách nhưng lại hiệu quả về kinh tế thi công,có thể dùng phương thức
Trang 9


Chuyên đề tốt nghiệp: Kiểm soát nhiệt độ bể ươm thủy sản

SVTT: Phạm Đức Dương

giao tiếp qua cổng : usb, lpt và com, đây là 3 chuẩn mà bộ vi xử lí sẽ giao tiếp
với máy tính.

3. Thiết kế hệ thống điều khiển nhiệt độ bể ươm trồng thủy sản
3.1.
Tổng quan về hệ thống

Trang 10


Chuyên đề tốt nghiệp: Kiểm soát nhiệt độ bể ươm thủy sản

SVTT: Phạm Đức Dương

Tùy theo mục đích ươm trồng, ta đặt một ngưỡng nhiệt độ cố định phù hợp với mục
đích, khi môi trường ngoài bể thay đổi, làm tác động và thay đổi nhiệt độ trong bể, hệ
thống thu thập dữ liệu (SS) sẽ báo kết quả về cho vi xử lí (VXL). Khi VXL nhận thấy có
sự chênh lệch nhiệt độ giữa nhiệt độ đặt và môi trường, VXL sẽ ra lệnh điều khiển đóng
mở các công tắc tơ, role để cho các cho phép các thiết bị cân bằng nhiệt - CBN(làm

nóng, lạnh) hoạt động. Khi nhiệt độ bể quá cao, hệ thống làm mát sẽ được khởi động, khi
nhiệt độ bể quá thấp thì hệ thống làm nóng sẽ khởi động.
Đồng thời với việc tiếp tục cho duy trì trạng thái hoạt động của hệ thống làm nóng và
lạnh thì VXL còn liên tục thực hiện thăm dò nhiệt độ bể qua SS. Tới khi SS báo về nhiệt
độ đạt tới ngưỡng yêu cầu thì VXL ra lệnh ngưng hoạt động hệ thống CBN.
Sau khi ngưng hệ thống CBN thì SS vẫn liên tục báo về cho VDK nhiệt độ của bể.
Khi tiếp tục nhận thấy sự thay đổi nhiệt độ VXL lại tiếp tục điều khiển CBN hoạt
động.
Quá trình này cứ diễn ra liên tục không ngừng nghỉ và kết quả là nhiệt độ của bể được
kiểm soát và quản lí 1 cách liên tục.
3.2. Thực hiện hệ thống
Mạch mẫu sẽ sử dụng cảm biến NTC, vi điều khiển Pic 16f877, Modul Lcd QC1602, hệ
thống role, làm nóng bằng trở nhiệt, làm lạnh bằng cách rút nhiệt và giao tiếp với máy tính
qua UART của VDK.
3.2.1. Cảm biến nhiệt độ sử dụng điện trở nhiệt NTC

3.2.1.1.

Nguyên lý: Khi nhiệt độ thay đổi sẽ làm ảnh hưởng tới điện trở của cảm biến,
nhiệt độ tăng thì điện trở giảm. Kết hợp NTC với trở để tạo thành phân áp báo về
vi điều khiển, vi điều khiển nhận điệp áp và quy đổi giá trị đó thành giá trị nhiệt
độ thực.
U2

GND

R2

R1


Trang 11

U1


Chuyên đề tốt nghiệp: Kiểm soát nhiệt độ bể ươm thủy sản

SVTT: Phạm Đức Dương

U2 = (U1 x R2) / (R1+R1)
 R1 = (U1-U2) / I
• Cầu phân áp này sẽ được cấp nguồn U1 và sửa dụng U2 làm tín hiệu cấp cho vi
điều khiển.
• R2 sẽ là điện trở cố định, sự thay đổi của R1 sẽ là nhân tố quyết định điện áp ra
U2.
• Bảng tra cứu RT của trở nhiệt NTC

T
-40
-39
-38
-37
-36
-35
-34
-33
-32
-31
-30
-29

-28
-27
-26
-25
-24
-23
-22
-21
-20
-19
-18
-17
-16
-15
-14

R
340.928
318.877
298.398
279.368
261.677
245.221
229.907
215.649
202.367
189.988
178.446
167.678
157.629

148.246
139.481
131.289
123.629
116.465
109.76
103.483
976,037
920,947
869,305
820,877
775,442
732,798
692,759

T
-3
-2
-1
0
1
2
3
4
5
6
7
8
9
10

11
12
13
14
15
16
17
18
19
20
21
22
23

R
382,307
362,940
344,668
327,421
311,138
295,759
281,229
267,496
254,513
242,234
230,618
219,625
209,218
199,364
190,029

181,184
172,800
164,852
157,313
150,161
143,375
136,932
130,815
125,005
119,485
114,239
109,252

T
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49

50
51
52
53
54
55
56
57
58
59
60
Trang 12

R
67,996
65,223
62,577
60,053
57,645
55,345
53,150
51,053
49,050
47,136
45,307
43,558
41,887
40,287
38,758
37,294

35,893
34,553
33,269
32,039
30,862
29,733
28,652
27,616
26,622
25,669
24,755

T
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86

87
88
89
90
91
92
93
94
95
96

R
17,411
16,826
16,264
15,723
15,203
14,703
14,222
13,759
13,313
12,884
12,471
12,073
11,690
11,321
10,965
10,623
10,293
0,9974

0,9667
0,9372
0,9086
0,8811
0,8545
0,8289
0,8042
0,7803
0,7572


Chuyên đề tốt nghiệp: Kiểm soát nhiệt độ bể ươm thủy sản

-13
-12
-11
-10
-9
-8
-7
-6
-5
-4

655,149
619,809
586,587
555,345
525,954
498,294

472,253
447,727
424,620
402,841

24 104,510
25 100,000
26 95,709
27 91,626
28 87,738
29 84,037
30 80,512
31 77,154
32 73,954
33 70,904

61
62
63
64
65
66
67
68
69

SVTT: Phạm Đức Dương

23,879
23,038

22,231
21,456
20,712
19,998
19,312
18,653
18,019

97
98
99
100
101
102
103
104
105

0,7350
0,7135
0,6927
0,6727
0,6533
0,6346
0,6165
0,5990
0,5821

3.2.1.2. Đặc tính và ứng dụng
3.2.1.2.1. Đặc tính

• Điện trở nhiệt NTC được cách ly với môi trường bên ngoài bằng 1 lớp hợp kim
dẫn nhiệt tốt, có tuổi thọ cao, cách điện hoàn toàn trong các môi trường.
• Có hiệu suất cao, đặc tính khi làm việc trong các môi trường khác nhau rất ổn
định, đặc biệt là độ nhạy cao và đáp ứng nhanh.
3.2.1.2.2. Ứng dụng: NTC có rất nhiều ứng dụng, được chia ra làm 2 loại đó là loại dùng
làm đo lường, tác động bù và loại làm bộ trễ.
• Làm bộ trễ :
- NTC có tính chất trễ, khi dòng điện qua nó lớn đến nỗi điện trở giảm nhiều do
quá trình tự toả nhiệt, tải càng lớn thì điện trở NTC càng giảm mạnh. Nhiệt
điện trở NTC tạo tác dụng trễ nhằm triệt dòng đỉnh trong mạch đèn chiếu sáng
loại có tim, mạch động cơ công suất nhỏ, mạch đốt tim các bóng điện tử, mạch
có tính dung kháng (tụ).
- Rơle thời gian dùng NTC: Khi không cần độ chính xác cao, có thể dùng NTC
theo 2 mạch điện cơ bản sau đây:
Mạch A là rơle thời gian đóng chậm, sau khi nối nguồn S1, dòng qua
cuộn dây rơle, nhưng bị giới hạn bởi điện trở nguội của NTC lớn, sau một thời
gian do quá trình tự gia nhiệt vì dòng qua nó, điện trở NTC giảm, tăng dòng khiến
rơle tác động.
Mạch B là rơle thời gian mở chậm, khi đóng S2, dòng qua nhiệt điện
trở, bắt đầu quá trình tự gia nhiệt, điện áp rơi qua RS tăng, sau một thời gian
rơle không còn đủ duy trì, bị ngắt, thời gian trễ tuỳ thuộc vào môi trường toả
nhiệt của NTC.

Trang 13


Chuyên đề tốt nghiệp: Kiểm soát nhiệt độ bể ươm thủy sản

SVTT: Phạm Đức Dương


• Làm đo lường, tác động bù : NTC hoạt động chủ yếu trong vùng tuyến tính nên
cần tránh hiện tượng tự sinh nhiệt do dòng NTC lớn, như vậy trong vùng này điện
trở của NTC được xác định bằng nhiệt độ môi trường, phạm vi chủ yếu của NTC
trong lĩnh vực này là đo nhiệt độ, kiểm tra, điều khiển. Tuy nhiên NTC cũng được
dùng để bù tính phụ thuộc nhiệt độ của điện trở, làm ổn định nhiệt độ cho các
mạch điện tử dùng bán dẫn.
Hoạt động của cảm biến dựa trên sự khác nhau về khả năng làm mát của chất
lỏng, không khí hoặc hơi nước ở trên chất lỏng, khi NTC được nhúng vào chất
lỏng, nó được làm mát nhanh, điện áp rơi trên NTC tăng lên, do hiệu ứng này
NTC có thể phát hiện có sự tồn tại của chất lỏng ở một vị trí.
Bộ điều khiển nhiệt độ: NTC được sử dụng rất nhiều trong các hệ thống điều
khiển nhiệt độ bằng cách sử dụng một nhiệt điện trở trong mạch so sánh cơ bản,
khi nhiệt độ vượt quá mức cài đặt, ngõ ra sẽ chuyển trạng thái từ OFF sang ON.
Được sử dụng để cảm biến nhiệt độ,sự thay đổi nhiệt độ trong điều hòa không khí
gia đình, điều hòa không khí xe hơi, tủ lạnh, máy làm đá, máy nước nóng, máy
sưởi, máy giặt, máy sấy, và trong lò sấy ở nhiệt độ thấp.
Bù nhiệt: Nhiều chất bán dẫn và IC cần có sự bù nhiệt để có sự hoạt động ổn
định trên dải nhiệt độ rộng, bản thân chúng có hệ số nhiệt độ dương cho nên NTC
đặc biệt thích hợp với vai trò bù nhiệt.
3.2.2. Vi xử lý và điều khiển: PIC 16F877
3.2.2.1. Đặc điểm: Ngày nay, các bộ điều khiển đang có ứng dụng rộng rãi trong các lĩnh
vực khoa học kỹ thuật và đời sống xã hội, đặc biệt là trong tự động hoá và điều
khiển. Giờ đây với nhu cầu chuyên dụng hoá, tối ưu hoá về thời gian không gian
giá thành, bảo mật, tính chủ động trong công việc, ... ngày càng đòi hỏi khắt khe.
Và dòng vi điều khiển Pic đã đáp ứng tốt các yêu cầu đó với nhiều đặc tính nổi bậ:
• Sử dụng công nghệ tích hợp cao RICSC CPU
• Người sử dụng có thể lập trình với các câu lệnh đơn giản
• Tất cả các câu lệnh thực hiện trong một chu kì ngoại trừ một số lệnh rẽ nhánh thực
hiện trong hai chu kì.
• Xung đồng hồ vào la DC-20MHz. Chu kì lệnh thực hiện trong 200ns

• Bộ nhớ chương trình Flash 8Kx14 Words
• Bộ nhớ Ram 368x8 bytes
• Bộ nhớ EFPROM 256x8 bytes.
• Bộ định thời 3
• Các chân vào ra 40
• Cổng nối tiếp 2
• 10 bít chuyển đổi A/D
Trang 14


Chuyên đề tốt nghiệp: Kiểm soát nhiệt độ bể ươm thủy sản

SVTT: Phạm Đức Dương

• Tự Reset bằng bộ WDT
3.2.2.2.

Chức năng các chân

Tên chân
OSC1/CLKIN

Chân số
13

Chức năng của chân
I

Đầu vào của dao động thạch anh/ngõ vào
xung clock ngoại.


OSC2/CLKOUT

14

O

Đầu ra của bộ dao động thạch anh. Nối
với thạch anh hay cộng hưởng trong chế
độ dao động của thạch anh. Trong chế độ
RC, ngõ ra của chân OSC2

MCLR /VPP

1

I/P Ngõ vào của Master Clear (Reset) hoặc
ngõ vào điện thế được lập trình. Chân

Trang 15


Chuyên đề tốt nghiệp: Kiểm soát nhiệt độ bể ươm thủy sản

SVTT: Phạm Đức Dương

này cho phép tín hiệu RESET thiết bị tác
động ở mức thấp.
PORTA là port vào ra hai chiều.
RA0/AN0


2

I/O RA0 có thể làm ngõ vào tương tự thứ 0.

RA1/AN1

3

I/O RA1 có thể làm ngõ vào tương tự thứ 1.

RA2/AN2/VREF –

4

I/O RA2 có thể làm ngõ vào tương tự thứ 2
hoặc điện áp chuẩn tương tự âm.

RA3/AN3/VREF +

5

I/O RA3 có thể làm ngõ vào tương tự thứ 3
hoặc điện áp chuẩn tương tự dương.

RA4/T0CKI

6

I/O RA4 có thể làm ngõ vào xung clock cho

bộ định thời Timer0. Hoặc làm đầu ra.

RA5/ SS /AN4

7

I/O

RA5 có thể làm ngõ vào tương tự thứ 4
hoặc làm đầu ra.
PORTB là port vào ra hai chiều.

RB0/INT

33

I/O RB0 có thể làm chân ngắt ngoài

RB1

34

I/O

RB2

35

I/O


RB3/PGM

36

I/O

RB4

37

I/O

RB5

38

I/O

RB6/PGC

39

I/O

RB7/PGD

40

I/O
PORTC là port vào ra hai chiều.


Trang 16


Chuyên đề tốt nghiệp: Kiểm soát nhiệt độ bể ươm thủy sản

RC0/T1OSO/T1C KI

15

SVTT: Phạm Đức Dương

I/O RC0 có thể là ngõ ra của bộ dao động
Timer1 hoặc ngõ vào xung clock cho
Timer1.

RC1/T1OSI/CCP2

16

I/O RC1 có thể là ngõ vào của bộ dao động
Timer1 hoặc ngõ vào Capture2/ngõ ra
compare2/ngõ ra PWM2.

RC2/CCP1

17

I/O RC2 có thể là ngõ vào Capture1/ngõ ra
compare1/ngõ vào PWM1.


RC3/SCK/SC

18

I/O RC3 có thể là ngõ vào xung clock đồng
bộ nối tiếp/ngõ ra trong cả hai chế độ
SPI và I2C.

RC4/SDI/SDA

23

I/O RC4 có thể là dữ liệu bên trong SPI (chế
độ SPI) hoặc dữ liệu I/O (chế độ I2C).

RC5/SDO

24

I/O RC5 có thể là dữ liệu ngoài SPI (chế độ
SPI).

RC6/TX/CK

25

I/O RC6 có thể là chân truyền không đồng
bộ USART hoặc đồng bộ với xung đồng hồ.


RC7/RX/DT

26

I/O RC7 có thể là chân nhận không đồng bộ
USART hoặc đồng bộ với dữ liệu.

RD0/PSP0

19

I/O PORT là port vào ra hai chiều hoặc là

RD1/PSP1

20

I/O parallel slave port khi giao tiếp với bus

RD2/PSP2

21

I/O của bộ vi xử lý.

RD3/PSP3

22

I/O


Trang 17


Chuyên đề tốt nghiệp: Kiểm soát nhiệt độ bể ươm thủy sản

RD4/PSP4

27

I/O

RD5/PSP5

28

I/O

RD6/PSP6

29

I/O

RD7/PSP7

30

I/O


SVTT: Phạm Đức Dương

PORTE là port vào ra hai chiều.
RE0/ RD/AN5

8

I/O RE0 có thể điều khiển việc đọc parallel
slave port hoặc là ngõ vào tương tự thứ 5.

RE1/WR /AN6

9

I/O RE1 có thể điều khiển việc ghi parallel
slave port hoặc là ngõ vào tương tự thứ 6.

RE2/CS /AN7

10

I/O RE2 có thể điều khiển việc chọn parallel
slave port hoặc là ngõ vào tương tự thứ 7.

VSS

12,31

P


mass

VDD

11,32

P

Cung cấp nguồn dương cho các mức
logic và những chân I/O.

3.2.2.3.
3.2.2.3.1.



3.2.2.3.2.


Tổ chức bộ nhớ: Pic16F877A có 3 khối bộ nhớ: Bộ nhớ chương trình Flash, bộ
nhớ dữ liệu RAM, bộ nhớ EEPROM.
Flash
Pic16F877A có bộ nhớ chương trình 13 bit và có 8Kx14 từ mã của bộ nhớ chương
trình Flash, được chia thành 4 trang mỗi trang 2Kx14 từ mã.
Khi Reset địa chỉ bắt đầu chạy là 0000h, vector ngắt bắt đầu từ 0004h.
Stack có 8 mức dùng để lưu địa chỉ lệnh thực hiện tiếp theo sau lệnh CALL và
khi xẩy ra ngắt.
RAM
RAM là bộ nhớ có thể đọc/ghi, nó không lưu dữ liệu khi mất điện, bộ nhớ RAM
của Pic16F877A có 4 Bank, mỗi Bank có dải địa chỉ 0-7FH (128 byte) trên các

Trang 18


Chuyên đề tốt nghiệp: Kiểm soát nhiệt độ bể ươm thủy sản

















3.2.2.3.3.


SVTT: Phạm Đức Dương

Bank những thanh ghi đa mục đích, nó hoạt động như một RAM tĩnh và những
thanh ghi chức năng đặc biệt ở vùng địa chỉ thấp.
Các Thanh ghi đa mục đích (General Purpose Register), các thanh ghi này được
truy cập bằng cả hai cách trực tiếp hoặc gián tiếp qua thanh ghi FSR, tổng cộng có

368 bytes.
Các thanh ghi chức năng đặc biệt: các thanh ghi này được dùng bởi CPU và các
khối ngoại vi để điều khiển sự hoạt động theo yêu cầu của thiết bị. Các thanh ghi
này có thể phân loại vào bộ phận trung tâm (CPU) và ngoại vi.
Các thanh ghi trạng thái STATUS: có 4 thanh ghi trạng thái trên 4 dãy, tại các địa
chỉ 03h, 83h, 103h, 108h. Các thanh này cho biết trạng thái của phần tử logic toán
học ALU, trạng thái Reset, trạng thái của các bít lựa chọn dãy thanh ghi cho bộ
nhớ dữ liệu.
Thanh ghi trạng thái có thể là kết quả của một số lệnh như là với một số thanh ghi
khác. Nếu thanh ghi trạng thái là kết quả bởi một lệnh mà tác động đến các bít Z,
DC, C thì việc ghi vào các bit này là không thể.
Các thanh ghi lựa chọn OPTION_REG: có hai thanh ghi lựa chọn tai các địa chỉ
81h và 181h, các thanh ghi này có thể đọc hoặc ghi, nó chứa đựng nhiều bít điều
khiển khác nhau để xác định hệ số định trước TMR0, hệ số định sau WDT, ngắt
ngoài INT, TMR0, các điện áp treo cổng B.
Các thanh ghi INTCON: có 4 thanh ghi INTCON tại địa chỉ 0Bh, 8Bh, 10Bh,
18Bh, các thanh ghi này có thể đọc và ghi, nó chứa đựng nhiều sự cho phép và các
bits cờ cho việc tràn thanh ghi TMR0, các ngắt thay đổi cổng RB và chân ngắt
ngoài RB0/INT.
Thanh ghi PIE1: tại địa chỉ 8Ch chứa đựng các bít cho phép riêng lẻ cho các ngắt
ngoại vi CCP2, ngắt xung đột tuyến SSP và EEPROM ghi các hoạt động ngắt.
Thanh ghi PCON (Power Control): chứa bít cờ cho phép phân biệt giữa việc Reset
hệ thống (POR) để Reset MCLR ngoại với Reset WDT.
PLC và PCLATH: chương trình đếm chỉ rõ địa chỉ của lệnh tiếp theo được thực
hiện. PC có độ rộng 13 bit, byte thấp được gọi là thanh ghi PLC, thanh ghi này có
thể đọc hoặc ghi toàn bộ sự cập nhật của nó thông qua thanh ghi PCLATH.
EEPROM
Các bộ nhớ này có thể đọc và ghi trong khi các hoạt động vẫn diễn ra một cách
bình thường. Bộ nhớ dữ liệu không trực tiếp sắp xếp dữ liệu trên các thanh ghi dữ
liệu còn trống. Thay vì đó là ghi các địa chỉ gián tiếp qua các thanh ghi chức năng

đặc biệt. Có 6 thanh ghi SFR dùng để đọc và ghi bộ nhớ chương trình và bộ nhớ
dữ liệu EEPROM đó là các thanh ghi:
EECON 1
EEDATH
EECON 2
EEADR
Trang 19


Chuyên đề tốt nghiệp: Kiểm soát nhiệt độ bể ươm thủy sản













3.2.2.3.4.



3.2.2.3.5.



SVTT: Phạm Đức Dương

EEDATA
EEADRH
Bộ nhớ EEPROM cho phép đọc và ghi các byte. Khi có tác động tới khối bộ nhớ
dữ liệu. Thanh ghi EEDATA giữ 8 bít dữ liệu để đọc/ghi và thanh ghi EEADR giữ
địa chỉ vị trí của EEPROM được truy cập. Các thanh ghi EEDATH và EEADRH
không được sử dụng để truy cập dữ liệu EEPROM. Các thiết bị này có tới 256
byte của dữ liệu EEPROM với địa chỉ từ 00h tới FFh.
Bộ nhớ chương trình cho phép đọc và ghi các ký tự. Khi tác động đến khối
chương trình nhớ, các thanh ghi EEDATH, EEDATA có dạng 2 byte ký tự giữa
14 bit dữ liệu để đọc/ghi và các thanh ghi EEADRH, EEADR có dạng hai bit từ
mã với 13 bit địa chỉ của vị trí EEPROM được truy cập. Nhưng thiết bị này có thể
có tới 8K từ mã của chương trình EEPROM với một địa chỉ giới hạn từ 0h tới
3FFh.
Thanh ghi địa chỉ có thể đánh địa chỉ lớn nhất là 256 byte của dữ liệu EEPROM
hoặc lớn nhất là 8K ký tự của chương trình FLASH. Khi lựa chọn giá trị một địa
chỉ được ghi tới thanh ghi EEADR.
Các thanh ghi EECON1 và EECON2: EECON1 là thanh ghi điều khiển cho việc
nhập dữ liệu bộ nhớ. EECON2 không phải là thanh ghi vật lý. Khi đọc thanh ghi
EECON2 sẽ đọc toàn bộ là 0. Thanh ghi EECON2 được sử dụng dành riêng cho
việc ghi một cách trình tự vào bộ nhớ.
Bit điều khiển EEPGD xác định nếu việc nhập dữ liệu sẽ là nhập một chương
trình hoặc nhập một bộ nhớ dữ liệu. Khi xoá, một số hoạt động tiếp theo sẽ hoạt
động trên bộ nhớ dữ liệu. Khi đặt, một số hoạt động tiếp theo sẽ hoạt động trên bộ
chương trình.
Các bít điều khiển RD và RW kích hoạt các hoạt động đọc và ghi theo thứ tự.
Trong phần mềm những bit này không thể bị xoá, chỉ được đặt. Chúng bị xoá
trong phần cứng khi mà hoạt động ghi/đọc được hoàn thành. Việc không thể xoá
bit RW trong phần mềm ngăn ngừa sự kết thúc bất ngờ hoặc kết thúc sớm của

hoạt động ghi.
Đọc và ghi vào bộ nhớ dữ liệu EEPROM.
Để đọc một vị trí bộ nhớ dữ liệu, ta phải ghi địa chỉ vào thanh ghi EEADR xoá
bít điều khiển EEPGD (EECON1<7>) sau đó đặt bit điều khiển RD
(EECON1<0>). Dữ liệu có thể được đọc bởi lệnh tiếp theo. EEDATA sẽ giữ giá
trị này cho tới khi có hoạt động đọc dữ liệu khác hoặc tới khi được ghi.
Ghi vào bộ nhớ dữ liệu EEPROM thì đầu tiên địa chỉ phải được ghi vào thanh ghi
EEADR và dữ liệu ghi vào thanh ghi EEDATA.
Đọc và ghi chương trình FLASH.
Đọc một vị trí bộ nhớ chương trình có thể thực hiện bởi việc ghi 2 byte địa chỉ
vào thanh ghi EEADR và EEADRH, đặt bit điều khiển EEPGD (EECON1<7>)
Trang 20


Chuyên đề tốt nghiệp: Kiểm soát nhiệt độ bể ươm thủy sản

SVTT: Phạm Đức Dương

và sau đó đặt bít điều khiển RD (EECON1<0>). Chỉ khi bit điều khiển đọc được
đặt, vi xử lý sẽ sử dụng chương trình lệnh thứ hai để đọc dữ liệu.
• Dữ liệu đó sẽ có trong chu trình thứ 3, trong các thanh ghi EEDATA và
EEDATH, do đó nó có thể được đọc là 2 byte trong các lệnh tiếp theo. Dữ liệu có
thể được đưa ra ngoài của EEDATH, EEDATA bắt đầu với lệnh thứ 3 sau lệnh
BSF EECON1, RD. Và thanh ghi EEDATA và EEDATH sẽ giữ giá trị này cho tới
khi có hoạt động đọc một giá trị khác hoặc có hoạt động ghi.
• Ghi một vị trí bộ nhớ chương trình có thể được thực hiện bởi việc ghi thanh ghi 2
byte địa chỉ vào các thanh ghi EEADR và EEADRH, ghi dữ liệu 13 bit vào thanh
ghi EEDATA và EEDATH.
3.2.2.4. Cổng vào ra
Một số chân của các cổng vào/ra được tích hợp với những thiết bị ngoại vi. Nhìn

chung khi thiết bị ngoại vi hoạt động, các chân có thể không sử dụng với mục đích làm chân
vào ra.
3.2.2.4.1. Cổng A và thanh ghi TRISA
Cổng A là cổng hai chiều với độ rộng đường truyền là 6 bit. Để điều khiển việc truy
xuất dữ liệu người ta dùng thanh ghi TRISA. Nến đặt bít TRISA=1 thì lúc này cổng A sẽ có
các chân là chân vào. Và ngược lại sẽ là các chân xuất. Việc đọc cổng A chính là đọc trạng
thái các chân, trong đó việc xuất phải qua việc xuất các chốt của cổng. Các chân của cổng A
chủ yếu được sử dụng với mục đích chính là nhận tín hiệu tương tự hoặc làm chân vào/ra.
Riêng chân RA4 có thể đa hợp với chân vào bộ Timer0 và khi đó nó trở thành chân
RA4/TOCKI. Chân này như một đầu vào Schmitt Trigger và nó mở một đầu ra. Các chân
khác của cổng A là chân vào với bộ TTL. Việc điều khiển các chân này thông qua việc đặt
hay xoá các bít của thanh ghi ADCON1. Thanh ghi TRISA điều khiển trực tiếp các chân của
cổng A, khi sử dụng các chân này để nhận tín hiệu ương tự vào ta phải chắc chắn rằng các
bít của thanh ghi TRISA đã được đặt rồi.
3.2.2.4.2. Cổng B và thanh ghi TRISB
Cổng B là cổng hai chiều với độ rộng đường truyền là 8 bít. Tương ứng với nó để
điều khiển trực tiếp dữ liệu ta sử dụng thanh ghi TRISB. Nếu đặt bít TRISB=1 thì lúc này
các chân của cổng B được định nghĩa là chân vào. Nếu xoá bít TRISB=0 thì lúc này các
chân của cổng B được định nghĩa là chân ra. Nội dung của chốt ra có thể chọn trên mỗi
chân.
Các chân của cổng B có thể đa hợp với các chương trình vận hành bằng điện áp thấp.
Đó là các chân sau: RB3/PGM, RB6/PGC, RB7/PGD. Sự thay đổi hoạt động của những
Trang 21


Chuyên đề tốt nghiệp: Kiểm soát nhiệt độ bể ươm thủy sản

SVTT: Phạm Đức Dương

chân này được miêu tả ở trong phần đặc tính nổi bật. Mỗi chân của cổng B sẽ có một khả

năng dừng bên trong nhưng yếu. Điều này được trình bày ở việc xoá bít RBPU (bít 7 của
thanh ghi OPTION_REG). Khả năng dừng này sẽ tự động tắt đi khi các chân của cổng được
định nghĩa là chân ra. Khả năng dừng này sẽ tự động mất khi ta RESET. Bốn chân của cổng
B, từ RB7 đến RB4 có đặc tính là ngắt khi thay đổi trạng thái. Chỉ những chân được định
dạng là những chân vào thì ngắt này mới tồn tại. Một vài chân RB7÷RB4 được định dạng
như chân ra, nó thi hành ngắt trên sự thay đổi so sánh. Chân vào RB7÷RB4 được so sánh với
giá trị cũ của chốt ở lần đọc cuối cùng của cổng B. Sự ghép đôi không khớp chân ra của
RB7÷RB4 bằng lệnh OR làm phát ra ngắt với cờ bít RBIF của thanh ghi INTCON. Ngắt này
có thể khởi động thiết bị từ trạng thái SLEEP.
3.2.2.4.3. Cổng C và thanh ghi TRISC
Cổng C là cổng hai chiều với độ rộng đường truyền là 8 bít. Tương ứng với việc điều
khiển nó là thanh ghi TRISC. Nếu đặt bít TRISC=1 thì tương ứng với chân của cổng C là
chân vào. Nếu ta xoá bít TRISC=0 thì tương ứng với nó chân của cổng C là chân ra. Đặt nội
dung của chốt ra có thể đặt trên chân chọn. Cổng C đa hợp với việc vận hành thiết bị ngoại
vi. Chân của cổng C thông qua bộ đệm Schmitt Trigger đầu vào.
Khi chế độ I2C hoạt động, thì các chân của cổng PORTC<4:3> có thể được sắp xếp
với mức I2C thường hoặc với mức SMBUS bằng cách sử dụng bít CKE (SSPSTAT<6>) là
bít 6 của thanh ghi SSPSTAT.
Khi vận hành các thiết bị ngoại vi bằng việc xác định bít TRIS của mỗi chân cổng C.
Một số phần phụ có thể ghi đè lên bít TRIS làm cho chân này sẽ trở thành chân ra, trong khi
đó thì một số phần phụ khác lại ghi đè lên bít TRIS làm cho chân này trở thành chân vào. Từ
khi những bít TRIS ghi đè thì trong việc tác động trong các thiết bị ngoại vi là có thể, những
lệnh đọc - sửa - ghi (BSF, BCF, XORWF) với thanh ghi TRISC như là nơi gửi tới sẽ được
tránh. Người sử dụng nên đề cập tới việc phân chia kết nối các thiết bị ngoại vi cho việc đặt
chính xác các bít TRIS.
3.2.2.4.4. Cổng D và thanh ghi TRISD
Cổng D có 8 bít có bộ đệm đầu vào Schmitt Trigger. Mỗi chân được sắp xếp riêng lẻ
như đầu vào hoặc đầu ra. Cổng D cũng có thể được sắp xếp như là một cổng vi xử lý 8
bít (cổng phụ song song) bằng việc đặt bít điều khiển PSPMODE (TRISE<4>) và trong
chế độ này vùng đệm đầu vào là TTL.

3.2.2.4.5. Cổng E và thanh ghi TRISE

Trang 22


Chuyên đề tốt nghiệp: Kiểm soát nhiệt độ bể ươm thủy sản

SVTT: Phạm Đức Dương

Cổng E có 3 chân là RE0/RD/AN5, RE1/WR/AN6, RE2/CS/AN7. Các chân này có
thể sắp xếp riêng lẻ là các đầu vào hoặc đầu ra, và các chân có vùng đệm đầu vào là các
mạch Schmitt Trigger.
Cổng vào/ra E trở thành đầu vào điều khiển cho cổng vi xử lý khi bít PSPMODE
(TRISE<4>) được đặt. Và trong chế độ này phải chắc chắn rằng các bít TRISE<2:0> được
đặt (các chân được định dạng là các đầu vào số), thanh ghi ADCON1 phải được định dạng
cho việc số vào/ra và vùng đệm đầu vào là TTL. Các chân cổng E cũng được tích hợp với
các đầu vào tương tự và trong trường hợp này các chân sẽ đọc là “0”.
Thanh ghi TRISE điều khiển trực tiếp các chân RE, ngay cả khi chúng được dùng là
các đầu vào tương tự.
3.2.2.5. Các bộ Timer của chip
3.2.2.5.1. Bộ Timer0
• Là bộ định thời hoặc bộ đếm có những ưu điểm nổi bật sau:
- 8 bít cho Timer hoặc bộ đếm.
- Có khả năng đọc và viết, dùng đồng hồ bên trong hoặc bên ngoài, chọn sườn
xung của xung đồng hồ, hệ số chia cho xung đầu vào có thể lập trình lại bằng
phần mềm.
- Ngắt tràn.
• Hoạt động của Timer0:
- Timer 0 có thể hoạt động như một bộ định thời hoặc một bộ đếm. Việc chọn
bộ định thời hoặc bộ đếm có thể được xác lập bằng việc xoá hoặc đặt bít

TOCS của thanh ghi OPTION_REG<5>.
- Nếu dùng hệ số chia xung đầu vào thì xoá bít PSA của thanh ghi
OPTION_REG<3>.
- Trong chế độ bộ định thời được lựa chọn bởi việc xoá bít T0CS
(OPTION_REG<5>), nó sẽ được tăng giá trị sau một chu kỳ lện nếu không
chọn hệ số chia xung đầu vào. Và giá trị của nó được viết tới thanh ghi TMR0.
- Chế độ đếm được lựa chọn bởi việc đặt bít T0CS (OPTION_REG<5>). Trong
chế độ bộ đếm, nó sẽ được tăng ở xung đi xuống nếu xoá bít T0SE
(OPTION_REG<4>) hoặc ở xung đi lên nếu đặt bít T0SE. Và giá trị của nó
được viết tới thanh ghi TMR0.
- Khi dùng xung clock bên ngoài cho bộ định thời Timer0 và không dùng hệ số
chia clock đầu vào Timer0 thì phải đáp ứng các điều kiện cần thiết để có thể
hoạt động đó là phải bảo đảm xung clock bên ngoài có thể đồng bộ với pha
xung clock bên trong (Tosc).
3.2.2.5.2. Bộ Timer1
• Bộ Timer1 có thể là bộ đếm hoặc bộ định thời với ưu điểm sau:
Trang 23


Chuyên đề tốt nghiệp: Kiểm soát nhiệt độ bể ươm thủy sản




3.2.2.5.3.









3.2.2.6.
3.2.2.6.1.


SVTT: Phạm Đức Dương

16 bít cho bộ đếm hoặc bộ định thời (gồm hai thanh ghi TMR1H, TMR1L).
Có khả năng đọc và viết, chọn xung đồng hồ bên trong hoặc bên ngoài, ngắt
khi tràn FFFFh về 0000h.
Timer1 có một thanh ghi điều khiển, đó là thanh ghi T1C0N. Bộ Timer1 có hoạt
động hay không hoạt động là nhờ việc đặt hoặc xoá bít TMR1ON (T1CON<0>).
Hoạt động của bộ Timer1:
- Nó có thể hoạt động ở một trong các chế độ sau:
Là một bộ định thời 16 bít.
Là một bộ đếm có đồng bộ.
Là một bộ đếm không có đồng bộ.
- Phương thức hoạt động của bộ này được xác định bởi việc chọn nguồn xung
vào Timer1. Nguồn xung đồng hồ được chọn bởi việc đặt hoặc xoá bít
TMR1CS (T1CON<1>). Ở chế độ bộ định thời, đầu vào là clock trong Fosc/4,
bít đồng bộ T1SYNC (T1CON<2>) không có tác dụng vì clock trong luôn
đồng bộ. Chế độ bộ đếm hoạt động hai chế độ: Có đồng bộ xung vào xoá bít
T1SYNC (T1CON<2>), không đồng bộ xung vào đặt bít T1SYNC
(T1CON<2>) Timer1 tăng ở sườn khi xung đầu vào.
Bộ Timer2
Bộ Timer 2 có những đặc tính sau đây:
- 8 bít cho bộ định thời (thanh ghi TMR2)
- 8 bít vòng lặp (thanh ghi PR2)

- Có khả năng đọc và viết ở cả hai thanh ghi nói trên, lập trình bằng phần mềm
tỷ lệ trước, lập trình bằng phần mềm tỷ lệ sau.
Chế độ SSP dùng đầu ra của TMR2 để tạo xung clock. Timer2 có một thanh ghi
điều khhiển đó là thanh ghi T2CON. Timer2 có thể tắt bằng việc xoá bít
TMR2CON của thanh ghi T2CON.
Hoạt động của bộ Timer2 :Timer2 được dùng chủ yếu ở phần điều chế xung của
bộ CCP, thanh ghi TMR2 có khả năng đọc và viết, nó có thể xoá bằng việc reset
lại thiết bị. Đầu vào của xung có thể chọn các tỷ lệ sau: 1:1, 1:2 hoặc 1:16 việc
chọn các tỷ này có thể điều khiển các bít sau T2CKPS1 và bít T2CKPS0.
Ngắt của bộ Timer2: Bộ Timer2 có 1 thanh ghi 8 bít PR2. Timer2 tăng từ giá trị
00h cho đến khớp với PR2 và tiếp theo nó sẽ reset lại giá trị 00h và lệnh kế tiếp
thực hiện. Thanh ghi PR2 là một thanh ghi có khả năng đọc và khả năng viết.
Thanh ghi PR2 bắt đầu từ giá trị FFh đầu ra của TMR2 là đường dẫn của cổng
truyền thông đồng bộ, nó được dùng để phát các xung đồng hồ.
Bộ chuyển đổi tương tự sang số
Bộ chuyển đổi tương tự sang số
Bộ chuyển đổi tương tự sang số có 8 kênh (với Pic16F877A). Tín hiệu tương tự
được nạp vào bộ nạp và giữ điện dung. Tín hiệu ra điển hình và giữ điện dung duy
Trang 24


Chuyên đề tốt nghiệp: Kiểm soát nhiệt độ bể ươm thủy sản

SVTT: Phạm Đức Dương

trì là đầu vào bộ chuyển đổi. Đầu ra bộ chuyển đổi A/D là 10 bít. Bộ chuyển đổi
A/D có sự chuyển điện thế cao và thấp đầu vào được lựa chọn trong phần mềm để
có sự kết hợp của Vdd, Vss, RA2, RA3. Bộ chuyển đổi A/D có 4 thanh ghi. Đó là
những thanh ghi:
- A/D thanh ghi kết quả cao(ADRESH)

- A/D thanh ghi kết quả thấp (ADRESL)
- Thanh ghi điều khiển chuyển đổi A/D (ADCON0)
- Thanh ghi điều khiển chuyển đổi A/D (ADCON1)
• Thanh ghi 8.1: Thanh ghi ADCON0 (địa chỉ 1Fh)
- Bít 7-6: ADCS1-ADCS0 Những bít lựa chọn đồng hồ chuyển đổi A/D
00 = Fosc/2
01 = Fosc/8
10 = Fosc/32
11 = Frc(đồng hồ xuất phát từ bên trong bộ chuyển đổi A/D dao động RC)
- Bít 5-3: CHS2-CHS0 Bít chọn kênh tương tự.
000 = kênh 0(RA0/AN0)
001 = kênh 1(RA1/AN1)
010 = kênh 2(RA1/AN2)
011 = kênh 3(RA3/AN3)
100 = kênh 4(RA5/AN4)
101 = kênh 5(RE0/AN5)
110 = kênh 6(RE1/AN6)
111 = kênh 7(RE2/AN7)
- Bít 2: GO/DONE bít trạng thái chuyển đổi A/D Nếu ADON = 1 chuyển đổi
A/D đang thực hiện (đặt bít này để bắt đầu quá trình chuyển đổi) ADON=0
chuyển đổi A/D tắt và ngừng hoạt động.
• Thanh ghi 8.2: Thanh ghi ADCONN1(địa chỉ 9Fh)
- Bít 7 (ADFM): bít lựa chọn kết quả định dạng.
- Bít 6-4: Người dùng định nghĩa.
- Bít 3-0: Bít điều khiển sắp xếp cổng chuyển đổi A/D.
- Thanh ghi ADRESH:ADRESL chứa đựng 10 bít kết quả của chuyển đổi A/D.
Khi chuyển đổi A/D là hoàn thành kết quả được nạp vào thanh ghi kết quả
chuyển đổi A/D. Bít GO/DONE (ADCON0<2>) được xoá và bít cờ ngắt
chuyển đổi A/D là ADIF được đặt.
- Sau đó bộ chuyển đổi A/D được sắp xếp như mong muốn. Lựa chọn kênh

phải đạt được trước khi chuyển đổi bắt đầu. Kênh vào tương tự phải có bít
TRIS tương ứng được lựa chọn như là đầu vào. Những bước cần làm khi thực
hiện chuyển đổi A/D:
Lựa chọn cấu hình A/D.
Đặt cấu hình tương tự cho chân vào A/D
Lựa chọn kênh vào chuyển đổi A/D (ADCON0).
Trang 25


×