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

dieu khien thiet bi dien thong minh bang tin hoc

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.06 MB, 66 trang )

Điều khiển thiết bị điện thông minh bằng tin học

Chƣơng I – Giới thiệu

CHƢƠNG I

GIỚI THIỆU
I. ĐẶT VẤN ĐỀ
Ngày nay với sự phát triển của công nghệ vi điện tử, kỹ thuật số, xu hƣớng
tự động hóa sẽ ngày càng phát triển mạnh mẽ. Với những kỹ thuật tiên tiến nhƣ vi
xử lý, vi mạch số …đƣợc ứng dụng vào lĩnh vực điều khiển, thì các hệ thống điều
khiển cơ khí thô sơ, với tốc độ xử lí chậm chạp ít chính xác đƣợc thay thế bằng
các hệ thống điều khiển tự động với các lệnh chƣơng trình đã đƣợc thiết lập trƣớc
với độ chính xác cao hơn rất nhiều.
Trong quá trình hoạt động ở các xƣởng, văn phòng, công sở hiện nay, việc
giám sát nhiệt độ và điều khiển các thiết bị sao cho hợp lý, nhanh chóng là yêu
cầu thiết yếu. Nó giúp ta can thiệp, xử lý kịp thời tránh đƣợc những hƣ hỏng và sự
cố có thể xảy ra.
Để đáp ứng đƣợc yêu cầu giám sát thiết bị và đƣa ra các lệnh điều khiển sao
cho thích hợp thì có nhiều phƣơng pháp để thực hiện, áp dụng những kiến thức đã
học đƣợc em đã sử dụng vi điều khiển PIC16F877A và giao tiếp với máy tính
qua cổng COM với giao diện Visual Basic 6.0 để thực hiện đề tài ĐIỀU KHIỂN
THIẾT BỊ ĐIỆN THÔNG MINH BẰNG TIN HỌC .
II. TẦM QUANG TRỌNG CỦA ĐỀ TÀI
- Đây là một đề tài nghiên cứu mang tính thực tiễn trong việc vận dụng các kiến
thức đã đƣợc học tại trƣờng vào trong thực tế. Về mặt khoa học, đề tài sẽ giúp cho
chúng ta hiểu rõ thêm về Truyền dữ liệu điều khiển và Cách điều khiển mạch điện
thông qua máy tính với giao diện Visual Basic 6.0.
- Về mặt thực tiễn, đề tài này có thể áp dụng vào thực tế để điều khiển, hẹn giờ
tắt mở một số thiết bị trong nhà nhƣ đèn điện, quạt máy và giám sát nhiệt độ trong
phòng.


1

GVHD: ABC

SVTH: Nguyễn Đình Phúc


Chƣơng I – Giới thiệu

Điều khiển thiết bị điện thông minh bằng tin học

III. MỤC ĐÍCH NGHIÊN CỨU
Mục đích của đề tài này là có thể áp dụng vào thực tế đối với các công trình
nhà xƣởng. Việc kiểm soát nhiệt độ, hẹn tắt mở thiết bị là nhu cầu hàng ngày đối
với chúng ta. Chính vì thế đề tài này có thể mở rộng hơn nữa để có thể áp dụng
đƣợc trong thực tế.
IV. ĐỐI TƢỢNG NGHIÊN CỨU
Đối tƣợng nghiên cứu của đề tài này chính là:
► Giao tiếp giữa máy tính và phần cứng.
► Giao tiếp giữa khối đo và vi điều khiển.
► Lập trình cho vi điều khiển.

2

GVHD: ABC

SVTH: Nguyễn Đình Phúc


Điều khiển thiết bị điện thông qua máy tính


Chƣơng 2: Kiến thức bổ trợ

CHƢƠNG 2

KIẾN THỨC BỔ TRỢ


CÁC LINH KIỆN CHÍNH DÙNG TRONG MẠCH:
- PIC 16F877A
- IC MAX 232
- OPTO PC817
- LM 7805, LM 7812
- LM35
- Transistor A1013

