Có cầu trúc Harvard với các bus dữ liệu và bus thực thi chương trình riêng biệt nhau cho phép độ dài 1 lệnh là 14-bit và bus đữ liệu 8-bit cách biệt nhau.. b Sơ đồ khối vi điều khiển PIC
Trang 1HUNG YEN - 2021
AO
Trang 2
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
GIẢNG VIÊN HƯỚNG DẪN
(Ky và ghỉ họ tên)
Trang 3LOI CAM DOAN
Em xin cam doan chuyén dé 4 “Thiét ké hé thong phat hién khi gas va khoi canh bao qua sms” là công trình nghiên cứu của bản thân Những phần sử dụng tài liệu tham khảo trong đồ án đã được nêu rõ trong phan tai liệu tham khảo Các số liệu, kết quả trình bày trong đồ án là hoàn toàn trung thực, nếu sai em xin chịu hoàn toàn trách
nhiệm và chịu mọi kỷ luật của bộ môn và nhà trường đề ra
Hưng yên, ngày tháng năm
Sinh viên
Trang 4LỜI CÁM ƠN
Lời đầu tiên, em xin chân thành cảm ơn bộ môn Kỹ Thuật Máy Tính, khoa Công
nghệ Thông tin, Trường Đại học Sư phạm Kỹ thuật Hưng Yên đã tạo điều kiện thuận
lợi cho em thực hiện chuyên đề 4
Đặc biệt em xin chân thành cảm ơn thầy Vũ Huy Thế đã rất tận tình hướng dẫn, chỉ bảo em trong suốt thời gian thực hiện chuyên đề 4 vừa qua
Mặc dù em đã có cô găng, nhưng với trình độ còn hạn chế, trong qua trinh thực hiện
đề tài không tranh khoi nhimg thiéu sót Em hi vọng sẽ nhận được những ý kiến nhận xét, góp ý của các Thầy giáo, Cô giáo về những vấn đề triển khai trong chuyên đề 4
Em xin tran trong cam on!
Trang 5MỤC LỤC
NHẬN XÉT CÚA GIÁO VIÊN HƯỚNG DẪN 2 22 22 222212222226 2 I9) 89.) 69/97.) 8N 3 LOL CAM ƠN 2 2 222122212201 2211 2112211221121 1n HE ng HH HH nu 4 DANH MỤC TỪ VIẾT TẮT 22 22 222222222E8EE222E1821122112231221221221225222222222 7 DANH MỤC BẢNG - 0 22222112221221122122112112212221221222 21221222122 8 DANH MỤC HÌNH VẼ 52-21 222 2221221122212211221122212211221122122122 1120222 22 9 CHƯƠNG I: MỞ ĐẦU 52- 22 2212212221121112112211 221222218212 10 1.1 Lý do chọn đề tải 2 222202020220 1021 2 2 2222222 10 1.2 Mục tiêu của đề tài 22 22222221 21222122121 21221222222 1e 10 1.2.1 Mục tiêu tổng quát i22 222221221222 221 22222 10 12.2 Mục tiêu cụ thẺ 2.22 22221221221 22122121 2222122 2 10
1.3 Nội dung thực hiện 2 Q.2 TQ TT HT TH HT TT HT TT He 10
1.4 Phương pháp tiếp cận S2 2222222 212211221221122122122122121 2222102 u 1.5 Kết quá dự kiến 22 22222222221 221 22122122222 26 u
Trang 6
2.3 Nguyên tắc hoạt đông của hệ thông TT T112 T22 2g 22 212205 39
CHƯƠNG III: PHÂN TÍCH VÀ THIẾT KÉ HỆ THỐNG -::-55: 40
3.1 Đặc tả yêu cầu hệ thống S 1S 1 S11 3111 113111111111 11 1111121111011 11 1111111155 40 3.1.1 Các yêu cầu chức năng .c t1 1 111 1 1511111111111 111111101 111101 ng 40
K9 GÀ ¡Ni 00 Nang ghằaạiđũồũũđaaồẳồẳồẳăäắăắăắỶÝÁỶÝ 40
3.2 Thiết kế hệ thống 2 1 221 12525 525 cece cece eee 40 3.2.1 Thiết kế phần cứng cho hệ thông -.- 22222222 22221222212222212222222 2256 40 3.2.2 Thiết kế phần mềm cho hệ thống .22 222222222222 222222222222222 43 CHƯƠNG IV: TÍCH HỢP VÀ ĐÁNH GIÁ HỆ THÓNG - ; 45
4.1 Xay dung va tich hop hé thong cccccccccccscscsscscscsesessssessssesesssssssesesessusess 45
AVL Thiét ké phar cree ccce ese cceesesecesesesesueestestessttsestestiess 45
4.1.2 Lập trình phần mềm cho hệ thống S2 21 1 121 5 121 HE 45 4.1.3 Tích hợp hệ thống 2.22222220222222 2222222222 45 4.2 _ Kiểm thử và đánh giá hệ thống 2222222 22222222222222222222225, 45 4.3 Hướng dẫn vân hành hệ thống 2 2-22 2222222222222222222225 45 4578897.) 8 nhma 47 /.005i50%)57.08.907.20 2 48
Trang 7DANH MUC TU VIET TAT
Từ viết tắt Từ viết tat đây đủ
WLAN Wireless local area network
EEPROM Electrically Erasable Programmable Read-
Only Memory
VCC Voltage colector to colector
CNC Computer Numerical Control
API Application Program Interface
IOT Internet Of Things
Trang 8
DANH MỤC BẢNG
Bảng 2.1: Chức năng các chân của PICI6TS77A c ng ng HS HH HH ng ng nnnk vy 13 Bảng 2.2: Thông tin chân cảm biến \MQ2 ¿22¿:225222222222+22222222222: 31 Bảng 2.3: Thông số kỹ thuật Module sim800L - 552::¿255522:225522522 33
Bảng 2.4: Chức năng các chân của LCD 22222 22222 36
Bang 3.1: Sơ đồ kết nỗi chân LCDI602 và PICI6F877A
Trang 9DANH MỤC HINH VE
Hình 2.1: Vi điều khiển PIC16F877A dạng DIP - 5 2222122221222 22 xe 12 Hình 2.2: Sơ đồ chân của vi điều khiển PIC16F877A -52: 52252 2222z2zz22: 13 Hình 2.3: Sơ đồ khói cầu trúc bên trong của PIC16F§77A 2 20
Hình 2.4: Kiến trúc Von Neumann và HarVaT - 32T E2 1 25 DĐ 22
Hình 2.5: Bộ nhớ chương trình của PICI6FE§77A 22222222 222222222222 23 Hình 2.6: Bộ nhớ dữ liệu của PIC16F877A 22.2222 2222221222 22225222222 222 24 Hình 2.7: Cám biến \MQ2 - 2-5222 2222222212211221211221212212112122121211 2122120, 27
Hình 2.8: Cầu tạo bên trong cảm biến MQ2 0Q 0E E1 SE HH yg 28
Hình 2.9: Phần tử cám biến s 22222 2221222221221 1E2122122122121121 212212122 222 28
Hình 2.10: Cuộn dây Niken-Crom và gốm SE ng 29
Hình 2.11: Module Cảm biến khí gas \MQ2 2252222222222 222222222222222-2 30 Hình 2.12: Sơ đồ chân module cám biến MQ2 -522222222222222222222222 30 Hình 2.13: Module Sim800L 22- 22222 222222221221152112231221222121221222222 26 32 Hình 2.14: Màn hình LCD 1602 ee ee ce ee cece cee cee 36
Hinh 2.15: Cac bude lam mach dién tu eee eee eee ee ee ce eeneeteteteeeeenies 39
Hinh 3.1: Sơ đồ khối của hệ thống ¿: 2222222222222122122122122212212221222 2e 40 Hình 3.2: Sơ đồ nguyên lý của hệ thông ¿- 22 2222222222222222252252 222221222 41
Hình 3.3: Sơ đồ nguyên lý module hiển thị C1 1 1 1 1 1121212111122 21 15221256 42
Hình 3.4: Sơ đồ nguyên lý khối cảnh báo ¿ 5222222222 22222222222222222222222 43 Hình 3.5: Lưu đồ thuật toán D1 1 21 11121 ĐT H1 1 1T ĐH nà 44
Trang 10CHUONG I: MO DAU
1.1 Ly do chon dé tai
Hiện nay do nhu cầu sử đụng nguồn năng lượng là khí gas ngày càng tăng, cùng với đó là nguy cơ cháy nô đo rò ri khi sử đụng khí gas cũng ngày một nhiều cho nên nhu câu cấp thiết hiện nay khi sử dụng khí gas làm sao giảm được các sự
có không đáng có của khí gas gây ra cho người sử dụng
Đề giải quyết được vấn đề trên chúng ta nên biết sử dụng khí gas một cách an toàn hạn chế sự cô như khóa van sau khi sử dụng, kiểm tra van và bếp định kỳ hoặc lắp thiết bị cảnh báo rò ri khí gas Trong đó việc lắp thiết bị cảnh báo rò ri khí gas là một biện pháp ưu tiên được đưa lên hàng đầu về độ an toàn, với kết cầu đơn giản và giá cả hợp lý, đây là sự lựa chọn hàng đầu cho người tiêu dùng về các thiết bị lắp đặt Chính vì vậy em đã chọn đây là đề tài nghiên cứu cho chuyên đề 4 của mình
1.2 Mục tiêu của đề tài
- _ Cánh báo bằng còi và màn hình LCD 16X2 khi phát hiện khí gas hoặc khói
- _ Cảnh báo qua tin nhắn điện thoại khi phát hiện gas hoặc khỏi
- _ Thực hiện việc mở cửa sô và bật thông gió dé có thé lam thoát khí gas và khói ra ngoài
- Dam bao an toàn, chính xác và kịp thời
1.3 Nội dung thực hiện
- _ Dùng cảm biến MQ2, MQ3 dé cé thê phát hiện khí gas và khói.
Trang 11Sử dụng các tài liệu liên quan dé hỗ trợ việc lập trình
Tham khảo ý kiến đóng góp của giảng viên hướng dẫn
Tham khảo trên mạng Internet
Kết quả dự kiến
Mạch hoạt động đúng với các chức năng đặt ra
Đảm bảo được tính án toàn và chuân xác
Trang 12CHUONG 2 CO SO LY THUYET 2.1 Linh kiện điện tử, vi điều khiến, và cảm biến
2.1.1 Vĩ điều khiển (PIC 16F8774)
Hình 2.1: Vĩ điều khiển PIC16FS77A dang DIP
PIC16F8X là nhóm PIC trong họ PIC16XX của họ Vi điều khiến 8-bit, tiêu hao
năng lượng thấp, đáp ứng nhanh, chế tạo theo công nghệ CMOS, chống tnh điện
tuyệt đối Tất cả các PIC16/17 đều có cầu trúc RISC PIC16CXX các đặc tính nổi
bật, 8 mức ngăn xếp Stack, nhiều nguồn ngắt tích hợp bên trong lẫn ngoài Có cầu
trúc Harvard với các bus dữ liệu và bus thực thi chương trình riêng biệt nhau cho
phép độ dài 1 lệnh là 14-bit và bus đữ liệu 8-bit cách biệt nhau Tất cả các lệnh đều
mat 1 chu kỳ lệnh ngoại trừ các lệnh rẽ nhánh chương trình mat 2 chu kỳ lệnh Chỉ có
35 lệnh và I lượng lớn các thanh ghi cho phép đáp ứng cao trong ứng dụng
Họ PIC16F8X có nhiều tính năng đặc biệt làm giảm thiêu các thiết bị ngoại vi,
vì vậy tính kinh tế cao, có hệ thống nỗi bật đáng tin cậy và sự tiêu thụ năng lượng
thấp Ché độ SLEEP tiết kiệm nguồn và có thê được đánh thức bởi các nguồn reset PIC16F877A co 40/44 chan voi sự phan chia câu trúc như sau:
- Co 5 port xuat/nhap
- Có 8 kênh chuyên đôi A/D 10-bit
Trang 13- Có 2 bộ PWM
- Có 3 bộ định thoi: Timer0, timer! va timer2
- Có giao tiếp truyền nối tiếp: chuân RS232, I2C
a) Sơ đồ chân PICI6F877A
Chức năng các chân của PICl6F377A
Bang 2.1: Chức năng các chân cua PICIO6F877A
Trang 14RA2/AN2/VREF- - AN2: ngõ vào tương tự
ICVREF - VREF -: ngõ vào điện áp chuẩn (thấp) của bộ
- Cl OUT : Ngõ ra bộ so sánh |
- RA5: xuất/nhập số RA5/AN4/ 8e - AN4: ngõ vào tương tự 4
/C2OUT - SS: ng6é vào chọn lựa SPI phụ
- C2 OUT : ngõ ra bộ so sánh 2
- RE: xuất nhập 36
RE0/ £2/ANS - RD: điều khiển việc đọc ở port nhánh song song
Trang 15
9 RE1/WR/AN6 - WR: diéu khién viéc ghi & port nhanh song song
- ANG : ngõ vào tương tự
- RE2: xuat/nhap số _— - CS: Chip lựa chọn sự điều khiển ở port nhánh
10 RE2/Œs/AN?
Song song
- AN7: ngõ vào tương tự
11 VDD Chân nguồn của PIC
12 | VSS Chân nối đất
Ngõ vào dao động nội hoặc xung clock bên ngoài
- OSCI: ngõ vào đao động thạch anh hoặc xung
clock bên ngoài Ngõ vào Schmiftt trigger khi
13 OSCI/CLKI được cấu tạo ở chế độ RC, một cách khác của
CMOS
- CLKI: ngõ vào nguồn xung bên ngoài Luôn được kết hợp với chức năng OSCI
Ngõ vào dao động thạch anh hoặc xung cloek
- OSC2: Ngõ ra dao động thạch anh Kết nối đến
14 OSC2/CLKO thạch anh hoặc bộ cộng hưởng - CLKO : ở chế độ RC, ngõ ra của OSC2, bằng
tần số của OSCI và chỉ ra tốc độ của chu kỳ lệnh
Trang 16
15 KI - TLOCO: ngõ vào bộ dao động Timer Ì
- TICKI : ngõ vào xung clock bén ngoai Timer Ì
- RC1: xuát/nhập số
- TIOSTI: ngõ vào bộ dao động Timer |
16 RC1/TIOSLUCCP2 - CCP2: ngõ vào Capture 2, ngõ ra compare 2,
ngo ra PWM2
Trang 1723 | RC4/SDI/SDA - SDI: dữ liệu vào SPI
- SDA : xuất/nhập đữ liệu vào I2C
Trang 18
- RD7: xuất/nhập số
- PSP7: dữ liệu port nhánh song song
31 | VSS Chân nói dat
32 | VDD Chân nguồn của PIC
Trang 19b) Sơ đồ khối vi điều khiển PIC16F877A
Cầu trúc khối vi điều khiên PIC16F877A bao gồm các khối chính:
- Khéi ALU — Arithmetic Logic Unit
- Khối bộ nhớ chứa chương trình — Flash Program Memory
- Khối bộ nhớ chứa đữ liệu EEPROMI — Data EEPROM
- Khối bộ nhớ ñle thanh ghi RAM — RAM file Register
- Khối thanh ghi đặt biệt
- Khối ngoai vi timer
- Khối giao tiếp, khối chuyển đổi ADC
- Khối các Port xuất nhập
Trang 20[ F8ang ki
on en E—T{| Stats reg k=
byte, bao gồm 5 PORT vớ 33 pin I/O
Các đặc tính ngoại vi bao gồm các khối chức năng sau:
- Timer0: bộ đêm 8 bít với bộ chia tần số 8 bít.
Trang 21vào xung clock ngoại vi ngay khi vi điều khiển hoạt động ở chế độ sleep
- Timer2: bộ đếm 8 bít với bộ chĩa tần số, bộ postcaler Hai bộ Capture/ so sánh/ điều chê độ rộng xung
- Các chuân giao tiếp nói tiếp SSP (Synchronous Serial Port), SPI và I2C Chuan giao tiếp nồi tiếp USART với 9 bít địa chỉ
- Công giao tiếp song song PSP (Parallel Slave Port) với các chân điều khiên
RD, WR, CS ở bên ngoài
- Các đặc tinh Analog: 8 kênh chuyên đổi ADC 10 bit Hai bộ so sánh
- 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ó 256 byte (có địa chỉ 00h:FFh), có thể lưu trữ
trên 40 năm
- Khả năng tự nạp chương trình với sự điều khiển của phần mềm
- Watchdog Timer với bộ đao động trong Chức năng bảo mật mã chương trình
Chế độ Sleep
- Có thể hoạt động với nhiều dạng Oscillator khác nhau
d) Tổ chức bộ nhớ
PICI6F877A bao gồm 3 loại bộ nhớ: bộ nhớ chương trình (Program Memory),
bộ nhớ dữ liệu RAM và bộ nhớ dữ liệu EEPROM
PIC có kiến trúc bộ nhớ đạng Harvard, một kiến trúc cải tiền so với kiến trúc Von Neumamn
Trang 22Kiến trúc Von Neumamn: với kiến trúc này thì bộ nhớ giao tiếp với CPU thông
qua l bus đữ liệu § bít, bộ nhớ có các ô nhớ chứa đữ liệu § bít, bộ nhớ vừa lưu trữ
chương trình và đữ liệu
- Ưu điểm: kiến trúc đơn giản
- Nhược điểm: do chỉ có 1 bus nên tốc độ truy xuất chậm, khó thay đổi dung lượng lưu trữ của ô nhớ
Kiến trúc Harvard: với kiến trúc nay thì bộ nhớ được tách ra làm 2 loại bộ
nhớ độc lập: bộ nhớ lưu chương trình và bộ nhớ lưu đữ liệu, CPU giao tiếp với 2 bộ
nhớ độc lập nên cần 2 bus độc lập Vì độc lập nên có thé thay đổi số bit lưu trữ của
từng bộ nhớ mà không ảnh hưởng lẫn nhau Với PIC thì bộ nhớ chương trình với mỗi
ô nhớ lưu trữ 14 bit, còn bộ nhớ dữ liệu với mỗi ô nhớ lưu dữ liệu 8 bit
- Ưu điểm: đo chỉ có 2 bus nên tốc độ truy xuất nhanh, thay đôi số bít của ô nhớ
- Khuyết điểm: kiến trúc phức tạp
Bộ nhớ chương trình:
Trang 23CALL, RETURN 13 RETFIE, RETLW
Stack Level 1 Stack Level 2
Stack Level 8 Reset Vector 0000h
Interrupt Vector 0004h
0005h Page 0
07FFh 0800h Page 1
On-Chip
Program “ Memory 1000h
Page 2
17FFh Page 3
1FFFh
Hình 2.5: B6 nhớ chương trình của PIClI6FS77A
Bộ nhớ chương trình của vi điều khiển PICI6F877A là bộ nhớ flash, dung lượng bộ nhớ 8K word (Iword = 14bit) và được phân thành nhiều trang (từ page 0 đến page 3) Như vậy bộ nhớ chương trình có khả năng chứa được 8*1024 = 8192 lệnh (vì một lệnh sau khi mã hóa sẽ có dung lượng | word (14bit))
Bộ nhớ chương trình không bao gồm bộ nhớ stack và không được địa chỉ hóa
bởi bộ đếm chương trình Khi vĩ điều khiển được reset, bộ đếm chương trình sẽ chỉ
dén dia chi 0000h (Reset vector) Khi có ngắt xảy ra, bộ đếm chương trình sẽ chỉ đến dia chi 0004h (Interrupt vector)
Bộ nhớ dữ liệu:
Trang 24
Address Address Address Address
PCL 02h PCL 82h PCL 102h PCL 182h
PORTA | 05h TRSA |95h | 105h 185h
PORTE | 09h TRISE® |gøn | 109h 189h
TMRIL | 0Eh PCON |8Eh | EEDATH | 10Eh | Reservedt | 18Eh
96 Bytes EFh 18Fh 1EFh
accesses F0h accesses 170h accesses 1FOh
Bank 0 Bank 1 Bank 2 Bank 3
Hình 2.6: Bộ nhớ đữ liệu của PICI6FS77A
Bộ nhớ đữ liệu của PIC là bộ nhớ EEPROM được chia ra làm nhiều bank Đối với PICI6F877A bộ nhớ đữ liệu được chia ra làm 4 bank Mỗi bank có dung lượng
128 byte, bao gồm các thanh ghi có chức năng đặc biệt SFG nằm ở các vùng địa chỉ thấp và các thanh ghi mục đích chung GPR nằm ở vùng địa chỉ còn lại trong bank
Các thanh ghi SEFR thường xuyên được sử dụng sẽ được đặt ở tất cả các bank của bộ
nhớ đữ liệu giúp thuận tiện trong quá trình truy xuất và làm giảm bớt lệnh của chương trình
e) Công xuất nhập dữ liệu