I. PIC 16F877A.
- PIC 16f877a là vi điều khiển thuộc họ PIC 16fxxx với tập lệnh gồm 35 lệnh có độ dài
14 bit. Mỗi lệnh đƣợc thực thi trong một chu kì xung clock. Tốc độ hoạt động tối đa cho
phép là 20MH vớ chu kì lệnh là 200ns.
- Bộ nhớ chƣơng trình 8Kx14bit, Bộ nhớ dử liệu là 368byte RAM
- Bộ nhớ dử liệu EEPROM với dung lƣợng 256x8 byte.
- Số Port I/O là 5 với 33 pin I/O.
- Bộ nhớ flash với khả năng ghi xóa đƣợc 100.000 lần.
- Bộ nhớ EEPROM với khả năng ghi xóa đƣợc 1.000.000 lần.
- Dữ liệu bộ nhớ EEPROM có thể lƣu trử 40 năm.
- Nạp chƣơng trình ngay trên mạch nạp ICSP (In Circuit Serial Programming)
thông qua 2 chân.
- Chức năng bảo mật chƣơng trình, có thể hoạt động ở nhiều ossilokop.
 Các đặc tính ngoại vi bao gồm các khối chức năng sau:

3

GVHD: ABC

SVTH: Nguyễn Đình Phúc


Chƣơng 2: Kiến thức bổ trợ

Điều khiển thiết bị điện thông qua máy tính

- Timer 0:bộ đếm 8bit với bộ chia tần 8 bit.
- Timer 1:bộ đếm 16bit với bộ chia tần số, có thể thực hiện chức năng đếm dựa
vào xung clock ngoại vi ngay khi vi điều khiển hoạt động ở chế độ ngủ.
- Bộ đếm 8bit với bộ chia tần số, bộ postcaler.
- Hai bộ capter/so sánh/điều chế độ rộng xung.
- Các chuẩn giao tiếp nối tiếp SSP, SPI và I2C.
- Chuẩn giao tiếp nối tiếp USART với 9 bit địa chỉ.
- Cổng giao tiếp song song PSP với các chân điều khiển RD, WR, CS ở bên
ngoài.
II. IC MAX232
Cấu tạo, công dụng:
Vi mạch MAX 232 của hãng MAXIM là một vi mạch chuyên dùng trong giao
diện nối tiếp với máy tính. Chúng có nhiệm vụ chuyển đổi mức TTL ở lối vào thành
mức +10V hoặc –10V ở phía truyền và các mức +3  +15V hoặc

-3  -15V

thành mức TTL ở phía nhận.


Vi mạch MAX 232 có hai bộ đệm và hai bộ nhận

4

GVHD: ABC

SVTH: Nguyễn Đình Phúc


Chƣơng 2: Kiến thức bổ trợ

Chân

Điều khiển thiết bị điện thông qua máy tính

của MAX 232 nhận tín hiệu theo chuẩn RS232 ( mức 1: -3V đến -15V;

mức 0 : 3V đến 15V) nên ta nối với chân 3 của cổng COM (là chân truyền dữ liệu
từ máy vi tính xuống vi xử lý).
Chân

của MAX 232 xuất tín hiệu theo chuẩn TTL (mức 1: 5V; mức 0: 0V)

nên ta nối với chân RXD của Pic16f877a.
Chân

của MAX 232 nhận tín hiệu theo chuẩn TTL nên ta nối với chân TXD

của Pic16f877a để truyền tín hiệu của vi xử lý lên máy tính.
Chân


của MAX 232 xuất tín hiệu theo chuẩn RS232 nên ta nối với chân 2

của cổng COM (là chân nhận dữ liệu từ vi xử lý gửi lên cho máy vi tính).

Các thông số kỹ thuật
Điện áp lớn nhất có thể cho qua là  30V
Dòng cấp cho RS-232 trong khoảng 5  10mA.
Hoạt động trong khoảng tầm nhiệt -650C  +1650C
Các tụ bơm điện áp nên sử dụng  1uf, ở đây ta chọn là 10uF
III. OPTO PC817

5

GVHD: ABC

SVTH: Nguyễn Đình Phúc


Chƣơng 2: Kiến thức bổ trợ

Điều khiển thiết bị điện thông qua máy tính

Opto hay còn gọi là cách ly quang là linh kiện tích hợp có cấu tạo gồm 1 led và 1
photo diot hay 1 photo transitor. Đƣợc dùng để cách ly giữa các khối chênh lệch
nhau về điện hay công suất nhƣ khối có công suất nhỏ với khối điện áp lớn. Hoặc có
thể dùng để chống nhiểu cho các mạch cầu H, ngỏ ra PLC, chống nhiểu cho các
thiết bị đo lƣờng…
Khi có dòng điện đi qua Led trong PC817 (Chân 1 và 2) thì tùy vào dòng qua
LED lớn hay nhỏ mà quang transistor cho phép dòng khuyếch đại qua nó lớn hay

nhỏ (Chân 3 và 4).
IV. LM 7805

Là IC ổn áp 5V với:
- Output (3): Chân điện áp ra 5V.
- Command (2): Chân nối mass.
- Input (1) : Chân điện áp vào.

- Chân nối mass cũng rất quan trọng, nếu chân này bị hở thì áp tại ngõ ra sẽ có
thể bằng với điện áp ngõ vào gây hƣ hỏng các linh kiện điện tử trong mạch.
- Khi ở 25 độ C, IC 7805 có đặc điểm nhƣ sau:
 Điện áp đƣa vào tối đa: 25V
 Dòng tối đa cấp cho tải: 1.5A
 Nhiệt độ IC có thể chịu đựợc: -55 † 150 ºC.
 Điện áp ngõ vào 7 † 25(V) thì điện áp ngõ ra dao động ở 4.8 † 5.2(V)
V. LM7812

Là IC ổn áp 12V với:
- Output (3): Chân điện áp ra 12V.
6

GVHD: ABC

SVTH: Nguyễn Đình Phúc


Chƣơng 2: Kiến thức bổ trợ

Điều khiển thiết bị điện thông qua máy tính


- Command (2): Chân nối mass.
- Input (1) : Chân điện áp vào.
- Chân nối mass cũng rất quan trọng, nếu chân này bị hở thì áp tại ngõ ra sẽ có
thể bằng với điện áp ngõ vào gây hƣ hỏng các linh kiện điện tử trong mạch.
- IC 7812 có đặc điểm nhƣ sau:
 Điện áp đƣa vào tối đa: 25V
 Dòng tối đa cấp cho tải: 1.5A
 Nhiệt độ IC có thể chịu đựợc: 0 † 150 ºC.
 Điện áp ngõ vào 12(VAC) thì điện áp ngõ ra dao động ở 12(VDC)
VI. LM35

LM35 là một họ IC cảm biến nhiệt độ sản xuất theo công nghệ bán dẫn dựa trên
các chất bán dẫn dễ bị tác động bởi sự thay đổi của nhiệt độ , đầu ra của cảm biến là
điện áp(V) tỉ lệ với nhiệt độ mà nó đƣợc đặt trong môi trƣờng cần đo.Đo nhiệt độ
chính xác (ºC).
Các đặc tính kỹ thuật:
- Tỉ lệ tuyến tính +10mV/ºC.
- Có thể đảm bảo chính xác 0,5ºC (ở 25ºC).
- Đo trong khoảng -55  +150ºC.
VII.

RELAY 12V

7

GVHD: ABC

SVTH: Nguyễn Đình Phúc



Chƣơng 2: Kiến thức bổ trợ

Điều khiển thiết bị điện thông qua máy tính

Relay cấu tạo bao gồm 1 cuộn dây và 1 hay nhiều bộ tiếp điểm. Khi có điện vào
cuộn dây thì tiếp điểm chuyển trạng thái ( từ on sang off hay ngƣợc lại) khi mất
điện thì trở lại trạng thái ban đầu.
Một số thông số kỹ thuật:
Điện áp kích: 12VDC, Điện áp chịu đƣợc: 250V, Dòng chịu đƣợc: 5A

8

GVHD: ABC

SVTH: Nguyễn Đình Phúc


Chƣơng 3: Tính toán thiết kế

Điều khiển thiết bị điện thông qua máy tính

CHƢƠNG 3

TÍNH TOÁN THIẾT KẾ
I. Sơ đồ khối và chức năng

1. Sơ đồ khối

KHỐI ĐIỀU
KHIỂN THIẾT BỊ

(RƠLE)

KHỐI
GIAO
TIẾP ÁY
TÍNH
(MAX232)

KHỐI XỬ LÝ
TRUNG TÂM
(PIC16F877A)

KHỐI ĐO
NHIỆT ĐỘ
(LM35)

KHỐI NGUỒN
(5V – 12V)
1. CHỨC NĂNG MỖI KHỐI

2. Chức năng
• Máy vi tính
Khối này có nhiệm vụ hiển thị các quá trình hoạt động của toàn mạch khi nhận
tín hiệu từ vi xử lý truyền đến hay ngƣợc lại khối này cũng có khả năng truyền một
dữ liệu xuống vi xử lý để điều khiển các thiết bị ngoại vi đồng thời cũng sẽ báo cho
ta biết sự hoạt động của từng thiết bị ngoại vi.
• Khối giao tiếp
9

GVHD: ABC


SVTH: Nguyễn Đình Phúc


Chƣơng 3: Tính toán thiết kế

Điều khiển thiết bị điện thông qua máy tính

Khối này đóng vai trò là trung gian để cho mạch hoạt động làm nhiệm vụ giải mã
tín hiệu từ vi xử lý đƣa tới máy tính và ngƣợc lại, nghĩa là khi máy tính có một lệnh
gởi xuống qua khối chuyển đổi sẽ đƣa lệnh này tới vi xử lý để điều khiển thiết bị
ngoại vi.
• Khối điều khiển trung tâm
Khối này có nhiệm vụ là trung tâm điều khiển sự hoạt động của các khối khác nó
ra lệnh để thi hành việc đóng mở các thiết bị ngoại vi bởi phần mềm và phần cứng.
• Khối điều khiển thiết bị
Gồm có các Relay để đóng – ngắt thiết bị điện thông qua sự điều khiển của khối
xử lý trung tâm.
• Khối đo nhiệt độ
Đo nhiệt độ trong phòng và truyền dữ liệu nhiệt độ về khối xử lý trung tâm.
• Khối nguồn
Cung cấp nguồn cho toàn bộ hệ thống, điện áp đƣợc ổn định bởi IC ổn áp 7805
để ổn định điện áp ra đúng 5v giúp các thiết bị hoạt động ổn định và chính xác.
Riêng khối điều khiển thiết bị sử dụng thêm mức điện áp 12V với dòng lớn để điều
khiển đóng ngắt các Relay.

II. Tính toán thiết kế
1. Khối giao tiếp

• Nguyên lý hoạt động: Khi có một tín hiệu (đó là các mức điện áp) từ một trong

hai khối là máy chủ và từ vi xử lý thì RS-232 sẽ chuyển các tín hiệu đó thành các
mức tín hiệu phù hợp để kết nối hai khối này lại với nhau để điều khiển thiết bị với

10

GVHD: ABC

SVTH: Nguyễn Đình Phúc


Chƣơng 3: Tính toán thiết kế

Điều khiển thiết bị điện thông qua máy tính

các mức logic nhƣ sau: mức logic 1 sẽ là từ -3V đến -12V và logic 0 sẽ từ 3V đến
12V và nó có thể biến đổi các mức điện áp này là nhờ 4 tụ hóa C10, C11, C12,C13
2. Khối xử lý trung tâm

Nhiệm vụ của khối này là xử lý các hoạt động điều khiển, gồm các
nhiệm vụ:
a. Nhận biết tín hiệu từ máy tính truyền xuống và đóng mở các thiết bị ngoại
vi.
b. Xử lý tín hiệu từ phần cứng điều khiển rồi truyền lên lại cho máy tính.
c. Nhận tín hiệu từ khối nút nhấn để điều khiển đóng mở các thiết bị.
d. Mạch dao động dùng thạch anh 20MHz và 2 tụ C7, C8 có giá trị 33pF.

11

GVHD: ABC


SVTH: Nguyễn Đình Phúc


Điều khiển thiết bị điện thông qua máy tính

Chƣơng 3: Tính toán thiết kế

3. KHỐI ĐIỀU KHIỂN THIẾT BỊ
Bao gồm khối kích tải 1 cấp và khối kích tải 2 cấp.

a. Khối kích tải 1 cấp

Đƣợc đùng để điều khiển các thiết bị có 1 cấp độ nhƣ: đèn...
Chọn Rơ-le có thông số kỹ thuật:

 Điện áp kích là12VDC , điện áp chịu đƣợc là 250V, dòng chịu đƣợc là 5A
 Diode
(1N4007)(đƣợc mắc ngƣợc cực) để bảo vệ cho transistor
chuyển từ trạng thái dẫn sang tắt.


khi

: Điện trở hạn dòng chân B của Transistor
Nguyên lý hoạt động:

Khi mức điện áp ở chân điều khiển xuống mức 0 (tích cực mức thấp)  Opto
dẫn  Transistor dẫn  Rơ-le đƣợc kích mở  Thiết bị đƣợc mở.
Tính toán mạch:
Với

Tại

gần bằng 300

(điện trở cuộn dây trong Relay)

Ta có:
(

Ta có

Với

)

(

)

của Transistor A1013 = 60, chọn hệ số K = 2
(

)

(

)

12


GVHD: ABC

SVTH: Nguyễn Đình Phúc


Điều khiển thiết bị điện thông qua máy tính

Chƣơng 3: Tính toán thiết kế

Khi

dẫn 

( )
(

)

( )

Ta coi tại chân 3 (cực E) và 4 (cực C) của Opto PC817 nhƣ 1 Transistor
Khi

dẫn thì

(
(

Chọn


( )

)
)

(

(

)

)

- Tại chân 3 và 4 của Opto PC817 (
Khi Opto dẫn thì dòng qua Photo Transistor (
Tại (

(

)

)
) vào khoản 1.2(mA)

) ta có:
(

)

Ta coi nhƣ chân 1 (Anot) và 2 (Katot) của Opto PC817 (


(

)

) là 1 đèn LED

Khi LED dẫn ta chọn dòng qua LED là 10(mA) và điện áp 2 đầu của LED là 2(V)
(

Ta có:
Chọn

)

( )

( )

13

GVHD: ABC

SVTH: Nguyễn Đình Phúc


Chƣơng 3: Tính toán thiết kế

Điều khiển thiết bị điện thông qua máy tính


b. Khối kích tải 2 cấp

Tƣơng tự nhƣ 2 khối kích tải 1 cấp ghép lại với nhau. Đƣợc đùng để điều khiển
các thiết bị có 2 cấp độ nhƣ: quạt máy...
Có 2 tín hiệu điều khiển là tín hiệu điều khiển bật cấp 1 và tín hiệu điều khiển bật
cấp 2. Trong cùng lúc chỉ có 1 trong 2 tín hiệu trên, nếu không có cả 2 tín hiệu thì
thiết bị ở trạng thái tắt.
4. Khối đo nhiệt độ

Cảm biến nhiệt LM35 có vai trò đo nhiệt độ môi trƣờng , sau đó truyền tín hiệu
đo đƣợc cho Pic dƣới dạng điện áp. Chân
của LM35 đƣợc nối vào chân RA0
của VĐK. Tụ 10uF cực dƣơng đƣợc nối vào chân 2 và cực âm nối vào chân 3 của
cảm biến LM35. LM 35 cứ tăng 1oC thì điện áp tăng 10mV, có thể đo nhiệt độ
trong khoản giá trị từ

.
14

GVHD: ABC

SVTH: Nguyễn Đình Phúc


Chƣơng 3: Tính toán thiết kế

Điều khiển thiết bị điện thông qua máy tính

5. Khối nút nhấn


Chức năng:
Dùng để điều khiển bật - tắt các thiết bị khi không sử dụng máy tính. Trong đồ án
này e đã tích hợp phím nhấn vào module khối kích tải để thuận tiện cho việc sử
dụng.
6. Khối nguồn

Để cung cấp đủ dòng cho toàn bộ thiết bị và hệ thống kích tải, ở đây em đã sử
dụng biến áp 1A với ngõ vào là 220v, 2 ngõ ra thứ cấp là 9v và 12v.
Mạch gồm 2 khối nguồn:
Nguồn 5V đƣợc sử dụng để cung cấp cho hầu hết các linh kiện điện tử của mạch,
là nguồn nuôi cho bộ vi xử lý, nguồn cung cấp cho khối giao tiếp RS-232.
Nguồn 12V dùng để cấp nguồn cho các khối Relay, Dùng Opto để cách ly giữa
mức điện áp 5v và 12v giúp mạch hoạt động tốt và không bị nhiễu.

I. Sơ đồ nguyên lý: (Xem trangphụ lục kèm theo)

15

GVHD: ABC

SVTH: Nguyễn Đình Phúc


Chƣơng 3: Tính toán thiết kế

Điều khiển thiết bị điện thông qua máy tính

Phụ lục

16


GVHD: ABC

SVTH: Nguyễn Đình Phúc


Điều khiển thiết bị điện thông qua máy tính

Chƣơng 4 – Phần mềm

CHƢƠNG 4

PHẦN MỀM
I. Lƣu đồ giải thuật

1. Lƣu đồ giải thuật cho PIC

BẮT ĐẦU

NẠP CÁC GIÁ TRỊ KHỞI
TẠO (PORT, INT RDA,
SETUP ADC…)

S

QUÉT
BÀN PHÍM
(PORT B)

Đ


BẬT/ TẮT CÁC THIẾT BỊ

17

GVHD: ABC

SVTH: Nguyễn Đình Phúc


Điều khiển thiết bị điện thông qua máy tính

Chƣơng 4 – Phần mềm

NGẮT RDA

NHẬN DỮ LIỆU TỪ MÁY TÍNH

S
KIỂM TRA DỮ
LIỆU NHẬN
ĐƢỢC

Đ
i=

n

i = 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b


CHƢƠNG
TRÌNH CON
CẬP NHẬT

BẬT/ TẮT CÁC
THIẾT BỊ (PORT D)

RETURN

18

GVHD: ABC

SVTH: Nguyễn Đình Phúc


Điều khiển thiết bị điện thông qua máy tính

Chƣơng 4 – Phần mềm

CHƢƠNG TRÌNH CON

S
KIỂM TRA PORT ĐIỀU
KHIỂN THIẾT BỊ (PORT D)

Đ
GỬI DỮ LIỆU LÊN MÁY TÍNH
1.


DỮ LIỆU VỀ TRẠNG THÁI BẬT/ TẮT CÁC THIẾT
BỊ LÊN MÁY TÍNH (c, d, e, f, g, h, I, j, k, l, m)

2.

GỬI DỮ LIỆU VỀ NHIỆT ĐỘ LÊN MÁY TÍNH

3.

GỬI TÍN HIỆU KẾT NỐI „o‟

RETURN

19

GVHD: ABC

SVTH: Nguyễn Đình Phúc


Điều khiển thiết bị điện thông qua máy tính

Chƣơng 4 – Phần mềm

2. Lƣu đồ giải thật giao diện VB

BẮT ĐẦU

NẠP CÁC GIÁ TRỊ KHỞI TẠO (THỜI
GIAN, THÔNG TIN HỆ THỐNG,

TIMER)

S
KIỂM TRA CÁC NÚT
LỆNH ĐIỀU KHIỂN,
CÁC THIẾT LẬP (HẸN
GIỜ, CẢNH BÁO NHIỆT
ĐỘ)

Đ

GỬI LỆNH ĐIỂU KHIỂN
XUỐNG PIC (1, 2, 3,4, 5, 6,
7,8,9,a, b)

HIỂN THỊ THÔNG TIN
TRẠNG THÁI, CẢNH BÁO
CÁC THIẾT BỊ LÊN MÀN
HÌNH

RETURN

20

GVHD: ABC

SVTH: Nguyễn Đình Phúc


Điều khiển thiết bị điện thông qua máy tính


Chƣơng 4 – Phần mềm

TRÀN TIMER1
(500mS)

GỬI LỆNH XUỐNG PIC YÊU
CẦU CẬP NHẬP (n)

CẬP NHẬT THÔNG TIN HỆ
THỐNG, THỜI GIAN

RESET TIMER1

RETURN

TRÀN TIMER2
(1000mS)

S
BIẾN
kiemtra = 1

Đ
BIẾN kiemtra = 0

THÔNG BÁO MẤT
KẾT NỐI

RESET TIMER 2

RETURN

21

GVHD: ABC

SVTH: Nguyễn Đình Phúc


Điều khiển thiết bị điện thông qua máy tính

Chƣơng 4 – Phần mềm

NHẬN DỮ LIỆU TỪ
CỔNG COM

NHẬN DỮ LIỆU TỪ CỔNG
COM, RESET TIMER2

S
KIỂM TRA DỮ
LIỆU NHẬN
ĐƢỢC

Đ
= (c, d, e, f, g, h, I, j, k, l, m)

= giá trị số

CẬP NHẬT LẠI VIỆC HIỂN

THỊ NHIỆT ĐỘ

CẬP NHẬT LẠI VIỆC HIỂN
THỊ TRẠNG THÁI CÁC THIẾT
BỊ

BIẾN ketnoi = 1

RETURN

22

GVHD: ABC

SVTH: Nguyễn Đình Phúc

= „o‟


Chƣơng 4 – Phần mềm

Điều khiển thiết bị điện thông qua máy tính

II. Code chƣơng trình
1. Code cho vi xử lý
/-----------------------------------------------/
//
DO AN TONG HOP
//
// DE TAI: DIEU KHIEN THIET BI DIEN THONG QUA MAY TINH //

// GVHD: PHAM HUNG KIM KHANH
//
// SVTH: NGUYEN DINH PHUC
//
/-----------------------------------------------/
#include <16f877a.h>
#include <DEF_877A.h>
#DEVICE *=16 ADC=10
#use delay(clock=20000000)
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT,
NOLVP, NOCPD, NOWRT
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)
#bit b0 = portb.0 //NUT NHAN TB01
#bit b1 = portb.1 //NUT NHAN TB02
#bit b2 = portb.2 //NUT NHAN TB03
#bit b3 = portb.3 //NUT NHAN TB04
#bit b4 = portb.4 //NUT NHAN TB05
#bit b5 = portb.5 //NUT NHAN OFF ALL
#bit b6 = portb.6 //chua su dung
#bit b7 = portb.7 // chua su dung
#bit d0 = portd.0 //DIEU KHIEN TB01
#bit d1 = portd.1 //DIEU KHIEN TB02
#bit d2 = portd.2 //DIEU KHIEN TB03
#bit d3 = portd.3 //DIEU KHIEN TB04
#bit d4 = portd.4 //DIEU KHIEN TB05 CAP 1
#bit d5 = portd.5 //DIEU KHIEN TB05 CAP 2
#bit d6 = portd.6 // chua su dung
#bit d7 = portd.7 // chua su dung
#bit e0 = porte.0 //LED BAO NHAN DU LIEU TU MAY TINH
#bit e1 = porte.1 //LED BAO GUI DU LIEU LEN MAY TINH

#bit e2 = porte.2 //LED CANH BAO NHIET DO
char i;
unsigned nhietdo;
void dieukhien();
void capnhat();
void baodong();
void receive();
void main()
23

GVHD: ABC

SVTH: Nguyễn Đình Phúc


Chƣơng 4 – Phần mềm

Điều khiển thiết bị điện thông qua máy tính

{
////////////////////////////////
// KHOI TAO
////////////////////////////////
set_tris_d(0);
output_d(0xff);
set_tris_b(255);
set_tris_e(0b000);
output_e(0b111);
enable_interrupts(int_rda);
enable_interrupts(global);

setup_adc(adc_clock_internal);
setup_adc_ports(an0);
set_adc_channel(1);
//////////////////////////////
// LED dich trai - phai
//////////////////////////////
if (PortE == 0b111) //LED PortE deu tat
{
delay_ms(300);
e0 = 0;
delay_ms(300);
e0 = 1; e1 = 0;
delay_ms(300);
e1 = 1; e2 = 0;
delay_ms(300);
e2 = 1;
delay_ms(300);
e2 = 0;
delay_ms(300);
e2 = 1; e1 = 0;
delay_ms(300);
e1 = 1; e0 = 0;
delay_ms(300);
e0 = 1;
delay_ms(300);
}
////////////////////////////////
// Nut Nhan Dieu Khien
////////////////////////////////
while(true)

{
if (b0 == 0) //Nut nhan tb 1
24

GVHD: ABC

SVTH: Nguyễn Đình Phúc


Chƣơng 4 – Phần mềm

Điều khiển thiết bị điện thông qua máy tính

{
delay_ms(50);
if (b0 == 0)
{
while (b0 == 0)
{}
d0 = !d0;
}
}
if (b1 == 0) //Nut nhan tb 2
{
delay_ms(50);
if (b1 == 0)
{
while (b1 == 0)
{}
d1 = !d1;

}
}
if (b2 == 0) //Nut nhan tb 3
{
delay_ms(50);
if (b2 == 0);
{
while (b2 == 0)
{}
d2 = !d2;
}
}
if (b3 == 0) //Nut nhan tb 4
{
delay_ms(50);
if (b3 == 0);
{
while (b3 == 0)
{}
d3 = !d3;
}
}
if (b4 == 0) //Nut nhan tb 5
{
delay_ms(50);
if (b4 == 0)
25

GVHD: ABC


SVTH: Nguyễn Đình Phúc


×